]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Don't run cproj-fails-with-broken-glibc for broken glibc
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
f22a2cb7 12014-07-31 Marc Glisse <marc.glisse@inria.fr>
2
3 PR c++/60517
4 * c.opt (-Wreturn-local-addr): Move to common.opt.
5
87b0198f 62014-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
74691f46 132014-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
9140d56f 202014-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
a09c5cc2 252014-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
2b25b62f 412014-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
305d96bc 462014-07-14 Jakub Jelinek <jakub@redhat.com>
47
48 PR middle-end/61294
49 * c.opt (Wmemset-transposed-args): New warning.
50
8ea4660d 512014-07-10 Jason Merrill <jason@redhat.com>
52
53 PR c++/61659
54 PR c++/61687
55 * c.opt (-fuse-all-virtuals): New.
56
cd480f3d 572014-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
87d59e72 642014-07-06 Marek Polacek <polacek@redhat.com>
65
66 PR c/6940
67 * c.opt (Wsizeof-array-argument): New option.
68
d69521d8 692014-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
1207866e 742014-07-01 Marek Polacek <polacek@redhat.com>
75
76 * c.opt (Wint-conversion): New option.
77
7a6bbb76 782014-07-01 Marek Polacek <polacek@redhat.com>
79
80 PR c/58286
81 * c.opt (Wincompatible-pointer-types): New option.
82
9d4eeb52 832014-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
4b53bc0f 892014-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
a8a8d4ea 952014-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
1f6be080 1032014-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
5ef6b660 1102014-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
1272014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 128
129 PR lto/61123
130 * c.opt (fshort-enums): Add to LTO.
131 * c.opt (fshort-wchar): Likewise.
132
78438f31 1332014-06-16 Marek Polacek <polacek@redhat.com>
134
135 PR c/60439
136 * c.opt (Wswitch-bool): Add Var.
137
5fddcf34 1382014-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
74b777e5 1452014-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
738a6bda 1532014-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
cf5f881f 1582014-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
32dc1512 1642014-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
f61a9bc2 1712014-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
c69ec07d 1782014-06-03 Marek Polacek <polacek@redhat.com>
179
180 PR c/60439
181 * c.opt (Wswitch-bool): New option.
182
3c77ca67 1832014-05-22 Thomas Schwinge <thomas@codesourcery.com>
184
68a2c870 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
3c77ca67 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
3ab4693e 1942014-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
25a27413 2062014-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
3e5a8b00 2122014-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
c2c4ae8d 2242014-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
2026249a 2312014-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
33c8dcfe 2372014-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
960d5a55 2432014-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
bbb88b31 2692014-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
022d4718 2752014-05-02 Marek Polacek <polacek@redhat.com>
276
277 * c.opt (Wsizeof-pointer-memaccess): Describe option.
278
e4ab2ef3 2792014-05-01 Marek Polacek <polacek@redhat.com>
280
281 PR c/43245
282 * c.opt (Wdiscarded-qualifiers): Add.
283
52cc0072 2842014-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
4a026b48 2892014-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
90e645fa 2972014-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
db103ea4 3022014-04-24 Mike Stump <mikestump@comcast.net>
303
304 * c.opt (Wshadow-ivar): Default to on.
305
06511efd 3062014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
307
308 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
309
cdf34fca 3102014-04-23 Marek Polacek <polacek@redhat.com>
311
312 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
313
7311d7c1 3142014-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
c1917557 3232014-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
b2ca6510 3292014-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
855372a3 3362014-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
4012a986 3422014-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
0d284870 3482014-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
a34c1231 3542014-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
a35a8e18 3602014-04-03 Nathan Sidwell <nathan@codesourcery.com>
361
362 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
363
b23e42b6 3642014-04-02 Marek Polacek <polacek@redhat.com>
365
366 * c-common.h (c_expand_expr): Remove declaration.
367
5a672e62 3682014-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
d4d068c0 3742014-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
446bdf5f 3802014-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
8895f0a3 3862014-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
7a5da2cd 3982014-03-11 Jason Merrill <jason@redhat.com>
399
400 * c.opt: Add -std=gnu++14.
401
95093889 4022014-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
c9a24b37 4072014-03-08 Paulo Matos <paulo@matos-sorge.com>
408
409 * c.opt: Enable LTO FE for fshort-double.
410
3f6dba6e 4112014-03-07 Jason Merrill <jason@redhat.com>
412
413 * c.opt: Add -std=c++14.
414
3bfdc94f 4152014-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
8b3a6a4c 4232014-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
734ec290 4292014-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
81aec8b8 4362014-02-19 Jakub Jelinek <jakub@redhat.com>
437
d1081017 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
81aec8b8 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
312243bb 4472014-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
237e78b1 4552014-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
76fdceeb 4652014-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
4a4dea42 4712014-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
ec704957 4772014-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
caf62483 4832014-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
ec761d5a 4922014-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
22a75734 5002014-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
a89e6c15 5152014-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
2623625f 5222014-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
46da3601 5282014-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
c9743c6a 5342014-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
5412014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 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
1248c663 5482014-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
6e5c480b 5572014-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
3aea1f79 5632014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
564
565 Update copyright years
566
e4f22041 5672014-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
7fb0fe24 5722013-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
468088ac 5782013-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
74acc703 5852013-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
433e804e 5982013-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
5bcc7e60 6112013-12-11 Bernd Schmidt <bernds@codesourcery.com>
612
e66325ea 613 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
614
5bcc7e60 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
0b26ec77 6192013-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
a179a7dc 6252013-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
137559b2 6332013-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
648fd348 6392013-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
253e1cae 6452013-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
3e398f5b 6522013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
653
654 * c.opt (Wopenmp-simd): New.
655
020bc656 6562013-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
bc61cadb 6612013-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
3df42822 6672013-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
8c53c46c 6812013-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
5200ef07 6922013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
693
694 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
695
ca9d7d74 6962013-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
0391a567 7112013-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
19b928d9 7162013-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
aa59f000 7232013-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
08f817b3 7282013-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
6a0712d4 7352013-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
fcb97e84 7402013-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
cd4547bf 7452013-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
35ec552a 7502013-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
f2697631 7552013-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
0aa8c34e 7702013-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
e795d6e1 7752013-11-14 Andrew MacLeod <amacleod@redhat.com>
776
777 * c-common.c: Likewise.
778 * c-gimplify.c: Likewise.
779 * cilk.c: Likewise.
780
9ed99284 7812013-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
4fba5eb9 8042013-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
a8783bee 8102013-11-12 Andrew MacLeod <amacleod@redhat.com>
811
e795d6e1 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.
a8783bee 817
d184e0c0 8182013-11-12 Joseph Myers <joseph@codesourcery.com>
819
820 * c-common.c (c_common_reswords): Add _Thread_local.
821
a056826c 8222013-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
b560fabd 8302013-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
5b1a0622 8422013-11-06 Tobias Burnus <burnus@net-b.de>
843
844 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
845
4f8f4cb8 8462013-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
9148bda3 8532013-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
08c5f4d5 8582013-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
c630ef93 8632013-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
7354a89b 8712013-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
4c866b9b 8762013-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
e2a6a333 8822013-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
2c4c3477 9152013-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
452659af 9212013-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
4d6f7dd4 9322013-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
06cfe805 9382013-10-30 Jakub Jelinek <jakub@redhat.com>
939
940 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
941
d037099f 9422013-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
02774f2d 9592013-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
31fe10fd 9692013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
970
971 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
972
b1c06ff9 9732013-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
48a972c8 9782013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 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
546a04b1 9842013-10-23 Jason Merrill <jason@redhat.com>
985
986 * c-format.c (gcc_cxxdiag_char_table): Add %X.
987
bc7bff74 9882013-10-11 Jakub Jelinek <jakub@redhat.com>
989
d62c713e 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
bc7bff74 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
d7dcba40 10442013-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
0b7282f1 10502013-10-03 Marc Glisse <marc.glisse@inria.fr>
1051
1052 PR c++/19476
1053 * c.opt (fcheck-new): Move to common.opt.
1054
51f553af 10552013-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
05f893e1 10642013-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
236ce1d1 10712013-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
f9f68d35 10772013-09-13 Jacek Caban <jacek@codeweavers.com>
1078
1079 * c-target.def: New hook
1080
ba2f764e 10812013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1082
1083 PR c++/43452
1084 * c.opt (Wdelete-incomplete): Add.
1085
73437615 10862013-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
95af4c75 10942013-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
eaab24b9 11052013-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
9e46467d 11462013-08-30 Marek Polacek <polacek@redhat.com>
1147
1148 * c-ubsan.c: New file.
1149 * c-ubsan.h: New file.
1150
36a8d9b9 11512013-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
30635c2e 11892013-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
027d08ed 12152013-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
f873303a 12262013-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
08e3e481 12382013-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
1fc4a87f 12472013-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
a6cb161b 12582013-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
eed6bc21 12702013-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
df558d2e 12792013-08-09 Arnaud Charlet <charlet@adacore.com>
1280
1281 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1282
42f9a786 12832013-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
f874ddad 12892013-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
a94db6b0 12942013-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
1898176c 13202013-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
70d60d1d 13262013-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
dda4f0ec 13352013-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
7aa04c8d 13492013-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
a04e8d62 13542013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1355
1356 * c-common.c: Fix typos.
1357 * c-common.h: Likewise.
1358
a96c3cc1 13592013-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
da31536d 13652013-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
839f2f70 13702013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1371
1372 PR c++/57869
1373 * c.opt: Add Wconditionally-supported.
1374
73f353d0 13752013-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
21ebaa24 13802013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 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
68ea4406 13862013-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
60777f69 13932013-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
839f2f70 13992013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 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
e9331eab 14072013-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.
60777f69 1415
a9c99fc4 14162013-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
f2526cce 14232013-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
09970d67 14302013-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.
839f2f70 1452
3c6d4197 14532013-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
8e71dad2 14742013-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
432dd330 14792013-05-10 Marc Glisse <marc.glisse@inria.fr>
1480
1481 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1482 vectors.
1483
b156ec37 14842013-05-07 Han Shen <shenhan@google.com>
1485
1486 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1487
1a087624 14882013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1489
1490 * c-common.c (check_user_alignment): Emit error for negative values.
1491
1638c736 14922013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1493
1494 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1495
949dbf93 14962013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1497
1498 * c-cppbuiltin.c (c_cpp_builtins): Do not define
1499 __GXX_EXPERIMENTAL_CXX1Y__.
1500
9205a6cc 15012013-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
05d0bce1 15092013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1510
1511 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1512
41609f8b 15132013-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
c671dc4f 15192013-04-07 Steven Bosscher <steven@gcc.gnu.org>
1520
1521 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1522
ba125576 15232013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1524
1525 * c-common.c (pointer_int_sum): Remove dead code.
1526
9d3fa937 15272013-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
5ceebb21 15332013-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
18eeed2b 15382013-03-04 Jakub Jelinek <jakub@redhat.com>
1539
1540 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1541
a9196da9 15422013-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
15c27dda 15522013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 1553
1554 PR target/52555
1555 * c-common.c (handle_optimize_attribute): Call
1556 save_optabs_if_changed.
1557
19426fe1 15582013-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
df936998 15662013-02-05 Jakub Jelinek <jakub@redhat.com>
1567
1568 PR middle-end/56167
1569 * c-common.c (handle_error_attribute): Fix condition.
1570
ae0c3984 15712013-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
1c4973d7 15762013-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
7c834436 15822013-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
5abaa10a 15902012-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
324ca377 15962012-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
b4c4a429 16092012-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
d413ffdd 16162012-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
52bc861d 16232012-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
2dd00636 16292012-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
d4701f6c 16352012-11-09 Jason Merrill <jason@redhat.com>
1636
1637 * c.opt (Wabi-tag): New.
1638
72d65da9 16392012-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
77a357e3 16452012-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
45efa6b9 16682012-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
0e4e775a 16862012-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
8b447d3f 16912012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1692
1693 PR c++/54930
1694 * c.opt (Wreturn_local_addr): Define new option.
1695
f4a61754 16962012-10-25 Jason Merrill <jason@redhat.com>
1697
ecb10e6a 1698 * c.opt (Wvirtual-move-assign): New.
1699
f4a61754 1700 * c.opt (Winherited-variadic-ctor): New.
1701
7b463b19 17022012-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
6adc88f8 17072012-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
fa816b0b 17202012-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
d214ccee 17332012-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
77b27208 17402012-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
cc02ca4d 17492012-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
57f872a2 17562012-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
7354ad2e 17672012-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
1ac7f120 17722012-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
1e0cc9e3 17772012-10-10 Arnaud Charlet <charlet@adacore.com>
1778
1ac7f120 1779 PR ada/54845
1e0cc9e3 1780 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1781
b0e7825e 17822012-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
41ed701a 17892012-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
3740094c 17972012-10-08 Jason Merrill <jason@redhat.com>
1798
1799 * c-common.c (c_common_reswords): Add thread_local.
1800
ffcdbf9c 18012012-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
ef34afc1 18132012-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
f1ff4562 18192012-09-25 Dehao Chen <dehao@google.com>
1820
1821 PR middle-end/54645
ef34afc1 1822 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 1823 map when read in the pch.
1824
735538a1 18252012-09-18 Arnaud Charlet <charlet@adacore.com>
1826
1827 * c-ada-spec.c: Style fixes.
1828
9120cdc8 18292012-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
8eba82c2 18352012-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
38682990 18412012-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
f003f5dc 18482012-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
ec11736b 18562012-08-10 Richard Guenther <rguenther@suse.de>
1857
1858 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1859
5f7f600e 18602012-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
758a38ab 18662012-07-26 Richard Henderson <rth@redhat.com>
1867
1868 * c-common.c (handle_hot_attribute): Allow labels.
1869 (handle_cold_attribute): Likewise.
1870
9ca77b08 18712012-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
b9ed1410 18772012-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
c2a65b90 18832012-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
88c5a1d1 18882012-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
4a020a8c 18932012-07-08 Steven Bosscher <steven@gcc.gnu.org>
1894
1895 * c-common.h: Include tree.h.
1896
c28ddc97 18972012-07-02 Jason Merrill <jason@redhat.com>
1898
1899 PR c++/53524
1900 * c-common.c (get_priority): Call default_conversion.
1901
405ed67f 19022012-07-01 Uros Bizjak <ubizjak@gmail.com>
1903
1904 * c-pch.c (c_common_write_pch): Remove unused variables.
1905
e53d55e7 19062012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1907
1908 * cppspec.c: Moved from gcc/ to here.
1909
3d9c25ec 19102012-06-27 Kai Tietz <ktietz@redhat.com>
1911
1912 PR preprocessor/37215
1913 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1914
3169c57a 19152012-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
ff6624bc 19352012-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
367b1459 19402012-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
bf0cb017 19462012-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
b37a3600 19532012-06-06 Steven Bosscher <steven@gcc.gnu.org>
1954
1955 * c.opt (fconserve-space): Turn into a no-op.
1956
19931eea 19572012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 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
dff12c10 19632012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1964
1965 * c-common.c: Do not include output.h.
1966 * c-pragma.c: Likewise.
1967
5f9e7dd5 19682012-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
b5369b7d 19742012-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
8032877c 19792012-05-29 Joseph Myers <joseph@codesourcery.com>
1980
1981 * c-common.c: Fix typo.
1982
7843e4bc 19832012-05-29 Michael Matz <matz@suse.de>
1984
1985 * c-common.h (c_expand_decl): Remove prototype.
1986
8cf857d4 19872012-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
8b64dc3c 19932012-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
43cbde16 19992012-05-22 Dodji Seketeli <dodji@redhat.com>
2000
2001 PR c++/53322
2002 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2003
db490cb6 20042012-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
a60f3e81 20102012-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
82e6ef7c 20172012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2018
cd4797ff 2019 PR c++/11856
82e6ef7c 2020 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2021
258a168d 20222012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2023
82e6ef7c 2024 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2025
d3b7ee7c 20262012-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
70059cea 20352012-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
fbb6fbd8 20422012-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
61f69bc9 20482012-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
5a1fe2db 20532012-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
d42e7c5a 20582012-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
686369e8 20642012-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
03fe1dc2 20702012-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
bba5a206 20762012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2077
2078 * c.opt (fpermissive): Add Var(flag_permissive).
2079
7059d45d 20802012-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
7edb1062 20862012-04-30 Dodji Seketeli <dodji@redhat.com>
2087
2088 Add -Wvarargs option
2089 * c.opt (Wvarargs): Define new option.
2090
068bea1e 20912012-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
b86527d8 20962012-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
19931eea 21042012-04-27 Ollie Wild <aaw@google.com>
76d340ac 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
29438999 21102012-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
4f9d6b8b 21262012-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
74bdbe96 21322012-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
3d177e8c 21402012-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
6a9a958f 21452012-03-23 William Bader <williambader@hotmail.com>
2146
2147 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2148
543efdbe 21492012-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
62206d34 21602012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2161
2162 PR c++/14710
2163 * c.opt ([Wuseless-cast]): Add.
2164
fadf62f4 21652012-03-16 Richard Guenther <rguenther@suse.de>
2166
2167 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2168
249faa35 21692012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2170
2171 PR c++/44783
2172 * c.opt (ftemplate-backtrace-limit) Add.
2173
126b6848 21742012-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
a51edb4c 21812012-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
0f6a7cb7 21862012-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
0779e32c 21932012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2194
2195 PR c/52118
2196 * c.opt ([Wunused-local-typedefs]): Fix description.
2197
baec58e1 21982012-01-24 Mike Stump <mikestump@comcast.net>
2199
2200 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2201 exactly.
2202
c779d8cc 22032012-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
ee917d24 22082012-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
90e2341f 22142012-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
9ea022ce 22202012-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
3df19e1b 22262011-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
32074525 22322011-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
fca86134 22512011-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
aa4313eb 22572011-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
3f3d5ad4 22632011-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
c4606d19 22692011-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
1d581089 22762011-11-24 Andrew MacLeod <amacleod@redhat.com>
2277
2278 PR c/51256
19931eea 2279 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 2280 conditions
19931eea 2281 (resolve_overloaded_atomic_exchange,
2282 resolve_overloaded_atomic_compare_exchange,
1d581089 2283 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2284 error_mark_node for error conditions.
19931eea 2285
6aa221fa 22862011-11-08 Richard Guenther <rguenther@suse.de>
2287
2288 PR middle-end/51010
2289 c-family/
2290
4c0315d0 22912011-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
920f5a70 23072011-11-07 Jason Merrill <jason@redhat.com>
2308
2309 PR c++/35688
2310 * c-common.c, c-common.h: Revert yesterday's changes.
2311
b4f861b4 23122011-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
83e25171 23192011-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
1cd6e20d 23302011-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.
19931eea 2336 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 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.
19931eea 2343 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 2344 __atomic_compare_exchange to either _n variant or external library call.
19931eea 2345 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 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
7549df0d 23512011-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
7e783eb3 23632011-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
8fe701f5 23712011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2372
2373 PR c++/44277
2374 * c.opt: Add Wzero-as-null-pointer-constant.
2375
0d84dc2d 23762011-10-31 Jason Merrill <jason@redhat.com>
2377
67031f52 2378 * c.opt (-fdeduce-init-list): Off by default.
2379
0d84dc2d 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
66f24c41 23862011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2387
2388 PR c++/30066
2389 * c.opt (fvisibility-inlines-hidden): Description change.
2390
244db24d 23912011-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
235be70f 24002011-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
4fe0fb1c 24122011-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
5f7504f9 24202011-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
2a688977 24262011-10-18 Dodji Seketeli <dodji@redhat.com>
2427
2428 PR bootstrap/50760
2429 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 2430 !NO_IMPLICIT_EXTERN_C.
2a688977 2431
326e3391 24322011-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
24382011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2439
2440 PR c++/50757
2441 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2442
62db153a 24432011-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
ce70f433 24592011-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
97bfb9ef 24682011-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
326e3391 24772011-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
24822011-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
b9a16870 24882011-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
c7964868 24992011-10-11 Tristan Gingold <gingold@adacore.com>
2500
2501 * c.opt: (fallow-parameterless-variadic-functions): New.
2502
a4e3ffad 25032011-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.
19931eea 2508 (record_locally_defined_typedef, maybe_record_typedef_use)
2509 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 2510 * c-common.c (record_locally_defined_typedef)
19931eea 2511 (maybe_record_typedef_use)
2512 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 2513 * c.opt: Declare new -Wunused-local-typedefs flag.
2514
737a23cc 25152011-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
7542c3b4 25212011-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
1dc92c59 25262011-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
2bdf2b6e 25312011-08-24 Richard Guenther <rguenther@suse.de>
2532
2533 PR c/49396
2534 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2535
25362011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 2537
2538 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2539 defined in cpp_init_builtins and c_cpp_builtins.
2540
bff4ad11 25412011-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
985c6e3a 25462011-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
7dfa155b 25522011-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
2169f33b 25592011-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
ab77850e 25762011-07-25 Dodji Seketeli <dodji@redhat.com>
2577
2578 * c-common.h (set_underlying_type): Remove parm name from
2579 declaration.
2580
6ee97920 25812011-07-25 Romain Geissler <romain.geissler@gmail.com>
2582
2583 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 2584
dc251364 25852011-07-22 Jason Merrill <jason@redhat.com>
2586
1a2a35f0 2587 PR c++/49793
2588 * c.opt (Wnarrowing): New.
2589
27282252 2590 PR c++/30112
2591 * c-common.h: Declare c_linkage_bindings.
2592 * c-pragma.c (handle_pragma_redefine_extname): Use it.
2593
dc251364 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
fc501191 26002011-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
07b8f133 26092011-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
2cc66f2a 26182011-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
3c802a1e 26232011-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
98a33d9f 26282011-07-08 Jason Merrill <jason@redhat.com>
2629
3115bda0 2630 PR c++/45437
2631 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2632
98a33d9f 2633 PR c++/49673
2634 * c-common.c (c_apply_type_quals_to_decl): Don't check
2635 TYPE_NEEDS_CONSTRUCTING.
2636
c38a75b7 26372011-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
e593356b 26422011-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
fca0886c 26472011-06-27 Jakub Jelinek <jakub@redhat.com>
2648
a68f7a8d 2649 * c-common.h (c_tree_chain_next): New static inline function.
2650
fca0886c 2651 * c-common.c (check_builtin_function_arguments): Handle
2652 BUILT_IN_ASSUME_ALIGNED.
2653
2797f13a 26542011-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.
9cad95b7 2658
26592011-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
218e3e4e 26752011-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
41e53ed2 26832011-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
a6f06169 26882011-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
1ea9269b 26952011-06-07 Jason Merrill <jason@redhat.com>
2696
8ce59854 2697 * c-common.c (max_tinst_depth): Lower default to 900.
2698
1ea9269b 2699 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2700
1af0124d 27012011-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
0e9a4c01 27062011-06-07 Dodji Seketeli <dodji@redhat.com>
2707
2708 PR debug/49130
2709 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 2710 type when using pointer comparison to compare types.
0e9a4c01 2711
90b40725 27122011-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
fc9c9e87 27172011-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
d0389adc 27272011-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
cacfdc02 27332011-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
027fc6ef 27402011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2741
2742 * c-common.c (warning_candidate_p): Check for BLOCKs.
2743
f21317a1 27442011-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
789e953d 27492011-05-25 Jakub Jelinek <jakub@redhat.com>
2750
2751 * c-common.c (def_fn_type): Remove extra va_end.
2752
7f506bca 27532011-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
774e9d58 27592011-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
23407dc9 27702011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2771
2772 * c-common.c (c_common_reswords): Reorder.
2773 * c-common.h (rid): Likewise.
2774
3a939d12 27752011-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
b6e3dd65 27822011-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
4232a958 27892011-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
d0af78c5 27942011-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
ceb7b692 28072011-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
c66c81be 28142011-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
16930c72 28192011-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
23407dc9 28252011-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
dd045aee 28302011-04-20 Jim Meyering <meyering@redhat.com>
2831
2832 * c-format.c (init_dollar_format_checking): Remove useless
2833 if-before-free.
2834
394dd737 28352011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
2836
2837 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 2838 (objc_detect_field_duplicates): New.
394dd737 2839 * stub-objc.c: Likewise.
23407dc9 2840
a758bf7d 28412011-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.
23407dc9 2846
29d7200d 28472011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2848
2849 * stub-objc.c (objc_declare_class): Updated argument name.
2850
9b88d08d 28512011-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
4185cf58 28562011-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.
19931eea 2860
5a90471f 28612011-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
783bb57e 28662011-04-11 Richard Guenther <rguenther@suse.de>
2867
2868 * c-common.c (complete_array_type): Build a range type of
2869 proper type.
2870
c33080b9 28712011-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
f8913d47 28762011-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
c94b1d0e 28822011-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
acb10f41 28942011-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
82715bcd 29032011-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
451c8e2f 29082011-03-25 Jeff Law <law@redhat.com>
2909
2910 * c-family/c-common.c (def_fn_type): Add missing va_end.
2911
3c47771c 29122011-03-25 Jason Merrill <jason@redhat.com>
2913
2914 * c.opt: Add -std=c++03.
2915
97e6200f 29162011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2917
2918 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2919
ac86af5d 29202011-03-17 Kai Tietz
2921
2922 PR target/12171
ee212425 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
ac86af5d 2929 * c-common.c (c_common_attribute_table):
2930 Add new element.
2931 (c_common_format_attribute_table): Likewise.
2932
914d1151 29332011-03-18 Jason Merrill <jason@redhat.com>
2934
69788bdf 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
914d1151 2940 PR c++/35315
2941 * c-common.c (handle_transparent_union_attribute): Don't
2942 make a duplicate type in C++.
2943
54cf6eed 29442011-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
02cb1060 29512011-03-11 Jason Merrill <jason@redhat.com>
2952
9bf1c74e 2953 * c-common.c (attribute_takes_identifier_p): Add missing const.
2954
02cb1060 2955 PR c++/46803
2956 * c-common.c (attribute_takes_identifier_p): Assume that an
2957 unknown attribute takes an identifier.
2958
ecf2703d 29592011-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
2b19dfe4 29652011-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
29cf2335 29702011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2971
2972 * c.opt (fobjc-abi-version=) New.
2973 (fobjc-nilcheck): New.
2974
fad3f658 29752011-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
a12319b3 29822011-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
5c128dc8 29892011-01-26 Arnaud Charlet <charlet@adacore.com>
2990
2991 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
2992
8d67b0c7 29932011-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
0675168d 29992011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3000
e8911163 3001 PR c++/43601
0675168d 3002 * c.opt (-fkeep-inline-dllexport): New switch.
3003
0725e25c 30042011-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
fdd84b77 30102011-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
e6e73d14 30162010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3017
d67e8485 3018 PR objc/47075
3019 * c-objc.h (objc_finish_message_expr): Added argument to
3020 prototype.
3021
a36cf284 30222010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3023
3024 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3025 Use prototype_p.
3026
33b3681f 30272010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3028
3029 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3030 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3031
a1f90215 30322010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3033
3034 * c-common.h (readonly_error): Declare.
3035 * c-common.c (readonly_error): Define.
3036
b1bbc8e5 30372010-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
b0d55af9 30422010-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
d7489d8d 30492010-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.
19931eea 3057
92468061 30582010-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
967958e4 30642010-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
b213bf24 30712010-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
9faf44d6 30762010-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
79396169 30812010-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
b4aa4123 30892010-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
3e0e49f2 30962010-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
a9ffdd35 31052010-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
93be21c0 31172010-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
d7175aef 31252010-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
c213e196 31302010-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.
19931eea 3134
0b5fc5d6 31352010-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
b8ba44e7 31412010-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
6ef8d12f 31462010-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
929d2a90 31522010-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
e4a7640a 31572010-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
597d2d81 31622010-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
c123f04d 31682010-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
3c6c0e40 31752010-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
19ec5c9e 31832010-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
bf776685 31902010-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
6bd9d862 32002010-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
1f6616ee 32082010-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 ().
19931eea 3214 (check_format_string): Pass expected type, use
1f6616ee 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
b0d0931f 32292010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3230
19931eea 3231 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 3232 * c-common.h (objc_build_class_component_ref): New.
3233 * stub-objc.c (objc_build_class_component_ref): New.
3234
f26877d5 32352010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3236
3237 * c.opt (Wproperty-assign-default): New option.
3238
1ef143b6 32392010-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
8c582e4f 32442010-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
8637f1db 32502010-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
9d9f5bb3 32552010-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.
19931eea 3272
56f907a0 32732010-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
b5fa273e 32812010-10-27 Jason Merrill <jason@redhat.com>
3282
5290e253 3283 * c-common.c (c_common_reswords): Add __is_literal_type.
3284 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3285
b5fa273e 3286 * c-common.c (check_case_value): Remove special C++ code.
3287
7590f0e5 32882010-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.
19931eea 3301
1d894bcf 33022010-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
e23bf1fb 33082010-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
93426222 33132010-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
45b2b110 33192010-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
64cd9619 33302010-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.
19931eea 3336
e1f293c0 33372010-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.
19931eea 3347
ef97a312 33482010-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
69b07042 33562010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3357
3358 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 3359
69b07042 3360 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3361
19931eea 3362 Radar 4330422
69b07042 3363 * c-common.h (objc_non_volatilized_type): New declaration
3364 * stub-objc.c (objc_non_volatilized_type): New stub.
3365
f15f2e56 33662010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3367
69b07042 3368 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 3369
3370 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3371
19931eea 3372 Radar 4133425
f15f2e56 3373 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 3374 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 3375
4a8875ed 33762010-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.
ef97a312 3382 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 3383 visibility enum.
3384
7e0713b1 33852010-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
86c110ac 33922010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3393
7e0713b1 3394 merge from FSF apple 'trunk' branch.
86c110ac 3395 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 3396
86c110ac 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.
7e0713b1 3408
40c8d1dd 34092010-10-13 Iain Sandoe <iains@gcc.gnu.org>
3410
7e0713b1 3411 merge from FSF apple 'trunk' branch.
40c8d1dd 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 ().
7e0713b1 3418 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 3419
f3f006ad 34202010-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
0a65c3bb 34292010-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
24ca3b4e 34352010-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
f83b64ca 34432010-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
2fdec027 34482010-10-03 Ian Lance Taylor <iant@google.com>
3449
3450 * c.opt (-fplan9-extensions): New option.
3451
41acdfa4 34522010-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
069761fb 34592010-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.
19931eea 3472
2c5d2e39 34732010-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
e5c75ac3 34832010-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
3511333e 34882010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 3489
19931eea 3490 Merge from 'apple/trunk' branch on FSF servers.
3491
e147d6aa 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
5461e683 34982010-09-29 Joseph Myers <joseph@codesourcery.com>
3499
3500 * c.opt: Don't use VarExists.
3501
5ae82d58 35022010-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
b27e241e 35122010-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
03fc2271 35212010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3522
19931eea 3523 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 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
a336eb4b 35312010-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
48b14f50 35402010-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
4abfc532 35452010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3546
19931eea 3547 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 3548
3549 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3550
19931eea 3551 Radar 4229905
4abfc532 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.
19931eea 3559 * stub-objc.c (objc_common_type): New stub.
4abfc532 3560
7bd95dfd 35612010-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
5789e05b 35662010-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
e6fb54ba 35842010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3585
3586 PR objc/23710
9b60f3b0 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
35922010-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.
e6fb54ba 3597
e44b0a1f 35982010-09-15 Ian Lance Taylor <iant@google.com>
3599
3600 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 3601 messages. Remove period at end of warning message.
e44b0a1f 3602
85c0a25c 36032010-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
5ba33bf4 36092010-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
c920faa3 36142010-09-05 Mark Mitchell <mark@codesourcery.com>
3615
3616 * c.opt (Wdouble-promotion): New.
3617
9604e070 36182010-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
3b0273a1 36232010-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
67089c6b 36362010-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
2af087f2 36472010-08-25 Richard Guenther <rguenther@suse.de>
3648
3649 * c-common.c (c_common_get_alias_set): Remove special
3650 handling for pointers.
3651
48148244 36522010-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
89c69892 36582010-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
e28aa114 36672010-08-16 Joseph Myers <joseph@codesourcery.com>
3668
3669 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3670
99b66d21 36712010-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
666f4bf0 36762010-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
5ec815f6 36812010-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
d13143cf 36862010-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.
5ec815f6 3692 (maybe_apply_renaming_pragma): Likewise.
d13143cf 3693
2008c983 36942010-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
9b091a73 37062010-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
b78351e5 37122010-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
34416a90 37202010-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
fecf9011 37252010-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
e88d34f6 37342010-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
1767a056 37482010-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
0b205f4c 37532010-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
1c58e3f1 37592010-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
33cc157c 37652010-06-21 DJ Delorie <dj@redhat.com>
3766
3767 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3768 allow these pragmas anywhere.
3769
37702010-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
37782010-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
9b40bfbf 37852010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3786
3787 * c-gimplify.c: Do not include tree-flow.h
3788
202d6e5f 37892010-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
d3237426 37952010-06-28 Anatoly Sokolov <aesok@post.ru>
3796
3797 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3798
596981c8 37992010-06-28 Steven Bosscher <steven@gcc.gnu.org>
3800
3801 * c-cppbuiltin.c: Do not include except.h.
3802
b9bdfa0b 38032010-06-24 Andi Kleen <ak@linux.intel.com>
3804
19931eea 3805 * c-common.c (warn_for_omitted_condop): New.
3806 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 3807
55ad092d 38082010-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
9e7c2572 38132010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
3814
3815 * c-opts.c: Include "tm_p.h".
3816
615ef0bb 38172010-06-20 Joseph Myers <joseph@codesourcery.com>
3818
3819 * c-common.c (parse_optimize_options): Update call to
3820 decode_options.
3821
aef48c9a 38222010-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
d74003b4 38272010-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
1194d077 38332010-06-16 Jason Merrill <jason@redhat.com>
3834
3835 * c.opt: Add -Wnoexcept.
3836
d473d901 38372010-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
b62dbfd3 38432010-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
200dd99c 38502010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3851
19931eea 3852 * c-common.c (conversion_warning): Warn at expression
200dd99c 3853 location.
3854
abf6a617 38552010-06-10 Joseph Myers <joseph@codesourcery.com>
3856
3857 * c-opts.c (c_common_handle_option): Don't handle
3858 OPT_fshow_column.
3859
ba72912a 38602010-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
4aafe913 38702010-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
7bedc3a0 39162010-06-05 Steven Bosscher <steven@gcc.gnu.org>
3917
19931eea 3918 * c-common.c: Moved to here from parent directory.
7bedc3a0 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
3aea1f79 3942Copyright (C) 2010-2014 Free Software Foundation, Inc.
7bedc3a0 3943
3944Copying and distribution of this file, with or without modification,
3945are permitted in any medium without royalty provided the copyright
3946notice and this notice are preserved.