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