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