]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
2014-06-26 Teresa Johnson <tejohnson@google.com>
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
1f6be080 12014-06-23 Marek Polacek <polacek@redhat.com>
2 Andrew MacLeod <amacleod@redhat.com>
3
4 PR c/61553
5 * c-common.c (get_atomic_generic_size): Don't segfault if the
6 type doesn't have a size.
7
5ef6b660 82014-06-20 Marek Polacek <polacek@redhat.com>
9
10 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
11 (ubsan_walk_array_refs_r): New function.
12 (c_genericize): Instrument array bounds.
13 * c-ubsan.c: Include "internal-fn.h".
14 (ubsan_instrument_division): Mark instrumented arrays as having
15 side effects. Adjust ubsan_type_descriptor call.
16 (ubsan_instrument_shift): Likewise.
17 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
18 (ubsan_instrument_bounds): New function.
19 (ubsan_array_ref_instrumented_p): New function.
20 (ubsan_maybe_instrument_array_ref): New function.
21 * c-ubsan.h (ubsan_instrument_bounds): Declare.
22 (ubsan_array_ref_instrumented_p): Declare.
23 (ubsan_maybe_instrument_array_ref): Declare.
24
252014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 26
27 PR lto/61123
28 * c.opt (fshort-enums): Add to LTO.
29 * c.opt (fshort-wchar): Likewise.
30
78438f31 312014-06-16 Marek Polacek <polacek@redhat.com>
32
33 PR c/60439
34 * c.opt (Wswitch-bool): Add Var.
35
5fddcf34 362014-06-12 Jakub Jelinek <jakub@redhat.com>
37
38 PR middle-end/61486
39 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
40 #pragma omp target teams or
41 #pragma omp {,target }teams distribute simd.
42
74b777e5 432014-06-12 Jason Merrill <jason@redhat.com>
44
45 * c.opt (Wabi=, fabi-compat-version): New.
46 * c-opts.c (c_common_handle_option): Handle -Wabi=.
47 (c_common_post_options): Handle flag_abi_compat_version default.
48 Disallow -fabi-compat-version=1.
49 * c-common.h (abi_version_crosses): New.
50
738a6bda 512014-06-11 Jan Hubicka <hubicka@ucw.cz>
52
53 * c-family/c-common.c (handle_section_attribute): Update handling for
54 section names that are no longer trees.
55
cf5f881f 562014-06-10 Jakub Jelinek <jakub@redhat.com>
57
58 PR fortran/60928
59 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
60 (omp_pragmas): ... back here.
61
32dc1512 622014-06-05 Marek Polacek <polacek@redhat.com>
63
64 PR c/49706
65 * c-common.c (warn_logical_not_parentheses): New function.
66 * c-common.h (warn_logical_not_parentheses): Declare.
67 * c.opt (Wlogical-not-parentheses): New option.
68
f61a9bc2 692014-06-04 Marek Polacek <polacek@redhat.com>
70
71 PR c/30020
72 * c-common.c (check_case_bounds): Add location parameter.
73 Use it.
74 (c_add_case_label): Pass loc to check_case_bounds.
75
c69ec07d 762014-06-03 Marek Polacek <polacek@redhat.com>
77
78 PR c/60439
79 * c.opt (Wswitch-bool): New option.
80
3c77ca67 812014-05-22 Thomas Schwinge <thomas@codesourcery.com>
82
68a2c870 83 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
84 Remove prototypes.
85 (record_types_used_by_current_var_decl): Move prototype to where
86 it belongs.
87
3c77ca67 88 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
89 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
90 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
91
3ab4693e 922014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
93
94 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
95 * c-common.c (c_common_nodes_and_builtins): Don't initialize
96 void_zero_node.
97 * c-pretty-print.c (pp_c_void_constant): New function.
98 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
99 (c_pretty_printer::expression): Handle VOID_CST.
100 * cilk.c (extract_free_variables): Likewise.
101 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
102 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
103
25a27413 1042014-05-17 Trevor Saunders <tsaunders@mozilla.com>
105
106 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
107 * c-pragma.c (push_alignment): Adjust.
108 (handle_pragma_push_options): Likewise.
109
3e5a8b00 1102014-05-09 Marek Polacek <polacek@redhat.com>
111
112 PR c/50459
113 * c-common.c (check_user_alignment): Return -1 if alignment is error
114 node.
115 (handle_aligned_attribute): Don't call default_conversion on
116 FUNCTION_DECLs.
117 (handle_vector_size_attribute): Likewise.
118 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
119 (handle_sentinel_attribute): Call default_conversion and allow even
120 integral types as an argument.
121
c2c4ae8d 1222014-05-08 Marek Polacek <polacek@redhat.com>
123
124 PR c/61053
125 * c-common.c (min_align_of_type): New function factored out from...
126 (c_sizeof_or_alignof_type): ...here.
127 * c-common.h (min_align_of_type): Declare.
128
2026249a 1292014-05-08 Marek Polacek <polacek@redhat.com>
130
131 PR c/61077
132 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
133 parameter type of main.
134
33c8dcfe 1352014-05-07 DJ Delorie <dj@redhat.com>
136
137 * c-cppbuiltin.c (print_bits_of_hex): New.
138 (builtin_define_type_minmax): Print values using hex so as not to
139 require a pre-computed list of string values.
140
960d5a55 1412014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
142 Mike Stump <mikestump@comcast.net>
143 Richard Sandiford <rdsandiford@googlemail.com>
144
145 * c-ada-spec.c: Include wide-int.h.
146 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
147 (dump_generic_ada_node): Use wide-int interfaces.
148 * c-common.c: Include wide-int-print.h.
149 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
150 (pointer_int_sum): Use wide-int interfaces.
151 (c_common_nodes_and_builtins): Use make_int_cst.
152 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
153 (handle_alloc_size_attribute): Use wide-int interfaces.
154 (get_nonnull_operand): Likewise.
155 * c-format.c (get_constant): Use tree_fits_uhwi_p.
156 * c-lex.c: Include wide-int.h.
157 (narrowest_unsigned_type): Take a widest_int rather than two
158 HOST_WIDE_INTs.
159 (narrowest_signed_type): Likewise.
160 (interpret_integer): Update accordingly. Use wide-int interfaces.
161 (lex_charconst): Use wide-int interfaces.
162 * c-pretty-print.c: Include wide-int.h.
163 (pp_c_integer_constant): Use wide-int interfaces.
164 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
165 INT_CST_LT_UNSIGNED.
166
bbb88b31 1672014-05-06 Richard Biener <rguenther@suse.de>
168
169 * c-opts.c (c_common_post_options): For -freestanding,
170 -fno-hosted and -fno-builtin disable pattern recognition
171 if not enabled explicitely.
172
022d4718 1732014-05-02 Marek Polacek <polacek@redhat.com>
174
175 * c.opt (Wsizeof-pointer-memaccess): Describe option.
176
e4ab2ef3 1772014-05-01 Marek Polacek <polacek@redhat.com>
178
179 PR c/43245
180 * c.opt (Wdiscarded-qualifiers): Add.
181
52cc0072 1822014-04-30 Marek Polacek <polacek@redhat.com>
183
184 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
185 INT_MIN / -1 sanitization only for integer types.
186
4a026b48 1872014-04-25 Marek Polacek <polacek@redhat.com>
188
189 PR c/18079
190 * c-common.c (handle_noinline_attribute): Warn if the attribute
191 conflicts with always_inline attribute.
192 (handle_always_inline_attribute): Warn if the attribute conflicts
193 with noinline attribute.
194
90e645fa 1952014-04-25 Marek Polacek <polacek@redhat.com>
196
197 PR c/60156
198 * c-common.c (check_main_parameter_types): Warn about variadic main.
199
db103ea4 2002014-04-24 Mike Stump <mikestump@comcast.net>
201
202 * c.opt (Wshadow-ivar): Default to on.
203
06511efd 2042014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
205
206 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
207
cdf34fca 2082014-04-23 Marek Polacek <polacek@redhat.com>
209
210 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
211
7311d7c1 2122014-04-22 Jakub Jelinek <jakub@redhat.com>
213
214 PR sanitizer/60275
215 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
216 if flag_sanitize_undefined_trap_on_error.
217 (ubsan_instrument_division, ubsan_instrument_shift,
218 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
219 if !flag_sanitize_recover.
220
c1917557 2212014-04-22 Marc Glisse <marc.glisse@inria.fr>
222
223 PR libstdc++/43622
224 * c-common.c (registered_builtin_types): Make non-static.
225 * c-common.h (registered_builtin_types): Declare.
226
b2ca6510 2272014-04-14 Richard Biener <rguenther@suse.de>
228 Marc Glisse <marc.glisse@inria.fr>
229
230 PR c/60819
231 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
232 apply may-alias the scalar pointer type when applicable.
233
855372a3 2342014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
235
236 PR middle-end/60467
237 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
238 as possible argument for Cilk_spawn.
239
4012a986 2402014-04-11 Tobias Burnus <burnus@net-b.de>
241
242 PR c/60194
243 * c.opt (Wformat-signedness): Add
244 * c-format.c(check_format_types): Use it.
245
0d284870 2462014-04-11 Jason Merrill <jason@redhat.com>
247
248 PR c++/57926
249 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
250 default_conversion for an array argument.
251
a34c1231 2522014-04-08 Marek Polacek <polacek@redhat.com>
253
254 PR sanitizer/60745
255 * c-ubsan.c: Include asan.h.
256 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
257
a35a8e18 2582014-04-03 Nathan Sidwell <nathan@codesourcery.com>
259
260 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
261
b23e42b6 2622014-04-02 Marek Polacek <polacek@redhat.com>
263
264 * c-common.h (c_expand_expr): Remove declaration.
265
5a672e62 2662014-03-28 Jakub Jelinek <jakub@redhat.com>
267
268 PR c++/60689
269 * c-common.c (add_atomic_size_parameter): When creating new
270 params vector, push the size argument first.
271
d4d068c0 2722014-03-26 Jakub Jelinek <jakub@redhat.com>
273
274 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
275 ubsan_instrument_vla, ubsan_instrument_return): Adjust
276 ubsan_create_data callers.
277
446bdf5f 2782014-03-22 Jakub Jelinek <jakub@redhat.com>
279
280 PR debug/60603
281 * c-opts.c (c_finish_options): Restore cb_file_change call to
282 <built-in>.
283
8895f0a3 2842014-03-13 Jakub Jelinek <jakub@redhat.com>
285
286 PR middle-end/36282
287 * c-pragma.c (apply_pragma_weak): Only look at
288 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
289 DECL_ASSEMBLER_NAME_SET_P (decl).
290 (maybe_apply_pending_pragma_weaks): Exit early if
291 vec_safe_is_empty (pending_weaks) rather than only when
292 !pending_weaks.
293 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
294 set assembler name back to NULL afterwards.
295
7a5da2cd 2962014-03-11 Jason Merrill <jason@redhat.com>
297
298 * c.opt: Add -std=gnu++14.
299
95093889 3002014-03-11 Ian Bolton <ian.bolton@arm.com>
301
302 * c-opts.c (c_common_post_options): Don't override
303 -ffp-contract=fast if unsafe-math-optimizations is on.
304
c9a24b37 3052014-03-08 Paulo Matos <paulo@matos-sorge.com>
306
307 * c.opt: Enable LTO FE for fshort-double.
308
3f6dba6e 3092014-03-07 Jason Merrill <jason@redhat.com>
310
311 * c.opt: Add -std=c++14.
312
3bfdc94f 3132014-03-06 Marek Polacek <polacek@redhat.com>
314
315 PR c/60197
316 * cilk.c (contains_cilk_spawn_stmt): New function.
317 (contains_cilk_spawn_stmt_walker): Likewise.
318 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
319 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
320
8b3a6a4c 3212014-03-03 Jakub Jelinek <jakub@redhat.com>
322
323 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
324 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
325 even when flag_preprocess_only.
326
734ec290 3272014-02-26 Jason Merrill <jason@redhat.com>
328
329 PR c++/59231
330 PR c++/11586
331 * c-common.c (shorten_compare): Don't check
332 c_inhibit_evaluation_warnings.
333
81aec8b8 3342014-02-19 Jakub Jelinek <jakub@redhat.com>
335
d1081017 336 PR c/37743
337 * c-common.c (c_common_nodes_and_builtins): When initializing
338 c_uint{16,32,64}_type_node, also set corresponding
339 uint{16,32,64}_type_node to the same value.
340
81aec8b8 341 PR c++/60267
342 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
343 for PRAGMA_IVDEP if flag_preprocess_only.
344
312243bb 3452014-02-12 Jakub Jelinek <jakub@redhat.com>
346
347 PR c/60101
348 * c-common.c (merge_tlist): If copy is true, call new_tlist,
349 if false, add ADD itself, rather than vice versa.
350 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
351 copy. For SAVE_EXPR, only call merge_tlist once.
352
237e78b1 3532014-02-08 Jakub Jelinek <jakub@redhat.com>
354
355 PR middle-end/60092
356 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
357 and tree_to_uhwi.
358 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
359 functions.
360 (c_common_attribute_table): Add alloc_align and assume_aligned
361 attributes.
362
76fdceeb 3632014-02-06 Marek Polacek <polacek@redhat.com>
364
365 PR c/60087
366 * c-common.c (warn_for_sign_compare): Call warning_at with location
367 instead of warning.
368
4a4dea42 3692014-02-05 Marek Polacek <polacek@redhat.com>
370
371 PR c/53123
372 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
373 statement.
374
ec704957 3752014-02-04 Marek Polacek <polacek@redhat.com>
376
377 PR c/60036
378 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
379 SAVE_EXPR.
380
caf62483 3812014-02-03 Marc Glisse <marc.glisse@inria.fr>
382
383 PR c++/53017
384 PR c++/59211
385 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
386 handle_vector_size_attribute, handle_nonnull_attribute): Call
387 default_conversion on the attribute argument.
388 (handle_nonnull_attribute): Increment the argument number.
389
ec761d5a 3902014-01-31 Marek Polacek <polacek@redhat.com>
391
392 PR c/59963
393 * c-common.c (add_atomic_size_parameter): Pass vNULL to
394 build_function_call_vec.
395 (resolve_overloaded_builtin): Likewise.
396 * c-common.h (build_function_call_vec): Adjust declaration.
397
22a75734 3982014-01-30 Marek Polacek <polacek@redhat.com>
399
400 PR c/59940
401 * c-common.h (unsafe_conversion_p): Adjust declaration.
402 (warnings_for_convert_and_check): Likewise.
403 (convert_and_check): Likewise.
404 * c-common.c (unsafe_conversion_p): Add location parameter. Call
405 expansion_point_location_if_in_system_header on it.
406 (warnings_for_convert_and_check): Add location parameter. Call
407 expansion_point_location_if_in_system_header on it. Use it.
408 (convert_and_check): Add location parameter. Use it.
409 (conversion_warning): Likewise.
410 (c_add_case_label): Adjust convert_and_check calls.
411 (scalar_to_vector): Adjust unsafe_conversion_p calls.
412
a89e6c15 4132014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
414
415 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
416 flag_cilkplus.
417 * c-pragma.c (init_pragma): Likewise.
418 * c.opt: Likewise.
419
2623625f 4202014-01-23 Marek Polacek <polacek@redhat.com>
421
422 PR c/59846
423 * c-common.c (shorten_compare): Add location_t parameter.
424 * c-common.h (shorten_binary_op): Adjust declaration.
425
46da3601 4262014-01-23 Marek Polacek <polacek@redhat.com>
427
428 PR c/58346
429 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
430 * c-common.h: Declare it.
431
c9743c6a 4322014-01-20 Eric Botcazou <ebotcazou@adacore.com>
433
434 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
435 * c-ada-spec.c (dump_ads): Likewise.
436 (cpp_check): Likewise.
437 (dump_ada_specs): Likewise.
438
4392014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 440
441 PR c++/49718
442 * c-common.c (handle_no_instrument_function_attribute): Allow
443 no_instrument_function attribute in class member
444 definition/declaration.
445
1248c663 4462014-01-15 Jakub Jelinek <jakub@redhat.com>
447
448 PR c/58943
449 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
450 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
451 being COMPOUND_EXPR.
452 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
453 operand a SAVE_EXPR and second MODIFY_EXPR.
454
6e5c480b 4552014-01-09 Jakub Jelinek <jakub@redhat.com>
456
457 PR target/58115
458 * c-pch.c (c_common_write_pch): Call
459 prepare_target_option_nodes_for_pch.
460
3aea1f79 4612014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
462
463 Update copyright years
464
e4f22041 4652014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
466
467 * array-notation-common.c, c-cilkplus.c: Use the standard form for
468 the copyright notice.
469
7fb0fe24 4702013-12-28 Eric Botcazou <ebotcazou@adacore.com>
471
472 * c-ada-spec.c (print_constructor): New function.
473 (print_destructor): Retrieve the origin of the destructor.
474 (print_ada_declaration): Revamp handling of constructors/destructors.
475
468088ac 4762013-12-23 Stuart Hastings <stuart@apple.com>
477 Bill Maddox <maddox@google.com>
478 Jason Merrill <jason@redhat.com>
479
480 * c.opt: Add -fdeclone-ctor-dtor.
481 * c-opts.c (c_common_post_options): Default to on iff -Os.
482
74acc703 4832013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
484
485 * c-common.c (c_common_attribute_table): Added "cilk simd function"
486 attribute.
487 * c-pragma.h (enum pragma_cilk_clause): Remove.
488 (enum pragma_omp_clause): Added the following fields:
489 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
490 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
491 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
492 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
493 PRAGMA_CILK_CLAUSE_UNIFORM.
494
495
433e804e 4962013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
497
498 * cilk.c (cilk_outline): Made this function non-static.
499 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
500 (create_cilk_wrapper): Added a new parameter: a function pointer.
501 (c_install_body_w_frame_cleanup): Remove
502 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
503 * c-common.h (cilk_outline): New prototype.
504 (gimplify_cilk_spawn): Removed two parameters.
505 (cilk_install_body_with_frame_cleanup): New prototype.
506 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
507 CILK_SPAWN_STMT case.
508
5bcc7e60 5092013-12-11 Bernd Schmidt <bernds@codesourcery.com>
510
e66325ea 511 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
512
5bcc7e60 513 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
514 (int_array_type_node): Remove.
515 * c-common.c (c_common_nodes_and_builtins): Don't build it.
516
0b26ec77 5172013-12-05 Marek Polacek <polacek@redhat.com>
518
519 PR c/52023
520 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
521 [ADJUST_FIELD_ALIGN].
522
a179a7dc 5232013-12-04 Joseph Myers <joseph@codesourcery.com>
524
525 PR c/52023
526 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
527 and check field alignment if set.
528 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
529 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
530
137559b2 5312013-12-04 Jakub Jelinek <jakub@redhat.com>
532 Marek Polacek <polacek@redhat.com>
533
534 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
535 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
536
648fd348 5372013-11-29 H.J. Lu <hongjiu.lu@intel.com>
538
539 PR c/59309
540 * cilk.c (gimplify_cilk_spawn): Properly handle function without
541 arguments.
542
253e1cae 5432013-11-29 Jakub Jelinek <jakub@redhat.com>
544
545 PR c/59280
546 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
547 goto invalid. If it is error_mark_node, don't issue further
548 diagnostics.
549
3e398f5b 5502013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
551
552 * c.opt (Wopenmp-simd): New.
553
020bc656 5542013-11-22 Jakub Jelinek <jakub@redhat.com>
555
556 * c-ubsan.h (ubsan_instrument_return): New prototype.
557 * c-ubsan.c (ubsan_instrument_return): New function.
558
bc61cadb 5592013-11-22 Andrew MacLeod <amacleod@redhat.com>
560
561 * c-common.c: Add required include files from gimple.h.
562 * c-gimplify.c: Likewise
563 * cilk.c: Likewise
564
3df42822 5652013-11-22 David Malcolm <dmalcolm@redhat.com>
566
567 * c-common.c (unsafe_conversion_p): Remove use of
568 EXPR_LOC_OR_HERE macro.
569 (conversion_warning): Likewise.
570 (warnings_for_convert_and_check): Likewise.
571 (warn_for_collisions_1): Likewise.
572 (shorten_compare): Likewise, and remove use of in_system_header
573 macro, using the location from the former.
574 * c-lex.c (dump_one_header): Remove use of input_filename macro.
575 (cb_def_pragma): Remove use of in_system_header macro.
576 (lex_string): Likewise.
577 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
578
8c53c46c 5792013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
580 Mike Stump <mikestump@comcast.net>
581 Richard Sandiford <rdsandiford@googlemail.com>
582
583 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
584 instead of TREE_INT_CST_LOW, in cases where there is a protecting
585 tree_fits_shwi_p or tree_fits_uhwi_p.
586 (dump_generic_ada_node): Likewise.
587 * c-format.c (check_format_arg): Likewise.
588 * c-pretty-print.c (pp_c_integer_constant): Likewise.
589
5200ef07 5902013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
591
592 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
593
ca9d7d74 5942013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
595
596 PR c/53001
597 * c-common.c (unsafe_conversion_p): Make this function
598 return an enumeration with more detail.
599 (conversion_warning): Use the new return type of
600 unsafe_conversion_p to separately warn either about conversions
601 that lower floating point number precision or about the other
602 kinds of conversions.
603 * c-common.h (enum conversion_safety): New enumeration.
604 (unsafe_conversion_p): switching return type to
605 conversion_safety enumeration.
606 * c.opt: Adding new warning -Wfloat-conversion and
607 enabling it with -Wconversion.
608
0391a567 6092013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
610
611 * c-opts.c: Include plugin.h.
612 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
613
19b928d9 6142013-11-19 Marek Polacek <polacek@redhat.com>
615
616 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
617 call.
618 (ubsan_instrument_shift): Likewise.
619 (ubsan_instrument_vla): Likewise.
620
aa59f000 6212013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
622
623 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
624 cast to unsigned type.
625
08f817b3 6262013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
627
628 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
629 tree_low_cst.
630 (complete_array_type): Update comment to refer to tree_to_[su]hwi
631 rather than tree_low_cst.
632
6a0712d4 6332013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
634
635 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
636 tree_to_uhwi throughout.
637
fcb97e84 6382013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
639
640 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
641 tree_low_cst (..., 0) with tree_to_shwi throughout.
642
cd4547bf 6432013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
644
645 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
646 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
647
35ec552a 6482013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
649
650 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
651 host_integerp (..., 0) with tree_fits_shwi_p throughout.
652
f2697631 6532013-11-15 Aldy Hernandez <aldyh@redhat.com>
654
655 * c-cilkplus.c: New file.
656 * c-common.c (readonly_error): Add location argument.
657 * c-common.h (readonly_error): Same.
658 (c_finish_cilk_clauses): Protoize.
659 (c_check_cilk_loop): Same.
660 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
661 Do not fail on error_mark_node.
662 Abstract increment canonicalization to here...
663 (c_omp_for_incr_canonicalize_ptr): New.
664 c-pragma.c (init_pragma): Register "simd" pragma.
665 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
666 (enum pragma_cilk_clause): New.
667
0aa8c34e 6682013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
669
670 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
671 wchar_type and host_integerp checks.
672
e795d6e1 6732013-11-14 Andrew MacLeod <amacleod@redhat.com>
674
675 * c-common.c: Likewise.
676 * c-gimplify.c: Likewise.
677 * cilk.c: Likewise.
678
9ed99284 6792013-11-14 Diego Novillo <dnovillo@google.com>
680
681 * c-common.c: Include fold-const.h.
682 Include stor-layout.h.
683 Include calls.h.
684 Include stringpool.h.
685 Include attribs.h.
686 Include varasm.h.
687 Include trans-mem.h.
688 * c-cppbuiltin.c: Include stor-layout.h.
689 Include stringpool.h.
690 * c-format.c: Include stringpool.h.
691 * c-lex.c: Include stringpool.h.
692 Include stor-layout.h.
693 * c-pragma.c: Include stringpool.h.
694 Include attribs.h.
695 Include varasm.h.
696 Include gcc-symtab.h.
697 * c-pretty-print.c: Include stor-layout.h.
698 Include attribs.h.
699 * cilk.c: Include stringpool.h.
700 Include calls.h.
701
4fba5eb9 7022013-11-13 Joseph Myers <joseph@codesourcery.com>
703
704 * c-common.h (enum rid): Add RID_AUTO_TYPE.
705 * c-common.c (c_common_reswords): Add __auto_type.
706 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
707
a8783bee 7082013-11-12 Andrew MacLeod <amacleod@redhat.com>
709
e795d6e1 710 * c-common.c: Include gimplify.h.
711 * c-gimplify.c: Likewise.
712 * cilk.c: Likewise.
713 * c-omp.c: Include gimple-expr.h instead of gimple.h.
714 * c-ubsan.c: Don't include gimple.h.
a8783bee 715
d184e0c0 7162013-11-12 Joseph Myers <joseph@codesourcery.com>
717
718 * c-common.c (c_common_reswords): Add _Thread_local.
719
a056826c 7202013-11-09 Joseph Myers <joseph@codesourcery.com>
721
722 * c-common.c (atomic_size_supported_p): New function.
723 (resolve_overloaded_atomic_exchange)
724 (resolve_overloaded_atomic_compare_exchange)
725 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
726 Use it instead of comparing size with a local list of sizes.
727
b560fabd 7282013-11-07 Andrew MacLeod <amacleod@redhat.com>
729 Joseph Myers <joseph@codesourcery.com>
730
731 * c-common.h (enum rid): Add RID_ATOMIC.
732 * c-common.c (c_common_reswords): Add _Atomic.
733 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
734 (keyword_is_type_qualifier): Accept RID_ATOMIC.
735 * c-format.c (check_format_types): Check for extra _Atomic
736 qualifiers in format argument.
737 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
738 (pp_c_type_qualifier_list): Mention _Atomic in comment.
739
5b1a0622 7402013-11-06 Tobias Burnus <burnus@net-b.de>
741
742 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
743
4f8f4cb8 7442013-11-06 Joseph Myers <joseph@codesourcery.com>
745
746 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
747 standards modes.
748 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
749 to mean lack of IEEE 754 support.
750
9148bda3 7512013-11-05 Tobias Burnus <burnus@net-b.de>
752
753 * c.opt (-Wdate-time): New option
754 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
755
08c5f4d5 7562013-11-05 Joseph Myers <joseph@codesourcery.com>
757
758 * c-cppbuiltin.c (cpp_iec_559_value): Test
759 flag_excess_precision_cmdline not flag_excess_precision.
760
c630ef93 7612013-11-05 Tobias Burnus <burnus@net-b.de>
762
763 * c.opt (fopenmp-simd): New option.
764 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
765 (omp_pragmas): ... this new struct.
766 (c_pp_lookup_pragma): Also walk omp_pragmas.
767 (init_pragma): Init pragmas for -fopenmp-simd.
768
7354a89b 7692013-11-04 Marek Polacek <polacek@redhat.com>
770
771 PR c++/58979
772 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
773
4c866b9b 7742013-11-04 Joseph Myers <joseph@codesourcery.com>
775
776 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
777 New functions.
778 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
779
e2a6a333 7802013-11-04 Eric Botcazou <ebotcazou@adacore.com>
781
782 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
783 (dump_ada_specs): Adjust prototype of second callback.
784 * c-ada-spec.c (cpp_check): New global variable.
785 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
786 (print_generic_ada_decl): Likewise.
787 (has_static_fields): Change return type to bool and add guard.
788 (has_nontrivial_methods): New predicate.
789 (is_tagged_type): Change return type to bool.
790 (separate_class_package): Call has_nontrivial_methods.
791 (pp_ada_tree_identifier): Minor tweaks.
792 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
793 (dump_ada_array_domains): Likewise.
794 (dump_ada_array_type): Likewise.
795 (dump_template_types): Remove cpp_check parameter and do not pass it to
796 dump_generic_ada_node.
797 (dump_ada_template): Likewise.
798 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
799 recursively.
800 (print_ada_methods): Change return type to integer. Remove cpp_check
801 parameter and do not pass it down.
802 (dump_nested_types): Remove cpp_check parameter and do not pass it to
803 dump_generic_ada_node.
804 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
805 accessing methods.
806 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
807 down. Use has_nontrivial_methods to recognize C++ classes. Use return
808 value of print_ada_methods.
809 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
810 Set cpp_check to it before invoking dump_ada_nodes.
811 (dump_ada_specs): Likewise.
812
2c4c3477 8132013-11-03 Marek Polacek <polacek@redhat.com>
814
815 * c-ubsan.c: Don't include hash-table.h.
816 (ubsan_instrument_vla): New function.
817 * c-ubsan.h: Declare it.
818
452659af 8192013-10-31 David Malcolm <dmalcolm@redhat.com>
820
821 Automated part of renaming of symtab_node_base to symtab_node.
822
823 Patch autogenerated by rename_symtab.py from
824 https://github.com/davidmalcolm/gcc-refactoring-scripts
825 revision 58bb219cc090b2f4516a9297d868c245495ee622
826
827 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
828 symtab_node_base to symtab_node.
829
4d6f7dd4 8302013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
831
832 Implement C++14 digit separators.
833 * c-lex.c (interpret_float): Remove digit separators from scratch string
834 before building real literal.
835
06cfe805 8362013-10-30 Jakub Jelinek <jakub@redhat.com>
837
838 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
839
d037099f 8402013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
841
842 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
843 fields.
844 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
845 enabled.
846 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
847 (insert_cilk_frame): New prototype.
848 (cilk_init_builtins): Likewise.
849 (gimplify_cilk_spawn): Likewise.
850 (c_cilk_install_body_w_frame_cleanup): Likewise.
851 (cilk_detect_spawn_and_unwrap): Likewise.
852 (cilk_set_spawn_marker): Likewise.
853 (build_cilk_sync): Likewise.
854 (build_cilk_spawn): Likewise.
855 * cilk.c: New file.
856
02774f2d 8572013-10-29 David Malcolm <dmalcolm@redhat.com>
858
859 Patch autogenerated by refactor_symtab.py from
860 https://github.com/davidmalcolm/gcc-refactoring-scripts
861 revision 58bb219cc090b2f4516a9297d868c245495ee622
862
863 * c-gimplify.c (c_genericize): Update for conversion of symtab types
864 to a true class hierarchy.
865 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
866
31fe10fd 8672013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
868
869 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
870
b1c06ff9 8712013-10-26 Jeff Law <law@redhat.com>
872
873 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
874 * c-family/c.opt: Ignore and warn for mudflap options.
875
48a972c8 8762013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 877
878 PR other/33426
879 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
880 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
881
546a04b1 8822013-10-23 Jason Merrill <jason@redhat.com>
883
884 * c-format.c (gcc_cxxdiag_char_table): Add %X.
885
bc7bff74 8862013-10-11 Jakub Jelinek <jakub@redhat.com>
887
d62c713e 888 * c-common.h (omp_clause_mask::operator !=): New method.
889 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
890 instead of if (mask & something) tests everywhere.
891
bc7bff74 892 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
893 201307 instead of 201107.
894 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
895 (c_common_attribute_table): Add "omp declare target" and
896 "omp declare simd" attributes.
897 (handle_omp_declare_target_attribute,
898 handle_omp_declare_simd_attribute): New functions.
899 * c-omp.c: Include c-pragma.h.
900 (c_finish_omp_taskgroup): New function.
901 (c_finish_omp_atomic): Add swapped argument, if true,
902 build the operation first with rhs, lhs arguments and use NOP_EXPR
903 build_modify_expr.
904 (c_finish_omp_for): Add code argument, pass it down to make_code.
905 (c_omp_split_clauses): New function.
906 (c_split_parallel_clauses): Removed.
907 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
908 c_omp_declare_simd_clauses_to_decls): New functions.
909 * c-common.h (omp_clause_mask): New type.
910 (OMP_CLAUSE_MASK_1): Define.
911 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
912 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
913 omp_clause_mask::operator |, omp_clause_mask::operator &,
914 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
915 omp_clause_mask::operator ==): New methods.
916 (enum c_omp_clause_split): New.
917 (c_finish_omp_taskgroup): New prototype.
918 (c_finish_omp_atomic): Add swapped argument.
919 (c_finish_omp_for): Add code argument.
920 (c_omp_split_clauses): New prototype.
921 (c_split_parallel_clauses): Removed.
922 (c_omp_declare_simd_clauses_to_numbers,
923 c_omp_declare_simd_clauses_to_decls): New prototypes.
924 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
925 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
926 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
927 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
928 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
929 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
930 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
931 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
932 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
933 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
934 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
935 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
936 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
937 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
938 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
939 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
940 PRAGMA_OMP_CLAUSE_UNIFORM.
941
d7dcba40 9422013-10-09 Marc Glisse <marc.glisse@inria.fr>
943
944 PR tree-optimization/20318
945 * c-common.c (handle_returns_nonnull_attribute): New function.
946 (c_common_attribute_table): Add returns_nonnull.
947
0b7282f1 9482013-10-03 Marc Glisse <marc.glisse@inria.fr>
949
950 PR c++/19476
951 * c.opt (fcheck-new): Move to common.opt.
952
51f553af 9532013-09-25 Marek Polacek <polacek@redhat.com>
954 Jakub Jelinek <jakub@redhat.com>
955
956 PR sanitizer/58413
957 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
958 an expression if we can prove it is correct.
959 (ubsan_instrument_division): Likewise. Remove unnecessary
960 check.
961
05f893e1 9622013-09-18 Marek Polacek <polacek@redhat.com>
963
964 PR sanitizer/58411
965 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
966 Declare it.
967 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
968
236ce1d1 9692013-09-14 Iain Sandoe <iain@codesourcery.com>
970
971 PR target/48094
972 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
973 fobjc-gc, freplace-objc-classes): Accept for LTO.
974
f9f68d35 9752013-09-13 Jacek Caban <jacek@codeweavers.com>
976
977 * c-target.def: New hook
978
ba2f764e 9792013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
980
981 PR c++/43452
982 * c.opt (Wdelete-incomplete): Add.
983
73437615 9842013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
985
986 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
987 (vector_types_compatible_elements_p): New function.
988 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
989 declaration.
990 (vector_types_compatible_elements_p): Declare.
991
95af4c75 9922013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
993
994 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
995 a virtual member function.
996 (pp_simple_type_specifier): Remove.
997 (pp_c_type_specifier): Likewise.
998 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
999 Rename from pp_c_type_specifier. Adjust.
1000 (c_pretty_printer::c_pretty_printer): Do not assign to
1001 simple_type_specifier.
1002
eaab24b9 10032013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1004
1005 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1006 member function.
1007 (c_pretty_printer::storage_class_specifier): Likewise.
1008 (c_pretty_printer::initializer): Likewise.
1009 (pp_declaration): Remove.
1010 (pp_declaration_specifiers): Likewise.
1011 (pp_abstract_declarator): Likewise.
1012 (pp_declarator): Likewise.
1013 (pp_type_id): Likewise.
1014 (pp_statement): Likewise.
1015 (pp_constant): Likewise.
1016 (pp_id_expression): Likewise.
1017 (pp_primary_expression): Likewise.
1018 (pp_unary_expression): Likewise.
1019 (pp_multiplicative_expression): Likewise.
1020 (pp_conditional_expression): Likewise.
1021 (pp_assignment_expression): Likewise.
1022 (pp_expression): Likewise.
1023 (pp_c_type_id): Likewise.
1024 (pp_c_storage_class_specifier): Likewise.
1025 * c-pretty-print.c (pp_c_type_cast): Tidy.
1026 (pp_c_pointer): Likewise.
1027 (pp_c_type_specifier): Likewise.
1028 (pp_c_parameter_type_list): Likewise.
1029 (pp_c_function_definition): Likewise.
1030 (pp_c_init_declarator): Likewise.
1031 (pp_c_initializer_list): Likewise.
1032 (pp_c_constructor_elts): Likewise.
1033 (c_pretty_printer::direct_abstract_declarator): Likewise.
1034 (c_pretty_printer::declaration_specifiers): Likewise.
1035 (c_pretty_printer::primary_expression): Likewise.
1036 (c_pretty_printer::postfix_expression): Likewise.
1037 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1038 (c_pretty_printer::storage_class_specifier): Rename from
1039 pp_c_storage_class_specifier.
1040 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1041 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1042 storage_class_specifier, initializer, offset_list, flags.
1043
9e46467d 10442013-08-30 Marek Polacek <polacek@redhat.com>
1045
1046 * c-ubsan.c: New file.
1047 * c-ubsan.h: New file.
1048
36a8d9b9 10492013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1050
1051 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1052 member function.
1053 (c_pretty_printer::declaration_specifiers): Likewise.
1054 (c_pretty_printer::declarator): Likewise.
1055 (c_pretty_printer::abstract_declarator): Likewise.
1056 (c_pretty_printer::direct_abstract_declarator): Likewise.
1057 (c_pretty_printer::direct_declarator): Likewise.
1058 (c_pretty_printer::function_specifier): Likewise.
1059 (pp_declaration): Adjust.
1060 (pp_declaration_specifiers): Likewise.
1061 (pp_abstract_declarator): Likewise.
1062 (pp_direct_declarator): Likewise.
1063 (pp_function_specifier): Likewise.
1064 (pp_direct_abstract_declarator): Remove as unused.
1065 (pp_c_declaration): Remove.
1066 (pp_c_declaration_specifiers): Likewise.
1067 (pp_c_declarator): Likewise.
1068 (pp_c_direct_declarator): Likewise.
1069 (pp_c_function_specifier): Likewise.
1070 (pp_c_direct_abstract_declarator): Likewise.
1071 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1072 from pp_c_abstract_declarator. Adjust.
1073 (c_pretty_printer::direct_abstract_declarator): Rename from
1074 pp_c_direct_abstract_declarator. Adjust.
1075 (c_pretty_printer::function_specifier): Rename from
1076 pp_c_function_specifier. Adjust.
1077 (c_pretty_printer::declaration_specifiers): Rename from
1078 pp_c_declaration_specifiers. Adjust.
1079 (c_pretty_printer::direct_declarator): Rename from
1080 pp_c_direct_declarator. Adjust.
1081 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1082 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1083 (c_pretty_printer::c_pretty_printer): Do not assign to
1084 declaration, declaration_specifiers, declarator,
1085 direct_declarator, direct_abstract_declarator, function_specifier.
1086
30635c2e 10872013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1088
1089 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1090 virtual member function.
1091 (c_pretty_printer::multiplicative_expression): Likewise.
1092 (c_pretty_printer::conditional_expression): Likewise.
1093 (c_pretty_printer::assignment_expression): Likewise.
1094 (c_pretty_printer::expression): Likewise.
1095 (pp_unary_expression): Adjust.
1096 (pp_multiplicative_expression): Likewise.
1097 (pp_assignment_expression): Likewise.
1098 (pp_conditional_expression): Likewise.
1099 (pp_expression): Likewise.
1100 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1101 from pp_c_unary_expression. Adjust.
1102 (c_pretty_printer::multiplicative_expression): Rename from
1103 pp_c_multiplicative_expression. Adjust.
1104 (c_pretty_printer::conditional_expression): Rename from
1105 pp_c_conditional_expression. Adjust.
1106 (c_pretty_printer::assignment_expression): Rename from
1107 pp_c_assignment_expression. Adjust.
1108 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1109 (c_pretty_printer::c_pretty_printer): Do not assign to
1110 unary_expression, multiplicative_expression,
1111 conditional_expression, expression.
1112
027d08ed 11132013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1114
1115 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1116 virtual member function.
1117 (pp_postfix_expression): Adjust.
1118 (pp_c_postfix_expression): Remove.
1119 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1120 from pp_c_postfix_expression. Adjust.
1121 (c_pretty_printer::c_pretty_printer): Do not assign to
1122 postfix_expression.
1123
f873303a 11242013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1125
1126 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1127 virtua member function.
1128 (pp_primary_expression): Adjust.
1129 (pp_c_primary_expression): Remove.
1130 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1131 from pp_c_primary_expression. Adjust.
1132 (pp_c_initializer_list): Use pp_primary_expression.
1133 (c_pretty_printer::c_pretty_printer): Do not assign to
1134 primary_expression.
1135
08e3e481 11362013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1137
1138 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1139 * c-pretty-print.c (M_): Remove.
1140 (c_pretty_printer::translate_string): Define.
1141 (pp_c_type_specifier): Use it.
1142 (pp_c_primary_expression): Likewise.
1143 (pp_c_expression): Likewise.
1144
1fc4a87f 11452013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1146
1147 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1148 virtual function.
1149 (pp_c_id_expression): Remove.
1150 (pp_id_expression): Adjust.
1151 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1152 pp_c_id_expression. Adjust.
1153 (pp_c_postfix_expression): Use pp_id_expression.
1154 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1155
a6cb161b 11562013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1157
1158 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1159 member function.
1160 (pp_constant): Adjust.
1161 (pp_c_constant): Remove.
1162 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1163 pp_c_constant. Adjust.
1164 (pp_c_constant)
1165 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1166 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1167
eed6bc21 11682013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1169
1170 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1171 (c_pretty_printer::c_pretty_printer): Declare.
1172 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1173 c_pretty_printer_init. Adjust.
1174 (print_c_tree): Do not call c_pretty_printer_init.
1175 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1176
df558d2e 11772013-08-09 Arnaud Charlet <charlet@adacore.com>
1178
1179 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1180
42f9a786 11812013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1182
1183 PR c++/58080
1184 * c-common.c (pointer_int_sum): Add bool parameter.
1185 * c-common.h (pointer_int_sum): Adjust declaration.
1186
f874ddad 11872013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1188
1189 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1190 c_pretty_printer variable.
1191
a94db6b0 11922013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1193
1194 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1195 (pp_base): Remove.
1196 (pp_c_base): Likewise. Adjust users.
1197 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1198 (pp_c_whitespace): Do not call pp_base.
1199 (pp_c_left_paren): Likewise.
1200 (pp_c_right_paren): Likewise.
1201 (pp_c_left_brace): Likewise.
1202 (pp_c_right_brace): Likewise.
1203 (pp_c_left_bracket): Likewise.
1204 (pp_c_right_bracket): Likewise.
1205 (pp_c_dot): Likewise.
1206 (pp_c_ampersand): Likewise.
1207 (pp_c_star): Likewise.
1208 (pp_c_arrow): Likewise.
1209 (pp_c_semicolon): Likewise.
1210 (pp_c_complement): Likewise.
1211 (pp_c_exclamation): Likewise.
1212 (pp_c_direct_declarator): Likewise.
1213 (pp_c_ws_string): Likewise.
1214 (pp_c_identifier): Likewise.
1215 (pp_c_statement): Likewise.
1216 (print_c_tree): Likewise.
1217
1898176c 12182013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1219
1220 PR c++/58072
1221 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1222 provide useful error strings.
1223
70d60d1d 12242013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1225
1226 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1227 printer functions instead of pp_string or operators and punctuators.
1228 (dump_generic_ada_node): Likewise.
1229 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1230 (pp_c_relational_expression): Likewise.
1231 (pp_c_logical_or_expression): Likewise.
1232
dda4f0ec 12332013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1234
1235 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1236 functions instead of pp_character.
1237 (pp_ada_tree_identifier): Likewise.
1238 (dump_ada_double_name): Likewise.
1239 (dump_ada_function_declaration): Likewise.
1240 (dump_ada_array_domains): Likewise.
1241 (dump_template_types): Likewise.
1242 (dump_generic_ada_node): Likewise.
1243 (print_ada_declaration): Likewise.
1244 (print_ada_struct_decl): Likewise.
1245 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1246
7aa04c8d 12472013-07-23 Tom Tromey <tromey@redhat.com>
1248
1249 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1250 * c-common.c (c_common_reswords): Add _Generic.
1251
a04e8d62 12522013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1253
1254 * c-common.c: Fix typos.
1255 * c-common.h: Likewise.
1256
a96c3cc1 12572013-07-13 Lubos Lunak <l.lunak@suse.cz>
1258
1259 PR c++/55203
1260 * c-common.c (c_common_attribute_table): Add warn_unused.
1261 (handle_warn_unused_attribute): New.
1262
da31536d 12632013-07-10 Jakub Jelinek <jakub@redhat.com>
1264
1265 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1266 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1267
839f2f70 12682013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1269
1270 PR c++/57869
1271 * c.opt: Add Wconditionally-supported.
1272
73f353d0 12732013-07-08 Graham Stott <graham.stott@btinternet.com>
1274
1275 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1276 unused variables l_length and l_node.
1277
21ebaa24 12782013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 1279
1280 PR c/57821
1281 * c-common.c (complete_array_type): Delay folding first index
1282 like other indices. When folding, check for index overflow.
1283
68ea4406 12842013-06-27 Marc Glisse <marc.glisse@inria.fr>
1285
1286 PR c++/57509
1287 * c-common.h (c_build_vec_perm_expr): New complain argument.
1288 * c-common.c (c_build_vec_perm_expr): Likewise.
1289 Use save_expr also in C++.
1290
60777f69 12912013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1292
1293 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1294 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1295 * c-opts.c (c_common_post_options): Likewise.
1296
839f2f70 12972013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 1298
1299 * array-notation-common.c (length_mismatch_in_expr): Changed the
1300 parameter type's from a dynamic array to a vec_tree. Also removed
1301 the size parameters.
1302 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1303 the change above.
1304
e9331eab 13052013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1306
1307 * c-common.h (struct cilkplus_an_parts): New structure.
1308 (struct cilkplus_an_loop_parts): Likewise.
1309 (cilkplus_extract_an_triplets): New prototype.
1310 (fix_sec_implicit_args): Likewise.
1311 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1312 (fix_sec_implicit_args): Likewise.
60777f69 1313
a9c99fc4 13142013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
1315
1316 * array-notation-common.c (find_inv_trees): Removed an unwanted
1317 typecasting.
1318 * c-common.h (struct inv_list::additional_tcodes): Changed type from
1319 enum rid to enum tree_code.
1320
f2526cce 13212013-06-11 Jan Hubicka <jh@suse.cz>
1322
1323 * c-common.c (handle_alias_ifunc_attribute): Do not set
1324 DECL_EXTERNAL for weakref variables.
1325 * c-pragma.c (handle_pragma_weak): Make sure aliases
1326 are not declared as external.
1327
09970d67 13282013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1329
1330 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1331 function from c/c-array-notation.c.
1332 (is_cilkplus_reduce_builtin): Likewise.
1333 (find_rank): Likewise.
1334 (extract_array_notation_exprs): Likewise.
1335 (replace_array_notations): Likewise.
1336 (find_inv_trees): Likewise.
1337 (replace_inv_trees): Likewise.
1338 (contains_array_notation_expr): Likewise.
1339 (find_correct_array_notation_type): Likewise.
1340 * c-common.h (struct inv_list): Moved this struct from the file
1341 c/c-array-notation.c and added a new field called additional tcodes.
1342 (length_mismatch_in_expr_p): New prototype.
1343 (is_cilkplus_reduce_builtin): Likewise.
1344 (find_rank): Likewise.
1345 (extract_array_notation_exprs): Likewise.
1346 (replace_array_notation): Likewise.
1347 (find_inv_trees): Likewise.
1348 (replace_inv_trees): Likewise.
1349 (find_correct_array_notation_type): Likewise.
839f2f70 1350
3c6d4197 13512013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1352
1353 * c-common.c (c_define_builtins): When cilkplus is enabled, the
1354 function array_notation_init_builtins is called.
1355 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1356 * c-common.def (ARRAY_NOTATION_REF): New tree.
1357 * c-common.h (build_array_notation_expr): New function declaration.
1358 (build_array_notation_ref): Likewise.
1359 (extract_sec_implicit_index_arg): New extern declaration.
1360 (is_sec_implicit_index_fn): Likewise.
1361 (ARRAY_NOTATION_CHECK): New define.
1362 (ARRAY_NOTATION_ARRAY): Likewise.
1363 (ARRAY_NOTATION_START): Likewise.
1364 (ARRAY_NOTATION_LENGTH): Likewise.
1365 (ARRAY_NOTATION_STRIDE): Likewise.
1366 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1367 ARRAY_NOTATION_REF.
1368 (pp_c_expression): Likewise.
1369 * c.opt (flag_enable_cilkplus): New flag.
1370 * array-notation-common.c: New file.
1371
8e71dad2 13722013-05-14 Jakub Jelinek <jakub@redhat.com>
1373
1374 PR c++/57274
1375 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1376
432dd330 13772013-05-10 Marc Glisse <marc.glisse@inria.fr>
1378
1379 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1380 vectors.
1381
b156ec37 13822013-05-07 Han Shen <shenhan@google.com>
1383
1384 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1385
1a087624 13862013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1387
1388 * c-common.c (check_user_alignment): Emit error for negative values.
1389
1638c736 13902013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1391
1392 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1393
949dbf93 13942013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1395
1396 * c-cppbuiltin.c (c_cpp_builtins): Do not define
1397 __GXX_EXPERIMENTAL_CXX1Y__.
1398
9205a6cc 13992013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1400 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1401
1402 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1403 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1404 to simply use OPT_Wpointer_arith.
1405 (c_sizeof_or_alignof_type): Likewise.
1406
05d0bce1 14072013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1408
1409 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1410
41609f8b 14112013-04-12 Jakub Jelinek <jakub@redhat.com>
1412
1413 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1414 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1415 specifiers.
1416
c671dc4f 14172013-04-07 Steven Bosscher <steven@gcc.gnu.org>
1418
1419 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1420
ba125576 14212013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1422
1423 * c-common.c (pointer_int_sum): Remove dead code.
1424
9d3fa937 14252013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
1426
1427 PR middle-end/56524
1428 * c-common.c (handle_optimize_attribute): Don't call
1429 save_optabs_if_changed.
1430
5ceebb21 14312013-03-05 Jakub Jelinek <jakub@redhat.com>
1432
1433 PR middle-end/56461
1434 * c-pch.c (pch_init): Free target_validity at the end.
1435
18eeed2b 14362013-03-04 Jakub Jelinek <jakub@redhat.com>
1437
1438 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1439
a9196da9 14402013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
1441 Jakub Jelinek <jakub@redhat.com>
1442
1443 PR sanitizer/56454
1444 * c-common.c (handle_no_sanitize_address_attribute): New function.
1445 (c_common_attribute_table): Add no_sanitize_address attribute.
1446 (handle_no_address_safety_analysis_attribute): Add
1447 no_sanitize_address attribute, not no_address_safety_analysis
1448 attribute.
1449
15c27dda 14502013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 1451
1452 PR target/52555
1453 * c-common.c (handle_optimize_attribute): Call
1454 save_optabs_if_changed.
1455
19426fe1 14562013-02-18 Jakub Jelinek <jakub@redhat.com>
1457 Steven Bosscher <steven@gcc.gnu.org>
1458
1459 PR pch/54117
1460 * c-opts.c (c_common_post_options): If debug info is enabled
1461 and non-dwarf*, refuse to load PCH files and when writing PCH
1462 file warn.
1463
df936998 14642013-02-05 Jakub Jelinek <jakub@redhat.com>
1465
1466 PR middle-end/56167
1467 * c-common.c (handle_error_attribute): Fix condition.
1468
ae0c3984 14692013-01-30 Jakub Jelinek <jakub@redhat.com>
1470
1471 PR c++/55742
1472 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1473
1c4973d7 14742013-01-18 Jason Merrill <jason@redhat.com>
1475
1476 PR target/54908
1477 * c.opt (-fextern-tls-init): New.
1478 * c-opts.c (c_common_post_options): Handle it.
1479
7c834436 14802013-01-09 Jakub Jelinek <jakub@redhat.com>
1481
1482 PR c/48418
1483 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1484 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1485 and is either negative or bigger or equal to type precision
1486 of the first operand.
1487
5abaa10a 14882012-12-03 Marek Polacek <polacek@redhat.com>
1489
1490 PR c/55570
1491 * c-common.c (check_user_alignment): Swap order of tests,
1492 check TREE_CODE first.
1493
324ca377 14942012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
1495
1496 PR c++/52654
1497 * c-common.h (overflow_type): New enum.
1498 (build_userdef_literal): Add overflow_type argument.
1499 (tree_userdef_literal): Add overflow_type.
1500 (USERDEF_LITERAL_OVERFLOW): New access macro.
1501 * c-common.c (build_userdef_literal): Add overflow_type
1502 argument.
1503 * c-lex.c (c_lex_with_flags): Add overflow_type to
1504 build_userdef_literal calls.
1505 (interpret_integer, interpret_float): Add overflow_type argument.
1506
b4c4a429 15072012-11-28 Richard Biener <rguenther@suse.de>
1508
1509 PR c/35634
1510 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1511 here and use a type with proper overflow behavior for types that would
1512 need to be promoted for the arithmetic.
1513
d413ffdd 15142012-11-23 Jakub Jelinek <jakub@redhat.com>
1515
1516 PR sanitizer/55435
1517 * c-common.c (handle_no_address_safety_analysis_attribute): New
1518 function.
1519 (c_common_attribute_table): Add no_address_safety_analysis.
1520
52bc861d 15212012-11-16 Simon Baldwin <simonb@google.com>
1522
1523 * c.opt: Add f[no-]canonical-system-headers.
1524 * c-opts.c (c_common_handle_option): Handle
1525 OPT_fcanonical_system_headers.
1526
2dd00636 15272012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
1528
1529 PR c++/54413
1530 * c-opts.c (c_common_handle_option): Set new flags.
1531 * c.opt: Describe new flags.
1532
d4701f6c 15332012-11-09 Jason Merrill <jason@redhat.com>
1534
1535 * c.opt (Wabi-tag): New.
1536
72d65da9 15372012-11-09 Andi Kleen <ak@linux.intel.com>
1538
1539 PR 55139
1540 * c-common.c (get_atomic_generic_size): Mask with
1541 MEMMODEL_MASK
1542
77a357e3 15432012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1544
1545 PR c/53063
1546 * c.opt (Wformat): Make it Alias Wformat=1.
1547 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1548 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1549 LangEnabledBy.
1550 (Wformat=): RejectNegative. Use LangEnabledBy.
1551 (Wnonnull): Use LangEnabledBy.
1552 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1553 * c-format.c (set_Wformat): Delete.
1554 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1555 (maybe_read_dollar_number): Likewise.
1556 (avoid_dollar_number): Likewise.
1557 (finish_dollar_format_checking): Likewise.
1558 (check_format_info): Likewise.
1559 (check_format_info_main): Likewise.
1560 (check_format_types): Likewise.
1561 (format_type_warning): Likewise.
1562 * c-common.c (int): Likewise.
1563 (check_function_sentinel): Likewise.
1564 * c-common.h (warn_format,set_Wformat): Do not declare here.
1565
45efa6b9 15662012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1567
1568 PR c/53063
1569 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1570 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1571 Use LangEnabledBy.
1572 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1573 common.opt.
1574 (Wvariadic-macros): Init(1).
1575 * c-opts.c (c_common_handle_option): Do not handle them
1576 explicitly.
1577 (c_common_post_options): Likewise.
1578 (sanitize_cpp_opts): warn_unused_macros is now
1579 cpp_warn_unused_macros.
1580 (push_command_line_include): Likewise.
1581 * c-common.c (warn_unknown_pragmas): Do not define.
1582 * c-common.h (warn_unknown_pragmas): Do not declare.
1583
0e4e775a 15842012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1585
1586 PR c/51294
1587 * c-common.c (conversion_warning): Handle conditional expressions.
1588
8b447d3f 15892012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1590
1591 PR c++/54930
1592 * c.opt (Wreturn_local_addr): Define new option.
1593
f4a61754 15942012-10-25 Jason Merrill <jason@redhat.com>
1595
ecb10e6a 1596 * c.opt (Wvirtual-move-assign): New.
1597
f4a61754 1598 * c.opt (Winherited-variadic-ctor): New.
1599
7b463b19 16002012-10-25 Marc Glisse <marc.glisse@inria.fr>
1601
1602 PR c++/54427
1603 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1604
6adc88f8 16052012-10-23 Joseph Myers <joseph@codesourcery.com>
1606
1607 * c-common.h (pch_cpp_save_state): Declare.
1608 * c-target.def (c_preinclude): New hook.
1609 * c-opts.c (done_preinclude): New.
1610 (push_command_line_include): Handle default preincluded header.
1611 (cb_file_change): Call pch_cpp_save_state when calling
1612 push_command_line_include.
1613 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1614 (pch_cpp_save_state): New.
1615 (pch_init): Call pch_cpp_save_state conditionally, instead of
1616 calling cpp_save_state.
1617
fa816b0b 16182012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1619
1620 PR c/53063
1621 PR c/40989
1622 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1623 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1624 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1625 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1626 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1627 * c-opts.c (c_common_handle_option): Remove explicit handling from
1628 here.
1629 (c_common_post_options): Likewise.
1630
d214ccee 16312012-10-18 Eric Botcazou <ebotcazou@adacore.com>
1632
1633 * c-ada-spec.c (LOCATION_COL): Delete.
1634 (compare_location): New function.
1635 (compare_node): Use it.
1636 (compare_comment): Likewise.
1637
77b27208 16382012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1639
1640 PR c/53063
1641 PR c/40989
1642 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1643 * c-opts.c (c_common_handle_option): Do not set them here. Add
1644 comment.
1645 (c_common_post_options): Likewise.
1646
cc02ca4d 16472012-10-16 Eric Botcazou <ebotcazou@adacore.com>
1648
1649 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1650 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1651 Remove POINTER_TYPE handling, add large unsigned handling and use
1652 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1653
57f872a2 16542012-10-12 Jakub Jelinek <jakub@redhat.com>
1655
1656 PR c/54381
1657 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1658 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1659 locs and array of 3 trees instead of just single loc and single
1660 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
1661 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1662 For *cmp* builtins that take two sources strings report warnings
1663 about first and second source, not about destination and source.
1664
7354ad2e 16652012-10-12 Marc Glisse <marc.glisse@inria.fr>
1666
1667 PR c++/53055
1668 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1669
1ac7f120 16702012-10-11 Eric Botcazou <ebotcazou@adacore.com>
1671
1672 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1673 declaring something coming from another file.
1674
1e0cc9e3 16752012-10-10 Arnaud Charlet <charlet@adacore.com>
1676
1ac7f120 1677 PR ada/54845
1e0cc9e3 1678 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1679
b0e7825e 16802012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1681
1682 PR c++/54194
1683 * c-common.c (warn_about_parentheses): Add location_t parameter;
1684 use EXPR_LOC_OR_LOC.
1685 * c-common.h: Update declaration.
1686
41ed701a 16872012-10-09 Marc Glisse <marc.glisse@inria.fr>
1688
1689 PR c++/54427
1690 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1691 more operations. Make error messages optional.
1692 * c-common.h (enum stv_conv): Moved from c-typeck.c.
1693 (scalar_to_vector): Declare.
1694
3740094c 16952012-10-08 Jason Merrill <jason@redhat.com>
1696
1697 * c-common.c (c_common_reswords): Add thread_local.
1698
ffcdbf9c 16992012-10-08 Dodji Seketeli <dodji@redhat.com>
1700
1701 PR c++/53528 C++11 attribute support
1702 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1703 new functions.
1704 * c-common.c (check_cxx_fundamental_alignment_constraints): New
1705 static function.
1706 (handle_aligned_attribute): In choose strictest alignment
1707 among many. Use new check_cxx_fundamental_alignment_constraints.
1708 (handle_transparent_union_attribute): In c++11 attribute syntax,
1709 don't look through typedefs.
1710
ef34afc1 17112012-10-04 Arnaud Charlet <charlet@adacore.com>
1712
1713 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1714 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1715 out of dumpfile.h.
1716
f1ff4562 17172012-09-25 Dehao Chen <dehao@google.com>
1718
1719 PR middle-end/54645
ef34afc1 1720 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 1721 map when read in the pch.
1722
735538a1 17232012-09-18 Arnaud Charlet <charlet@adacore.com>
1724
1725 * c-ada-spec.c: Style fixes.
1726
9120cdc8 17272012-09-18 Thomas Quinot <quinot@adacore.com>
1728
1729 * c.opt (-fada-spec-parent): Define new command line switch.
1730 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1731 is specified, generate binding spec as a child of the specified unit.
1732
8eba82c2 17332012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
1734 Manuel López-Ibáñez <manu@gcc.gnu.org>
1735
1736 PR c++/53210
1737 * c.opt ([Winit-self]): Enabled by -Wall in C++.
1738
38682990 17392012-08-23 Arnaud Charlet <charlet@adacore.com>
1740
1741 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1742 for pointers, and add missing Convention C pragma.
1743 (print_ada_struct_decl): Add missing aliased keyword.
1744 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1745
f003f5dc 17462012-08-17 Jakub Jelinek <jakub@redhat.com>
1747
1748 * c-common.c (sizeof_pointer_memaccess_warning): New function.
1749 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1750 * c-opts.c (c_common_handle_option): Enable it for -Wall.
1751 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1752 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1753
ec11736b 17542012-08-10 Richard Guenther <rguenther@suse.de>
1755
1756 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1757
5f7f600e 17582012-08-07 Steven Bosscher <steven@gcc.gnu.org>
1759
1760 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1761 instead of separate pp_newline and pp_flush.
1762 (print_c_tree): Likewise.
1763
758a38ab 17642012-07-26 Richard Henderson <rth@redhat.com>
1765
1766 * c-common.c (handle_hot_attribute): Allow labels.
1767 (handle_cold_attribute): Likewise.
1768
9ca77b08 17692012-07-20 Jakub Jelinek <jakub@redhat.com>
1770
1771 PR c++/28656
1772 * c-common.c (check_function_nonnull): Handle multiple nonnull
1773 attributes properly.
1774
b9ed1410 17752012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1776
1777 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1778 * c-ada-spec.c: Likewise.
1779 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1780
c2a65b90 17812012-07-14 Steven Bosscher <steven@gcc.gnu.org>
1782
1783 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1784 Remove code conditional on it.
1785
88c5a1d1 17862012-07-11 Steven Bosscher <steven@gcc.gnu.org>
1787
1788 * c-gimplify.c: Do not include basic-block.h.
1789 * c-common.c: Do not include linfuncs.h.
1790
4a020a8c 17912012-07-08 Steven Bosscher <steven@gcc.gnu.org>
1792
1793 * c-common.h: Include tree.h.
1794
c28ddc97 17952012-07-02 Jason Merrill <jason@redhat.com>
1796
1797 PR c++/53524
1798 * c-common.c (get_priority): Call default_conversion.
1799
405ed67f 18002012-07-01 Uros Bizjak <ubizjak@gmail.com>
1801
1802 * c-pch.c (c_common_write_pch): Remove unused variables.
1803
e53d55e7 18042012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1805
1806 * cppspec.c: Moved from gcc/ to here.
1807
3d9c25ec 18082012-06-27 Kai Tietz <ktietz@redhat.com>
1809
1810 PR preprocessor/37215
1811 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1812
3169c57a 18132012-06-21 Steven Bosscher <steven@gcc.gnu.org>
1814
1815 * c-common.h (c_common_print_pch_checksum): Remove.
1816 * c-pch.c: Do not include output.h.
1817 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1818 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1819 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1820 (struct c_pch_header): Remove.
1821 (get_ident): Update gpch version.
1822 (pch_init): Do not print executable_checksum to asm_out_file.
1823 Do not fail if there is no asm_out_file to read back from. Set
1824 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1825 (c_common_write_pch): Verify that nothing was written to asm_out_file
1826 since pch_init was called. Do not write a c_pch_header, and do not
1827 copy from asm_out_file to the PCH.
1828 (c_common_read_pch): Do not read a c_pch_header, and do not restore
1829 the content of asm_out_file from the PCH.
1830 (c_common_print_pch_checksum): Remove.
1831 * c-opts.c (c_common_init): Print out executable_checksum directly.
1832
ff6624bc 18332012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1834
1835 * c-target.def (objc_declare_unresolved_class_reference,
1836 objc_declare_class_definition): Add new hooks.
1837
367b1459 18382012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1839
1840 * c-lex.c: Do not include output.h.
1841 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1842 Remove uses of ASM_OUTPUT_IDENT.
1843
bf0cb017 18442012-06-15 Marc Glisse <marc.glisse@inria.fr>
1845
1846 PR c++/51033
1847 * c-common.h (c_build_vec_perm_expr): Move decl here.
1848 * c-common.c (c_build_vec_perm_expr): Move definition
1849 here.
1850
b37a3600 18512012-06-06 Steven Bosscher <steven@gcc.gnu.org>
1852
1853 * c.opt (fconserve-space): Turn into a no-op.
1854
19931eea 18552012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 1856
1857 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1858 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1859 both the start and end of the function.
1860
dff12c10 18612012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1862
1863 * c-common.c: Do not include output.h.
1864 * c-pragma.c: Likewise.
1865
5f9e7dd5 18662012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1867
1868 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1869 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1870 (lang_decl_name): Handle namespace decls.
1871
b5369b7d 18722012-05-31 Steven Bosscher <steven@gcc.gnu.org>
1873
1874 * c-ada-spec.c: Do not include output.h.
1875 * c-semantics.c: Likewise.
1876
8032877c 18772012-05-29 Joseph Myers <joseph@codesourcery.com>
1878
1879 * c-common.c: Fix typo.
1880
7843e4bc 18812012-05-29 Michael Matz <matz@suse.de>
1882
1883 * c-common.h (c_expand_decl): Remove prototype.
1884
8cf857d4 18852012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1886
1887 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
1888 * c-opts.c (c_common_handle_option): Remove code handling
1889 warn_missing_braces.
1890
8b64dc3c 18912012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
1892
1893 PR c++/25137
1894 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
1895 -Wmissing_braces.
1896
43cbde16 18972012-05-22 Dodji Seketeli <dodji@redhat.com>
1898
1899 PR c++/53322
1900 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
1901
db490cb6 19022012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
1903
1904 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
1905 * c-opts.c (c_common_handle_option): Do not handle explicitly
1906 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
1907
a60f3e81 19082012-05-16 Dodji Seketeli <dodji@redhat.com>
1909
1910 PR preprocessor/7263
1911 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
1912 to cpp_classify_number. For diagnostics, use the precise location
1913 instead of the global input_location.
1914
82e6ef7c 19152012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
1916
cd4797ff 1917 PR c++/11856
82e6ef7c 1918 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
1919
258a168d 19202012-05-14 Bernd Schmidt <bernds@codesourcery.com>
1921
82e6ef7c 1922 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 1923
d3b7ee7c 19242012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
1925
1926 PR 53063
1927 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
1928 Wreorder): Use LangEnabledBy.
1929 * c-opts.c (c_common_handle_option): Do not enable them
1930 explicitly. Call lang-specific generated functions.
1931 (c_common_post_options): Do not set them here.
1932
70059cea 19332012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
1934
1935 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
1936 Wmissing-field-initializers,Wmissing-parameter-type,
1937 Wold-style-declaration,Woverride-init): Use EnabledBy.
1938 * c-opts.c (c_common_post_options): Do not set here explicitly.
1939
fbb6fbd8 19402012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
1941
1942 PR 53063
1943 * c-opts.c (c_common_handle_option): Use handle_generated_option
1944 to enable sub-options.
1945
61f69bc9 19462012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
1947
1948 PR c++/53158
1949 * c-common.c (warnings_for_convert_and_check): Use warning_at.
1950
5a1fe2db 19512012-05-10 Richard Guenther <rguenther@suse.de>
1952
1953 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
1954 adjust commentary about TYPE_IS_SIZETYPE types.
1955
d42e7c5a 19562012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
1957
1958 PR c++/53261
1959 * c-common.c (warn_logical_operator): Check that argument of
1960 integer_zerop is not NULL.
1961
686369e8 19622012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
1963
1964 PR c/43772
1965 * c-common.c (warn_logical_operator): Do not warn if either side
1966 is already true or false.
1967
03fe1dc2 19682012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1969
1970 PR c/51712
1971 * c-common.c (expr_original_type): New.
1972 (shorten_compare): Do not warn for enumeration types.
1973
bba5a206 19742012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
1975
1976 * c.opt (fpermissive): Add Var(flag_permissive).
1977
7059d45d 19782012-04-30 Marc Glisse <marc.glisse@inria.fr>
1979
1980 PR c++/51033
1981 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
1982 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
1983
7edb1062 19842012-04-30 Dodji Seketeli <dodji@redhat.com>
1985
1986 Add -Wvarargs option
1987 * c.opt (Wvarargs): Define new option.
1988
068bea1e 19892012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1990
1991 * c-common.c (check_function_arguments): Replace
1992 Wmissing-format-attribute with Wsuggest-attribute=format.
1993
b86527d8 19942012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
1995
1996 * c.opt (Wsuggest-attribute=format): New. Alias of
1997 Wmissing-format-attribute.
1998 * c-format.c (decode_format_type): Replace
1999 Wmissing-format-attribute with Wsuggest-attribute=format.
2000 (check_function_format): Likewise.
2001
19931eea 20022012-04-27 Ollie Wild <aaw@google.com>
76d340ac 2003
2004 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2005 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2006 * c.opt: Add Wliteral-suffix.
2007
29438999 20082012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2009
2010 PR c/44774
2011 * c.opt (Wpedantic): New.
2012 (pedantic): Alias Wpedantic.
2013 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2014 (c_common_post_options): Likewise.
2015 (sanitize_cpp_opts): Likewise.
2016 * c-lex.c (interpret_float): Likewise.
2017 * c-format.c (check_format_types): Likewise.
2018 * c-common.c (pointer_int_sum): Likewise.
2019 (c_sizeof_or_alignof_type): Likewise.
2020 (c_add_case_label): Likewise.
2021 (c_do_switch_warnings): Likewise.
2022 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2023
4f9d6b8b 20242012-04-15 Jason Merrill <jason@redhat.com>
2025
2026 PR c++/52818
2027 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2028 (C_STD_NAME): Distinguish between C++98 and C++11.
2029
74bdbe96 20302012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2031
2032 PR target/52624
2033 * c-common.h (uint16_type_node): Rename into...
2034 (c_uint16_type_node): ...this.
2035 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2036 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2037
3d177e8c 20382012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2039
2040 * c-common.c (warn_if_unused_value): Move definition to here.
2041 * c-common.h (warn_if_unused_value): Move declaration to here.
2042
6a9a958f 20432012-03-23 William Bader <williambader@hotmail.com>
2044
2045 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2046
543efdbe 20472012-03-20 Jason Merrill <jason@redhat.com>
2048
2049 * c-common.h (enum cxx_dialect): Add cxx1y.
2050 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2051 test.
2052 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2053 * c-opts.c (c_common_post_options): Likewise.
2054 (set_std_cxx1y): New.
2055 (c_common_handle_option): Call it.
2056 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2057
62206d34 20582012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2059
2060 PR c++/14710
2061 * c.opt ([Wuseless-cast]): Add.
2062
fadf62f4 20632012-03-16 Richard Guenther <rguenther@suse.de>
2064
2065 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2066
249faa35 20672012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2068
2069 PR c++/44783
2070 * c.opt (ftemplate-backtrace-limit) Add.
2071
126b6848 20722012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2073
2074 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2075 handling.
2076 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2077 (init_pragma): Don't register extern_prefix.
2078
a51edb4c 20792012-03-12 Richard Guenther <rguenther@suse.de>
2080
2081 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2082 (builtin_type_for_size): Likewise.
2083
0f6a7cb7 20842012-02-13 Jakub Jelinek <jakub@redhat.com>
2085
2086 PR c++/52215
2087 * c-common.c (sync_resolve_params): Don't decide whether to convert
2088 or not based on TYPE_SIZE comparison, convert whenever arg_type
2089 is unsigned INTEGER_TYPE.
2090
0779e32c 20912012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2092
2093 PR c/52118
2094 * c.opt ([Wunused-local-typedefs]): Fix description.
2095
baec58e1 20962012-01-24 Mike Stump <mikestump@comcast.net>
2097
2098 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2099 exactly.
2100
c779d8cc 21012012-01-18 Richard Guenther <rguenther@suse.de>
2102
2103 * c-opts.c (c_common_post_options): Reset LTO flags if
2104 we are about to generate a PCH.
2105
ee917d24 21062012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2107
2108 PR c++/51777
2109 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2110 use pp_unsigned_wide_integer.
2111
90e2341f 21122012-01-10 Richard Guenther <rguenther@suse.de>
2113
2114 PR middle-end/51806
2115 * c-opts.c (c_common_handle_option): Move -Werror handling
2116 to language independent code.
2117
9ea022ce 21182012-01-05 Richard Guenther <rguenther@suse.de>
2119
2120 PR middle-end/51764
2121 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2122 from common.opt.
2123
3df19e1b 21242011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2125
2126 PR c++/51316
2127 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2128 of array types with an unknown bound.
2129
32074525 21302011-12-20 Joseph Myers <joseph@codesourcery.com>
2131
2132 * c-common.c (flag_isoc99): Update comment to refer to C11.
2133 (flag_isoc1x): Change to flag_isoc11.
2134 * c-common.h (flag_isoc99): Update comment to refer to C11.
2135 (flag_isoc1x): Change to flag_isoc11.
2136 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2137 C11.
2138 * c-opts.c (set_std_c1x): Change to set_std_c11.
2139 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2140 Call set_std_c11.
2141 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2142 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2143 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2144 standard.
2145 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2146 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2147 (std=gnu1x): Make alias of std=gnu11.
2148
fca86134 21492011-12-19 Jason Merrill <jason@redhat.com>
2150
2151 PR c++/51228
2152 * c-common.c (handle_transparent_union_attribute): Check the first
2153 field if the type is complete.
2154
aa4313eb 21552011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2156
2157 PR libstdc++/51365
2158 * c-common.c (RID_IS_FINAL): Add.
2159 * c-common.h (RID_IS_FINAL): Add.
2160
3f3d5ad4 21612011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2162
2163 * c.opt (fgnu-runtime): Provide full description.
2164 (fnext-runtime): Likewise.
2165 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2166
c4606d19 21672011-11-28 Andrew MacLeod <amacleod@redhat.com>
2168
2169 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2170 predefines in one place. Add LOCK_FREE predefines.
2171 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2172 new func.
2173
1d581089 21742011-11-24 Andrew MacLeod <amacleod@redhat.com>
2175
2176 PR c/51256
19931eea 2177 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 2178 conditions
19931eea 2179 (resolve_overloaded_atomic_exchange,
2180 resolve_overloaded_atomic_compare_exchange,
1d581089 2181 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2182 error_mark_node for error conditions.
19931eea 2183
6aa221fa 21842011-11-08 Richard Guenther <rguenther@suse.de>
2185
2186 PR middle-end/51010
2187 c-family/
2188
4c0315d0 21892011-11-07 Richard Henderson <rth@redhat.com>
2190 Aldy Hernandez <aldyh@redhat.com>
2191 Torvald Riegel <triegel@redhat.com>
2192
2193 Merged from transactional-memory.
2194
2195 * c-common.c (handle_tm_wrap_attribute,
2196 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2197 (struct c_common_reswords): Added __transaction* keywords.
2198 (struct c_common_attribute_table): Added transaction* and tm_regparm
2199 attributes.
2200 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2201 masks.
2202 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2203 find_tm_attribute): Declare.
2204
920f5a70 22052011-11-07 Jason Merrill <jason@redhat.com>
2206
2207 PR c++/35688
2208 * c-common.c, c-common.h: Revert yesterday's changes.
2209
b4f861b4 22102011-11-06 Jason Merrill <jason@redhat.com>
2211
2212 PR c++/35688
2213 * c-common.c (decl_has_visibility_attr): Split out from...
2214 (c_determine_visibility): ...here.
2215 * c-common.h: Declare it.
2216
83e25171 22172011-11-06 Joseph Myers <joseph@codesourcery.com>
2218
2219 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2220 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2221 type.
2222 (check_user_alignment): New. Split out of
2223 handle_aligned_attribute. Disallow integer constants with
2224 noninteger types. Conditionally allow zero.
2225 (handle_aligned_attribute): Use check_user_alignment.
2226 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2227
1cd6e20d 22282011-11-06 Andrew MacLeod <amacleod@redhat.com>
2229 Richard Henderson <rth@redhat.com>
2230
2231 Merged from cxx-mem-model.
2232
2233 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 2234 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 2235 parameters that are the same type size.
2236 (get_atomic_generic_size): New. Find size of generic
2237 atomic function parameters and do typechecking.
2238 (add_atomic_size_parameter): New. Insert size into parameter list.
2239 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2240 either __atomic_exchange_n or external library call.
19931eea 2241 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 2242 __atomic_compare_exchange to either _n variant or external library call.
19931eea 2243 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 2244 __atomic_load_n or an external library call.
2245 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2246 __atomic_store_n or an external library call.
2247 (resolve_overloaded_builtin): Handle new __atomic builtins.
2248
7549df0d 22492011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2250
2251 PR c++/50608
2252 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2253 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2254 <INDIRECT_REF>: Return the argument.
2255 <ARRAY_REF>: Remove special code for negative offset.
2256 Call fold_build_pointer_plus instead of size_binop.
2257 (fold_offsetof): Remove STOP_REF argument and adjust.
2258 * c-common.h (fold_offsetof_1): Declare.
2259 (fold_offsetof): Remove STOP_REF argument.
2260
7e783eb3 22612011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2262
2263 PR c++/50810
2264 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2265 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2266 Wnarrowing for C++0x and C++98.
2267 * c.opt ([Wnarrowing]): Update.
2268
8fe701f5 22692011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2270
2271 PR c++/44277
2272 * c.opt: Add Wzero-as-null-pointer-constant.
2273
0d84dc2d 22742011-10-31 Jason Merrill <jason@redhat.com>
2275
67031f52 2276 * c.opt (-fdeduce-init-list): Off by default.
2277
0d84dc2d 2278 PR c++/50920
2279 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2280 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2281 and -Wc++11-compat.
2282 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2283
66f24c41 22842011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2285
2286 PR c++/30066
2287 * c.opt (fvisibility-inlines-hidden): Description change.
2288
244db24d 22892011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
2290
2291 Implement C++11 user-defined literals.
2292 * c-common.c (build_userdef_literal): New.
2293 * c-common.def: New tree code.
2294 * c-common.h (tree_userdef_literal): New tree struct and accessors.
2295 * c-lex.c (interpret_float): Add suffix parm.
2296 (c_lex_with_flags): Build literal tokens.
2297
235be70f 22982011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2299
2300 PR c++/50841
2301 Revert:
2302 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2303
2304 PR c++/50810
2305 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2306 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2307 Wnarrowing for C++0x and C++98.
2308 * c.opt ([Wnarrowing]): Update.
2309
4fe0fb1c 23102011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2311
2312 PR c++/50810
2313 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2314 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2315 Wnarrowing for C++0x and C++98.
2316 * c.opt ([Wnarrowing]): Update.
2317
5f7504f9 23182011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
2319
2320 PR c++/45385
2321 * c-common.c (conversion_warning): Remove code looking for
2322 artificial operands.
2323
2a688977 23242011-10-18 Dodji Seketeli <dodji@redhat.com>
2325
2326 PR bootstrap/50760
2327 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 2328 !NO_IMPLICIT_EXTERN_C.
2a688977 2329
326e3391 23302011-10-17 Michael Spertus <mike_spertus@symantec.com>
2331
2332 * c-common.c (c_common_reswords): Add __bases,
2333 __direct_bases.
2334 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2335
23362011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2337
2338 PR c++/50757
2339 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2340
62db153a 23412011-10-15 Tom Tromey <tromey@redhat.com>
2342 Dodji Seketeli <dodji@redhat.com>
2343
2344 * c.opt (fdebug-cpp): New option.
2345 * c-opts.c (c_common_handle_option): Handle the option.
2346 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2347 output stream in parameter. Factorized from ...
2348 (maybe_print_line): ... this. Dump location debug information when
2349 -fdebug-cpp is in effect.
2350 (print_line_1): New static function. Takes an output stream in
2351 parameter. Factorized from ...
2352 (print_line): ... here. Dump location information when -fdebug-cpp
2353 is in effect.
2354 (scan_translation_unit): Dump location information when
2355 -fdebug-cpp is in effect.
2356
ce70f433 23572011-10-15 Tom Tromey <tromey@redhat.com>
2358 Dodji Seketeli <dodji@redhat.com>
2359
2360 * c.opt (ftrack-macro-expansion): New option. Handle it with and
2361 without argument.
2362 * c-opts.c (c_common_handle_option)<case
2363 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2364 cases. Handle -ftrack-macro-expansion with and without argument.
2365
97bfb9ef 23662011-10-15 Tom Tromey <tromey@redhat.com>
2367 Dodji Seketeli <dodji@redhat.com>
2368
2369 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2370 (print_line, cb_define, do_line_change): Adjust to avoid touching
2371 the internals of struct line_map. Use the public API instead.
2372 * c-pch.c (c_common_read_pch): Likewise.
2373 * c-lex.c (fe_file_change): Likewise.
2374
326e3391 23752011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
2376
2377 PR c++/17212
2378 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2379
23802011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
2381
2382 PR c++/33067
2383 * c-pretty-print.c (pp_c_floating_constant): Output
2384 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2385
b9a16870 23862011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2387
2388 * c-common.c (def_builtin_1): Delete old interface with two
2389 parallel arrays to hold standard builtin declarations, and replace
2390 it with a function based interface that can support creating
2391 builtins on the fly in the future. Change all uses, and poison
2392 the old names. Make sure 0 is not a legitimate builtin index.
2393 * c-omp.c (c_finish_omp_barrier): Ditto.
2394 (c_finish_omp_taskwait): Ditto.
2395 (c_finish_omp_flush): Ditto.
2396
c7964868 23972011-10-11 Tristan Gingold <gingold@adacore.com>
2398
2399 * c.opt: (fallow-parameterless-variadic-functions): New.
2400
a4e3ffad 24012011-09-08 Dodji Seketeli <dodji@redhat.com>
2402
2403 PR c++/33255 - Support -Wunused-local-typedefs warning
2404 * c-common.h (struct c_language_function::local_typedefs): New
2405 field.
19931eea 2406 (record_locally_defined_typedef, maybe_record_typedef_use)
2407 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 2408 * c-common.c (record_locally_defined_typedef)
19931eea 2409 (maybe_record_typedef_use)
2410 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 2411 * c.opt: Declare new -Wunused-local-typedefs flag.
2412
737a23cc 24132011-09-06 Eric Botcazou <ebotcazou@adacore.com>
2414
2415 PR middle-end/50266
2416 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2417 computations.
2418
7542c3b4 24192011-09-05 Richard Guenther <rguenther@suse.de>
2420
2421 * c-common.c (complete_array_type): Use ssize_int (-1) instead
2422 of integer_minus_one_node for empty array upper bounds.
2423
1dc92c59 24242011-08-28 Dodji Seketeli <dodji@redhat.com>
2425
2426 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2427 it's the first time it's being called on this main TU.
2428
2bdf2b6e 24292011-08-24 Richard Guenther <rguenther@suse.de>
2430
2431 PR c/49396
2432 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2433
24342011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 2435
2436 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2437 defined in cpp_init_builtins and c_cpp_builtins.
2438
bff4ad11 24392011-08-19 Joseph Myers <joseph@codesourcery.com>
2440
2441 * c-common.c (c_common_reswords): Add __builtin_complex.
2442 * c-common.h (RID_BUILTIN_COMPLEX): New.
2443
985c6e3a 24442011-08-18 Joseph Myers <joseph@codesourcery.com>
2445
2446 * c-common.c (c_common_reswords): Add _Noreturn.
2447 (keyword_is_function_specifier): Handle RID_NORETURN.
2448 * c-common.h (RID_NORETURN): New.
2449
7dfa155b 24502011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2451
2452 * c-common.c (unsafe_conversion_p): New function. Check if it is
2453 unsafe to convert an expression to the type.
2454 (conversion_warning): Adjust, use unsafe_conversion_p.
2455 * c-common.h (unsafe_conversion_p): New function declaration.
2456
2169f33b 24572011-08-02 Jakub Jelinek <jakub@redhat.com>
2458
2459 * c-common.h (c_finish_omp_atomic): Adjust prototype.
2460 (c_finish_omp_taskyield): New prototype.
2461 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2462 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2463 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
2464 or RHS1 have side-effects, evaluate those too in the right spot,
2465 if it is a decl and LHS is also a decl, error out if they
2466 aren't the same.
2467 (c_finish_omp_taskyield): New function.
2468 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2469 * c-pragma.c (omp_pragmas): Add taskyield.
2470 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2471 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2472 PRAGMA_OMP_CLAUSE_MERGEABLE.
2473
ab77850e 24742011-07-25 Dodji Seketeli <dodji@redhat.com>
2475
2476 * c-common.h (set_underlying_type): Remove parm name from
2477 declaration.
2478
6ee97920 24792011-07-25 Romain Geissler <romain.geissler@gmail.com>
2480
2481 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 2482
dc251364 24832011-07-22 Jason Merrill <jason@redhat.com>
2484
1a2a35f0 2485 PR c++/49793
2486 * c.opt (Wnarrowing): New.
2487
27282252 2488 PR c++/30112
2489 * c-common.h: Declare c_linkage_bindings.
2490 * c-pragma.c (handle_pragma_redefine_extname): Use it.
2491
dc251364 2492 PR c++/49813
2493 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2494 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2495 as flag_isoc99 for 'restrict'.
2496 (pp_c_specifier_qualifier_list): Likewise for _Complex.
2497
fc501191 24982011-07-21 Ian Lance Taylor <iant@google.com>
2499
2500 PR middle-end/49705
2501 * c-common.c (c_disable_warnings): New static function.
2502 (c_enable_warnings): New static function.
2503 (c_fully_fold_internal): Change local unused_p to bool. Call
2504 c_disable_warnings and c_enable_warnings rather than change
2505 c_inhibit_evaluation_warnings.
2506
07b8f133 25072011-07-20 Jason Merrill <jason@redhat.com>
2508
2509 PR c++/6709 (DR 743)
2510 PR c++/42603 (DR 950)
2511 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2512 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2513 (CPP_DECLTYPE): New.
2514 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2515
2cc66f2a 25162011-07-19 Richard Guenther <rguenther@suse.de>
2517
2518 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2519 * c-omp.c (c_finish_omp_for): Likewise.
2520
3c802a1e 25212011-07-12 Eric Botcazou <ebotcazou@adacore.com>
2522
2523 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2524 body on the next line.
2525
98a33d9f 25262011-07-08 Jason Merrill <jason@redhat.com>
2527
3115bda0 2528 PR c++/45437
2529 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2530
98a33d9f 2531 PR c++/49673
2532 * c-common.c (c_apply_type_quals_to_decl): Don't check
2533 TYPE_NEEDS_CONSTRUCTING.
2534
c38a75b7 25352011-07-06 Richard Guenther <rguenther@suse.de>
2536
2537 * c-common.c (c_common_nodes_and_builtins):
2538 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2539
e593356b 25402011-07-05 Richard Guenther <rguenther@suse.de>
2541
2542 * c-common.c (c_common_nodes_and_builtins): Build all common
2543 tree nodes first.
2544
fca0886c 25452011-06-27 Jakub Jelinek <jakub@redhat.com>
2546
a68f7a8d 2547 * c-common.h (c_tree_chain_next): New static inline function.
2548
fca0886c 2549 * c-common.c (check_builtin_function_arguments): Handle
2550 BUILT_IN_ASSUME_ALIGNED.
2551
2797f13a 25522011-06-21 Andrew MacLeod <amacleod@redhat.com>
2553
2554 * c-common.c: Add sync_ or SYNC__ to builtin names.
2555 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 2556
25572011-06-20 Pierre Vittet <piervit@pvittet.com>
2558
2559 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2560 handler.
2561 (gen_pragma_handler): New union.
2562 (internal_pragma_handler): New type.
2563 (c_register_pragma_with_data)
2564 (c_register_pragma_with_expansion_and_data): New functions.
2565
2566 * c-pragma.c (registered_pragmas, c_register_pragma_1)
2567 (c_register_pragma, c_register_pragma_with_expansion)
2568 (c_invoke_pragma_handler): Changed to work with
2569 internal_pragma_handler.
2570 (c_register_pragma_with_data)
2571 (c_register_pragma_with_expansion_and_data): New functions.
2572
218e3e4e 25732011-06-14 Joseph Myers <joseph@codesourcery.com>
2574
2575 * c-common.c: Include common/common-target.h.
2576 (handle_section_attribute): Use
2577 targetm_common.have_named_sections.
2578 * c-cppbuiltin.c: Include common/common-target.h.
2579 (c_cpp_builtins): Use targetm_common.except_unwind_info.
2580
41e53ed2 25812011-06-10 Richard Guenther <rguenther@suse.de>
2582
2583 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2584 to print a IDENTIFIER_NODE.
2585
a6f06169 25862011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2587 Joseph Myers <joseph@codesourcery.com>
2588
2589 * c.opt (fbuilding-libgcc): New option.
2590 * c-cppbuiltin.c (c_cpp_builtins): Define
2591 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2592
1ea9269b 25932011-06-07 Jason Merrill <jason@redhat.com>
2594
8ce59854 2595 * c-common.c (max_tinst_depth): Lower default to 900.
2596
1ea9269b 2597 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2598
1af0124d 25992011-06-07 Richard Guenther <rguenther@suse.de>
2600
2601 * c-common.c (c_common_nodes_and_builtins): Do not set
2602 size_type_node or call set_sizetype.
2603
0e9a4c01 26042011-06-07 Dodji Seketeli <dodji@redhat.com>
2605
2606 PR debug/49130
2607 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 2608 type when using pointer comparison to compare types.
0e9a4c01 2609
90b40725 26102011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
2611
2612 * c.opt: Add -Wdelete-non-virtual-dtor.
2613 * c-opts.c (c_common_handle_option): Include it in -Wall.
2614
fc9c9e87 26152011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
2616
2617 PR bootstrap/49190
2618
2619 Revert:
2620 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2621
2622 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2623 not tree_common.
2624
d0389adc 26252011-05-27 Jakub Jelinek <jakub@redhat.com>
2626
2627 PR c++/49165
2628 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2629 C++ don't call c_common_truthvalue_conversion on void type arms.
2630
cacfdc02 26312011-05-27 Nathan Froyd <froydnj@codesourcery.com>
2632
2633 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2634 (stmt_list_stack): Define.
2635 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2636 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2637
027fc6ef 26382011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2639
2640 * c-common.c (warning_candidate_p): Check for BLOCKs.
2641
f21317a1 26422011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2643
2644 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2645 not tree_common.
2646
789e953d 26472011-05-25 Jakub Jelinek <jakub@redhat.com>
2648
2649 * c-common.c (def_fn_type): Remove extra va_end.
2650
7f506bca 26512011-05-23 Jason Merrill <jason@redhat.com>
2652
2653 PR c++/48106
2654 * c-common.c (c_common_get_narrower): New.
2655 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2656
774e9d58 26572011-05-23 Nathan Froyd <froydnj@codesourcery.com>
2658
2659 * c-common.h (check_function_arguments): Tweak prototype of
2660 check_function_arguments.
2661 * c-common.c (check_function_arguments): Likewise. Adjust
2662 calls to check_function_nonnull, check_function_format, and
2663 check_function_sentinel.
2664 (check_function_sentinel): Take a FUNCTION_TYPE rather than
2665 separate attributes and typelist arguments. Use
2666 FOREACH_FUNCTION_ARGS to iterate over argument types.
2667
23407dc9 26682011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2669
2670 * c-common.c (c_common_reswords): Reorder.
2671 * c-common.h (rid): Likewise.
2672
3a939d12 26732011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2674
2675 * c-common.c (def_fn_type): Don't call build_function_type, call
2676 build_function_type_array or build_varargs_function_type_array
2677 instead.
2678 (c_common_nodes_and_builtins): Likewise.
2679
b6e3dd65 26802011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2681
2682 * c-common.c (c_add_case_label): Omit the loc argument to
2683 build_case_label.
2684 * c-common.h (build_case_label): Remove.
2685 * c-semantics.c (build_case_label): Remove.
2686
4232a958 26872011-05-05 Joseph Myers <joseph@codesourcery.com>
2688
2689 * c-objc.h (objc_start_method_definition): Update prototype.
2690 * stub-objc.c (objc_start_method_definition): Add extra parameter.
2691
d0af78c5 26922011-05-04 Nathan Froyd <froydnj@codesourcery.com>
2693
2694 * c-common.c (check_main_parameter_types): Reindent. Don't use
2695 TYPE_ARG_TYPES directly.
2696 (handle_nonnull_attribute): Likewise.
2697 (sync_resolve_params): Likewise.
2698 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
2699 to check_format_string.
2700 (handle_format_attribute): Likewise.
2701 (check_format_string): Take a function type to examine instead of
2702 a type list. Use a function_arg_iterator to step through argument
2703 types.
2704
ceb7b692 27052011-05-04 Richard Guenther <rguenther@suse.de>
2706
2707 * c-common.c (fix_string_type): Use size_int for index type bounds.
2708 (start_fname_decls): Do not pass NULL to build_int_cst.
2709 (c_init_attributes): Likewise.
2710 * c-lex.c (c_lex_with_flags): Likewise.
2711
c66c81be 27122011-04-27 Jason Merrill <jason@redhat.com>
2713
2714 * c-common.c (make_tree_vector_from_list): New.
2715 * c-common.h: Declare it.
2716
16930c72 27172011-04-26 Richard Guenther <rguenther@suse.de>
2718
2719 PR preprocessor/48248
2720 * c-ppoutput.c (maybe_print_line): Always optimize newlines
2721 for output size with -P.
2722
23407dc9 27232011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2724
2725 * c-common.c (struct c_common_resword): Add __underlying_type.
2726 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2727
dd045aee 27282011-04-20 Jim Meyering <meyering@redhat.com>
2729
2730 * c-format.c (init_dollar_format_checking): Remove useless
2731 if-before-free.
2732
394dd737 27332011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
2734
2735 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 2736 (objc_detect_field_duplicates): New.
394dd737 2737 * stub-objc.c: Likewise.
23407dc9 2738
a758bf7d 27392011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2740
2741 * stub-objc.c (objc_declare_protocols): Renamed to
2742 objc_declare_protocol.
2743 * c-objc.h: Likewise.
23407dc9 2744
29d7200d 27452011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2746
2747 * stub-objc.c (objc_declare_class): Updated argument name.
2748
9b88d08d 27492011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2750
2751 * c-common.h (c_common_init_ts): Declare.
2752 * c-common.c (c_common_init_ts): Define.
2753
4185cf58 27542011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
2755
2756 * c-objc.h (objc_build_message_expr): Updated prototype.
2757 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 2758
5a90471f 27592011-04-12 Martin Jambor <mjambor@suse.cz>
2760
2761 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2762 of cgraph_node.
2763
783bb57e 27642011-04-11 Richard Guenther <rguenther@suse.de>
2765
2766 * c-common.c (complete_array_type): Build a range type of
2767 proper type.
2768
c33080b9 27692011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2770
2771 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2772 (handle_type_generic_attribute): Likewise.
2773
f8913d47 27742011-04-07 Jason Merrill <jason@redhat.com>
2775
2776 PR c++/48450
2777 * c-common.c (c_common_truthvalue_conversion): Don't ignore
2778 conversion from C++0x scoped enum.
2779
c94b1d0e 27802011-04-06 Joseph Myers <joseph@codesourcery.com>
2781
2782 * c-target-def.h: New file.
2783 * c-target.def: New file.
2784 * c-target.h: New file.
2785 * c-common.c (targetcm): Don't define here.
2786 * c-common.h (default_handle_c_option): Declare.
2787 * c-format.c: Include c-target.h instead of target.h.
2788 * c-opts.c: Include c-target.h instead of target.h. Explicitly
2789 include tm.h.
2790 (default_handle_c_option): Move from targhooks.c.
2791
acb10f41 27922011-03-29 Jakub Jelinek <jakub@redhat.com>
2793
2794 PR preprocessor/48248
2795 * c-ppoutput.c (print): Add src_file field.
2796 (init_pp_output): Initialize it.
2797 (maybe_print_line): Don't optimize by adding up to 8 newlines
2798 if map->to_file and print.src_file are different file.
2799 (print_line): Update print.src_file.
2800
82715bcd 28012011-03-25 Kai Tietz <ktietz@redhat.com>
2802
2803 * c-ada-spec.c (compare_comment): Use filename_cmp
2804 instead of strcmp for filename.
2805
451c8e2f 28062011-03-25 Jeff Law <law@redhat.com>
2807
2808 * c-family/c-common.c (def_fn_type): Add missing va_end.
2809
3c47771c 28102011-03-25 Jason Merrill <jason@redhat.com>
2811
2812 * c.opt: Add -std=c++03.
2813
97e6200f 28142011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2815
2816 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2817
ac86af5d 28182011-03-17 Kai Tietz
2819
2820 PR target/12171
ee212425 2821 * c-pretty-print.c (pp_c_specifier_qualifier_list):
2822 Display allowed attributes for function pointer types.
2823 (pp_c_attributes_display): New function to display
2824 attributes having affects_type_identity flag set to true.
2825 * c-pretty-print.h (pp_c_attributes_display): New prototype.
2826
ac86af5d 2827 * c-common.c (c_common_attribute_table):
2828 Add new element.
2829 (c_common_format_attribute_table): Likewise.
2830
914d1151 28312011-03-18 Jason Merrill <jason@redhat.com>
2832
69788bdf 2833 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2834 * c-common.h: Don't declare it here.
2835 * c-common.c: Or define it here.
2836 * c-opts.c (c_common_handle_option): Or set it here.
2837
914d1151 2838 PR c++/35315
2839 * c-common.c (handle_transparent_union_attribute): Don't
2840 make a duplicate type in C++.
2841
54cf6eed 28422011-03-15 Jason Merrill <jason@redhat.com>
2843
2844 * c-common.c (max_constexpr_depth): New.
2845 * c-common.h: Declare it.
2846 * c-opts.c (c_common_handle_option): Set it.
2847 * c.opt (fconstexpr-depth): New option.
2848
02cb1060 28492011-03-11 Jason Merrill <jason@redhat.com>
2850
9bf1c74e 2851 * c-common.c (attribute_takes_identifier_p): Add missing const.
2852
02cb1060 2853 PR c++/46803
2854 * c-common.c (attribute_takes_identifier_p): Assume that an
2855 unknown attribute takes an identifier.
2856
ecf2703d 28572011-03-07 Nathan Froyd <froydnj@codesourcery.com>
2858
2859 PR c/47786
2860 * c-common.c (c_type_hash): Call list_length instead of iterating
2861 through DECL_CHAIN. Rename 'i' to 'n_elements'.
2862
2b19dfe4 28632011-02-19 Jakub Jelinek <jakub@redhat.com>
2864
2865 PR c/47809
2866 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2867
29cf2335 28682011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2869
2870 * c.opt (fobjc-abi-version=) New.
2871 (fobjc-nilcheck): New.
2872
fad3f658 28732011-02-03 Nathan Froyd <froydnj@codesourcery.com>
2874
2875 PR c++/46890
2876 * c-common.h (keyword_is_decl_specifier): Declare.
2877 * c-common.c (keyword_is_decl_specifier): Define.
2878 (keyword_is_function_specifier): New function.
2879
a12319b3 28802011-01-26 Jakub Jelinek <jakub@redhat.com>
2881
2882 PR c/47473
2883 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
2884 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
2885 REAL_TYPE.
2886
5c128dc8 28872011-01-26 Arnaud Charlet <charlet@adacore.com>
2888
2889 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2890
8d67b0c7 28912011-01-26 Jakub Jelinek <jakub@redhat.com>
2892
2893 PR pch/47430
2894 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
2895 after init_c_lex if pch_file is set.
2896
0675168d 28972011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
2898
e8911163 2899 PR c++/43601
0675168d 2900 * c.opt (-fkeep-inline-dllexport): New switch.
2901
0725e25c 29022011-01-12 Richard Guenther <rguenther@suse.de>
2903
2904 PR middle-end/32511
2905 * c-common.c (handle_weak_attribute): Warn instead of error
2906 on declaring an inline function weak.
2907
fdd84b77 29082011-01-05 Tom Tromey <tromey@redhat.com>
2909
2910 * c-common.h (lvalue_error): Update.
2911 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
2912 not error.
2913
e6e73d14 29142010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 2915
d67e8485 2916 PR objc/47075
2917 * c-objc.h (objc_finish_message_expr): Added argument to
2918 prototype.
2919
a36cf284 29202010-12-22 Nathan Froyd <froydnj@codesourcery.com>
2921
2922 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
2923 Use prototype_p.
2924
33b3681f 29252010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
2926
2927 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 2928 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 2929
a1f90215 29302010-12-10 Nathan Froyd <froydnj@codesourcery.com>
2931
2932 * c-common.h (readonly_error): Declare.
2933 * c-common.c (readonly_error): Define.
2934
b1bbc8e5 29352010-12-09 Nathan Froyd <froydnj@codesourcery.com>
2936
2937 * c-common.h (invalid_indirection_error): Declare.
2938 * c-common.c (invalid_indirection_error): Define.
2939
b0d55af9 29402010-12-03 Richard Guenther <rguenther@suse.de>
2941
2942 PR c/46745
2943 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
2944 (pp_c_unary_expression): Likewise.
2945 (pp_c_expression): Likewise.
2946
d7489d8d 29472010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
2948
2949 * c-common.h (objc_finish_function): New.
2950 (objc_non_volatilized_type): Removed.
2951 (objc_type_quals_match): Removed.
2952 * stub-objc.c (objc_finish_function): New.
2953 (objc_non_volatilized_type): Removed.
2954 (objc_type_quals_match): Removed.
19931eea 2955
92468061 29562010-11-30 Joseph Myers <joseph@codesourcery.com>
2957
2958 * c-common.h (parse_optimize_options): Declare.
2959 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
2960 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
2961
967958e4 29622010-11-29 Joseph Myers <joseph@codesourcery.com>
2963
2964 * c-opts.c (check_deps_environment_vars): Use getenv instead of
2965 GET_ENVIRONMENT.
2966 * c-pch.c (O_BINARY): Don't define here.
2967 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
2968
b213bf24 29692010-11-25 Joseph Myers <joseph@codesourcery.com>
2970
2971 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
2972 targetm.except_unwind_info.
2973
9faf44d6 29742010-11-23 Joseph Myers <joseph@codesourcery.com>
2975
2976 * c-opts.c (c_common_handle_option): Pass location to
2977 set_struct_debug_option.
2978
79396169 29792010-11-23 Joseph Myers <joseph@codesourcery.com>
2980
2981 * c-common.c (visibility_options): Move from ../opts.c.
2982 * c-common.h (struct visibility_flags, visibility_options):
2983 Declare here.
2984 * c-opts.c (finish_options): Rename to c_finish_options.
2985 (c_common_init): Update call to finish_options.
2986
b4aa4123 29872010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
2988
2989 PR objc/34033
2990 * c-lex.c (lex_string): Check that each string in an Objective-C
2991 string concat sequence starts with either one or zero '@', and
2992 that there are no spurious '@' signs at the end.
2993
3e0e49f2 29942010-11-20 Joseph Myers <joseph@codesourcery.com>
2995
2996 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
2997 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
2998 HANDLE_PRAGMA_VISIBILITY.
2999 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3000 HANDLE_PRAGMA_VISIBILITY): Don't define.
3001 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3002
a9ffdd35 30032010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3004
3005 PR c++/16189
3006 PR c++/36888
3007 PR c++/45331
3008 * c-common.h (keyword_begins_type_specifier): Declare.
3009 (keyword_is_storage_class_specifier): Declare.
3010 (keyword_is_type_qualifier): Declare.
3011 * c-common.c (keyword_begins_type_specifier): New function.
3012 (keyword_is_storage_class_specifier): New function.
3013 (keyword_is_type_qualifier): Declare.
3014
93be21c0 30152010-11-19 Joseph Myers <joseph@codesourcery.com>
3016
3017 PR c/46547
3018 * c-common.c (in_late_binary_op): Define.
3019 (c_common_truthvalue_conversion): Check in_late_binary_op before
3020 calling c_save_expr.
3021 * c-common.h (in_late_binary_op): Declare.
3022
d7175aef 30232010-11-19 Joseph Myers <joseph@codesourcery.com>
3024
3025 * c-opts.c (c_common_handle_option): Update calls to
3026 set_struct_debug_option.
3027
c213e196 30282010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3029
3030 * c-common.h (objc_declare_protocols): Added additional argument.
3031 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 3032
0b5fc5d6 30332010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3034
3035 PR c/33193
3036 * c-common.h (build_real_imag_expr): Declare.
3037 * c-semantics.c (build_real_imag_expr): Define.
3038
b8ba44e7 30392010-11-17 Joseph Myers <joseph@codesourcery.com>
3040
3041 * c-opts.c (c_common_parse_file): Take no arguments.
3042 * c-common.h (c_common_parse_file): Update prototype.
3043
6ef8d12f 30442010-11-16 Jakub Jelinek <jakub@redhat.com>
3045
3046 PR c++/46401
3047 * c-common.c (warning_candidate_p): Don't track non-const calls
3048 or STRING_CSTs.
3049
929d2a90 30502010-11-15 Ian Lance Taylor <iant@google.com>
3051
3052 * c-lex.c (init_c_lex): Set macro debug callbacks if
3053 flag_dump_go_spec is set.
3054
e4a7640a 30552010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3056
3057 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3058 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3059
597d2d81 30602010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3061
3062 PR preprocessor/45038
3063 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3064 dialects.
3065
c123f04d 30662010-11-12 Joseph Myers <joseph@codesourcery.com>
3067
3068 * c-common.h (c_family_lang_mask): Declare.
3069 * c-opts.c (c_family_lang_mask): Make extern.
3070 * c-pragma.c (handle_pragma_diagnostic): Use
3071 control_warning_option.
3072
3c6c0e40 30732010-11-12 Joseph Myers <joseph@codesourcery.com>
3074
3075 * c-common.c (parse_optimize_options): Update call to
3076 decode_options.
3077 * c-common.h (c_common_handle_option): Update prototype.
3078 * c-opts.c (c_common_handle_option): Take location_t parameter and
3079 pass it to other functions.
3080
19ec5c9e 30812010-11-11 Joseph Myers <joseph@codesourcery.com>
3082
3083 * c-opts.c (warning_as_error_callback): Remove.
3084 (c_common_initialize_diagnostics): Don't call
3085 register_warning_as_error_callback.
3086 (c_common_handle_option): Handle -Werror=normalized= here.
3087
bf776685 30882010-11-10 Joseph Myers <joseph@codesourcery.com>
3089
3090 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3091 in diagnostic.
3092 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3093 letter.
3094 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3095 Remove trailing '.' from diagnostics.
3096 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3097
6bd9d862 30982010-11-10 Joseph Myers <joseph@codesourcery.com>
3099
3100 * c-common.c (parse_optimize_options): Pass global_dc to
3101 decode_options.
3102 * c-opts.c (c_common_handle_option): Pass &global_options to
3103 set_Wstrict_aliasing.
3104 * c.opt (v): Don't mark Common or document here.
3105
1f6616ee 31062010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3107
3108 PR target/44981
3109 * c-format.c (format_type): New type gcc_objc_string_format_type.
3110 (valid_stringptr_type_p): New.
3111 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 3112 (check_format_string): Pass expected type, use
1f6616ee 3113 valid_stringptr_type_p (), check that the format string types are
3114 consistent with the format specification.
3115 (decode_format_attr): Warn if NSString is used outside objective-c.
3116 (format_types_orig): Add NSString.
3117 (format_name): New.
3118 (format_flags): New.
3119 (check_format_arg): Handle format strings requiring an external parser.
3120 first_target_format_type: New variable.
3121 (handle_format_attribute): Set up first_target_format_type, pass the
3122 expected format arg string type to check_format_string().
3123 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3124 * stub-objc.c (objc_string_ref_type_p): New.
3125 (objc_check_format_arg): New.
3126
b0d0931f 31272010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3128
19931eea 3129 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 3130 * c-common.h (objc_build_class_component_ref): New.
3131 * stub-objc.c (objc_build_class_component_ref): New.
3132
f26877d5 31332010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3134
3135 * c.opt (Wproperty-assign-default): New option.
3136
1ef143b6 31372010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3138
3139 Implemented -fobjc-std=objc1 flag.
3140 * c.opt (fobjc-std=objc1): New option.
3141
8c582e4f 31422010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3143
3144 Implemented format and noreturn attributes for Objective-C methods.
3145 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3146 attribute for Objective-C methods.
3147
8637f1db 31482010-10-31 Jason Merrill <jason@redhat.com>
3149
3150 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3151 EXPR_LOC_OR_HERE.
3152
9d9f5bb3 31532010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3154
3155 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3156 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3157 (objc_add_property_declaration): Removed arguments for copies and
3158 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.
3163 * c-common.c (c_common_reswords): Removed copies and ivar.
3164 * stub-objc.c (objc_add_property_declaration): Removed arguments
3165 for copies and ivar.
3166 (objc_build_getter_call): Renamed to
3167 objc_maybe_build_component_ref.
3168 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3169 (objc_is_property_ref): New.
19931eea 3170
56f907a0 31712010-10-29 Arnaud Charlet <charlet@adacore.com>
3172 Matthew Gingell <gingell@adacore.com>
3173
3174 * c-ada-spec.c (separate_class_package): New function.
3175 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3176 name of their enclosing package.
3177 (print_ada_declaration): Use separate_class_package.
3178
b5fa273e 31792010-10-27 Jason Merrill <jason@redhat.com>
3180
5290e253 3181 * c-common.c (c_common_reswords): Add __is_literal_type.
3182 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3183
b5fa273e 3184 * c-common.c (check_case_value): Remove special C++ code.
3185
7590f0e5 31862010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3187
3188 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3189 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3190 and RID_LAST_PATTR.
3191 (objc_add_property_declaration): Added additional arguments.
3192 (objc_property_attribute_kind): Removed.
3193 (objc_set_property_attr): Removed.
3194 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3195 copy and nonatomic.
3196 * stub-objc.c (objc_add_property_declaration): Added additional
3197 arguments.
3198 (objc_set_property_attr): Removed.
19931eea 3199
1d894bcf 32002010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3201
3202 * c-common.h (objc_add_property_variable): Renamed to
3203 objc_add_property_declaration. Added location argument.
3204 * stub-objc.c (objc_add_property_variable): Same change.
3205
e23bf1fb 32062010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3207
3208 * c-common.h (objc_maybe_printable_name): New.
3209 * stub-objc.c (objc_maybe_printable_name): New.
3210
93426222 32112010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3212 Andrew Pinski <pinskia@gmail.com>
3213
3214 * c-common.h (c_common_mark_addressable_vec): Declare.
3215 * c-common.c (c_common_mark_addressable_vec): New function.
3216
45b2b110 32172010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3218
3219 * c-common.h (objc_set_method_type): Removed.
3220 (objc_add_method_declaration): Added boolean argument.
3221 (objc_start_method_definition): Same change.
3222 (objc_build_method_signature): Same change.
3223 * stub-objc.c (objc_set_method_type): Removed.
3224 (objc_add_method_declaration): Added boolean argument.
3225 (objc_start_method_definition): Same change.
3226 (objc_build_method_signature): Same change.
3227
64cd9619 32282010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3229
3230 * c-common.h (finish_file): Removed.
3231 (objc_write_global_declarations): New.
3232 * c-opts.c (c_common_parse_file): Do not call finish_file.
3233 * stub-objc.c (objc_write_global_declarations): New.
19931eea 3234
e1f293c0 32352010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3236
3237 Implemented parsing @synthesize and @dynamic for
3238 Objective-C/Objective-C++.
3239 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3240 (objc_add_synthesize_declaration): New.
3241 (objc_add_dynamic_declaration): New.
3242 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3243 * stub-objc.c (objc_add_synthesize_declaration): New.
3244 (objc_add_dynamic_declaration): New.
19931eea 3245
ef97a312 32462010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3247
3248 PR target/46041
3249 * c-cppbuiltin.c (mode_has_fma): Move function here from
3250 builtins.c. Don't use the fma optab, instead just use the
3251 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3252 using -save-temps.
3253
69b07042 32542010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3255
3256 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 3257
69b07042 3258 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3259
19931eea 3260 Radar 4330422
69b07042 3261 * c-common.h (objc_non_volatilized_type): New declaration
3262 * stub-objc.c (objc_non_volatilized_type): New stub.
3263
f15f2e56 32642010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3265
69b07042 3266 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 3267
3268 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3269
19931eea 3270 Radar 4133425
f15f2e56 3271 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 3272 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 3273
4a8875ed 32742010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3275
3276 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3277 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3278 (objc_ivar_visibility_kind): New enum.
3279 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 3280 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 3281 visibility enum.
3282
7e0713b1 32832010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3284
3285 * c-cppbuiltin.c (builtin_define_float_constants): Emit
3286 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3287 has the appropriate fma builtins.
3288 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3289
86c110ac 32902010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3291
7e0713b1 3292 merge from FSF apple 'trunk' branch.
86c110ac 3293 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 3294
86c110ac 3295 Radars 4436866, 4505126, 4506903, 4517826
3296 * c-common.c (c_common_resword): Define @property and its attributes.
3297 * c-common.h: Define property attribute enum entries.
3298 (OBJC_IS_PATTR_KEYWORD): New.
3299 (objc_property_attribute_kind): New enum.
3300 Declare objc_set_property_attr (), objc_add_property_variable (),
3301 objc_build_getter_call () and objc_build_setter_call ().
3302 * stub-objc.c (objc_set_property_attr): New stub.
3303 (objc_add_property_variable): Likewise.
3304 (objc_build_getter_call): Likewise.
3305 (objc_build_setter_call) Likewise.
7e0713b1 3306
40c8d1dd 33072010-10-13 Iain Sandoe <iains@gcc.gnu.org>
3308
7e0713b1 3309 merge from FSF apple 'trunk' branch.
40c8d1dd 3310 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3311
3312 Radar 3803157 (method attributes)
3313 * c-common.c (handle_deprecated_attribute): Recognize
3314 objc methods as valid declarations.
3315 * c-common.h: Declare objc_method_decl ().
7e0713b1 3316 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 3317
f3f006ad 33182010-10-08 Joseph Myers <joseph@codesourcery.com>
3319
3320 * c-common.c (parse_optimize_options): Call
3321 decode_cmdline_options_to_array_default_mask before
3322 decode_options. Update arguments to decode_options.
3323 * c-common.h (c_common_init_options_struct): Declare.
3324 * c-opts.c (c_common_init_options_struct): New. Split out from
3325 c_common_init_options.
3326
0a65c3bb 33272010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
3328
3329 Implemented fast enumeration for Objective-C.
3330 * c-common.h (objc_finish_foreach_loop): New.
3331 * stub-objc.c (objc_finish_foreach_loop): New.
3332
24ca3b4e 33332010-10-05 Joseph Myers <joseph@codesourcery.com>
3334
3335 * c-common.h (struct diagnostic_context): Don't declare here.
3336 (c_common_initialize_diagnostics): Declare using
3337 diagnostic_context typedef.
3338 * c-opts.c (c_common_handle_option): Pass global_dc to
3339 handle_generated_option.
3340
f83b64ca 33412010-10-04 Joseph Myers <joseph@codesourcery.com>
3342
3343 * c-opts.c (c_common_handle_option): Pass &global_options_set to
3344 handle_generated_option.
3345
2fdec027 33462010-10-03 Ian Lance Taylor <iant@google.com>
3347
3348 * c.opt (-fplan9-extensions): New option.
3349
41acdfa4 33502010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3351
3352 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3353 Remove.
3354 (c_cpp_builtins): Call functions from cppbuiltin.c instead
3355 of duplicating code.
3356
069761fb 33572010-09-30 Iain Sandoe <iains@gcc.gnu.org>
3358
3359 * c-common.c: Add two new entries for @optional
3360 and @required keywords.
3361
3362 merge from FSF 'apple/trunk' branch.
3363 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
3364
3365 Radar 4386773
3366 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3367 objective-c keywords.
3368 (objc_set_method_opt): New declaration.
3369 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 3370
2c5d2e39 33712010-09-30 Joseph Myers <joseph@codesourcery.com>
3372
3373 * c-common.c (handle_optimize_attribute): Pass &global_options to
3374 cl_optimization_save and cl_optimization_restore.
3375 * c-opts.c (c_common_handle_option): Pass &global_options to
3376 handle_generated_option.
3377 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3378 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3379 &global_options to cl_optimization_restore.
3380
e5c75ac3 33812010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
3382
3383 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3384 Objective-C/Objective-C++ keywords.
3385
3511333e 33862010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 3387
19931eea 3388 Merge from 'apple/trunk' branch on FSF servers.
3389
e147d6aa 3390 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
3391
3392 Radar 4281748
3393 * c-common.h (objc_check_global_decl): New declaration.
3394 * stub-objc.c (objc_check_global_decl): New stub.
3395
5461e683 33962010-09-29 Joseph Myers <joseph@codesourcery.com>
3397
3398 * c.opt: Don't use VarExists.
3399
5ae82d58 34002010-09-29 Joseph Myers <joseph@codesourcery.com>
3401
3402 * c-common.c (c_cpp_error): Update names of diagnostic_context
3403 members.
3404 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3405 cl_optimization members.
3406 * c-opts.c (warning_as_error_callback, c_common_handle_option,
3407 sanitize_cpp_opts, finish_options): Update names of cpp_options
3408 members.
3409
b27e241e 34102010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3411
3412 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
3413 (objc_is_reserved_word): Removed.
3414 * c-common.c: Updated comments.
3415 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3416 objc_is_reserved_word.
3417 * stub-objc.c (objc_is_reserved_word): Removed.
3418
03fc2271 34192010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3420
19931eea 3421 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 3422 include attributes.
3423 (objc_start_method_definition): Likewise.
3424 (objc_build_keyword_decl): Likewise.
3425 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3426 (objc_start_method_definition): Likewise.
3427 (objc_build_keyword_decl): Likewise.
3428
a336eb4b 34292010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3430
3431 * c-common.h (objc_start_class_interface): Adjust prototype.
3432 (objc_start_category_interface): Likewise.
3433 (objc_start_protocol): Likewise.
3434 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3435 (objc_start_class_interface): Likewise.
3436 (objc_start_category_interface): Likewise.
3437
48b14f50 34382010-09-27 Ian Lance Taylor <iant@google.com>
3439
3440 * c-common.c (c_common_attribute_table): Add no_split_stack.
3441 (handle_no_split_stack_attribute): New static function.
3442
4abfc532 34432010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3444
19931eea 3445 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 3446
3447 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3448
19931eea 3449 Radar 4229905
4abfc532 3450 * c-common.h (objc_have_common_type): New declaration.
3451 * stub-objc.c (objc_have_common_type): New stub.
3452
3453 2005-06-22 Ziemowit Laski <zlaski@apple.com>
3454
3455 Radar 4154928
3456 * c-common.h (objc_common_type): New prototype.
19931eea 3457 * stub-objc.c (objc_common_type): New stub.
4abfc532 3458
7bd95dfd 34592010-09-24 Jan Hubicka <jh@suse.cz>
3460
3461 * c-common.c (handle_leaf_attribute): New function.
3462 (struct attribute_spec c_common_att): Add leaf.
3463
5789e05b 34642010-09-22 Joseph Myers <joseph@codesourcery.com>
3465
3466 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3467 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3468 -dump, -dump=, -imacros, -imacros=, -include, -include=,
3469 -include-barrier, -include-directory, -include-directory=,
3470 -include-directory-after, -include-directory-after=,
3471 -include-prefix, -include-prefix=, -include-with-prefix,
3472 -include-with-prefix=, -include-with-prefix-after,
3473 -include-with-prefix-after=, -include-with-prefix-before,
3474 -include-with-prefix-before=, -no-integrated-cpp,
3475 -no-line-commands, -no-standard-includes, -no-warnings, -output,
3476 -output=, -pedantic, -pedantic-errors, -preprocess,
3477 -print-missing-file-dependencies, -trace-includes, -traditional,
3478 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3479 -user-dependencies, -verbose, -write-dependencies,
3480 -write-user-dependencies, no-integrated-cpp, traditional): New.
3481
e6fb54ba 34822010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3483
3484 PR objc/23710
9b60f3b0 3485 * c-common.h (objc_start_method_definition): Return bool instead
3486 of void.
3487 * stub-objc.c (objc_start_method_definition): Return bool instead
3488 of void.
3489
34902010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3491
3492 PR objc/25965
3493 * c-common.h (objc_get_interface_ivars): New declaration.
3494 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 3495
e44b0a1f 34962010-09-15 Ian Lance Taylor <iant@google.com>
3497
3498 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 3499 messages. Remove period at end of warning message.
e44b0a1f 3500
85c0a25c 35012010-09-09 Nathan Sidwell <nathan@codesourcery.com>
3502
3503 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3504 (handle_alias_attribute): ... here.
3505 (handle_ifunc_attribute): New.
3506
5ba33bf4 35072010-09-06 Mark Mitchell <mark@codesourcery.com>
3508
3509 * c-common.h (do_warn_double_promotion): Declare.
3510 * c-common.c (do_warn_double_promotion): Define.
3511
c920faa3 35122010-09-05 Mark Mitchell <mark@codesourcery.com>
3513
3514 * c.opt (Wdouble-promotion): New.
3515
9604e070 35162010-09-02 Joseph Myers <joseph@codesourcery.com>
3517
3518 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3519 fvtable-thunks, fxref): Mark no longer supported in help text.
3520
3b0273a1 35212010-09-02 Joseph Myers <joseph@codesourcery.com>
3522
3523 * c.opt (Wimport, fall-virtual, falt-external-templates,
3524 fdefault-inline, fenum-int-equiv, fexternal-templates,
3525 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3526 fname-mangling-version-, fnew-abi, fnonnull-objects,
3527 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3528 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3529 applicable.
3530 (fhandle-exceptions): Mark with Alias and Warn.
3531 * c-opts.c (c_common_handle_option): Don't handle options marked
3532 as ignored.
3533
67089c6b 35342010-09-02 Joseph Myers <joseph@codesourcery.com>
3535
3536 * c.opt (Wcomments, Werror-implicit-function-declaration,
3537 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3538 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3539 aliases.
3540 * c-common.c (option_codes): Use OPT_Wcomment instead of
3541 OPT_Wcomments.
3542 * c-opts.c (warning_as_error_callback, c_common_handle_option):
3543 Don't handle options marked as aliases.
3544
2af087f2 35452010-08-25 Richard Guenther <rguenther@suse.de>
3546
3547 * c-common.c (c_common_get_alias_set): Remove special
3548 handling for pointers.
3549
48148244 35502010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3551
3552 * c-common.c: Use FOR_EACH_VEC_ELT.
3553 * c-gimplify.c: Likewise.
3554 * c-pragma.c: Likewise.
3555
89c69892 35562010-08-16 Joseph Myers <joseph@codesourcery.com>
3557
3558 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
3559 RejectDriver.
3560 (MMDX): Change back to MMD. Mark NoDriverArg instead of
3561 RejectDriver.
3562 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3563 instead of OPT_MDX and OPT_MMDX.
3564
e28aa114 35652010-08-16 Joseph Myers <joseph@codesourcery.com>
3566
3567 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3568
99b66d21 35692010-08-12 Joseph Myers <joseph@codesourcery.com>
3570
3571 * c.opt (MD, MMD): Change to MDX and MMDX.
3572 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3573
666f4bf0 35742010-08-11 Joseph Myers <joseph@codesourcery.com>
3575
3576 * c-opts.c (c_common_handle_option): Call handle_generated_option
3577 instead of handle_option.
3578
5ec815f6 35792010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3580
3581 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3582 (maybe_apply_renaming_pragma): Delete unneeded declarations.
3583
d13143cf 35842010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3585
3586 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
3587 (pending_redefine_extname): Change type to a VEC.
3588 (add_to_renaming_pragma_list): Update for new type of
3589 pending_redefine_extname.
5ec815f6 3590 (maybe_apply_renaming_pragma): Likewise.
d13143cf 3591
2008c983 35922010-08-04 Arnaud Charlet <charlet@adacore.com>
3593
3594 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3595 visited.
3596 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3597 decide whether a type has already been declared/seen.
3598 Do not go to the original type.
3599 (dump_nested_types): New parameter forward.
3600 Generate forward declaration if needed and mark type as visited.
3601 (print_ada_declaration): Call dump_nested_types if not already done.
3602 Mark types as visited.
3603
9b091a73 36042010-08-03 Joseph Myers <joseph@codesourcery.com>
3605
3606 * c.opt (-print-pch-checksum): Remove option.
3607 * c-opts.c (c_common_handle_option): Don't handle
3608 OPT_print_pch_checksum.
3609
b78351e5 36102010-07-27 Joseph Myers <joseph@codesourcery.com>
3611
3612 * c-common.h (c_common_handle_option): Update prototype and return
3613 value type.
3614 * c-opts.c (c_common_handle_option): Update prototype and return
3615 value type. Update calls to handle_option and
3616 enable_warning_as_error.
3617
34416a90 36182010-07-27 Jakub Jelinek <jakub@redhat.com>
3619
3620 PR c/45079
3621 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3622
fecf9011 36232010-07-27 Joseph Myers <joseph@codesourcery.com>
3624
3625 * c-common.h (c_common_missing_argument): Remove.
3626 * c-opts.c (c_common_missing_argument): Remove.
3627 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3628 idirafter, imacros, include, isysroot, isystem, iquote): Add
3629 MissingArgError.
3630 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3631
e88d34f6 36322010-07-27 Joseph Myers <joseph@codesourcery.com>
3633
3634 * c-common.h (c_common_option_lang_mask,
3635 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3636 New.
3637 (c_common_init_options): Update prototype.
3638 * c-opts.c (c_common_option_lang_mask): New.
3639 (c_common_initialize_diagnostics): Split out of
3640 c_common_init_options.
3641 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3642 New.
3643 (c_common_init_options): Update prototype. Use decoded options in
3644 search for -lang-asm.
3645
1767a056 36462010-07-15 Nathan Froyd <froydnj@codesourcery.com>
3647
3648 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3649 * c-format.c: Likewise.
3650
0b205f4c 36512010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3652
3653 * c-common.h: Include diagnostic-core.h. Error if already
3654 included.
3655 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3656
1c58e3f1 36572010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3658
3659 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3660 Do not include expr.h
3661 (vector_mode_valid_p): Move here.
3662
33cc157c 36632010-06-21 DJ Delorie <dj@redhat.com>
3664
3665 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3666 allow these pragmas anywhere.
3667
36682010-06-14 Jakub Jelinek <jakub@redhat.com>
3669
3670 PR bootstrap/44509
3671 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3672 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3673 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3674 ggc_strdup instead of xstrdup.
3675
36762010-06-10 Jakub Jelinek <jakub@redhat.com>
3677
3678 * c-cppbuiltin.c: Include cpp-id-data.h.
3679 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3680 (lazy_hex_fp_value): New function.
3681 (builtin_define_with_hex_fp_value): Provide definitions lazily.
3682
9b40bfbf 36832010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3684
3685 * c-gimplify.c: Do not include tree-flow.h
3686
202d6e5f 36872010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
3688
3689 PR other/44034
3690 * c-common.c: Rename targetm member:
3691 targetm.enum_va_list -> targetm.enum_va_list_p
3692
d3237426 36932010-06-28 Anatoly Sokolov <aesok@post.ru>
3694
3695 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3696
596981c8 36972010-06-28 Steven Bosscher <steven@gcc.gnu.org>
3698
3699 * c-cppbuiltin.c: Do not include except.h.
3700
b9bdfa0b 37012010-06-24 Andi Kleen <ak@linux.intel.com>
3702
19931eea 3703 * c-common.c (warn_for_omitted_condop): New.
3704 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 3705
55ad092d 37062010-06-21 Joseph Myers <joseph@codesourcery.com>
3707
3708 * c.opt (lang-objc): Remove.
3709 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3710
9e7c2572 37112010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
3712
3713 * c-opts.c: Include "tm_p.h".
3714
615ef0bb 37152010-06-20 Joseph Myers <joseph@codesourcery.com>
3716
3717 * c-common.c (parse_optimize_options): Update call to
3718 decode_options.
3719
aef48c9a 37202010-06-18 Nathan Froyd <froydnj@codesourcery.com>
3721
3722 * c-common.c (record_types_used_by_current_var_decl): Adjust for
3723 new type of types_used_by_cur_var_decl.
3724
d74003b4 37252010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
3726
3727 PR bootstrap/44512
3728 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3729 for C++ standard compliance.
3730
1194d077 37312010-06-16 Jason Merrill <jason@redhat.com>
3732
3733 * c.opt: Add -Wnoexcept.
3734
d473d901 37352010-06-16 Richard Guenther <rguenther@suse.de>
3736
3737 PR c/44555
3738 * c-common.c (c_common_truthvalue_conversion): Remove
3739 premature and wrong optimization concering ADDR_EXPRs.
3740
b62dbfd3 37412010-06-15 Arnaud Charlet <charlet@adacore.com>
3742
3743 * c-ada-spec.c (dump_sloc): Remove column info.
3744 (is_simple_enum): New function.
3745 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3746 enum types when relevant.
3747
200dd99c 37482010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3749
19931eea 3750 * c-common.c (conversion_warning): Warn at expression
200dd99c 3751 location.
3752
abf6a617 37532010-06-10 Joseph Myers <joseph@codesourcery.com>
3754
3755 * c-opts.c (c_common_handle_option): Don't handle
3756 OPT_fshow_column.
3757
ba72912a 37582010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3759
3760 * c-pragma.c (push_alignment): Use typed GC allocation.
3761 (handle_pragma_push_options): Likewise.
3762
3763 * c-common.c (parse_optimize_options): Likewise.
3764
3765 * c-common.h (struct sorted_fields_type): Add variable_size GTY
3766 option.
3767
4aafe913 37682010-06-07 Joseph Myers <joseph@codesourcery.com>
3769
3770 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3771 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3772 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3773 flag_signed_bitfields, warn_strict_null_sentinel,
3774 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3775 flag_gen_declaration, flag_no_gnu_keywords,
3776 flag_implement_inlines, flag_implicit_templates,
3777 flag_implicit_inline_templates, flag_optional_diags,
3778 flag_elide_constructors, flag_default_inline, flag_rtti,
3779 flag_conserve_space, flag_access_control, flag_check_new,
3780 flag_new_for_scope, flag_weak, flag_working_directory,
3781 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3782 flag_enforce_eh_specs, flag_threadsafe_statics,
3783 flag_pretty_templates): Remove.
3784 * c-common.h (flag_preprocess_only, flag_nil_receivers,
3785 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3786 flag_replace_objc_classes, flag_undef, flag_no_builtin,
3787 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3788 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3789 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3790 flag_no_gnu_keywords, flag_implement_inlines,
3791 flag_implicit_templates, flag_implicit_inline_templates,
3792 flag_optional_diags, flag_elide_constructors, flag_default_inline,
3793 flag_rtti, flag_conserve_space, flag_access_control,
3794 flag_check_new, flag_new_for_scope, flag_weak,
3795 flag_working_directory, flag_use_cxa_atexit,
3796 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3797 flag_threadsafe_statics, flag_pretty_templates,
3798 warn_strict_null_sentinel): Remove.
3799 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3800 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3801 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3802 fimplicit-inline-templates, fimplicit-templates,
3803 flax-vector-conversions, fms-extensions, fnil-receivers,
3804 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3805 frtti, fshort-double, fshort-enums, fshort-wchar,
3806 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3807 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3808 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3809 gen-decls, undef): Use Var.
3810 (fdefault-inline, foptional-diags): Document as doing nothing.
3811 * c-opts.c (c_common_handle_option): Remove cases for options now
3812 using Var. Mark ignored options as such.
3813
7bedc3a0 38142010-06-05 Steven Bosscher <steven@gcc.gnu.org>
3815
19931eea 3816 * c-common.c: Moved to here from parent directory.
7bedc3a0 3817 * c-common.def: Likewise.
3818 * c-common.h: Likewise.
3819 * c-cppbuiltin.c: Likewise.
3820 * c-dump.c: Likewise.
3821 * c-format.c: Likewise.
3822 * c-format.h : Likewise.
3823 * c-gimplify.c: Likewise.
3824 * c-lex.c: Likewise.
3825 * c-omp.c: Likewise.
3826 * c.opt: Likewise.
3827 * c-opts.c: Likewise.
3828 * c-pch.c: Likewise.
3829 * c-ppoutput.c: Likewise.
3830 * c-pragma.c: Likewise.
3831 * c-pragma.h: Likewise.
3832 * c-pretty-print.c: Likewise.
3833 * c-pretty-print.h: Likewise.
3834 * c-semantics.c: Likewise.
3835 * stub-objc.c: Likewise.
3836
3837 * c-common.c: Include gt-c-family-c-common.h.
3838 * c-pragma.c: Include gt-c-family-c-pragma.h.
3839\f
3aea1f79 3840Copyright (C) 2010-2014 Free Software Foundation, Inc.
7bedc3a0 3841
3842Copying and distribution of this file, with or without modification,
3843are permitted in any medium without royalty provided the copyright
3844notice and this notice are preserved.