]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
re PR c/59855 (Support sparse-style __attribute__((designated_init)) on structures...
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
a7ee52fb
IZ
12014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
2
3 PR middle-end/61455
4 * array-notation-common.c (extract_array_notation_exprs): Handling
5 of DECL_EXPR added.
6
944fa280
JJ
72014-08-01 Jakub Jelinek <jakub@redhat.com>
8
9 * c-common.h (min_align_of_type): Removed prototype.
10 * c-common.c (min_align_of_type): Removed.
11 * c-ubsan.h (ubsan_maybe_instrument_reference,
12 ubsan_maybe_instrument_member_call): New prototypes.
13 * c-ubsan.c: Include stor-layout.h and builtins.h.
14 (ubsan_maybe_instrument_reference_or_call,
15 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
16 functions.
17
b4dfdc11
MG
182014-07-31 Marc Glisse <marc.glisse@inria.fr>
19
20 PR c++/60517
21 * c.opt (-Wreturn-local-addr): Move to common.opt.
22
a41844e5
JM
232014-07-30 Jason Merrill <jason@redhat.com>
24
25 PR c++/61659
26 PR c++/61687
27 Revert:
28 * c.opt (-fuse-all-virtuals): New.
29
976d5a22
TT
302014-07-30 Tom Tromey <tromey@redhat.com>
31
32 PR c/59855
33 * c.opt (Wdesignated-init): New option.
34 * c-common.c (c_common_attribute_table): Add "designated_init".
35 (handle_designated_init): New function.
36
cdc94aca
MP
372014-07-24 Marek Polacek <polacek@redhat.com>
38
39 PR c/57653
40 * c-opts.c (c_finish_options): If -imacros is in effect, return.
41
f41373b6
DS
422014-07-16 Dodji Seketeli <dodji@redhat.com>
43
44 PR preprocessor/60723 - missing system-ness marks for macro tokens
45 * c-ppoutput.c (struct print::prev_was_system_token): New data
46 member.
47 (init_pp_output): Initialize it.
48 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
49 (do_line_change): Return a flag saying if a line marker was
50 emitted or not.
51 (scan_translation_unit): Detect if the system-ness of the token we
52 are about to emit is different from the one of the previously
53 emitted token. If so, emit a line marker. Avoid emitting useless
54 adjacent line markers. Avoid emitting line markers for tokens
55 originating from the expansion of built-in macros.
56 (scan_translation_unit_directives_only): Adjust.
57
4d661eaa
MP
582014-07-15 Marek Polacek <polacek@redhat.com>
59
60 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
61 TYPE_MAX_VALUE is NULL.
62
b108f48f
JJ
632014-07-14 Jakub Jelinek <jakub@redhat.com>
64
65 PR middle-end/61294
66 * c.opt (Wmemset-transposed-args): New warning.
67
c0221884
JM
682014-07-10 Jason Merrill <jason@redhat.com>
69
70 PR c++/61659
71 PR c++/61687
72 * c.opt (-fuse-all-virtuals): New.
73
63dfbb95
RB
742014-07-09 Richard Biener <rguenther@suse.de>
75
76 PR c-family/61741
77 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
78 using unsigned arithmetic if overflow does not wrap instead of
79 if overflow is undefined.
80
773ec47f
MP
812014-07-06 Marek Polacek <polacek@redhat.com>
82
83 PR c/6940
84 * c.opt (Wsizeof-array-argument): New option.
85
00a7ba58
JJ
862014-07-03 Jakub Jelinek <jakub@redhat.com>
87
88 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
89 comments->count <= 1, as comments->entries might be NULL.
90
52ec0ea3
MP
912014-07-01 Marek Polacek <polacek@redhat.com>
92
93 * c.opt (Wint-conversion): New option.
94
d5c3d343
MP
952014-07-01 Marek Polacek <polacek@redhat.com>
96
97 PR c/58286
98 * c.opt (Wincompatible-pointer-types): New option.
99
6e7ceb17
PC
1002014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
101
102 PR c++/51400
103 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
104 Do not discard TYPE_QUALS of type.
105
da73100b
JM
1062014-06-26 Jason Merrill <jason@redhat.com>
107
108 * c-common.h (enum cxx_dialect): Add cxx1z.
109 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
110 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
111
08eedf75
TJ
1122014-06-26 Teresa Johnson <tejohnson@google.com>
113
114 * c-common.h (get_dump_info): Declare.
115 * c-gimplify.c (c_genericize): Use saved dump files.
116 * c-opts.c (c_common_parse_file): Begin and end dumps
117 once around parsing invocation.
118 (get_dump_info): New function.
119
7b56b2f8
MP
1202014-06-23 Marek Polacek <polacek@redhat.com>
121 Andrew MacLeod <amacleod@redhat.com>
122
123 PR c/61553
124 * c-common.c (get_atomic_generic_size): Don't segfault if the
125 type doesn't have a size.
126
0e37a2f3
MP
1272014-06-20 Marek Polacek <polacek@redhat.com>
128
129 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
130 (ubsan_walk_array_refs_r): New function.
131 (c_genericize): Instrument array bounds.
132 * c-ubsan.c: Include "internal-fn.h".
133 (ubsan_instrument_division): Mark instrumented arrays as having
134 side effects. Adjust ubsan_type_descriptor call.
135 (ubsan_instrument_shift): Likewise.
136 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
137 (ubsan_instrument_bounds): New function.
138 (ubsan_array_ref_instrumented_p): New function.
139 (ubsan_maybe_instrument_array_ref): New function.
140 * c-ubsan.h (ubsan_instrument_bounds): Declare.
141 (ubsan_array_ref_instrumented_p): Declare.
142 (ubsan_maybe_instrument_array_ref): Declare.
143
1442014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
145
146 PR lto/61123
147 * c.opt (fshort-enums): Add to LTO.
148 * c.opt (fshort-wchar): Likewise.
149
5c3d09f7
MP
1502014-06-16 Marek Polacek <polacek@redhat.com>
151
152 PR c/60439
153 * c.opt (Wswitch-bool): Add Var.
154
9cf32741
JJ
1552014-06-12 Jakub Jelinek <jakub@redhat.com>
156
157 PR middle-end/61486
158 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
159 #pragma omp target teams or
160 #pragma omp {,target }teams distribute simd.
161
62984918
JM
1622014-06-12 Jason Merrill <jason@redhat.com>
163
164 * c.opt (Wabi=, fabi-compat-version): New.
165 * c-opts.c (c_common_handle_option): Handle -Wabi=.
166 (c_common_post_options): Handle flag_abi_compat_version default.
167 Disallow -fabi-compat-version=1.
168 * c-common.h (abi_version_crosses): New.
169
f961457f
JH
1702014-06-11 Jan Hubicka <hubicka@ucw.cz>
171
172 * c-family/c-common.c (handle_section_attribute): Update handling for
173 section names that are no longer trees.
174
92d28cbb
JJ
1752014-06-10 Jakub Jelinek <jakub@redhat.com>
176
177 PR fortran/60928
178 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
179 (omp_pragmas): ... back here.
180
742938c9
MP
1812014-06-05 Marek Polacek <polacek@redhat.com>
182
183 PR c/49706
184 * c-common.c (warn_logical_not_parentheses): New function.
185 * c-common.h (warn_logical_not_parentheses): Declare.
186 * c.opt (Wlogical-not-parentheses): New option.
187
9d548dfb
MP
1882014-06-04 Marek Polacek <polacek@redhat.com>
189
190 PR c/30020
191 * c-common.c (check_case_bounds): Add location parameter.
192 Use it.
193 (c_add_case_label): Pass loc to check_case_bounds.
194
fedfecef
MP
1952014-06-03 Marek Polacek <polacek@redhat.com>
196
197 PR c/60439
198 * c.opt (Wswitch-bool): New option.
199
f6a7cffc
TS
2002014-05-22 Thomas Schwinge <thomas@codesourcery.com>
201
040d18b6
TS
202 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
203 Remove prototypes.
204 (record_types_used_by_current_var_decl): Move prototype to where
205 it belongs.
206
f6a7cffc
TS
207 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
208 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
209 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
210
632f2871
RS
2112014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
212
213 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
214 * c-common.c (c_common_nodes_and_builtins): Don't initialize
215 void_zero_node.
216 * c-pretty-print.c (pp_c_void_constant): New function.
217 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
218 (c_pretty_printer::expression): Handle VOID_CST.
219 * cilk.c (extract_free_variables): Likewise.
220 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
221 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
222
766090c2
TS
2232014-05-17 Trevor Saunders <tsaunders@mozilla.com>
224
225 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
226 * c-pragma.c (push_alignment): Adjust.
227 (handle_pragma_push_options): Likewise.
228
661a0813
MP
2292014-05-09 Marek Polacek <polacek@redhat.com>
230
231 PR c/50459
232 * c-common.c (check_user_alignment): Return -1 if alignment is error
233 node.
234 (handle_aligned_attribute): Don't call default_conversion on
235 FUNCTION_DECLs.
236 (handle_vector_size_attribute): Likewise.
237 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
238 (handle_sentinel_attribute): Call default_conversion and allow even
239 integral types as an argument.
240
2793eeab
MP
2412014-05-08 Marek Polacek <polacek@redhat.com>
242
243 PR c/61053
244 * c-common.c (min_align_of_type): New function factored out from...
245 (c_sizeof_or_alignof_type): ...here.
246 * c-common.h (min_align_of_type): Declare.
247
f827930a
MP
2482014-05-08 Marek Polacek <polacek@redhat.com>
249
250 PR c/61077
251 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
252 parameter type of main.
253
ca49b74e
DD
2542014-05-07 DJ Delorie <dj@redhat.com>
255
256 * c-cppbuiltin.c (print_bits_of_hex): New.
257 (builtin_define_type_minmax): Print values using hex so as not to
258 require a pre-computed list of string values.
259
1d60af08
KZ
2602014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
261 Mike Stump <mikestump@comcast.net>
262 Richard Sandiford <rdsandiford@googlemail.com>
263
264 * c-ada-spec.c: Include wide-int.h.
265 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
266 (dump_generic_ada_node): Use wide-int interfaces.
267 * c-common.c: Include wide-int-print.h.
268 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
269 (pointer_int_sum): Use wide-int interfaces.
270 (c_common_nodes_and_builtins): Use make_int_cst.
271 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
272 (handle_alloc_size_attribute): Use wide-int interfaces.
273 (get_nonnull_operand): Likewise.
274 * c-format.c (get_constant): Use tree_fits_uhwi_p.
275 * c-lex.c: Include wide-int.h.
276 (narrowest_unsigned_type): Take a widest_int rather than two
277 HOST_WIDE_INTs.
278 (narrowest_signed_type): Likewise.
279 (interpret_integer): Update accordingly. Use wide-int interfaces.
280 (lex_charconst): Use wide-int interfaces.
281 * c-pretty-print.c: Include wide-int.h.
282 (pp_c_integer_constant): Use wide-int interfaces.
283 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
284 INT_CST_LT_UNSIGNED.
285
b15458be
RB
2862014-05-06 Richard Biener <rguenther@suse.de>
287
288 * c-opts.c (c_common_post_options): For -freestanding,
289 -fno-hosted and -fno-builtin disable pattern recognition
290 if not enabled explicitely.
291
6577374e
MP
2922014-05-02 Marek Polacek <polacek@redhat.com>
293
294 * c.opt (Wsizeof-pointer-memaccess): Describe option.
295
d00887e8
MP
2962014-05-01 Marek Polacek <polacek@redhat.com>
297
298 PR c/43245
299 * c.opt (Wdiscarded-qualifiers): Add.
300
f8ed5150
MP
3012014-04-30 Marek Polacek <polacek@redhat.com>
302
303 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
304 INT_MIN / -1 sanitization only for integer types.
305
45484dcf
MP
3062014-04-25 Marek Polacek <polacek@redhat.com>
307
308 PR c/18079
309 * c-common.c (handle_noinline_attribute): Warn if the attribute
310 conflicts with always_inline attribute.
311 (handle_always_inline_attribute): Warn if the attribute conflicts
312 with noinline attribute.
313
38e514c0
MP
3142014-04-25 Marek Polacek <polacek@redhat.com>
315
316 PR c/60156
317 * c-common.c (check_main_parameter_types): Warn about variadic main.
318
44875f92
MS
3192014-04-24 Mike Stump <mikestump@comcast.net>
320
321 * c.opt (Wshadow-ivar): Default to on.
322
dcaaa5a0
DP
3232014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
324
325 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
326
c07d7c02
MP
3272014-04-23 Marek Polacek <polacek@redhat.com>
328
329 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
330
1c33c9b7
JJ
3312014-04-22 Jakub Jelinek <jakub@redhat.com>
332
333 PR sanitizer/60275
334 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
335 if flag_sanitize_undefined_trap_on_error.
336 (ubsan_instrument_division, ubsan_instrument_shift,
337 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
338 if !flag_sanitize_recover.
339
793c625f
MG
3402014-04-22 Marc Glisse <marc.glisse@inria.fr>
341
342 PR libstdc++/43622
343 * c-common.c (registered_builtin_types): Make non-static.
344 * c-common.h (registered_builtin_types): Declare.
345
b0f1bf36
RB
3462014-04-14 Richard Biener <rguenther@suse.de>
347 Marc Glisse <marc.glisse@inria.fr>
348
349 PR c/60819
350 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
351 apply may-alias the scalar pointer type when applicable.
352
3b07fa4a
IZ
3532014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
354
355 PR middle-end/60467
356 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
357 as possible argument for Cilk_spawn.
358
cbbd2b1c
TB
3592014-04-11 Tobias Burnus <burnus@net-b.de>
360
361 PR c/60194
362 * c.opt (Wformat-signedness): Add
363 * c-format.c(check_format_types): Use it.
364
6415bd5d
JM
3652014-04-11 Jason Merrill <jason@redhat.com>
366
367 PR c++/57926
368 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
369 default_conversion for an array argument.
370
6525783a
MP
3712014-04-08 Marek Polacek <polacek@redhat.com>
372
373 PR sanitizer/60745
374 * c-ubsan.c: Include asan.h.
375 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
376
880a467b
NS
3772014-04-03 Nathan Sidwell <nathan@codesourcery.com>
378
379 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
380
7b59ff2d
MP
3812014-04-02 Marek Polacek <polacek@redhat.com>
382
383 * c-common.h (c_expand_expr): Remove declaration.
384
8edbfaa6
JJ
3852014-03-28 Jakub Jelinek <jakub@redhat.com>
386
387 PR c++/60689
388 * c-common.c (add_atomic_size_parameter): When creating new
389 params vector, push the size argument first.
390
07d72e1d
JJ
3912014-03-26 Jakub Jelinek <jakub@redhat.com>
392
393 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
394 ubsan_instrument_vla, ubsan_instrument_return): Adjust
395 ubsan_create_data callers.
396
b35e0fa0
JJ
3972014-03-22 Jakub Jelinek <jakub@redhat.com>
398
399 PR debug/60603
400 * c-opts.c (c_finish_options): Restore cb_file_change call to
401 <built-in>.
402
39a1ebb3
JJ
4032014-03-13 Jakub Jelinek <jakub@redhat.com>
404
405 PR middle-end/36282
406 * c-pragma.c (apply_pragma_weak): Only look at
407 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
408 DECL_ASSEMBLER_NAME_SET_P (decl).
409 (maybe_apply_pending_pragma_weaks): Exit early if
410 vec_safe_is_empty (pending_weaks) rather than only when
411 !pending_weaks.
412 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
413 set assembler name back to NULL afterwards.
414
a07f6ed2
JM
4152014-03-11 Jason Merrill <jason@redhat.com>
416
417 * c.opt: Add -std=gnu++14.
418
75b107f5
IB
4192014-03-11 Ian Bolton <ian.bolton@arm.com>
420
421 * c-opts.c (c_common_post_options): Don't override
422 -ffp-contract=fast if unsafe-math-optimizations is on.
423
f42c637e
PM
4242014-03-08 Paulo Matos <paulo@matos-sorge.com>
425
426 * c.opt: Enable LTO FE for fshort-double.
427
70e24808
JM
4282014-03-07 Jason Merrill <jason@redhat.com>
429
430 * c.opt: Add -std=c++14.
431
3af9c5e9
MP
4322014-03-06 Marek Polacek <polacek@redhat.com>
433
434 PR c/60197
435 * cilk.c (contains_cilk_spawn_stmt): New function.
436 (contains_cilk_spawn_stmt_walker): Likewise.
437 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
438 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
439
b3bdf019
JJ
4402014-03-03 Jakub Jelinek <jakub@redhat.com>
441
442 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
443 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
444 even when flag_preprocess_only.
445
ca7e759d
JM
4462014-02-26 Jason Merrill <jason@redhat.com>
447
448 PR c++/59231
449 PR c++/11586
450 * c-common.c (shorten_compare): Don't check
451 c_inhibit_evaluation_warnings.
452
28e41874
JJ
4532014-02-19 Jakub Jelinek <jakub@redhat.com>
454
cca615af
JJ
455 PR c/37743
456 * c-common.c (c_common_nodes_and_builtins): When initializing
457 c_uint{16,32,64}_type_node, also set corresponding
458 uint{16,32,64}_type_node to the same value.
459
28e41874
JJ
460 PR c++/60267
461 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
462 for PRAGMA_IVDEP if flag_preprocess_only.
463
c2bf53a1
JJ
4642014-02-12 Jakub Jelinek <jakub@redhat.com>
465
466 PR c/60101
467 * c-common.c (merge_tlist): If copy is true, call new_tlist,
468 if false, add ADD itself, rather than vice versa.
469 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
470 copy. For SAVE_EXPR, only call merge_tlist once.
471
8fcbce72
JJ
4722014-02-08 Jakub Jelinek <jakub@redhat.com>
473
474 PR middle-end/60092
475 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
476 and tree_to_uhwi.
477 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
478 functions.
479 (c_common_attribute_table): Add alloc_align and assume_aligned
480 attributes.
481
0a756a3f
MP
4822014-02-06 Marek Polacek <polacek@redhat.com>
483
484 PR c/60087
485 * c-common.c (warn_for_sign_compare): Call warning_at with location
486 instead of warning.
487
7ec4847a
MP
4882014-02-05 Marek Polacek <polacek@redhat.com>
489
490 PR c/53123
491 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
492 statement.
493
66f20604
MP
4942014-02-04 Marek Polacek <polacek@redhat.com>
495
496 PR c/60036
497 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
498 SAVE_EXPR.
499
5d77fb19
MG
5002014-02-03 Marc Glisse <marc.glisse@inria.fr>
501
502 PR c++/53017
503 PR c++/59211
504 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
505 handle_vector_size_attribute, handle_nonnull_attribute): Call
506 default_conversion on the attribute argument.
507 (handle_nonnull_attribute): Increment the argument number.
508
81e5eca8
MP
5092014-01-31 Marek Polacek <polacek@redhat.com>
510
511 PR c/59963
512 * c-common.c (add_atomic_size_parameter): Pass vNULL to
513 build_function_call_vec.
514 (resolve_overloaded_builtin): Likewise.
515 * c-common.h (build_function_call_vec): Adjust declaration.
516
68fca595
MP
5172014-01-30 Marek Polacek <polacek@redhat.com>
518
519 PR c/59940
520 * c-common.h (unsafe_conversion_p): Adjust declaration.
521 (warnings_for_convert_and_check): Likewise.
522 (convert_and_check): Likewise.
523 * c-common.c (unsafe_conversion_p): Add location parameter. Call
524 expansion_point_location_if_in_system_header on it.
525 (warnings_for_convert_and_check): Add location parameter. Call
526 expansion_point_location_if_in_system_header on it. Use it.
527 (convert_and_check): Add location parameter. Use it.
528 (conversion_warning): Likewise.
529 (c_add_case_label): Adjust convert_and_check calls.
530 (scalar_to_vector): Adjust unsafe_conversion_p calls.
531
b72271b9
BI
5322014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
533
534 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
535 flag_cilkplus.
536 * c-pragma.c (init_pragma): Likewise.
537 * c.opt: Likewise.
538
393e8e8b
MP
5392014-01-23 Marek Polacek <polacek@redhat.com>
540
541 PR c/59846
542 * c-common.c (shorten_compare): Add location_t parameter.
543 * c-common.h (shorten_binary_op): Adjust declaration.
544
f04dda30
MP
5452014-01-23 Marek Polacek <polacek@redhat.com>
546
547 PR c/58346
548 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
549 * c-common.h: Declare it.
550
621955cb
EB
5512014-01-20 Eric Botcazou <ebotcazou@adacore.com>
552
553 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
554 * c-ada-spec.c (dump_ads): Likewise.
555 (cpp_check): Likewise.
556 (dump_ada_specs): Likewise.
557
5582014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
559
560 PR c++/49718
561 * c-common.c (handle_no_instrument_function_attribute): Allow
562 no_instrument_function attribute in class member
563 definition/declaration.
564
241f845a
JJ
5652014-01-15 Jakub Jelinek <jakub@redhat.com>
566
567 PR c/58943
568 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
569 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
570 being COMPOUND_EXPR.
571 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
572 operand a SAVE_EXPR and second MODIFY_EXPR.
573
e83b8e2e
JJ
5742014-01-09 Jakub Jelinek <jakub@redhat.com>
575
576 PR target/58115
577 * c-pch.c (c_common_write_pch): Call
578 prepare_target_option_nodes_for_pch.
579
23a5b65a
RS
5802014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
581
582 Update copyright years
583
f9030485
RS
5842014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
585
586 * array-notation-common.c, c-cilkplus.c: Use the standard form for
587 the copyright notice.
588
f2aa696b
EB
5892013-12-28 Eric Botcazou <ebotcazou@adacore.com>
590
591 * c-ada-spec.c (print_constructor): New function.
592 (print_destructor): Retrieve the origin of the destructor.
593 (print_ada_declaration): Revamp handling of constructors/destructors.
594
1f26ac87
JM
5952013-12-23 Stuart Hastings <stuart@apple.com>
596 Bill Maddox <maddox@google.com>
597 Jason Merrill <jason@redhat.com>
598
599 * c.opt: Add -fdeclone-ctor-dtor.
600 * c-opts.c (c_common_post_options): Default to on iff -Os.
601
41958c28
BI
6022013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
603
604 * c-common.c (c_common_attribute_table): Added "cilk simd function"
605 attribute.
606 * c-pragma.h (enum pragma_cilk_clause): Remove.
607 (enum pragma_omp_clause): Added the following fields:
608 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
609 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
610 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
611 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
612 PRAGMA_CILK_CLAUSE_UNIFORM.
613
614
12893402
BI
6152013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
616
617 * cilk.c (cilk_outline): Made this function non-static.
618 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
619 (create_cilk_wrapper): Added a new parameter: a function pointer.
620 (c_install_body_w_frame_cleanup): Remove
621 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
622 * c-common.h (cilk_outline): New prototype.
623 (gimplify_cilk_spawn): Removed two parameters.
624 (cilk_install_body_with_frame_cleanup): New prototype.
625 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
626 CILK_SPAWN_STMT case.
627
085b42ed
BS
6282013-12-11 Bernd Schmidt <bernds@codesourcery.com>
629
2ce064c3
BS
630 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
631
085b42ed
BS
632 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
633 (int_array_type_node): Remove.
634 * c-common.c (c_common_nodes_and_builtins): Don't build it.
635
9e36c9ed
MP
6362013-12-05 Marek Polacek <polacek@redhat.com>
637
638 PR c/52023
639 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
640 [ADJUST_FIELD_ALIGN].
641
296674db
JM
6422013-12-04 Joseph Myers <joseph@codesourcery.com>
643
644 PR c/52023
645 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
646 and check field alignment if set.
647 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
648 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
649
31e071ae
MP
6502013-12-04 Jakub Jelinek <jakub@redhat.com>
651 Marek Polacek <polacek@redhat.com>
652
653 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
654 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
655
d7947e19
L
6562013-11-29 H.J. Lu <hongjiu.lu@intel.com>
657
658 PR c/59309
659 * cilk.c (gimplify_cilk_spawn): Properly handle function without
660 arguments.
661
fad7652e
JJ
6622013-11-29 Jakub Jelinek <jakub@redhat.com>
663
664 PR c/59280
665 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
666 goto invalid. If it is error_mark_node, don't issue further
667 diagnostics.
668
8b5e1202
SO
6692013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
670
671 * c.opt (Wopenmp-simd): New.
672
0a508bb6
JJ
6732013-11-22 Jakub Jelinek <jakub@redhat.com>
674
675 * c-ubsan.h (ubsan_instrument_return): New prototype.
676 * c-ubsan.c (ubsan_instrument_return): New function.
677
2fb9a547
AM
6782013-11-22 Andrew MacLeod <amacleod@redhat.com>
679
680 * c-common.c: Add required include files from gimple.h.
681 * c-gimplify.c: Likewise
682 * cilk.c: Likewise
683
8400e75e
DM
6842013-11-22 David Malcolm <dmalcolm@redhat.com>
685
686 * c-common.c (unsafe_conversion_p): Remove use of
687 EXPR_LOC_OR_HERE macro.
688 (conversion_warning): Likewise.
689 (warnings_for_convert_and_check): Likewise.
690 (warn_for_collisions_1): Likewise.
691 (shorten_compare): Likewise, and remove use of in_system_header
692 macro, using the location from the former.
693 * c-lex.c (dump_one_header): Remove use of input_filename macro.
694 (cb_def_pragma): Remove use of in_system_header macro.
695 (lex_string): Likewise.
696 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
697
eb1ce453
KZ
6982013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
699 Mike Stump <mikestump@comcast.net>
700 Richard Sandiford <rdsandiford@googlemail.com>
701
702 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
703 instead of TREE_INT_CST_LOW, in cases where there is a protecting
704 tree_fits_shwi_p or tree_fits_uhwi_p.
705 (dump_generic_ada_node): Likewise.
706 * c-format.c (check_format_arg): Likewise.
707 * c-pretty-print.c (pp_c_integer_constant): Likewise.
708
6b3b8c27
KZ
7092013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
710
711 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
712
49b0aa18
JC
7132013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
714
715 PR c/53001
716 * c-common.c (unsafe_conversion_p): Make this function
717 return an enumeration with more detail.
718 (conversion_warning): Use the new return type of
719 unsafe_conversion_p to separately warn either about conversions
720 that lower floating point number precision or about the other
721 kinds of conversions.
722 * c-common.h (enum conversion_safety): New enumeration.
723 (unsafe_conversion_p): switching return type to
724 conversion_safety enumeration.
725 * c.opt: Adding new warning -Wfloat-conversion and
726 enabling it with -Wconversion.
727
b826515a
BS
7282013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
729
730 * c-opts.c: Include plugin.h.
731 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
732
b9a55b13
MP
7332013-11-19 Marek Polacek <polacek@redhat.com>
734
735 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
736 call.
737 (ubsan_instrument_shift): Likewise.
738 (ubsan_instrument_vla): Likewise.
739
7d362f6c
RS
7402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
741
742 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
743 cast to unsigned type.
744
386b1f1f
RS
7452013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
746
747 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
748 tree_low_cst.
749 (complete_array_type): Update comment to refer to tree_to_[su]hwi
750 rather than tree_low_cst.
751
ae7e9ddd
RS
7522013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
753
754 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
755 tree_to_uhwi throughout.
756
9439e9a1
RS
7572013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
758
759 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
760 tree_low_cst (..., 0) with tree_to_shwi throughout.
761
cc269bb6
RS
7622013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
763
764 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
765 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
766
9541ffee
RS
7672013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
768
769 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
770 host_integerp (..., 0) with tree_fits_shwi_p throughout.
771
c02065fc
AH
7722013-11-15 Aldy Hernandez <aldyh@redhat.com>
773
774 * c-cilkplus.c: New file.
775 * c-common.c (readonly_error): Add location argument.
776 * c-common.h (readonly_error): Same.
777 (c_finish_cilk_clauses): Protoize.
778 (c_check_cilk_loop): Same.
779 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
780 Do not fail on error_mark_node.
781 Abstract increment canonicalization to here...
782 (c_omp_for_incr_canonicalize_ptr): New.
783 c-pragma.c (init_pragma): Register "simd" pragma.
784 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
785 (enum pragma_cilk_clause): New.
786
9cc65f15
RS
7872013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
788
789 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
790 wchar_type and host_integerp checks.
791
18f429e2
AM
7922013-11-14 Andrew MacLeod <amacleod@redhat.com>
793
794 * c-common.c: Likewise.
795 * c-gimplify.c: Likewise.
796 * cilk.c: Likewise.
797
d8a2d370
DN
7982013-11-14 Diego Novillo <dnovillo@google.com>
799
800 * c-common.c: Include fold-const.h.
801 Include stor-layout.h.
802 Include calls.h.
803 Include stringpool.h.
804 Include attribs.h.
805 Include varasm.h.
806 Include trans-mem.h.
807 * c-cppbuiltin.c: Include stor-layout.h.
808 Include stringpool.h.
809 * c-format.c: Include stringpool.h.
810 * c-lex.c: Include stringpool.h.
811 Include stor-layout.h.
812 * c-pragma.c: Include stringpool.h.
813 Include attribs.h.
814 Include varasm.h.
815 Include gcc-symtab.h.
816 * c-pretty-print.c: Include stor-layout.h.
817 Include attribs.h.
818 * cilk.c: Include stringpool.h.
819 Include calls.h.
820
38b7bc7f
JM
8212013-11-13 Joseph Myers <joseph@codesourcery.com>
822
823 * c-common.h (enum rid): Add RID_AUTO_TYPE.
824 * c-common.c (c_common_reswords): Add __auto_type.
825 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
826
45b0be94
AM
8272013-11-12 Andrew MacLeod <amacleod@redhat.com>
828
18f429e2
AM
829 * c-common.c: Include gimplify.h.
830 * c-gimplify.c: Likewise.
831 * cilk.c: Likewise.
832 * c-omp.c: Include gimple-expr.h instead of gimple.h.
833 * c-ubsan.c: Don't include gimple.h.
45b0be94 834
582d9b50
JM
8352013-11-12 Joseph Myers <joseph@codesourcery.com>
836
837 * c-common.c (c_common_reswords): Add _Thread_local.
838
6b28e197
JM
8392013-11-09 Joseph Myers <joseph@codesourcery.com>
840
841 * c-common.c (atomic_size_supported_p): New function.
842 (resolve_overloaded_atomic_exchange)
843 (resolve_overloaded_atomic_compare_exchange)
844 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
845 Use it instead of comparing size with a local list of sizes.
846
267bac10
JM
8472013-11-07 Andrew MacLeod <amacleod@redhat.com>
848 Joseph Myers <joseph@codesourcery.com>
849
850 * c-common.h (enum rid): Add RID_ATOMIC.
851 * c-common.c (c_common_reswords): Add _Atomic.
852 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
853 (keyword_is_type_qualifier): Accept RID_ATOMIC.
854 * c-format.c (check_format_types): Check for extra _Atomic
855 qualifiers in format argument.
856 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
857 (pp_c_type_qualifier_list): Mention _Atomic in comment.
858
5157b91e
TB
8592013-11-06 Tobias Burnus <burnus@net-b.de>
860
861 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
862
6dbe0958
JM
8632013-11-06 Joseph Myers <joseph@codesourcery.com>
864
865 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
866 standards modes.
867 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
868 to mean lack of IEEE 754 support.
869
e8ff5196
TB
8702013-11-05 Tobias Burnus <burnus@net-b.de>
871
872 * c.opt (-Wdate-time): New option
873 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
874
254a0760
JM
8752013-11-05 Joseph Myers <joseph@codesourcery.com>
876
877 * c-cppbuiltin.c (cpp_iec_559_value): Test
878 flag_excess_precision_cmdline not flag_excess_precision.
879
6d7f7e0a
TB
8802013-11-05 Tobias Burnus <burnus@net-b.de>
881
882 * c.opt (fopenmp-simd): New option.
883 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
884 (omp_pragmas): ... this new struct.
885 (c_pp_lookup_pragma): Also walk omp_pragmas.
886 (init_pragma): Init pragmas for -fopenmp-simd.
887
55a7f02f
MP
8882013-11-04 Marek Polacek <polacek@redhat.com>
889
890 PR c++/58979
891 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
892
9193fb05
JM
8932013-11-04 Joseph Myers <joseph@codesourcery.com>
894
895 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
896 New functions.
897 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
898
94159ecf
EB
8992013-11-04 Eric Botcazou <ebotcazou@adacore.com>
900
901 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
902 (dump_ada_specs): Adjust prototype of second callback.
903 * c-ada-spec.c (cpp_check): New global variable.
904 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
905 (print_generic_ada_decl): Likewise.
906 (has_static_fields): Change return type to bool and add guard.
907 (has_nontrivial_methods): New predicate.
908 (is_tagged_type): Change return type to bool.
909 (separate_class_package): Call has_nontrivial_methods.
910 (pp_ada_tree_identifier): Minor tweaks.
911 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
912 (dump_ada_array_domains): Likewise.
913 (dump_ada_array_type): Likewise.
914 (dump_template_types): Remove cpp_check parameter and do not pass it to
915 dump_generic_ada_node.
916 (dump_ada_template): Likewise.
917 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
918 recursively.
919 (print_ada_methods): Change return type to integer. Remove cpp_check
920 parameter and do not pass it down.
921 (dump_nested_types): Remove cpp_check parameter and do not pass it to
922 dump_generic_ada_node.
923 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
924 accessing methods.
925 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
926 down. Use has_nontrivial_methods to recognize C++ classes. Use return
927 value of print_ada_methods.
928 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
929 Set cpp_check to it before invoking dump_ada_nodes.
930 (dump_ada_specs): Likewise.
931
b906f4ca
MP
9322013-11-03 Marek Polacek <polacek@redhat.com>
933
934 * c-ubsan.c: Don't include hash-table.h.
935 (ubsan_instrument_vla): New function.
936 * c-ubsan.h: Declare it.
937
5e20cdc9
DM
9382013-10-31 David Malcolm <dmalcolm@redhat.com>
939
940 Automated part of renaming of symtab_node_base to symtab_node.
941
942 Patch autogenerated by rename_symtab.py from
943 https://github.com/davidmalcolm/gcc-refactoring-scripts
944 revision 58bb219cc090b2f4516a9297d868c245495ee622
945
946 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
947 symtab_node_base to symtab_node.
948
7057e645
ESR
9492013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
950
951 Implement C++14 digit separators.
952 * c-lex.c (interpret_float): Remove digit separators from scratch string
953 before building real literal.
954
193ea7bc
JJ
9552013-10-30 Jakub Jelinek <jakub@redhat.com>
956
957 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
958
939b37da
BI
9592013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
960
961 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
962 fields.
963 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
964 enabled.
965 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
966 (insert_cilk_frame): New prototype.
967 (cilk_init_builtins): Likewise.
968 (gimplify_cilk_spawn): Likewise.
969 (c_cilk_install_body_w_frame_cleanup): Likewise.
970 (cilk_detect_spawn_and_unwrap): Likewise.
971 (cilk_set_spawn_marker): Likewise.
972 (build_cilk_sync): Likewise.
973 (build_cilk_spawn): Likewise.
974 * cilk.c: New file.
975
67348ccc
DM
9762013-10-29 David Malcolm <dmalcolm@redhat.com>
977
978 Patch autogenerated by refactor_symtab.py from
979 https://github.com/davidmalcolm/gcc-refactoring-scripts
980 revision 58bb219cc090b2f4516a9297d868c245495ee622
981
982 * c-gimplify.c (c_genericize): Update for conversion of symtab types
983 to a true class hierarchy.
984 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
985
d570872d
RS
9862013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
987
988 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
989
98906124
JL
9902013-10-26 Jeff Law <law@redhat.com>
991
992 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
993 * c-family/c.opt: Ignore and warn for mudflap options.
994
d73749df 9952013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
996
997 PR other/33426
998 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
999 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1000
3f04b1bb
JM
10012013-10-23 Jason Merrill <jason@redhat.com>
1002
1003 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1004
acf0174b
JJ
10052013-10-11 Jakub Jelinek <jakub@redhat.com>
1006
acd15a28
JJ
1007 * c-common.h (omp_clause_mask::operator !=): New method.
1008 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1009 instead of if (mask & something) tests everywhere.
1010
acf0174b
JJ
1011 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1012 201307 instead of 201107.
1013 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1014 (c_common_attribute_table): Add "omp declare target" and
1015 "omp declare simd" attributes.
1016 (handle_omp_declare_target_attribute,
1017 handle_omp_declare_simd_attribute): New functions.
1018 * c-omp.c: Include c-pragma.h.
1019 (c_finish_omp_taskgroup): New function.
1020 (c_finish_omp_atomic): Add swapped argument, if true,
1021 build the operation first with rhs, lhs arguments and use NOP_EXPR
1022 build_modify_expr.
1023 (c_finish_omp_for): Add code argument, pass it down to make_code.
1024 (c_omp_split_clauses): New function.
1025 (c_split_parallel_clauses): Removed.
1026 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1027 c_omp_declare_simd_clauses_to_decls): New functions.
1028 * c-common.h (omp_clause_mask): New type.
1029 (OMP_CLAUSE_MASK_1): Define.
1030 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1031 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1032 omp_clause_mask::operator |, omp_clause_mask::operator &,
1033 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1034 omp_clause_mask::operator ==): New methods.
1035 (enum c_omp_clause_split): New.
1036 (c_finish_omp_taskgroup): New prototype.
1037 (c_finish_omp_atomic): Add swapped argument.
1038 (c_finish_omp_for): Add code argument.
1039 (c_omp_split_clauses): New prototype.
1040 (c_split_parallel_clauses): Removed.
1041 (c_omp_declare_simd_clauses_to_numbers,
1042 c_omp_declare_simd_clauses_to_decls): New prototypes.
1043 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1044 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1045 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1046 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1047 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1048 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1049 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1050 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1051 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1052 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1053 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1054 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1055 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1056 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1057 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1058 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1059 PRAGMA_OMP_CLAUSE_UNIFORM.
1060
826cacfe
MG
10612013-10-09 Marc Glisse <marc.glisse@inria.fr>
1062
1063 PR tree-optimization/20318
1064 * c-common.c (handle_returns_nonnull_attribute): New function.
1065 (c_common_attribute_table): Add returns_nonnull.
1066
2284b034
MG
10672013-10-03 Marc Glisse <marc.glisse@inria.fr>
1068
1069 PR c++/19476
1070 * c.opt (fcheck-new): Move to common.opt.
1071
b56e9788
MP
10722013-09-25 Marek Polacek <polacek@redhat.com>
1073 Jakub Jelinek <jakub@redhat.com>
1074
1075 PR sanitizer/58413
1076 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1077 an expression if we can prove it is correct.
1078 (ubsan_instrument_division): Likewise. Remove unnecessary
1079 check.
1080
ce6923c5
MP
10812013-09-18 Marek Polacek <polacek@redhat.com>
1082
1083 PR sanitizer/58411
1084 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1085 Declare it.
1086 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1087
fb5610fb
IS
10882013-09-14 Iain Sandoe <iain@codesourcery.com>
1089
1090 PR target/48094
1091 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1092 fobjc-gc, freplace-objc-classes): Accept for LTO.
1093
88b0e79e
JC
10942013-09-13 Jacek Caban <jacek@codeweavers.com>
1095
1096 * c-target.def: New hook
1097
c9b0866a
PC
10982013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1099
1100 PR c++/43452
1101 * c.opt (Wdelete-incomplete): Add.
1102
0af94e6f
JR
11032013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1104
1105 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1106 (vector_types_compatible_elements_p): New function.
1107 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1108 declaration.
1109 (vector_types_compatible_elements_p): Declare.
1110
7c26172c
GDR
11112013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1112
1113 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1114 a virtual member function.
1115 (pp_simple_type_specifier): Remove.
1116 (pp_c_type_specifier): Likewise.
1117 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1118 Rename from pp_c_type_specifier. Adjust.
1119 (c_pretty_printer::c_pretty_printer): Do not assign to
1120 simple_type_specifier.
1121
20059c8b
GDR
11222013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1123
1124 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1125 member function.
1126 (c_pretty_printer::storage_class_specifier): Likewise.
1127 (c_pretty_printer::initializer): Likewise.
1128 (pp_declaration): Remove.
1129 (pp_declaration_specifiers): Likewise.
1130 (pp_abstract_declarator): Likewise.
1131 (pp_declarator): Likewise.
1132 (pp_type_id): Likewise.
1133 (pp_statement): Likewise.
1134 (pp_constant): Likewise.
1135 (pp_id_expression): Likewise.
1136 (pp_primary_expression): Likewise.
1137 (pp_unary_expression): Likewise.
1138 (pp_multiplicative_expression): Likewise.
1139 (pp_conditional_expression): Likewise.
1140 (pp_assignment_expression): Likewise.
1141 (pp_expression): Likewise.
1142 (pp_c_type_id): Likewise.
1143 (pp_c_storage_class_specifier): Likewise.
1144 * c-pretty-print.c (pp_c_type_cast): Tidy.
1145 (pp_c_pointer): Likewise.
1146 (pp_c_type_specifier): Likewise.
1147 (pp_c_parameter_type_list): Likewise.
1148 (pp_c_function_definition): Likewise.
1149 (pp_c_init_declarator): Likewise.
1150 (pp_c_initializer_list): Likewise.
1151 (pp_c_constructor_elts): Likewise.
1152 (c_pretty_printer::direct_abstract_declarator): Likewise.
1153 (c_pretty_printer::declaration_specifiers): Likewise.
1154 (c_pretty_printer::primary_expression): Likewise.
1155 (c_pretty_printer::postfix_expression): Likewise.
1156 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1157 (c_pretty_printer::storage_class_specifier): Rename from
1158 pp_c_storage_class_specifier.
1159 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1160 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1161 storage_class_specifier, initializer, offset_list, flags.
1162
de5a5fa1
MP
11632013-08-30 Marek Polacek <polacek@redhat.com>
1164
1165 * c-ubsan.c: New file.
1166 * c-ubsan.h: New file.
1167
8f0e4d72
GDR
11682013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1169
1170 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1171 member function.
1172 (c_pretty_printer::declaration_specifiers): Likewise.
1173 (c_pretty_printer::declarator): Likewise.
1174 (c_pretty_printer::abstract_declarator): Likewise.
1175 (c_pretty_printer::direct_abstract_declarator): Likewise.
1176 (c_pretty_printer::direct_declarator): Likewise.
1177 (c_pretty_printer::function_specifier): Likewise.
1178 (pp_declaration): Adjust.
1179 (pp_declaration_specifiers): Likewise.
1180 (pp_abstract_declarator): Likewise.
1181 (pp_direct_declarator): Likewise.
1182 (pp_function_specifier): Likewise.
1183 (pp_direct_abstract_declarator): Remove as unused.
1184 (pp_c_declaration): Remove.
1185 (pp_c_declaration_specifiers): Likewise.
1186 (pp_c_declarator): Likewise.
1187 (pp_c_direct_declarator): Likewise.
1188 (pp_c_function_specifier): Likewise.
1189 (pp_c_direct_abstract_declarator): Likewise.
1190 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1191 from pp_c_abstract_declarator. Adjust.
1192 (c_pretty_printer::direct_abstract_declarator): Rename from
1193 pp_c_direct_abstract_declarator. Adjust.
1194 (c_pretty_printer::function_specifier): Rename from
1195 pp_c_function_specifier. Adjust.
1196 (c_pretty_printer::declaration_specifiers): Rename from
1197 pp_c_declaration_specifiers. Adjust.
1198 (c_pretty_printer::direct_declarator): Rename from
1199 pp_c_direct_declarator. Adjust.
1200 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1201 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1202 (c_pretty_printer::c_pretty_printer): Do not assign to
1203 declaration, declaration_specifiers, declarator,
1204 direct_declarator, direct_abstract_declarator, function_specifier.
1205
00d34d3a
GDR
12062013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1207
1208 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1209 virtual member function.
1210 (c_pretty_printer::multiplicative_expression): Likewise.
1211 (c_pretty_printer::conditional_expression): Likewise.
1212 (c_pretty_printer::assignment_expression): Likewise.
1213 (c_pretty_printer::expression): Likewise.
1214 (pp_unary_expression): Adjust.
1215 (pp_multiplicative_expression): Likewise.
1216 (pp_assignment_expression): Likewise.
1217 (pp_conditional_expression): Likewise.
1218 (pp_expression): Likewise.
1219 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1220 from pp_c_unary_expression. Adjust.
1221 (c_pretty_printer::multiplicative_expression): Rename from
1222 pp_c_multiplicative_expression. Adjust.
1223 (c_pretty_printer::conditional_expression): Rename from
1224 pp_c_conditional_expression. Adjust.
1225 (c_pretty_printer::assignment_expression): Rename from
1226 pp_c_assignment_expression. Adjust.
1227 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1228 (c_pretty_printer::c_pretty_printer): Do not assign to
1229 unary_expression, multiplicative_expression,
1230 conditional_expression, expression.
1231
fb22178f
GDR
12322013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1233
1234 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1235 virtual member function.
1236 (pp_postfix_expression): Adjust.
1237 (pp_c_postfix_expression): Remove.
1238 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1239 from pp_c_postfix_expression. Adjust.
1240 (c_pretty_printer::c_pretty_printer): Do not assign to
1241 postfix_expression.
1242
7ecc2600
GDR
12432013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1244
1245 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1246 virtua member function.
1247 (pp_primary_expression): Adjust.
1248 (pp_c_primary_expression): Remove.
1249 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1250 from pp_c_primary_expression. Adjust.
1251 (pp_c_initializer_list): Use pp_primary_expression.
1252 (c_pretty_printer::c_pretty_printer): Do not assign to
1253 primary_expression.
1254
0691175f
GDR
12552013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1256
1257 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1258 * c-pretty-print.c (M_): Remove.
1259 (c_pretty_printer::translate_string): Define.
1260 (pp_c_type_specifier): Use it.
1261 (pp_c_primary_expression): Likewise.
1262 (pp_c_expression): Likewise.
1263
66dfe4c4
GDR
12642013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1265
1266 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1267 virtual function.
1268 (pp_c_id_expression): Remove.
1269 (pp_id_expression): Adjust.
1270 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1271 pp_c_id_expression. Adjust.
1272 (pp_c_postfix_expression): Use pp_id_expression.
1273 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1274
ca43e9d5
GDR
12752013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1276
1277 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1278 member function.
1279 (pp_constant): Adjust.
1280 (pp_c_constant): Remove.
1281 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1282 pp_c_constant. Adjust.
1283 (pp_c_constant)
1284 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1285 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1286
da6ca2b5
GDR
12872013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1288
1289 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1290 (c_pretty_printer::c_pretty_printer): Declare.
1291 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1292 c_pretty_printer_init. Adjust.
1293 (print_c_tree): Do not call c_pretty_printer_init.
1294 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1295
65a372f4
AC
12962013-08-09 Arnaud Charlet <charlet@adacore.com>
1297
1298 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1299
fd9b0f32
PC
13002013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1301
1302 PR c++/58080
1303 * c-common.c (pointer_int_sum): Add bool parameter.
1304 * c-common.h (pointer_int_sum): Adjust declaration.
1305
e0aec1e9
GDR
13062013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1307
1308 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1309 c_pretty_printer variable.
1310
b066401f
GDR
13112013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1312
1313 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1314 (pp_base): Remove.
1315 (pp_c_base): Likewise. Adjust users.
1316 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1317 (pp_c_whitespace): Do not call pp_base.
1318 (pp_c_left_paren): Likewise.
1319 (pp_c_right_paren): Likewise.
1320 (pp_c_left_brace): Likewise.
1321 (pp_c_right_brace): Likewise.
1322 (pp_c_left_bracket): Likewise.
1323 (pp_c_right_bracket): Likewise.
1324 (pp_c_dot): Likewise.
1325 (pp_c_ampersand): Likewise.
1326 (pp_c_star): Likewise.
1327 (pp_c_arrow): Likewise.
1328 (pp_c_semicolon): Likewise.
1329 (pp_c_complement): Likewise.
1330 (pp_c_exclamation): Likewise.
1331 (pp_c_direct_declarator): Likewise.
1332 (pp_c_ws_string): Likewise.
1333 (pp_c_identifier): Likewise.
1334 (pp_c_statement): Likewise.
1335 (print_c_tree): Likewise.
1336
65e5a578
ESR
13372013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1338
1339 PR c++/58072
1340 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1341 provide useful error strings.
1342
137a1a27
GDR
13432013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1344
1345 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1346 printer functions instead of pp_string or operators and punctuators.
1347 (dump_generic_ada_node): Likewise.
1348 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1349 (pp_c_relational_expression): Likewise.
1350 (pp_c_logical_or_expression): Likewise.
1351
07838b13
GDR
13522013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1353
1354 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1355 functions instead of pp_character.
1356 (pp_ada_tree_identifier): Likewise.
1357 (dump_ada_double_name): Likewise.
1358 (dump_ada_function_declaration): Likewise.
1359 (dump_ada_array_domains): Likewise.
1360 (dump_template_types): Likewise.
1361 (dump_generic_ada_node): Likewise.
1362 (print_ada_declaration): Likewise.
1363 (print_ada_struct_decl): Likewise.
1364 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1365
433cc7b0
TT
13662013-07-23 Tom Tromey <tromey@redhat.com>
1367
1368 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1369 * c-common.c (c_common_reswords): Add _Generic.
1370
688010ba
OB
13712013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1372
1373 * c-common.c: Fix typos.
1374 * c-common.h: Likewise.
1375
2a99e5e6
LL
13762013-07-13 Lubos Lunak <l.lunak@suse.cz>
1377
1378 PR c++/55203
1379 * c-common.c (c_common_attribute_table): Add warn_unused.
1380 (handle_warn_unused_attribute): New.
1381
c26302d5
JJ
13822013-07-10 Jakub Jelinek <jakub@redhat.com>
1383
1384 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1385 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1386
dfeadaa0
PC
13872013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1388
1389 PR c++/57869
1390 * c.opt: Add Wconditionally-supported.
1391
6a2fa4b2
GS
13922013-07-08 Graham Stott <graham.stott@btinternet.com>
1393
1394 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1395 unused variables l_length and l_node.
1396
ecdbd01a 13972013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
1398
1399 PR c/57821
1400 * c-common.c (complete_array_type): Delay folding first index
1401 like other indices. When folding, check for index overflow.
1402
bedc293e
MG
14032013-06-27 Marc Glisse <marc.glisse@inria.fr>
1404
1405 PR c++/57509
1406 * c-common.h (c_build_vec_perm_expr): New complain argument.
1407 * c-common.c (c_build_vec_perm_expr): Likewise.
1408 Use save_expr also in C++.
1409
604b2bfc
GDR
14102013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1411
1412 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1413 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1414 * c-opts.c (c_common_post_options): Likewise.
1415
dfeadaa0 14162013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
1417
1418 * array-notation-common.c (length_mismatch_in_expr): Changed the
1419 parameter type's from a dynamic array to a vec_tree. Also removed
1420 the size parameters.
1421 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1422 the change above.
1423
2ce86d2e
BI
14242013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1425
1426 * c-common.h (struct cilkplus_an_parts): New structure.
1427 (struct cilkplus_an_loop_parts): Likewise.
1428 (cilkplus_extract_an_triplets): New prototype.
1429 (fix_sec_implicit_args): Likewise.
1430 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1431 (fix_sec_implicit_args): Likewise.
604b2bfc 1432
07a6825b
BI
14332013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
1434
1435 * array-notation-common.c (find_inv_trees): Removed an unwanted
1436 typecasting.
1437 * c-common.h (struct inv_list::additional_tcodes): Changed type from
1438 enum rid to enum tree_code.
1439
08346abd
JH
14402013-06-11 Jan Hubicka <jh@suse.cz>
1441
1442 * c-common.c (handle_alias_ifunc_attribute): Do not set
1443 DECL_EXTERNAL for weakref variables.
1444 * c-pragma.c (handle_pragma_weak): Make sure aliases
1445 are not declared as external.
1446
d60f1706
BI
14472013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1448
1449 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1450 function from c/c-array-notation.c.
1451 (is_cilkplus_reduce_builtin): Likewise.
1452 (find_rank): Likewise.
1453 (extract_array_notation_exprs): Likewise.
1454 (replace_array_notations): Likewise.
1455 (find_inv_trees): Likewise.
1456 (replace_inv_trees): Likewise.
1457 (contains_array_notation_expr): Likewise.
1458 (find_correct_array_notation_type): Likewise.
1459 * c-common.h (struct inv_list): Moved this struct from the file
1460 c/c-array-notation.c and added a new field called additional tcodes.
1461 (length_mismatch_in_expr_p): New prototype.
1462 (is_cilkplus_reduce_builtin): Likewise.
1463 (find_rank): Likewise.
1464 (extract_array_notation_exprs): Likewise.
1465 (replace_array_notation): Likewise.
1466 (find_inv_trees): Likewise.
1467 (replace_inv_trees): Likewise.
1468 (find_correct_array_notation_type): Likewise.
dfeadaa0 1469
36536d79
BI
14702013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1471
1472 * c-common.c (c_define_builtins): When cilkplus is enabled, the
1473 function array_notation_init_builtins is called.
1474 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1475 * c-common.def (ARRAY_NOTATION_REF): New tree.
1476 * c-common.h (build_array_notation_expr): New function declaration.
1477 (build_array_notation_ref): Likewise.
1478 (extract_sec_implicit_index_arg): New extern declaration.
1479 (is_sec_implicit_index_fn): Likewise.
1480 (ARRAY_NOTATION_CHECK): New define.
1481 (ARRAY_NOTATION_ARRAY): Likewise.
1482 (ARRAY_NOTATION_START): Likewise.
1483 (ARRAY_NOTATION_LENGTH): Likewise.
1484 (ARRAY_NOTATION_STRIDE): Likewise.
1485 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1486 ARRAY_NOTATION_REF.
1487 (pp_c_expression): Likewise.
1488 * c.opt (flag_enable_cilkplus): New flag.
1489 * array-notation-common.c: New file.
1490
f7716d57
JJ
14912013-05-14 Jakub Jelinek <jakub@redhat.com>
1492
1493 PR c++/57274
1494 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1495
a5e0cd1d
MG
14962013-05-10 Marc Glisse <marc.glisse@inria.fr>
1497
1498 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1499 vectors.
1500
f6bc1c4a
HS
15012013-05-07 Han Shen <shenhan@google.com>
1502
1503 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1504
3f12f6e9
SKS
15052013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1506
1507 * c-common.c (check_user_alignment): Emit error for negative values.
1508
61949153
PC
15092013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1510
1511 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1512
e93e18e9
PC
15132013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1514
1515 * c-cppbuiltin.c (c_cpp_builtins): Do not define
1516 __GXX_EXPERIMENTAL_CXX1Y__.
1517
44d90fe1
PC
15182013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1519 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1520
1521 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1522 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1523 to simply use OPT_Wpointer_arith.
1524 (c_sizeof_or_alignof_type): Likewise.
1525
13f39b2e
PC
15262013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1527
1528 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1529
4b84d650
JJ
15302013-04-12 Jakub Jelinek <jakub@redhat.com>
1531
1532 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1533 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1534 specifiers.
1535
fb037b5d
SB
15362013-04-07 Steven Bosscher <steven@gcc.gnu.org>
1537
1538 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1539
4e856798
PC
15402013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1541
1542 * c-common.c (pointer_int_sum): Remove dead code.
1543
4b1baac8
RS
15442013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
1545
1546 PR middle-end/56524
1547 * c-common.c (handle_optimize_attribute): Don't call
1548 save_optabs_if_changed.
1549
0b50e654
JJ
15502013-03-05 Jakub Jelinek <jakub@redhat.com>
1551
1552 PR middle-end/56461
1553 * c-pch.c (pch_init): Free target_validity at the end.
1554
48c41403
JJ
15552013-03-04 Jakub Jelinek <jakub@redhat.com>
1556
1557 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1558
e664c61c
KS
15592013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
1560 Jakub Jelinek <jakub@redhat.com>
1561
1562 PR sanitizer/56454
1563 * c-common.c (handle_no_sanitize_address_attribute): New function.
1564 (c_common_attribute_table): Add no_sanitize_address attribute.
1565 (handle_no_address_safety_analysis_attribute): Add
1566 no_sanitize_address attribute, not no_address_safety_analysis
1567 attribute.
1568
a475fd3d 15692013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
1570
1571 PR target/52555
1572 * c-common.c (handle_optimize_attribute): Call
1573 save_optabs_if_changed.
1574
f6007d99
JJ
15752013-02-18 Jakub Jelinek <jakub@redhat.com>
1576 Steven Bosscher <steven@gcc.gnu.org>
1577
1578 PR pch/54117
1579 * c-opts.c (c_common_post_options): If debug info is enabled
1580 and non-dwarf*, refuse to load PCH files and when writing PCH
1581 file warn.
1582
cf35e2b1
JJ
15832013-02-05 Jakub Jelinek <jakub@redhat.com>
1584
1585 PR middle-end/56167
1586 * c-common.c (handle_error_attribute): Fix condition.
1587
32887460
JJ
15882013-01-30 Jakub Jelinek <jakub@redhat.com>
1589
1590 PR c++/55742
1591 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1592
5af057d8
JM
15932013-01-18 Jason Merrill <jason@redhat.com>
1594
1595 PR target/54908
1596 * c.opt (-fextern-tls-init): New.
1597 * c-opts.c (c_common_post_options): Handle it.
1598
cc83c823
JJ
15992013-01-09 Jakub Jelinek <jakub@redhat.com>
1600
1601 PR c/48418
1602 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1603 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1604 and is either negative or bigger or equal to type precision
1605 of the first operand.
1606
a859517f
MP
16072012-12-03 Marek Polacek <polacek@redhat.com>
1608
1609 PR c/55570
1610 * c-common.c (check_user_alignment): Swap order of tests,
1611 check TREE_CODE first.
1612
2d7aa578
ESR
16132012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
1614
1615 PR c++/52654
1616 * c-common.h (overflow_type): New enum.
1617 (build_userdef_literal): Add overflow_type argument.
1618 (tree_userdef_literal): Add overflow_type.
1619 (USERDEF_LITERAL_OVERFLOW): New access macro.
1620 * c-common.c (build_userdef_literal): Add overflow_type
1621 argument.
1622 * c-lex.c (c_lex_with_flags): Add overflow_type to
1623 build_userdef_literal calls.
1624 (interpret_integer, interpret_float): Add overflow_type argument.
1625
cc3c4f62
RB
16262012-11-28 Richard Biener <rguenther@suse.de>
1627
1628 PR c/35634
1629 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1630 here and use a type with proper overflow behavior for types that would
1631 need to be promoted for the arithmetic.
1632
77bc5132
JJ
16332012-11-23 Jakub Jelinek <jakub@redhat.com>
1634
1635 PR sanitizer/55435
1636 * c-common.c (handle_no_address_safety_analysis_attribute): New
1637 function.
1638 (c_common_attribute_table): Add no_address_safety_analysis.
1639
5dc99c46
SB
16402012-11-16 Simon Baldwin <simonb@google.com>
1641
1642 * c.opt: Add f[no-]canonical-system-headers.
1643 * c-opts.c (c_common_handle_option): Handle
1644 OPT_fcanonical_system_headers.
1645
a4a0016d
ESR
16462012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
1647
1648 PR c++/54413
1649 * c-opts.c (c_common_handle_option): Set new flags.
1650 * c.opt: Describe new flags.
1651
7dbb85a7
JM
16522012-11-09 Jason Merrill <jason@redhat.com>
1653
1654 * c.opt (Wabi-tag): New.
1655
ad7bac31
AK
16562012-11-09 Andi Kleen <ak@linux.intel.com>
1657
1658 PR 55139
1659 * c-common.c (get_atomic_generic_size): Mask with
1660 MEMMODEL_MASK
1661
7332899a
MLI
16622012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1663
1664 PR c/53063
1665 * c.opt (Wformat): Make it Alias Wformat=1.
1666 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1667 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1668 LangEnabledBy.
1669 (Wformat=): RejectNegative. Use LangEnabledBy.
1670 (Wnonnull): Use LangEnabledBy.
1671 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1672 * c-format.c (set_Wformat): Delete.
1673 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1674 (maybe_read_dollar_number): Likewise.
1675 (avoid_dollar_number): Likewise.
1676 (finish_dollar_format_checking): Likewise.
1677 (check_format_info): Likewise.
1678 (check_format_info_main): Likewise.
1679 (check_format_types): Likewise.
1680 (format_type_warning): Likewise.
1681 * c-common.c (int): Likewise.
1682 (check_function_sentinel): Likewise.
1683 * c-common.h (warn_format,set_Wformat): Do not declare here.
1684
34a180a6
MLI
16852012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1686
1687 PR c/53063
1688 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1689 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1690 Use LangEnabledBy.
1691 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1692 common.opt.
1693 (Wvariadic-macros): Init(1).
1694 * c-opts.c (c_common_handle_option): Do not handle them
1695 explicitly.
1696 (c_common_post_options): Likewise.
1697 (sanitize_cpp_opts): warn_unused_macros is now
1698 cpp_warn_unused_macros.
1699 (push_command_line_include): Likewise.
1700 * c-common.c (warn_unknown_pragmas): Do not define.
1701 * c-common.h (warn_unknown_pragmas): Do not declare.
1702
3f46d6a5
MLI
17032012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1704
1705 PR c/51294
1706 * c-common.c (conversion_warning): Handle conditional expressions.
1707
880661a4
JW
17082012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1709
1710 PR c++/54930
1711 * c.opt (Wreturn_local_addr): Define new option.
1712
4514a96b
JM
17132012-10-25 Jason Merrill <jason@redhat.com>
1714
f14edc1a
JM
1715 * c.opt (Wvirtual-move-assign): New.
1716
4514a96b
JM
1717 * c.opt (Winherited-variadic-ctor): New.
1718
93100c6b
MG
17192012-10-25 Marc Glisse <marc.glisse@inria.fr>
1720
1721 PR c++/54427
1722 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1723
1efcb8c6
JM
17242012-10-23 Joseph Myers <joseph@codesourcery.com>
1725
1726 * c-common.h (pch_cpp_save_state): Declare.
1727 * c-target.def (c_preinclude): New hook.
1728 * c-opts.c (done_preinclude): New.
1729 (push_command_line_include): Handle default preincluded header.
1730 (cb_file_change): Call pch_cpp_save_state when calling
1731 push_command_line_include.
1732 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1733 (pch_cpp_save_state): New.
1734 (pch_init): Call pch_cpp_save_state conditionally, instead of
1735 calling cpp_save_state.
1736
4a0ae68e
MLI
17372012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1738
1739 PR c/53063
1740 PR c/40989
1741 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1742 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1743 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1744 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1745 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1746 * c-opts.c (c_common_handle_option): Remove explicit handling from
1747 here.
1748 (c_common_post_options): Likewise.
1749
67e4210b
EB
17502012-10-18 Eric Botcazou <ebotcazou@adacore.com>
1751
1752 * c-ada-spec.c (LOCATION_COL): Delete.
1753 (compare_location): New function.
1754 (compare_node): Use it.
1755 (compare_comment): Likewise.
1756
65d4f2cd
MLI
17572012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1758
1759 PR c/53063
1760 PR c/40989
1761 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1762 * c-opts.c (c_common_handle_option): Do not set them here. Add
1763 comment.
1764 (c_common_post_options): Likewise.
1765
909881cb
EB
17662012-10-16 Eric Botcazou <ebotcazou@adacore.com>
1767
1768 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1769 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1770 Remove POINTER_TYPE handling, add large unsigned handling and use
1771 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1772
3a785c97
JJ
17732012-10-12 Jakub Jelinek <jakub@redhat.com>
1774
1775 PR c/54381
1776 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1777 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1778 locs and array of 3 trees instead of just single loc and single
1779 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
1780 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1781 For *cmp* builtins that take two sources strings report warnings
1782 about first and second source, not about destination and source.
1783
5e54f81d
MG
17842012-10-12 Marc Glisse <marc.glisse@inria.fr>
1785
1786 PR c++/53055
1787 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1788
f5b02f1e
EB
17892012-10-11 Eric Botcazou <ebotcazou@adacore.com>
1790
1791 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1792 declaring something coming from another file.
1793
b46dbc6c
AC
17942012-10-10 Arnaud Charlet <charlet@adacore.com>
1795
f5b02f1e 1796 PR ada/54845
b46dbc6c
AC
1797 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1798
5d9de0d0
PC
17992012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1800
1801 PR c++/54194
1802 * c-common.c (warn_about_parentheses): Add location_t parameter;
1803 use EXPR_LOC_OR_LOC.
1804 * c-common.h: Update declaration.
1805
a212e43f
MG
18062012-10-09 Marc Glisse <marc.glisse@inria.fr>
1807
1808 PR c++/54427
1809 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1810 more operations. Make error messages optional.
1811 * c-common.h (enum stv_conv): Moved from c-typeck.c.
1812 (scalar_to_vector): Declare.
1813
b1db7f91
JM
18142012-10-08 Jason Merrill <jason@redhat.com>
1815
1816 * c-common.c (c_common_reswords): Add thread_local.
1817
e28d52cf
DS
18182012-10-08 Dodji Seketeli <dodji@redhat.com>
1819
1820 PR c++/53528 C++11 attribute support
1821 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1822 new functions.
1823 * c-common.c (check_cxx_fundamental_alignment_constraints): New
1824 static function.
1825 (handle_aligned_attribute): In choose strictest alignment
1826 among many. Use new check_cxx_fundamental_alignment_constraints.
1827 (handle_transparent_union_attribute): In c++11 attribute syntax,
1828 don't look through typedefs.
1829
3b78de56
AC
18302012-10-04 Arnaud Charlet <charlet@adacore.com>
1831
1832 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1833 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1834 out of dumpfile.h.
1835
6040bb5f
DC
18362012-09-25 Dehao Chen <dehao@google.com>
1837
1838 PR middle-end/54645
3b78de56 1839 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
1840 map when read in the pch.
1841
0b07a57e
AC
18422012-09-18 Arnaud Charlet <charlet@adacore.com>
1843
1844 * c-ada-spec.c: Style fixes.
1845
da5182be
TQ
18462012-09-18 Thomas Quinot <quinot@adacore.com>
1847
1848 * c.opt (-fada-spec-parent): Define new command line switch.
1849 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1850 is specified, generate binding spec as a child of the specified unit.
1851
0ccb505d
PC
18522012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
1853 Manuel López-Ibáñez <manu@gcc.gnu.org>
1854
1855 PR c++/53210
1856 * c.opt ([Winit-self]): Enabled by -Wall in C++.
1857
c583af79
AC
18582012-08-23 Arnaud Charlet <charlet@adacore.com>
1859
1860 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1861 for pointers, and add missing Convention C pragma.
1862 (print_ada_struct_decl): Add missing aliased keyword.
1863 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1864
1a4049e7
JJ
18652012-08-17 Jakub Jelinek <jakub@redhat.com>
1866
1867 * c-common.c (sizeof_pointer_memaccess_warning): New function.
1868 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1869 * c-opts.c (c_common_handle_option): Enable it for -Wall.
1870 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1871 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1872
70b5e7dc
RG
18732012-08-10 Richard Guenther <rguenther@suse.de>
1874
1875 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1876
f8923f7e
SB
18772012-08-07 Steven Bosscher <steven@gcc.gnu.org>
1878
1879 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1880 instead of separate pp_newline and pp_flush.
1881 (print_c_tree): Likewise.
1882
e45abe1f
RH
18832012-07-26 Richard Henderson <rth@redhat.com>
1884
1885 * c-common.c (handle_hot_attribute): Allow labels.
1886 (handle_cold_attribute): Likewise.
1887
332f1d24
JJ
18882012-07-20 Jakub Jelinek <jakub@redhat.com>
1889
1890 PR c++/28656
1891 * c-common.c (check_function_nonnull): Handle multiple nonnull
1892 attributes properly.
1893
7ee2468b
SB
18942012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1895
1896 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1897 * c-ada-spec.c: Likewise.
1898 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1899
ee7b28eb
SB
19002012-07-14 Steven Bosscher <steven@gcc.gnu.org>
1901
1902 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1903 Remove code conditional on it.
1904
6bdf3519
SB
19052012-07-11 Steven Bosscher <steven@gcc.gnu.org>
1906
1907 * c-gimplify.c: Do not include basic-block.h.
1908 * c-common.c: Do not include linfuncs.h.
1909
532aafad
SB
19102012-07-08 Steven Bosscher <steven@gcc.gnu.org>
1911
1912 * c-common.h: Include tree.h.
1913
8d0d1915
JM
19142012-07-02 Jason Merrill <jason@redhat.com>
1915
1916 PR c++/53524
1917 * c-common.c (get_priority): Call default_conversion.
1918
fbc873ad
UB
19192012-07-01 Uros Bizjak <ubizjak@gmail.com>
1920
1921 * c-pch.c (c_common_write_pch): Remove unused variables.
1922
d4a10d0a
SB
19232012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1924
1925 * cppspec.c: Moved from gcc/ to here.
1926
6f3a2e23
KT
19272012-06-27 Kai Tietz <ktietz@redhat.com>
1928
1929 PR preprocessor/37215
1930 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1931
8ca92d04
SB
19322012-06-21 Steven Bosscher <steven@gcc.gnu.org>
1933
1934 * c-common.h (c_common_print_pch_checksum): Remove.
1935 * c-pch.c: Do not include output.h.
1936 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1937 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1938 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1939 (struct c_pch_header): Remove.
1940 (get_ident): Update gpch version.
1941 (pch_init): Do not print executable_checksum to asm_out_file.
1942 Do not fail if there is no asm_out_file to read back from. Set
1943 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1944 (c_common_write_pch): Verify that nothing was written to asm_out_file
1945 since pch_init was called. Do not write a c_pch_header, and do not
1946 copy from asm_out_file to the PCH.
1947 (c_common_read_pch): Do not read a c_pch_header, and do not restore
1948 the content of asm_out_file from the PCH.
1949 (c_common_print_pch_checksum): Remove.
1950 * c-opts.c (c_common_init): Print out executable_checksum directly.
1951
70f42967
SB
19522012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1953
1954 * c-target.def (objc_declare_unresolved_class_reference,
1955 objc_declare_class_definition): Add new hooks.
1956
a8781821
SB
19572012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1958
1959 * c-lex.c: Do not include output.h.
1960 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1961 Remove uses of ASM_OUTPUT_IDENT.
1962
9e1a8dd1
RR
19632012-06-15 Marc Glisse <marc.glisse@inria.fr>
1964
1965 PR c++/51033
1966 * c-common.h (c_build_vec_perm_expr): Move decl here.
1967 * c-common.c (c_build_vec_perm_expr): Move definition
1968 here.
1969
6f07a821
SB
19702012-06-06 Steven Bosscher <steven@gcc.gnu.org>
1971
1972 * c.opt (fconserve-space): Turn into a no-op.
1973
9faeb493 19742012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
1975
1976 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1977 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1978 both the start and end of the function.
1979
a4b7d13c
SB
19802012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1981
1982 * c-common.c: Do not include output.h.
1983 * c-pragma.c: Likewise.
1984
c265f413
SA
19852012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1986
1987 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1988 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1989 (lang_decl_name): Handle namespace decls.
1990
be7a421e
SB
19912012-05-31 Steven Bosscher <steven@gcc.gnu.org>
1992
1993 * c-ada-spec.c: Do not include output.h.
1994 * c-semantics.c: Likewise.
1995
65de6659
JM
19962012-05-29 Joseph Myers <joseph@codesourcery.com>
1997
1998 * c-common.c: Fix typo.
1999
ca5f4331
MM
20002012-05-29 Michael Matz <matz@suse.de>
2001
2002 * c-common.h (c_expand_decl): Remove prototype.
2003
4f7f7aca
MLI
20042012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2005
2006 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2007 * c-opts.c (c_common_handle_option): Remove code handling
2008 warn_missing_braces.
2009
4a792f9b
PC
20102012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2011
2012 PR c++/25137
2013 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2014 -Wmissing_braces.
2015
650dc14a
DS
20162012-05-22 Dodji Seketeli <dodji@redhat.com>
2017
2018 PR c++/53322
2019 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2020
9b095bf1
MLI
20212012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2022
2023 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2024 * c-opts.c (c_common_handle_option): Do not handle explicitly
2025 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2026
0b2c4be5
DS
20272012-05-16 Dodji Seketeli <dodji@redhat.com>
2028
2029 PR preprocessor/7263
2030 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2031 to cpp_classify_number. For diagnostics, use the precise location
2032 instead of the global input_location.
2033
a1bde5af
PC
20342012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2035
d02924ef 2036 PR c++/11856
a1bde5af
PC
2037 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2038
d1ede5f4
BS
20392012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2040
a1bde5af 2041 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 2042
f2bc201f
MLI
20432012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2044
2045 PR 53063
2046 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2047 Wreorder): Use LangEnabledBy.
2048 * c-opts.c (c_common_handle_option): Do not enable them
2049 explicitly. Call lang-specific generated functions.
2050 (c_common_post_options): Do not set them here.
2051
95744782
MLI
20522012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2053
2054 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2055 Wmissing-field-initializers,Wmissing-parameter-type,
2056 Wold-style-declaration,Woverride-init): Use EnabledBy.
2057 * c-opts.c (c_common_post_options): Do not set here explicitly.
2058
7d5a5747
MLI
20592012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2060
2061 PR 53063
2062 * c-opts.c (c_common_handle_option): Use handle_generated_option
2063 to enable sub-options.
2064
5a3c9cf2
PC
20652012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2066
2067 PR c++/53158
2068 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2069
3ac8781c
RG
20702012-05-10 Richard Guenther <rguenther@suse.de>
2071
2072 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2073 adjust commentary about TYPE_IS_SIZETYPE types.
2074
1e537948
MLI
20752012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2076
2077 PR c++/53261
2078 * c-common.c (warn_logical_operator): Check that argument of
2079 integer_zerop is not NULL.
2080
f2c4a785
MLI
20812012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2082
2083 PR c/43772
2084 * c-common.c (warn_logical_operator): Do not warn if either side
2085 is already true or false.
2086
50f305ca
MLI
20872012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2088
2089 PR c/51712
2090 * c-common.c (expr_original_type): New.
2091 (shorten_compare): Do not warn for enumeration types.
2092
0c3641b0
MLI
20932012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2094
2095 * c.opt (fpermissive): Add Var(flag_permissive).
2096
7edaa4d2
MG
20972012-04-30 Marc Glisse <marc.glisse@inria.fr>
2098
2099 PR c++/51033
2100 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2101 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2102
b9c8da34
DS
21032012-04-30 Dodji Seketeli <dodji@redhat.com>
2104
2105 Add -Wvarargs option
2106 * c.opt (Wvarargs): Define new option.
2107
e6c69da0
MLI
21082012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2109
2110 * c-common.c (check_function_arguments): Replace
2111 Wmissing-format-attribute with Wsuggest-attribute=format.
2112
90137d8f
MLI
21132012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2114
2115 * c.opt (Wsuggest-attribute=format): New. Alias of
2116 Wmissing-format-attribute.
2117 * c-format.c (decode_format_type): Replace
2118 Wmissing-format-attribute with Wsuggest-attribute=format.
2119 (check_function_format): Likewise.
2120
9faeb493 21212012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
2122
2123 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2124 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2125 * c.opt: Add Wliteral-suffix.
2126
c1771a20
MLI
21272012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2128
2129 PR c/44774
2130 * c.opt (Wpedantic): New.
2131 (pedantic): Alias Wpedantic.
2132 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2133 (c_common_post_options): Likewise.
2134 (sanitize_cpp_opts): Likewise.
2135 * c-lex.c (interpret_float): Likewise.
2136 * c-format.c (check_format_types): Likewise.
2137 * c-common.c (pointer_int_sum): Likewise.
2138 (c_sizeof_or_alignof_type): Likewise.
2139 (c_add_case_label): Likewise.
2140 (c_do_switch_warnings): Likewise.
2141 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2142
04b391c1
JM
21432012-04-15 Jason Merrill <jason@redhat.com>
2144
2145 PR c++/52818
2146 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2147 (C_STD_NAME): Distinguish between C++98 and C++11.
2148
ac868f29
EB
21492012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2150
2151 PR target/52624
2152 * c-common.h (uint16_type_node): Rename into...
2153 (c_uint16_type_node): ...this.
2154 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2155 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2156
fd4116f4
MLI
21572012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2158
2159 * c-common.c (warn_if_unused_value): Move definition to here.
2160 * c-common.h (warn_if_unused_value): Move declaration to here.
2161
573ac65e
WB
21622012-03-23 William Bader <williambader@hotmail.com>
2163
2164 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2165
552b8185
JM
21662012-03-20 Jason Merrill <jason@redhat.com>
2167
2168 * c-common.h (enum cxx_dialect): Add cxx1y.
2169 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2170 test.
2171 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2172 * c-opts.c (c_common_post_options): Likewise.
2173 (set_std_cxx1y): New.
2174 (c_common_handle_option): Call it.
2175 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2176
04398fa8
PC
21772012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2178
2179 PR c++/14710
2180 * c.opt ([Wuseless-cast]): Add.
2181
d2a12ae7
RG
21822012-03-16 Richard Guenther <rguenther@suse.de>
2183
2184 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2185
a12bf402
MLI
21862012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2187
2188 PR c++/44783
2189 * c.opt (ftemplate-backtrace-limit) Add.
2190
5c30094f
RO
21912012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2192
2193 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2194 handling.
2195 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2196 (init_pragma): Don't register extern_prefix.
2197
21fa2faf
RG
21982012-03-12 Richard Guenther <rguenther@suse.de>
2199
2200 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2201 (builtin_type_for_size): Likewise.
2202
e3793c6f
JJ
22032012-02-13 Jakub Jelinek <jakub@redhat.com>
2204
2205 PR c++/52215
2206 * c-common.c (sync_resolve_params): Don't decide whether to convert
2207 or not based on TYPE_SIZE comparison, convert whenever arg_type
2208 is unsigned INTEGER_TYPE.
2209
93286335
PC
22102012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2211
2212 PR c/52118
2213 * c.opt ([Wunused-local-typedefs]): Fix description.
2214
7a421706
MS
22152012-01-24 Mike Stump <mikestump@comcast.net>
2216
2217 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2218 exactly.
2219
ba9b1f11
RG
22202012-01-18 Richard Guenther <rguenther@suse.de>
2221
2222 * c-opts.c (c_common_post_options): Reset LTO flags if
2223 we are about to generate a PCH.
2224
465406be
PC
22252012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2226
2227 PR c++/51777
2228 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2229 use pp_unsigned_wide_integer.
2230
aee15221
RG
22312012-01-10 Richard Guenther <rguenther@suse.de>
2232
2233 PR middle-end/51806
2234 * c-opts.c (c_common_handle_option): Move -Werror handling
2235 to language independent code.
2236
5720c0dc
RG
22372012-01-05 Richard Guenther <rguenther@suse.de>
2238
2239 PR middle-end/51764
2240 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2241 from common.opt.
2242
73ac190a
PC
22432011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2244
2245 PR c++/51316
2246 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2247 of array types with an unknown bound.
2248
48b0b196
JM
22492011-12-20 Joseph Myers <joseph@codesourcery.com>
2250
2251 * c-common.c (flag_isoc99): Update comment to refer to C11.
2252 (flag_isoc1x): Change to flag_isoc11.
2253 * c-common.h (flag_isoc99): Update comment to refer to C11.
2254 (flag_isoc1x): Change to flag_isoc11.
2255 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2256 C11.
2257 * c-opts.c (set_std_c1x): Change to set_std_c11.
2258 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2259 Call set_std_c11.
2260 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2261 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2262 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2263 standard.
2264 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2265 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2266 (std=gnu1x): Make alias of std=gnu11.
2267
d58d6eb5
JM
22682011-12-19 Jason Merrill <jason@redhat.com>
2269
2270 PR c++/51228
2271 * c-common.c (handle_transparent_union_attribute): Check the first
2272 field if the type is complete.
2273
b3908fcc
JW
22742011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2275
2276 PR libstdc++/51365
2277 * c-common.c (RID_IS_FINAL): Add.
2278 * c-common.h (RID_IS_FINAL): Add.
2279
fea3ca91
IS
22802011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2281
2282 * c.opt (fgnu-runtime): Provide full description.
2283 (fnext-runtime): Likewise.
2284 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2285
62bad7cd
AM
22862011-11-28 Andrew MacLeod <amacleod@redhat.com>
2287
2288 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2289 predefines in one place. Add LOCK_FREE predefines.
2290 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2291 new func.
2292
c466c4ff
AM
22932011-11-24 Andrew MacLeod <amacleod@redhat.com>
2294
2295 PR c/51256
9faeb493 2296 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 2297 conditions
9faeb493
UB
2298 (resolve_overloaded_atomic_exchange,
2299 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
2300 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2301 error_mark_node for error conditions.
9faeb493 2302
a5952633
RG
23032011-11-08 Richard Guenther <rguenther@suse.de>
2304
2305 PR middle-end/51010
2306 c-family/
2307
0a35513e
AH
23082011-11-07 Richard Henderson <rth@redhat.com>
2309 Aldy Hernandez <aldyh@redhat.com>
2310 Torvald Riegel <triegel@redhat.com>
2311
2312 Merged from transactional-memory.
2313
2314 * c-common.c (handle_tm_wrap_attribute,
2315 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2316 (struct c_common_reswords): Added __transaction* keywords.
2317 (struct c_common_attribute_table): Added transaction* and tm_regparm
2318 attributes.
2319 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2320 masks.
2321 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2322 find_tm_attribute): Declare.
2323
6d87092d
JM
23242011-11-07 Jason Merrill <jason@redhat.com>
2325
2326 PR c++/35688
2327 * c-common.c, c-common.h: Revert yesterday's changes.
2328
8e7860a1
JM
23292011-11-06 Jason Merrill <jason@redhat.com>
2330
2331 PR c++/35688
2332 * c-common.c (decl_has_visibility_attr): Split out from...
2333 (c_determine_visibility): ...here.
2334 * c-common.h: Declare it.
2335
d19fa6b5
JM
23362011-11-06 Joseph Myers <joseph@codesourcery.com>
2337
2338 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2339 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2340 type.
2341 (check_user_alignment): New. Split out of
2342 handle_aligned_attribute. Disallow integer constants with
2343 noninteger types. Conditionally allow zero.
2344 (handle_aligned_attribute): Use check_user_alignment.
2345 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2346
86951993
AM
23472011-11-06 Andrew MacLeod <amacleod@redhat.com>
2348 Richard Henderson <rth@redhat.com>
2349
2350 Merged from cxx-mem-model.
2351
2352 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 2353 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
2354 parameters that are the same type size.
2355 (get_atomic_generic_size): New. Find size of generic
2356 atomic function parameters and do typechecking.
2357 (add_atomic_size_parameter): New. Insert size into parameter list.
2358 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2359 either __atomic_exchange_n or external library call.
9faeb493 2360 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 2361 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 2362 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
2363 __atomic_load_n or an external library call.
2364 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2365 __atomic_store_n or an external library call.
2366 (resolve_overloaded_builtin): Handle new __atomic builtins.
2367
cf9e9959
EB
23682011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2369
2370 PR c++/50608
2371 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2372 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2373 <INDIRECT_REF>: Return the argument.
2374 <ARRAY_REF>: Remove special code for negative offset.
2375 Call fold_build_pointer_plus instead of size_binop.
2376 (fold_offsetof): Remove STOP_REF argument and adjust.
2377 * c-common.h (fold_offsetof_1): Declare.
2378 (fold_offsetof): Remove STOP_REF argument.
2379
25339f10
JM
23802011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2381
2382 PR c++/50810
2383 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2384 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2385 Wnarrowing for C++0x and C++98.
2386 * c.opt ([Wnarrowing]): Update.
2387
89401152
PC
23882011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2389
2390 PR c++/44277
2391 * c.opt: Add Wzero-as-null-pointer-constant.
2392
97e3ad20
JM
23932011-10-31 Jason Merrill <jason@redhat.com>
2394
15694fdd
JM
2395 * c.opt (-fdeduce-init-list): Off by default.
2396
97e3ad20
JM
2397 PR c++/50920
2398 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2399 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2400 and -Wc++11-compat.
2401 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2402
fb9120e3
RAV
24032011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2404
2405 PR c++/30066
2406 * c.opt (fvisibility-inlines-hidden): Description change.
2407
3ce4f9e4
ESR
24082011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
2409
2410 Implement C++11 user-defined literals.
2411 * c-common.c (build_userdef_literal): New.
2412 * c-common.def: New tree code.
2413 * c-common.h (tree_userdef_literal): New tree struct and accessors.
2414 * c-lex.c (interpret_float): Add suffix parm.
2415 (c_lex_with_flags): Build literal tokens.
2416
5f53c243
PC
24172011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2418
2419 PR c++/50841
2420 Revert:
2421 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2422
2423 PR c++/50810
2424 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2425 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2426 Wnarrowing for C++0x and C++98.
2427 * c.opt ([Wnarrowing]): Update.
2428
263734e1
PC
24292011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2430
2431 PR c++/50810
2432 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2433 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2434 Wnarrowing for C++0x and C++98.
2435 * c.opt ([Wnarrowing]): Update.
2436
d2e312d7
PC
24372011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
2438
2439 PR c++/45385
2440 * c-common.c (conversion_warning): Remove code looking for
2441 artificial operands.
2442
d17687f6
DS
24432011-10-18 Dodji Seketeli <dodji@redhat.com>
2444
2445 PR bootstrap/50760
2446 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 2447 !NO_IMPLICIT_EXTERN_C.
d17687f6 2448
fc8396e9
PC
24492011-10-17 Michael Spertus <mike_spertus@symantec.com>
2450
2451 * c-common.c (c_common_reswords): Add __bases,
2452 __direct_bases.
2453 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2454
24552011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2456
2457 PR c++/50757
2458 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2459
847e697a
TT
24602011-10-15 Tom Tromey <tromey@redhat.com>
2461 Dodji Seketeli <dodji@redhat.com>
2462
2463 * c.opt (fdebug-cpp): New option.
2464 * c-opts.c (c_common_handle_option): Handle the option.
2465 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2466 output stream in parameter. Factorized from ...
2467 (maybe_print_line): ... this. Dump location debug information when
2468 -fdebug-cpp is in effect.
2469 (print_line_1): New static function. Takes an output stream in
2470 parameter. Factorized from ...
2471 (print_line): ... here. Dump location information when -fdebug-cpp
2472 is in effect.
2473 (scan_translation_unit): Dump location information when
2474 -fdebug-cpp is in effect.
2475
92582b75
TT
24762011-10-15 Tom Tromey <tromey@redhat.com>
2477 Dodji Seketeli <dodji@redhat.com>
2478
2479 * c.opt (ftrack-macro-expansion): New option. Handle it with and
2480 without argument.
2481 * c-opts.c (c_common_handle_option)<case
2482 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2483 cases. Handle -ftrack-macro-expansion with and without argument.
2484
46427374
TT
24852011-10-15 Tom Tromey <tromey@redhat.com>
2486 Dodji Seketeli <dodji@redhat.com>
2487
2488 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2489 (print_line, cb_define, do_line_change): Adjust to avoid touching
2490 the internals of struct line_map. Use the public API instead.
2491 * c-pch.c (c_common_read_pch): Likewise.
2492 * c-lex.c (fe_file_change): Likewise.
2493
fc8396e9
PC
24942011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
2495
2496 PR c++/17212
2497 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2498
24992011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
2500
2501 PR c++/33067
2502 * c-pretty-print.c (pp_c_floating_constant): Output
2503 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2504
e79983f4
MM
25052011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2506
2507 * c-common.c (def_builtin_1): Delete old interface with two
2508 parallel arrays to hold standard builtin declarations, and replace
2509 it with a function based interface that can support creating
2510 builtins on the fly in the future. Change all uses, and poison
2511 the old names. Make sure 0 is not a legitimate builtin index.
2512 * c-omp.c (c_finish_omp_barrier): Ditto.
2513 (c_finish_omp_taskwait): Ditto.
2514 (c_finish_omp_flush): Ditto.
2515
6637388f
TG
25162011-10-11 Tristan Gingold <gingold@adacore.com>
2517
2518 * c.opt: (fallow-parameterless-variadic-functions): New.
2519
3797cb21
DS
25202011-09-08 Dodji Seketeli <dodji@redhat.com>
2521
2522 PR c++/33255 - Support -Wunused-local-typedefs warning
2523 * c-common.h (struct c_language_function::local_typedefs): New
2524 field.
9faeb493
UB
2525 (record_locally_defined_typedef, maybe_record_typedef_use)
2526 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 2527 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
2528 (maybe_record_typedef_use)
2529 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
2530 * c.opt: Declare new -Wunused-local-typedefs flag.
2531
693ddb1b
EB
25322011-09-06 Eric Botcazou <ebotcazou@adacore.com>
2533
2534 PR middle-end/50266
2535 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2536 computations.
2537
830c740f
RG
25382011-09-05 Richard Guenther <rguenther@suse.de>
2539
2540 * c-common.c (complete_array_type): Use ssize_int (-1) instead
2541 of integer_minus_one_node for empty array upper bounds.
2542
892a371f
DS
25432011-08-28 Dodji Seketeli <dodji@redhat.com>
2544
2545 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2546 it's the first time it's being called on this main TU.
2547
0e3fdb48
RB
25482011-08-24 Richard Guenther <rguenther@suse.de>
2549
2550 PR c/49396
2551 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2552
25532011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
2554
2555 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2556 defined in cpp_init_builtins and c_cpp_builtins.
2557
d4a83c10
JM
25582011-08-19 Joseph Myers <joseph@codesourcery.com>
2559
2560 * c-common.c (c_common_reswords): Add __builtin_complex.
2561 * c-common.h (RID_BUILTIN_COMPLEX): New.
2562
bbceee64
JM
25632011-08-18 Joseph Myers <joseph@codesourcery.com>
2564
2565 * c-common.c (c_common_reswords): Add _Noreturn.
2566 (keyword_is_function_specifier): Handle RID_NORETURN.
2567 * c-common.h (RID_NORETURN): New.
2568
0e3a99ae
AS
25692011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2570
2571 * c-common.c (unsafe_conversion_p): New function. Check if it is
2572 unsafe to convert an expression to the type.
2573 (conversion_warning): Adjust, use unsafe_conversion_p.
2574 * c-common.h (unsafe_conversion_p): New function declaration.
2575
20906c66
JJ
25762011-08-02 Jakub Jelinek <jakub@redhat.com>
2577
2578 * c-common.h (c_finish_omp_atomic): Adjust prototype.
2579 (c_finish_omp_taskyield): New prototype.
2580 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2581 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2582 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
2583 or RHS1 have side-effects, evaluate those too in the right spot,
2584 if it is a decl and LHS is also a decl, error out if they
2585 aren't the same.
2586 (c_finish_omp_taskyield): New function.
2587 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2588 * c-pragma.c (omp_pragmas): Add taskyield.
2589 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2590 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2591 PRAGMA_OMP_CLAUSE_MERGEABLE.
2592
770e5a2e
DS
25932011-07-25 Dodji Seketeli <dodji@redhat.com>
2594
2595 * c-common.h (set_underlying_type): Remove parm name from
2596 declaration.
2597
1baae426
RG
25982011-07-25 Romain Geissler <romain.geissler@gmail.com>
2599
2600 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 2601
fcb21722
JM
26022011-07-22 Jason Merrill <jason@redhat.com>
2603
76f86d00
JM
2604 PR c++/49793
2605 * c.opt (Wnarrowing): New.
2606
3a636414
JM
2607 PR c++/30112
2608 * c-common.h: Declare c_linkage_bindings.
2609 * c-pragma.c (handle_pragma_redefine_extname): Use it.
2610
fcb21722
JM
2611 PR c++/49813
2612 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2613 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2614 as flag_isoc99 for 'restrict'.
2615 (pp_c_specifier_qualifier_list): Likewise for _Complex.
2616
02614448
ILT
26172011-07-21 Ian Lance Taylor <iant@google.com>
2618
2619 PR middle-end/49705
2620 * c-common.c (c_disable_warnings): New static function.
2621 (c_enable_warnings): New static function.
2622 (c_fully_fold_internal): Change local unused_p to bool. Call
2623 c_disable_warnings and c_enable_warnings rather than change
2624 c_inhibit_evaluation_warnings.
2625
34429675
JM
26262011-07-20 Jason Merrill <jason@redhat.com>
2627
2628 PR c++/6709 (DR 743)
2629 PR c++/42603 (DR 950)
2630 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2631 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2632 (CPP_DECLTYPE): New.
2633 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2634
5d49b6a7
RG
26352011-07-19 Richard Guenther <rguenther@suse.de>
2636
2637 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2638 * c-omp.c (c_finish_omp_for): Likewise.
2639
e84a58ff
EB
26402011-07-12 Eric Botcazou <ebotcazou@adacore.com>
2641
2642 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2643 body on the next line.
2644
329af3c7
JM
26452011-07-08 Jason Merrill <jason@redhat.com>
2646
4063e61b
JM
2647 PR c++/45437
2648 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2649
329af3c7
JM
2650 PR c++/49673
2651 * c-common.c (c_apply_type_quals_to_decl): Don't check
2652 TYPE_NEEDS_CONSTRUCTING.
2653
1a072294
RG
26542011-07-06 Richard Guenther <rguenther@suse.de>
2655
2656 * c-common.c (c_common_nodes_and_builtins):
2657 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2658
fce5dddd
RG
26592011-07-05 Richard Guenther <rguenther@suse.de>
2660
2661 * c-common.c (c_common_nodes_and_builtins): Build all common
2662 tree nodes first.
2663
45d439ac
JJ
26642011-06-27 Jakub Jelinek <jakub@redhat.com>
2665
56300785
JJ
2666 * c-common.h (c_tree_chain_next): New static inline function.
2667
45d439ac
JJ
2668 * c-common.c (check_builtin_function_arguments): Handle
2669 BUILT_IN_ASSUME_ALIGNED.
2670
e0a8ecf2
AM
26712011-06-21 Andrew MacLeod <amacleod@redhat.com>
2672
2673 * c-common.c: Add sync_ or SYNC__ to builtin names.
2674 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
2675
26762011-06-20 Pierre Vittet <piervit@pvittet.com>
2677
2678 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2679 handler.
2680 (gen_pragma_handler): New union.
2681 (internal_pragma_handler): New type.
2682 (c_register_pragma_with_data)
2683 (c_register_pragma_with_expansion_and_data): New functions.
2684
2685 * c-pragma.c (registered_pragmas, c_register_pragma_1)
2686 (c_register_pragma, c_register_pragma_with_expansion)
2687 (c_invoke_pragma_handler): Changed to work with
2688 internal_pragma_handler.
2689 (c_register_pragma_with_data)
2690 (c_register_pragma_with_expansion_and_data): New functions.
2691
677f3fa8
JM
26922011-06-14 Joseph Myers <joseph@codesourcery.com>
2693
2694 * c-common.c: Include common/common-target.h.
2695 (handle_section_attribute): Use
2696 targetm_common.have_named_sections.
2697 * c-cppbuiltin.c: Include common/common-target.h.
2698 (c_cpp_builtins): Use targetm_common.except_unwind_info.
2699
d7fc8c14
RG
27002011-06-10 Richard Guenther <rguenther@suse.de>
2701
2702 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2703 to print a IDENTIFIER_NODE.
2704
10e48e39
RO
27052011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2706 Joseph Myers <joseph@codesourcery.com>
2707
2708 * c.opt (fbuilding-libgcc): New option.
2709 * c-cppbuiltin.c (c_cpp_builtins): Define
2710 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2711
6976ae51
JM
27122011-06-07 Jason Merrill <jason@redhat.com>
2713
3ff60975
JM
2714 * c-common.c (max_tinst_depth): Lower default to 900.
2715
6976ae51
JM
2716 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2717
009db074
RG
27182011-06-07 Richard Guenther <rguenther@suse.de>
2719
2720 * c-common.c (c_common_nodes_and_builtins): Do not set
2721 size_type_node or call set_sizetype.
2722
b4592b92
DS
27232011-06-07 Dodji Seketeli <dodji@redhat.com>
2724
2725 PR debug/49130
2726 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 2727 type when using pointer comparison to compare types.
b4592b92 2728
014ab419
JW
27292011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
2730
2731 * c.opt: Add -Wdelete-non-virtual-dtor.
2732 * c-opts.c (c_common_handle_option): Include it in -Wall.
2733
4f60111f
NF
27342011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
2735
2736 PR bootstrap/49190
2737
2738 Revert:
2739 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2740
2741 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2742 not tree_common.
2743
4cc4f2f4
JJ
27442011-05-27 Jakub Jelinek <jakub@redhat.com>
2745
2746 PR c++/49165
2747 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2748 C++ don't call c_common_truthvalue_conversion on void type arms.
2749
38e01f9e
NF
27502011-05-27 Nathan Froyd <froydnj@codesourcery.com>
2751
2752 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2753 (stmt_list_stack): Define.
2754 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2755 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2756
92e948a8
NF
27572011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2758
2759 * c-common.c (warning_candidate_p): Check for BLOCKs.
2760
a2fc3e63
NF
27612011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2762
2763 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2764 not tree_common.
2765
0957c029
JJ
27662011-05-25 Jakub Jelinek <jakub@redhat.com>
2767
2768 * c-common.c (def_fn_type): Remove extra va_end.
2769
828fb3ba
JM
27702011-05-23 Jason Merrill <jason@redhat.com>
2771
2772 PR c++/48106
2773 * c-common.c (c_common_get_narrower): New.
2774 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2775
dde05067
NF
27762011-05-23 Nathan Froyd <froydnj@codesourcery.com>
2777
2778 * c-common.h (check_function_arguments): Tweak prototype of
2779 check_function_arguments.
2780 * c-common.c (check_function_arguments): Likewise. Adjust
2781 calls to check_function_nonnull, check_function_format, and
2782 check_function_sentinel.
2783 (check_function_sentinel): Take a FUNCTION_TYPE rather than
2784 separate attributes and typelist arguments. Use
2785 FOREACH_FUNCTION_ARGS to iterate over argument types.
2786
3c0d13bf
PC
27872011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2788
2789 * c-common.c (c_common_reswords): Reorder.
2790 * c-common.h (rid): Likewise.
2791
8242dd04
NF
27922011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2793
2794 * c-common.c (def_fn_type): Don't call build_function_type, call
2795 build_function_type_array or build_varargs_function_type_array
2796 instead.
2797 (c_common_nodes_and_builtins): Likewise.
2798
3d528853
NF
27992011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2800
2801 * c-common.c (c_add_case_label): Omit the loc argument to
2802 build_case_label.
2803 * c-common.h (build_case_label): Remove.
2804 * c-semantics.c (build_case_label): Remove.
2805
a04a722b
JM
28062011-05-05 Joseph Myers <joseph@codesourcery.com>
2807
2808 * c-objc.h (objc_start_method_definition): Update prototype.
2809 * stub-objc.c (objc_start_method_definition): Add extra parameter.
2810
e19a18d4
NF
28112011-05-04 Nathan Froyd <froydnj@codesourcery.com>
2812
2813 * c-common.c (check_main_parameter_types): Reindent. Don't use
2814 TYPE_ARG_TYPES directly.
2815 (handle_nonnull_attribute): Likewise.
2816 (sync_resolve_params): Likewise.
2817 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
2818 to check_format_string.
2819 (handle_format_attribute): Likewise.
2820 (check_format_string): Take a function type to examine instead of
2821 a type list. Use a function_arg_iterator to step through argument
2822 types.
2823
c62c040f
RG
28242011-05-04 Richard Guenther <rguenther@suse.de>
2825
2826 * c-common.c (fix_string_type): Use size_int for index type bounds.
2827 (start_fname_decls): Do not pass NULL to build_int_cst.
2828 (c_init_attributes): Likewise.
2829 * c-lex.c (c_lex_with_flags): Likewise.
2830
c12ff9d8
JM
28312011-04-27 Jason Merrill <jason@redhat.com>
2832
2833 * c-common.c (make_tree_vector_from_list): New.
2834 * c-common.h: Declare it.
2835
304dfbe3
RG
28362011-04-26 Richard Guenther <rguenther@suse.de>
2837
2838 PR preprocessor/48248
2839 * c-ppoutput.c (maybe_print_line): Always optimize newlines
2840 for output size with -P.
2841
3c0d13bf
PC
28422011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2843
2844 * c-common.c (struct c_common_resword): Add __underlying_type.
2845 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2846
04695783
JM
28472011-04-20 Jim Meyering <meyering@redhat.com>
2848
2849 * c-format.c (init_dollar_format_checking): Remove useless
2850 if-before-free.
2851
0dc33c3c
NP
28522011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
2853
2854 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 2855 (objc_detect_field_duplicates): New.
0dc33c3c 2856 * stub-objc.c: Likewise.
3c0d13bf 2857
c59633d9
NP
28582011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2859
2860 * stub-objc.c (objc_declare_protocols): Renamed to
2861 objc_declare_protocol.
2862 * c-objc.h: Likewise.
3c0d13bf 2863
32dabdaf
NP
28642011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2865
2866 * stub-objc.c (objc_declare_class): Updated argument name.
2867
81f653d6
NF
28682011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2869
2870 * c-common.h (c_common_init_ts): Declare.
2871 * c-common.c (c_common_init_ts): Define.
2872
eb345401
NP
28732011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
2874
2875 * c-objc.h (objc_build_message_expr): Updated prototype.
2876 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 2877
a358e188
MJ
28782011-04-12 Martin Jambor <mjambor@suse.cz>
2879
2880 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2881 of cgraph_node.
2882
e6313a78
RG
28832011-04-11 Richard Guenther <rguenther@suse.de>
2884
2885 * c-common.c (complete_array_type): Build a range type of
2886 proper type.
2887
dcf0c47e
NF
28882011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2889
2890 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2891 (handle_type_generic_attribute): Likewise.
2892
1ee44b26
JM
28932011-04-07 Jason Merrill <jason@redhat.com>
2894
2895 PR c++/48450
2896 * c-common.c (c_common_truthvalue_conversion): Don't ignore
2897 conversion from C++0x scoped enum.
2898
acce4e77
JM
28992011-04-06 Joseph Myers <joseph@codesourcery.com>
2900
2901 * c-target-def.h: New file.
2902 * c-target.def: New file.
2903 * c-target.h: New file.
2904 * c-common.c (targetcm): Don't define here.
2905 * c-common.h (default_handle_c_option): Declare.
2906 * c-format.c: Include c-target.h instead of target.h.
2907 * c-opts.c: Include c-target.h instead of target.h. Explicitly
2908 include tm.h.
2909 (default_handle_c_option): Move from targhooks.c.
2910
e2eefb55
JJ
29112011-03-29 Jakub Jelinek <jakub@redhat.com>
2912
2913 PR preprocessor/48248
2914 * c-ppoutput.c (print): Add src_file field.
2915 (init_pp_output): Initialize it.
2916 (maybe_print_line): Don't optimize by adding up to 8 newlines
2917 if map->to_file and print.src_file are different file.
2918 (print_line): Update print.src_file.
2919
ba78087b
KT
29202011-03-25 Kai Tietz <ktietz@redhat.com>
2921
2922 * c-ada-spec.c (compare_comment): Use filename_cmp
2923 instead of strcmp for filename.
2924
0edf1bb2
JL
29252011-03-25 Jeff Law <law@redhat.com>
2926
2927 * c-family/c-common.c (def_fn_type): Add missing va_end.
2928
c7dc8804
JM
29292011-03-25 Jason Merrill <jason@redhat.com>
2930
2931 * c.opt: Add -std=c++03.
2932
d1d879b1
EB
29332011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2934
2935 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2936
62d784f7
KT
29372011-03-17 Kai Tietz
2938
2939 PR target/12171
5050afdf
KT
2940 * c-pretty-print.c (pp_c_specifier_qualifier_list):
2941 Display allowed attributes for function pointer types.
2942 (pp_c_attributes_display): New function to display
2943 attributes having affects_type_identity flag set to true.
2944 * c-pretty-print.h (pp_c_attributes_display): New prototype.
2945
62d784f7
KT
2946 * c-common.c (c_common_attribute_table):
2947 Add new element.
2948 (c_common_format_attribute_table): Likewise.
2949
82d37118
JM
29502011-03-18 Jason Merrill <jason@redhat.com>
2951
49a000c3
JM
2952 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2953 * c-common.h: Don't declare it here.
2954 * c-common.c: Or define it here.
2955 * c-opts.c (c_common_handle_option): Or set it here.
2956
82d37118
JM
2957 PR c++/35315
2958 * c-common.c (handle_transparent_union_attribute): Don't
2959 make a duplicate type in C++.
2960
17bc631c
JM
29612011-03-15 Jason Merrill <jason@redhat.com>
2962
2963 * c-common.c (max_constexpr_depth): New.
2964 * c-common.h: Declare it.
2965 * c-opts.c (c_common_handle_option): Set it.
2966 * c.opt (fconstexpr-depth): New option.
2967
1b9b91a6
JM
29682011-03-11 Jason Merrill <jason@redhat.com>
2969
f231b5ff
JM
2970 * c-common.c (attribute_takes_identifier_p): Add missing const.
2971
1b9b91a6
JM
2972 PR c++/46803
2973 * c-common.c (attribute_takes_identifier_p): Assume that an
2974 unknown attribute takes an identifier.
2975
a19e4d44
NF
29762011-03-07 Nathan Froyd <froydnj@codesourcery.com>
2977
2978 PR c/47786
2979 * c-common.c (c_type_hash): Call list_length instead of iterating
2980 through DECL_CHAIN. Rename 'i' to 'n_elements'.
2981
982d62f6
JJ
29822011-02-19 Jakub Jelinek <jakub@redhat.com>
2983
2984 PR c/47809
2985 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2986
0a256240
NP
29872011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2988
2989 * c.opt (fobjc-abi-version=) New.
2990 (fobjc-nilcheck): New.
2991
ba9e6dd5
NF
29922011-02-03 Nathan Froyd <froydnj@codesourcery.com>
2993
2994 PR c++/46890
2995 * c-common.h (keyword_is_decl_specifier): Declare.
2996 * c-common.c (keyword_is_decl_specifier): Define.
2997 (keyword_is_function_specifier): New function.
2998
7273813a
JJ
29992011-01-26 Jakub Jelinek <jakub@redhat.com>
3000
3001 PR c/47473
3002 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3003 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3004 REAL_TYPE.
3005
908ef79b
AC
30062011-01-26 Arnaud Charlet <charlet@adacore.com>
3007
3008 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3009
237e9384
JJ
30102011-01-26 Jakub Jelinek <jakub@redhat.com>
3011
3012 PR pch/47430
3013 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3014 after init_c_lex if pch_file is set.
3015
47ea1edf
DK
30162011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3017
d4dba752 3018 PR c++/43601
47ea1edf
DK
3019 * c.opt (-fkeep-inline-dllexport): New switch.
3020
2aa9c6ae
RG
30212011-01-12 Richard Guenther <rguenther@suse.de>
3022
3023 PR middle-end/32511
3024 * c-common.c (handle_weak_attribute): Warn instead of error
3025 on declaring an inline function weak.
3026
7bd11157
TT
30272011-01-05 Tom Tromey <tromey@redhat.com>
3028
3029 * c-common.h (lvalue_error): Update.
3030 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3031 not error.
3032
0e66e494 30332010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 3034
b4f588c4
NP
3035 PR objc/47075
3036 * c-objc.h (objc_finish_message_expr): Added argument to
3037 prototype.
3038
f4da8dce
NF
30392010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3040
3041 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3042 Use prototype_p.
3043
46270f14
NP
30442010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3045
3046 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 3047 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 3048
4816c593
NF
30492010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3050
3051 * c-common.h (readonly_error): Declare.
3052 * c-common.c (readonly_error): Define.
3053
7a6daeb0
NF
30542010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3055
3056 * c-common.h (invalid_indirection_error): Declare.
3057 * c-common.c (invalid_indirection_error): Define.
3058
892f6119
RG
30592010-12-03 Richard Guenther <rguenther@suse.de>
3060
3061 PR c/46745
3062 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3063 (pp_c_unary_expression): Likewise.
3064 (pp_c_expression): Likewise.
3065
6c39e757
NP
30662010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3067
3068 * c-common.h (objc_finish_function): New.
3069 (objc_non_volatilized_type): Removed.
3070 (objc_type_quals_match): Removed.
3071 * stub-objc.c (objc_finish_function): New.
3072 (objc_non_volatilized_type): Removed.
3073 (objc_type_quals_match): Removed.
9faeb493 3074
7c475d11
JM
30752010-11-30 Joseph Myers <joseph@codesourcery.com>
3076
3077 * c-common.h (parse_optimize_options): Declare.
3078 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3079 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3080
71f3e391
JM
30812010-11-29 Joseph Myers <joseph@codesourcery.com>
3082
3083 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3084 GET_ENVIRONMENT.
3085 * c-pch.c (O_BINARY): Don't define here.
3086 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3087
d5fabb58
JM
30882010-11-25 Joseph Myers <joseph@codesourcery.com>
3089
3090 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3091 targetm.except_unwind_info.
3092
299404a1
JM
30932010-11-23 Joseph Myers <joseph@codesourcery.com>
3094
3095 * c-opts.c (c_common_handle_option): Pass location to
3096 set_struct_debug_option.
3097
c98cd5bf
JM
30982010-11-23 Joseph Myers <joseph@codesourcery.com>
3099
3100 * c-common.c (visibility_options): Move from ../opts.c.
3101 * c-common.h (struct visibility_flags, visibility_options):
3102 Declare here.
3103 * c-opts.c (finish_options): Rename to c_finish_options.
3104 (c_common_init): Update call to finish_options.
3105
a9546771
NP
31062010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3107
3108 PR objc/34033
3109 * c-lex.c (lex_string): Check that each string in an Objective-C
3110 string concat sequence starts with either one or zero '@', and
3111 that there are no spurious '@' signs at the end.
3112
24a57808
JM
31132010-11-20 Joseph Myers <joseph@codesourcery.com>
3114
3115 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3116 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3117 HANDLE_PRAGMA_VISIBILITY.
3118 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3119 HANDLE_PRAGMA_VISIBILITY): Don't define.
3120 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3121
a9aa2c3a
NF
31222010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3123
3124 PR c++/16189
3125 PR c++/36888
3126 PR c++/45331
3127 * c-common.h (keyword_begins_type_specifier): Declare.
3128 (keyword_is_storage_class_specifier): Declare.
3129 (keyword_is_type_qualifier): Declare.
3130 * c-common.c (keyword_begins_type_specifier): New function.
3131 (keyword_is_storage_class_specifier): New function.
3132 (keyword_is_type_qualifier): Declare.
3133
5386338c
JM
31342010-11-19 Joseph Myers <joseph@codesourcery.com>
3135
3136 PR c/46547
3137 * c-common.c (in_late_binary_op): Define.
3138 (c_common_truthvalue_conversion): Check in_late_binary_op before
3139 calling c_save_expr.
3140 * c-common.h (in_late_binary_op): Declare.
3141
69ccdddb
JM
31422010-11-19 Joseph Myers <joseph@codesourcery.com>
3143
3144 * c-opts.c (c_common_handle_option): Update calls to
3145 set_struct_debug_option.
3146
6b192a09
NP
31472010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3148
3149 * c-common.h (objc_declare_protocols): Added additional argument.
3150 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 3151
fb52b50a
NF
31522010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3153
3154 PR c/33193
3155 * c-common.h (build_real_imag_expr): Declare.
3156 * c-semantics.c (build_real_imag_expr): Define.
3157
b37421c6
JM
31582010-11-17 Joseph Myers <joseph@codesourcery.com>
3159
3160 * c-opts.c (c_common_parse_file): Take no arguments.
3161 * c-common.h (c_common_parse_file): Update prototype.
3162
07078664
JJ
31632010-11-16 Jakub Jelinek <jakub@redhat.com>
3164
3165 PR c++/46401
3166 * c-common.c (warning_candidate_p): Don't track non-const calls
3167 or STRING_CSTs.
3168
c6a13190
ILT
31692010-11-15 Ian Lance Taylor <iant@google.com>
3170
3171 * c-lex.c (init_c_lex): Set macro debug callbacks if
3172 flag_dump_go_spec is set.
3173
925e8657
NP
31742010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3175
3176 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3177 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3178
bb0a9581
NF
31792010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3180
3181 PR preprocessor/45038
3182 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3183 dialects.
3184
c5fa0890
JM
31852010-11-12 Joseph Myers <joseph@codesourcery.com>
3186
3187 * c-common.h (c_family_lang_mask): Declare.
3188 * c-opts.c (c_family_lang_mask): Make extern.
3189 * c-pragma.c (handle_pragma_diagnostic): Use
3190 control_warning_option.
3191
a4d8c676
JM
31922010-11-12 Joseph Myers <joseph@codesourcery.com>
3193
3194 * c-common.c (parse_optimize_options): Update call to
3195 decode_options.
3196 * c-common.h (c_common_handle_option): Update prototype.
3197 * c-opts.c (c_common_handle_option): Take location_t parameter and
3198 pass it to other functions.
3199
f954bd2c
JM
32002010-11-11 Joseph Myers <joseph@codesourcery.com>
3201
3202 * c-opts.c (warning_as_error_callback): Remove.
3203 (c_common_initialize_diagnostics): Don't call
3204 register_warning_as_error_callback.
3205 (c_common_handle_option): Handle -Werror=normalized= here.
3206
d8a07487
JM
32072010-11-10 Joseph Myers <joseph@codesourcery.com>
3208
3209 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3210 in diagnostic.
3211 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3212 letter.
3213 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3214 Remove trailing '.' from diagnostics.
3215 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3216
d5478783
JM
32172010-11-10 Joseph Myers <joseph@codesourcery.com>
3218
3219 * c-common.c (parse_optimize_options): Pass global_dc to
3220 decode_options.
3221 * c-opts.c (c_common_handle_option): Pass &global_options to
3222 set_Wstrict_aliasing.
3223 * c.opt (v): Don't mark Common or document here.
3224
91ebb981
IS
32252010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3226
3227 PR target/44981
3228 * c-format.c (format_type): New type gcc_objc_string_format_type.
3229 (valid_stringptr_type_p): New.
3230 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 3231 (check_format_string): Pass expected type, use
91ebb981
IS
3232 valid_stringptr_type_p (), check that the format string types are
3233 consistent with the format specification.
3234 (decode_format_attr): Warn if NSString is used outside objective-c.
3235 (format_types_orig): Add NSString.
3236 (format_name): New.
3237 (format_flags): New.
3238 (check_format_arg): Handle format strings requiring an external parser.
3239 first_target_format_type: New variable.
3240 (handle_format_attribute): Set up first_target_format_type, pass the
3241 expected format arg string type to check_format_string().
3242 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3243 * stub-objc.c (objc_string_ref_type_p): New.
3244 (objc_check_format_arg): New.
3245
bede2adc
NP
32462010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3247
9faeb493 3248 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
3249 * c-common.h (objc_build_class_component_ref): New.
3250 * stub-objc.c (objc_build_class_component_ref): New.
3251
9a179d01
NP
32522010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3253
3254 * c.opt (Wproperty-assign-default): New option.
3255
22d8d616
NP
32562010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3257
3258 Implemented -fobjc-std=objc1 flag.
3259 * c.opt (fobjc-std=objc1): New option.
3260
2debdb4f
NP
32612010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3262
3263 Implemented format and noreturn attributes for Objective-C methods.
3264 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3265 attribute for Objective-C methods.
3266
ec52b111
JM
32672010-10-31 Jason Merrill <jason@redhat.com>
3268
3269 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3270 EXPR_LOC_OR_HERE.
3271
46a88c12
NP
32722010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3273
3274 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3275 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3276 (objc_add_property_declaration): Removed arguments for copies and
3277 ivar.
3278 (objc_build_getter_call): Renamed to
3279 objc_maybe_build_component_ref.
3280 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3281 (objc_is_property_ref): New.
3282 * c-common.c (c_common_reswords): Removed copies and ivar.
3283 * stub-objc.c (objc_add_property_declaration): Removed arguments
3284 for copies and ivar.
3285 (objc_build_getter_call): Renamed to
3286 objc_maybe_build_component_ref.
3287 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3288 (objc_is_property_ref): New.
9faeb493 3289
1e4bf85b
AC
32902010-10-29 Arnaud Charlet <charlet@adacore.com>
3291 Matthew Gingell <gingell@adacore.com>
3292
3293 * c-ada-spec.c (separate_class_package): New function.
3294 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3295 name of their enclosing package.
3296 (print_ada_declaration): Use separate_class_package.
3297
81f0bab2
JM
32982010-10-27 Jason Merrill <jason@redhat.com>
3299
2b08f2c5
JM
3300 * c-common.c (c_common_reswords): Add __is_literal_type.
3301 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3302
81f0bab2
JM
3303 * c-common.c (check_case_value): Remove special C++ code.
3304
200290f2
NP
33052010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3306
3307 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3308 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3309 and RID_LAST_PATTR.
3310 (objc_add_property_declaration): Added additional arguments.
3311 (objc_property_attribute_kind): Removed.
3312 (objc_set_property_attr): Removed.
3313 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3314 copy and nonatomic.
3315 * stub-objc.c (objc_add_property_declaration): Added additional
3316 arguments.
3317 (objc_set_property_attr): Removed.
9faeb493 3318
f614132b
NP
33192010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3320
3321 * c-common.h (objc_add_property_variable): Renamed to
3322 objc_add_property_declaration. Added location argument.
3323 * stub-objc.c (objc_add_property_variable): Same change.
3324
b8a18805
NP
33252010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3326
3327 * c-common.h (objc_maybe_printable_name): New.
3328 * stub-objc.c (objc_maybe_printable_name): New.
3329
30cd1c5d
AS
33302010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3331 Andrew Pinski <pinskia@gmail.com>
3332
3333 * c-common.h (c_common_mark_addressable_vec): Declare.
3334 * c-common.c (c_common_mark_addressable_vec): New function.
3335
249a82c4
NP
33362010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3337
3338 * c-common.h (objc_set_method_type): Removed.
3339 (objc_add_method_declaration): Added boolean argument.
3340 (objc_start_method_definition): Same change.
3341 (objc_build_method_signature): Same change.
3342 * stub-objc.c (objc_set_method_type): Removed.
3343 (objc_add_method_declaration): Added boolean argument.
3344 (objc_start_method_definition): Same change.
3345 (objc_build_method_signature): Same change.
3346
977e30bc
NP
33472010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3348
3349 * c-common.h (finish_file): Removed.
3350 (objc_write_global_declarations): New.
3351 * c-opts.c (c_common_parse_file): Do not call finish_file.
3352 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 3353
da57d1b9
NP
33542010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3355
3356 Implemented parsing @synthesize and @dynamic for
3357 Objective-C/Objective-C++.
3358 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3359 (objc_add_synthesize_declaration): New.
3360 (objc_add_dynamic_declaration): New.
3361 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3362 * stub-objc.c (objc_add_synthesize_declaration): New.
3363 (objc_add_dynamic_declaration): New.
9faeb493 3364
0069111f
MM
33652010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3366
3367 PR target/46041
3368 * c-cppbuiltin.c (mode_has_fma): Move function here from
3369 builtins.c. Don't use the fma optab, instead just use the
3370 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3371 using -save-temps.
3372
e426b47b
NP
33732010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3374
3375 Merge from 'apple/trunk' branch on FSF servers.
0069111f 3376
e426b47b
NP
3377 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3378
9faeb493 3379 Radar 4330422
e426b47b
NP
3380 * c-common.h (objc_non_volatilized_type): New declaration
3381 * stub-objc.c (objc_non_volatilized_type): New stub.
3382
90fbfdc3
NP
33832010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3384
e426b47b 3385 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3
NP
3386
3387 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3388
9faeb493 3389 Radar 4133425
90fbfdc3 3390 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 3391 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 3392
c37d8c30
IS
33932010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3394
3395 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3396 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3397 (objc_ivar_visibility_kind): New enum.
3398 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 3399 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
3400 visibility enum.
3401
1b1562a5
MM
34022010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3403
3404 * c-cppbuiltin.c (builtin_define_float_constants): Emit
3405 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3406 has the appropriate fma builtins.
3407 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3408
668ea4b1
IS
34092010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3410
1b1562a5 3411 merge from FSF apple 'trunk' branch.
668ea4b1 3412 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 3413
668ea4b1
IS
3414 Radars 4436866, 4505126, 4506903, 4517826
3415 * c-common.c (c_common_resword): Define @property and its attributes.
3416 * c-common.h: Define property attribute enum entries.
3417 (OBJC_IS_PATTR_KEYWORD): New.
3418 (objc_property_attribute_kind): New enum.
3419 Declare objc_set_property_attr (), objc_add_property_variable (),
3420 objc_build_getter_call () and objc_build_setter_call ().
3421 * stub-objc.c (objc_set_property_attr): New stub.
3422 (objc_add_property_variable): Likewise.
3423 (objc_build_getter_call): Likewise.
3424 (objc_build_setter_call) Likewise.
1b1562a5 3425
a1178b30
IS
34262010-10-13 Iain Sandoe <iains@gcc.gnu.org>
3427
1b1562a5 3428 merge from FSF apple 'trunk' branch.
a1178b30
IS
3429 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3430
3431 Radar 3803157 (method attributes)
3432 * c-common.c (handle_deprecated_attribute): Recognize
3433 objc methods as valid declarations.
3434 * c-common.h: Declare objc_method_decl ().
1b1562a5 3435 * stub-objc.c (objc_method_decl): New stub.
a1178b30 3436
a75bfaa6
JM
34372010-10-08 Joseph Myers <joseph@codesourcery.com>
3438
3439 * c-common.c (parse_optimize_options): Call
3440 decode_cmdline_options_to_array_default_mask before
3441 decode_options. Update arguments to decode_options.
3442 * c-common.h (c_common_init_options_struct): Declare.
3443 * c-opts.c (c_common_init_options_struct): New. Split out from
3444 c_common_init_options.
3445
f05b9d93
NP
34462010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
3447
3448 Implemented fast enumeration for Objective-C.
3449 * c-common.h (objc_finish_foreach_loop): New.
3450 * stub-objc.c (objc_finish_foreach_loop): New.
3451
1ebe4b4f
JM
34522010-10-05 Joseph Myers <joseph@codesourcery.com>
3453
3454 * c-common.h (struct diagnostic_context): Don't declare here.
3455 (c_common_initialize_diagnostics): Declare using
3456 diagnostic_context typedef.
3457 * c-opts.c (c_common_handle_option): Pass global_dc to
3458 handle_generated_option.
3459
d4d24ba4
JM
34602010-10-04 Joseph Myers <joseph@codesourcery.com>
3461
3462 * c-opts.c (c_common_handle_option): Pass &global_options_set to
3463 handle_generated_option.
3464
478a1c5b
ILT
34652010-10-03 Ian Lance Taylor <iant@google.com>
3466
3467 * c.opt (-fplan9-extensions): New option.
3468
82a1c2fe
FXC
34692010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3470
3471 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3472 Remove.
3473 (c_cpp_builtins): Call functions from cppbuiltin.c instead
3474 of duplicating code.
3475
92902b1b
IS
34762010-09-30 Iain Sandoe <iains@gcc.gnu.org>
3477
3478 * c-common.c: Add two new entries for @optional
3479 and @required keywords.
3480
3481 merge from FSF 'apple/trunk' branch.
3482 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
3483
3484 Radar 4386773
3485 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3486 objective-c keywords.
3487 (objc_set_method_opt): New declaration.
3488 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 3489
46625112
JM
34902010-09-30 Joseph Myers <joseph@codesourcery.com>
3491
3492 * c-common.c (handle_optimize_attribute): Pass &global_options to
3493 cl_optimization_save and cl_optimization_restore.
3494 * c-opts.c (c_common_handle_option): Pass &global_options to
3495 handle_generated_option.
3496 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3497 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3498 &global_options to cl_optimization_restore.
3499
49b91f05
NP
35002010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
3501
3502 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3503 Objective-C/Objective-C++ keywords.
3504
13ed556f 35052010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 3506
9faeb493
UB
3507 Merge from 'apple/trunk' branch on FSF servers.
3508
a6341d57
NP
3509 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
3510
3511 Radar 4281748
3512 * c-common.h (objc_check_global_decl): New declaration.
3513 * stub-objc.c (objc_check_global_decl): New stub.
3514
f0036cca
JM
35152010-09-29 Joseph Myers <joseph@codesourcery.com>
3516
3517 * c.opt: Don't use VarExists.
3518
e3339d0f
JM
35192010-09-29 Joseph Myers <joseph@codesourcery.com>
3520
3521 * c-common.c (c_cpp_error): Update names of diagnostic_context
3522 members.
3523 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3524 cl_optimization members.
3525 * c-opts.c (warning_as_error_callback, c_common_handle_option,
3526 sanitize_cpp_opts, finish_options): Update names of cpp_options
3527 members.
3528
1973201f
NP
35292010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3530
3531 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
3532 (objc_is_reserved_word): Removed.
3533 * c-common.c: Updated comments.
3534 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3535 objc_is_reserved_word.
3536 * stub-objc.c (objc_is_reserved_word): Removed.
3537
f7e71da5
IS
35382010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3539
9faeb493 3540 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
3541 include attributes.
3542 (objc_start_method_definition): Likewise.
3543 (objc_build_keyword_decl): Likewise.
3544 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3545 (objc_start_method_definition): Likewise.
3546 (objc_build_keyword_decl): Likewise.
3547
c165dca7
IS
35482010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3549
3550 * c-common.h (objc_start_class_interface): Adjust prototype.
3551 (objc_start_category_interface): Likewise.
3552 (objc_start_protocol): Likewise.
3553 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3554 (objc_start_class_interface): Likewise.
3555 (objc_start_category_interface): Likewise.
3556
7458026b
ILT
35572010-09-27 Ian Lance Taylor <iant@google.com>
3558
3559 * c-common.c (c_common_attribute_table): Add no_split_stack.
3560 (handle_no_split_stack_attribute): New static function.
3561
b581b85b
NP
35622010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3563
9faeb493 3564 Merge from 'apple/trunk' branch on FSF servers.
b581b85b
NP
3565
3566 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3567
9faeb493 3568 Radar 4229905
b581b85b
NP
3569 * c-common.h (objc_have_common_type): New declaration.
3570 * stub-objc.c (objc_have_common_type): New stub.
3571
3572 2005-06-22 Ziemowit Laski <zlaski@apple.com>
3573
3574 Radar 4154928
3575 * c-common.h (objc_common_type): New prototype.
9faeb493 3576 * stub-objc.c (objc_common_type): New stub.
b581b85b 3577
46a4da10
JH
35782010-09-24 Jan Hubicka <jh@suse.cz>
3579
3580 * c-common.c (handle_leaf_attribute): New function.
3581 (struct attribute_spec c_common_att): Add leaf.
3582
e200444e
JM
35832010-09-22 Joseph Myers <joseph@codesourcery.com>
3584
3585 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3586 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3587 -dump, -dump=, -imacros, -imacros=, -include, -include=,
3588 -include-barrier, -include-directory, -include-directory=,
3589 -include-directory-after, -include-directory-after=,
3590 -include-prefix, -include-prefix=, -include-with-prefix,
3591 -include-with-prefix=, -include-with-prefix-after,
3592 -include-with-prefix-after=, -include-with-prefix-before,
3593 -include-with-prefix-before=, -no-integrated-cpp,
3594 -no-line-commands, -no-standard-includes, -no-warnings, -output,
3595 -output=, -pedantic, -pedantic-errors, -preprocess,
3596 -print-missing-file-dependencies, -trace-includes, -traditional,
3597 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3598 -user-dependencies, -verbose, -write-dependencies,
3599 -write-user-dependencies, no-integrated-cpp, traditional): New.
3600
29a80ea6
NP
36012010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3602
3603 PR objc/23710
ac1fc2fc
NP
3604 * c-common.h (objc_start_method_definition): Return bool instead
3605 of void.
3606 * stub-objc.c (objc_start_method_definition): Return bool instead
3607 of void.
3608
36092010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3610
3611 PR objc/25965
3612 * c-common.h (objc_get_interface_ivars): New declaration.
3613 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 3614
de621752
ILT
36152010-09-15 Ian Lance Taylor <iant@google.com>
3616
3617 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 3618 messages. Remove period at end of warning message.
de621752 3619
ba885ec5
NS
36202010-09-09 Nathan Sidwell <nathan@codesourcery.com>
3621
3622 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3623 (handle_alias_attribute): ... here.
3624 (handle_ifunc_attribute): New.
3625
c5ee1358
MM
36262010-09-06 Mark Mitchell <mark@codesourcery.com>
3627
3628 * c-common.h (do_warn_double_promotion): Declare.
3629 * c-common.c (do_warn_double_promotion): Define.
3630
0a0b3574
MM
36312010-09-05 Mark Mitchell <mark@codesourcery.com>
3632
3633 * c.opt (Wdouble-promotion): New.
3634
d1779886
JM
36352010-09-02 Joseph Myers <joseph@codesourcery.com>
3636
3637 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3638 fvtable-thunks, fxref): Mark no longer supported in help text.
3639
2d2bd949
JM
36402010-09-02 Joseph Myers <joseph@codesourcery.com>
3641
3642 * c.opt (Wimport, fall-virtual, falt-external-templates,
3643 fdefault-inline, fenum-int-equiv, fexternal-templates,
3644 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3645 fname-mangling-version-, fnew-abi, fnonnull-objects,
3646 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3647 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3648 applicable.
3649 (fhandle-exceptions): Mark with Alias and Warn.
3650 * c-opts.c (c_common_handle_option): Don't handle options marked
3651 as ignored.
3652
5de8299c
JM
36532010-09-02 Joseph Myers <joseph@codesourcery.com>
3654
3655 * c.opt (Wcomments, Werror-implicit-function-declaration,
3656 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3657 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3658 aliases.
3659 * c-common.c (option_codes): Use OPT_Wcomment instead of
3660 OPT_Wcomments.
3661 * c-opts.c (warning_as_error_callback, c_common_handle_option):
3662 Don't handle options marked as aliases.
3663
0ceb0201
RG
36642010-08-25 Richard Guenther <rguenther@suse.de>
3665
3666 * c-common.c (c_common_get_alias_set): Remove special
3667 handling for pointers.
3668
ac47786e
NF
36692010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3670
3671 * c-common.c: Use FOR_EACH_VEC_ELT.
3672 * c-gimplify.c: Likewise.
3673 * c-pragma.c: Likewise.
3674
c878765b
JM
36752010-08-16 Joseph Myers <joseph@codesourcery.com>
3676
3677 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
3678 RejectDriver.
3679 (MMDX): Change back to MMD. Mark NoDriverArg instead of
3680 RejectDriver.
3681 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3682 instead of OPT_MDX and OPT_MMDX.
3683
603349bf
JM
36842010-08-16 Joseph Myers <joseph@codesourcery.com>
3685
3686 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3687
644fa7ac
JM
36882010-08-12 Joseph Myers <joseph@codesourcery.com>
3689
3690 * c.opt (MD, MMD): Change to MDX and MMDX.
3691 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3692
481e1176
JM
36932010-08-11 Joseph Myers <joseph@codesourcery.com>
3694
3695 * c-opts.c (c_common_handle_option): Call handle_generated_option
3696 instead of handle_option.
3697
ac8dc9f7
NF
36982010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3699
3700 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3701 (maybe_apply_renaming_pragma): Delete unneeded declarations.
3702
4f8c876d
NF
37032010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3704
3705 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
3706 (pending_redefine_extname): Change type to a VEC.
3707 (add_to_renaming_pragma_list): Update for new type of
3708 pending_redefine_extname.
ac8dc9f7 3709 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 3710
3b0c690e
AC
37112010-08-04 Arnaud Charlet <charlet@adacore.com>
3712
3713 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3714 visited.
3715 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3716 decide whether a type has already been declared/seen.
3717 Do not go to the original type.
3718 (dump_nested_types): New parameter forward.
3719 Generate forward declaration if needed and mark type as visited.
3720 (print_ada_declaration): Call dump_nested_types if not already done.
3721 Mark types as visited.
3722
1890bccc
JM
37232010-08-03 Joseph Myers <joseph@codesourcery.com>
3724
3725 * c.opt (-print-pch-checksum): Remove option.
3726 * c-opts.c (c_common_handle_option): Don't handle
3727 OPT_print_pch_checksum.
3728
5f20c657
JM
37292010-07-27 Joseph Myers <joseph@codesourcery.com>
3730
3731 * c-common.h (c_common_handle_option): Update prototype and return
3732 value type.
3733 * c-opts.c (c_common_handle_option): Update prototype and return
3734 value type. Update calls to handle_option and
3735 enable_warning_as_error.
3736
f551f80c
JJ
37372010-07-27 Jakub Jelinek <jakub@redhat.com>
3738
3739 PR c/45079
3740 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3741
61ff2bdc
JM
37422010-07-27 Joseph Myers <joseph@codesourcery.com>
3743
3744 * c-common.h (c_common_missing_argument): Remove.
3745 * c-opts.c (c_common_missing_argument): Remove.
3746 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3747 idirafter, imacros, include, isysroot, isystem, iquote): Add
3748 MissingArgError.
3749 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3750
7a9bf9a4
JM
37512010-07-27 Joseph Myers <joseph@codesourcery.com>
3752
3753 * c-common.h (c_common_option_lang_mask,
3754 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3755 New.
3756 (c_common_init_options): Update prototype.
3757 * c-opts.c (c_common_option_lang_mask): New.
3758 (c_common_initialize_diagnostics): Split out of
3759 c_common_init_options.
3760 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3761 New.
3762 (c_common_init_options): Update prototype. Use decoded options in
3763 search for -lang-asm.
3764
910ad8de
NF
37652010-07-15 Nathan Froyd <froydnj@codesourcery.com>
3766
3767 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3768 * c-format.c: Likewise.
3769
718f9c0f
MLI
37702010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3771
3772 * c-common.h: Include diagnostic-core.h. Error if already
3773 included.
3774 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3775
4d451982
MLI
37762010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3777
3778 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3779 Do not include expr.h
3780 (vector_mode_valid_p): Move here.
3781
119fe915
SB
37822010-06-21 DJ Delorie <dj@redhat.com>
3783
3784 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3785 allow these pragmas anywhere.
3786
37872010-06-14 Jakub Jelinek <jakub@redhat.com>
3788
3789 PR bootstrap/44509
3790 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3791 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3792 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3793 ggc_strdup instead of xstrdup.
3794
37952010-06-10 Jakub Jelinek <jakub@redhat.com>
3796
3797 * c-cppbuiltin.c: Include cpp-id-data.h.
3798 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3799 (lazy_hex_fp_value): New function.
3800 (builtin_define_with_hex_fp_value): Provide definitions lazily.
3801
6662d794
MLI
38022010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3803
3804 * c-gimplify.c: Do not include tree-flow.h
3805
38f8b050
JR
38062010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
3807
3808 PR other/44034
3809 * c-common.c: Rename targetm member:
3810 targetm.enum_va_list -> targetm.enum_va_list_p
3811
9589f23e
AS
38122010-06-28 Anatoly Sokolov <aesok@post.ru>
3813
3814 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3815
3b06d379
SB
38162010-06-28 Steven Bosscher <steven@gcc.gnu.org>
3817
3818 * c-cppbuiltin.c: Do not include except.h.
3819
d166d4c3
AK
38202010-06-24 Andi Kleen <ak@linux.intel.com>
3821
9faeb493
UB
3822 * c-common.c (warn_for_omitted_condop): New.
3823 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 3824
70cb8be6
JM
38252010-06-21 Joseph Myers <joseph@codesourcery.com>
3826
3827 * c.opt (lang-objc): Remove.
3828 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3829
a4c97feb
JR
38302010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
3831
3832 * c-opts.c: Include "tm_p.h".
3833
6e2f1956
JM
38342010-06-20 Joseph Myers <joseph@codesourcery.com>
3835
3836 * c-common.c (parse_optimize_options): Update call to
3837 decode_options.
3838
bc87224e
NF
38392010-06-18 Nathan Froyd <froydnj@codesourcery.com>
3840
3841 * c-common.c (record_types_used_by_current_var_decl): Adjust for
3842 new type of types_used_by_cur_var_decl.
3843
b49cf425
JR
38442010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
3845
3846 PR bootstrap/44512
3847 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3848 for C++ standard compliance.
3849
59f9c2ed
JM
38502010-06-16 Jason Merrill <jason@redhat.com>
3851
3852 * c.opt: Add -Wnoexcept.
3853
33766b66
RG
38542010-06-16 Richard Guenther <rguenther@suse.de>
3855
3856 PR c/44555
3857 * c-common.c (c_common_truthvalue_conversion): Remove
3858 premature and wrong optimization concering ADDR_EXPRs.
3859
eff7e30c
AC
38602010-06-15 Arnaud Charlet <charlet@adacore.com>
3861
3862 * c-ada-spec.c (dump_sloc): Remove column info.
3863 (is_simple_enum): New function.
3864 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3865 enum types when relevant.
3866
6312e84d
MLI
38672010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3868
9faeb493 3869 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
3870 location.
3871
1cb42611
JM
38722010-06-10 Joseph Myers <joseph@codesourcery.com>
3873
3874 * c-opts.c (c_common_handle_option): Don't handle
3875 OPT_fshow_column.
3876
a9429e29
LB
38772010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3878
3879 * c-pragma.c (push_alignment): Use typed GC allocation.
3880 (handle_pragma_push_options): Likewise.
3881
3882 * c-common.c (parse_optimize_options): Likewise.
3883
3884 * c-common.h (struct sorted_fields_type): Add variable_size GTY
3885 option.
3886
5498f011
JM
38872010-06-07 Joseph Myers <joseph@codesourcery.com>
3888
3889 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3890 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3891 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3892 flag_signed_bitfields, warn_strict_null_sentinel,
3893 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3894 flag_gen_declaration, flag_no_gnu_keywords,
3895 flag_implement_inlines, flag_implicit_templates,
3896 flag_implicit_inline_templates, flag_optional_diags,
3897 flag_elide_constructors, flag_default_inline, flag_rtti,
3898 flag_conserve_space, flag_access_control, flag_check_new,
3899 flag_new_for_scope, flag_weak, flag_working_directory,
3900 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3901 flag_enforce_eh_specs, flag_threadsafe_statics,
3902 flag_pretty_templates): Remove.
3903 * c-common.h (flag_preprocess_only, flag_nil_receivers,
3904 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3905 flag_replace_objc_classes, flag_undef, flag_no_builtin,
3906 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3907 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3908 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3909 flag_no_gnu_keywords, flag_implement_inlines,
3910 flag_implicit_templates, flag_implicit_inline_templates,
3911 flag_optional_diags, flag_elide_constructors, flag_default_inline,
3912 flag_rtti, flag_conserve_space, flag_access_control,
3913 flag_check_new, flag_new_for_scope, flag_weak,
3914 flag_working_directory, flag_use_cxa_atexit,
3915 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3916 flag_threadsafe_statics, flag_pretty_templates,
3917 warn_strict_null_sentinel): Remove.
3918 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3919 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3920 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3921 fimplicit-inline-templates, fimplicit-templates,
3922 flax-vector-conversions, fms-extensions, fnil-receivers,
3923 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3924 frtti, fshort-double, fshort-enums, fshort-wchar,
3925 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3926 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3927 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3928 gen-decls, undef): Use Var.
3929 (fdefault-inline, foptional-diags): Document as doing nothing.
3930 * c-opts.c (c_common_handle_option): Remove cases for options now
3931 using Var. Mark ignored options as such.
3932
39dabefd
SB
39332010-06-05 Steven Bosscher <steven@gcc.gnu.org>
3934
9faeb493 3935 * c-common.c: Moved to here from parent directory.
39dabefd
SB
3936 * c-common.def: Likewise.
3937 * c-common.h: Likewise.
3938 * c-cppbuiltin.c: Likewise.
3939 * c-dump.c: Likewise.
3940 * c-format.c: Likewise.
3941 * c-format.h : Likewise.
3942 * c-gimplify.c: Likewise.
3943 * c-lex.c: Likewise.
3944 * c-omp.c: Likewise.
3945 * c.opt: Likewise.
3946 * c-opts.c: Likewise.
3947 * c-pch.c: Likewise.
3948 * c-ppoutput.c: Likewise.
3949 * c-pragma.c: Likewise.
3950 * c-pragma.h: Likewise.
3951 * c-pretty-print.c: Likewise.
3952 * c-pretty-print.h: Likewise.
3953 * c-semantics.c: Likewise.
3954 * stub-objc.c: Likewise.
3955
3956 * c-common.c: Include gt-c-family-c-common.h.
3957 * c-pragma.c: Include gt-c-family-c-pragma.h.
3958\f
23a5b65a 3959Copyright (C) 2010-2014 Free Software Foundation, Inc.
39dabefd
SB
3960
3961Copying and distribution of this file, with or without modification,
3962are permitted in any medium without royalty provided the copyright
3963notice and this notice are preserved.