]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
b787e7a2
TS
12014-08-02 Trevor Saunders <tsaunders@mozilla.com>
2
3 * cilk.c: Use hash_map instead of pointer_map.
4
6e2830c3
TS
52014-08-02 Trevor Saunders <tsaunders@mozilla.com>
6
7 * c-gimplify.c: Use hash_set instead of pointer_set.
8
a7ee52fb
IZ
92014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
10
11 PR middle-end/61455
12 * array-notation-common.c (extract_array_notation_exprs): Handling
13 of DECL_EXPR added.
14
944fa280
JJ
152014-08-01 Jakub Jelinek <jakub@redhat.com>
16
17 * c-common.h (min_align_of_type): Removed prototype.
18 * c-common.c (min_align_of_type): Removed.
19 * c-ubsan.h (ubsan_maybe_instrument_reference,
20 ubsan_maybe_instrument_member_call): New prototypes.
21 * c-ubsan.c: Include stor-layout.h and builtins.h.
22 (ubsan_maybe_instrument_reference_or_call,
23 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
24 functions.
25
b4dfdc11
MG
262014-07-31 Marc Glisse <marc.glisse@inria.fr>
27
28 PR c++/60517
29 * c.opt (-Wreturn-local-addr): Move to common.opt.
30
a41844e5
JM
312014-07-30 Jason Merrill <jason@redhat.com>
32
33 PR c++/61659
34 PR c++/61687
35 Revert:
36 * c.opt (-fuse-all-virtuals): New.
37
976d5a22
TT
382014-07-30 Tom Tromey <tromey@redhat.com>
39
40 PR c/59855
41 * c.opt (Wdesignated-init): New option.
42 * c-common.c (c_common_attribute_table): Add "designated_init".
43 (handle_designated_init): New function.
44
cdc94aca
MP
452014-07-24 Marek Polacek <polacek@redhat.com>
46
47 PR c/57653
48 * c-opts.c (c_finish_options): If -imacros is in effect, return.
49
f41373b6
DS
502014-07-16 Dodji Seketeli <dodji@redhat.com>
51
52 PR preprocessor/60723 - missing system-ness marks for macro tokens
53 * c-ppoutput.c (struct print::prev_was_system_token): New data
54 member.
55 (init_pp_output): Initialize it.
56 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
57 (do_line_change): Return a flag saying if a line marker was
58 emitted or not.
59 (scan_translation_unit): Detect if the system-ness of the token we
60 are about to emit is different from the one of the previously
61 emitted token. If so, emit a line marker. Avoid emitting useless
62 adjacent line markers. Avoid emitting line markers for tokens
63 originating from the expansion of built-in macros.
64 (scan_translation_unit_directives_only): Adjust.
65
4d661eaa
MP
662014-07-15 Marek Polacek <polacek@redhat.com>
67
68 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
69 TYPE_MAX_VALUE is NULL.
70
b108f48f
JJ
712014-07-14 Jakub Jelinek <jakub@redhat.com>
72
73 PR middle-end/61294
74 * c.opt (Wmemset-transposed-args): New warning.
75
c0221884
JM
762014-07-10 Jason Merrill <jason@redhat.com>
77
78 PR c++/61659
79 PR c++/61687
80 * c.opt (-fuse-all-virtuals): New.
81
63dfbb95
RB
822014-07-09 Richard Biener <rguenther@suse.de>
83
84 PR c-family/61741
85 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
86 using unsigned arithmetic if overflow does not wrap instead of
87 if overflow is undefined.
88
773ec47f
MP
892014-07-06 Marek Polacek <polacek@redhat.com>
90
91 PR c/6940
92 * c.opt (Wsizeof-array-argument): New option.
93
00a7ba58
JJ
942014-07-03 Jakub Jelinek <jakub@redhat.com>
95
96 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
97 comments->count <= 1, as comments->entries might be NULL.
98
52ec0ea3
MP
992014-07-01 Marek Polacek <polacek@redhat.com>
100
101 * c.opt (Wint-conversion): New option.
102
d5c3d343
MP
1032014-07-01 Marek Polacek <polacek@redhat.com>
104
105 PR c/58286
106 * c.opt (Wincompatible-pointer-types): New option.
107
6e7ceb17
PC
1082014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
109
110 PR c++/51400
111 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
112 Do not discard TYPE_QUALS of type.
113
da73100b
JM
1142014-06-26 Jason Merrill <jason@redhat.com>
115
116 * c-common.h (enum cxx_dialect): Add cxx1z.
117 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
118 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
119
08eedf75
TJ
1202014-06-26 Teresa Johnson <tejohnson@google.com>
121
122 * c-common.h (get_dump_info): Declare.
123 * c-gimplify.c (c_genericize): Use saved dump files.
124 * c-opts.c (c_common_parse_file): Begin and end dumps
125 once around parsing invocation.
126 (get_dump_info): New function.
127
7b56b2f8
MP
1282014-06-23 Marek Polacek <polacek@redhat.com>
129 Andrew MacLeod <amacleod@redhat.com>
130
131 PR c/61553
132 * c-common.c (get_atomic_generic_size): Don't segfault if the
133 type doesn't have a size.
134
0e37a2f3
MP
1352014-06-20 Marek Polacek <polacek@redhat.com>
136
137 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
138 (ubsan_walk_array_refs_r): New function.
139 (c_genericize): Instrument array bounds.
140 * c-ubsan.c: Include "internal-fn.h".
141 (ubsan_instrument_division): Mark instrumented arrays as having
142 side effects. Adjust ubsan_type_descriptor call.
143 (ubsan_instrument_shift): Likewise.
144 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
145 (ubsan_instrument_bounds): New function.
146 (ubsan_array_ref_instrumented_p): New function.
147 (ubsan_maybe_instrument_array_ref): New function.
148 * c-ubsan.h (ubsan_instrument_bounds): Declare.
149 (ubsan_array_ref_instrumented_p): Declare.
150 (ubsan_maybe_instrument_array_ref): Declare.
151
1522014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
153
154 PR lto/61123
155 * c.opt (fshort-enums): Add to LTO.
156 * c.opt (fshort-wchar): Likewise.
157
5c3d09f7
MP
1582014-06-16 Marek Polacek <polacek@redhat.com>
159
160 PR c/60439
161 * c.opt (Wswitch-bool): Add Var.
162
9cf32741
JJ
1632014-06-12 Jakub Jelinek <jakub@redhat.com>
164
165 PR middle-end/61486
166 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
167 #pragma omp target teams or
168 #pragma omp {,target }teams distribute simd.
169
62984918
JM
1702014-06-12 Jason Merrill <jason@redhat.com>
171
172 * c.opt (Wabi=, fabi-compat-version): New.
173 * c-opts.c (c_common_handle_option): Handle -Wabi=.
174 (c_common_post_options): Handle flag_abi_compat_version default.
175 Disallow -fabi-compat-version=1.
176 * c-common.h (abi_version_crosses): New.
177
f961457f
JH
1782014-06-11 Jan Hubicka <hubicka@ucw.cz>
179
180 * c-family/c-common.c (handle_section_attribute): Update handling for
181 section names that are no longer trees.
182
92d28cbb
JJ
1832014-06-10 Jakub Jelinek <jakub@redhat.com>
184
185 PR fortran/60928
186 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
187 (omp_pragmas): ... back here.
188
742938c9
MP
1892014-06-05 Marek Polacek <polacek@redhat.com>
190
191 PR c/49706
192 * c-common.c (warn_logical_not_parentheses): New function.
193 * c-common.h (warn_logical_not_parentheses): Declare.
194 * c.opt (Wlogical-not-parentheses): New option.
195
9d548dfb
MP
1962014-06-04 Marek Polacek <polacek@redhat.com>
197
198 PR c/30020
199 * c-common.c (check_case_bounds): Add location parameter.
200 Use it.
201 (c_add_case_label): Pass loc to check_case_bounds.
202
fedfecef
MP
2032014-06-03 Marek Polacek <polacek@redhat.com>
204
205 PR c/60439
206 * c.opt (Wswitch-bool): New option.
207
f6a7cffc
TS
2082014-05-22 Thomas Schwinge <thomas@codesourcery.com>
209
040d18b6
TS
210 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
211 Remove prototypes.
212 (record_types_used_by_current_var_decl): Move prototype to where
213 it belongs.
214
f6a7cffc
TS
215 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
216 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
217 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
218
632f2871
RS
2192014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
220
221 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
222 * c-common.c (c_common_nodes_and_builtins): Don't initialize
223 void_zero_node.
224 * c-pretty-print.c (pp_c_void_constant): New function.
225 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
226 (c_pretty_printer::expression): Handle VOID_CST.
227 * cilk.c (extract_free_variables): Likewise.
228 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
229 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
230
766090c2
TS
2312014-05-17 Trevor Saunders <tsaunders@mozilla.com>
232
233 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
234 * c-pragma.c (push_alignment): Adjust.
235 (handle_pragma_push_options): Likewise.
236
661a0813
MP
2372014-05-09 Marek Polacek <polacek@redhat.com>
238
239 PR c/50459
240 * c-common.c (check_user_alignment): Return -1 if alignment is error
241 node.
242 (handle_aligned_attribute): Don't call default_conversion on
243 FUNCTION_DECLs.
244 (handle_vector_size_attribute): Likewise.
245 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
246 (handle_sentinel_attribute): Call default_conversion and allow even
247 integral types as an argument.
248
2793eeab
MP
2492014-05-08 Marek Polacek <polacek@redhat.com>
250
251 PR c/61053
252 * c-common.c (min_align_of_type): New function factored out from...
253 (c_sizeof_or_alignof_type): ...here.
254 * c-common.h (min_align_of_type): Declare.
255
f827930a
MP
2562014-05-08 Marek Polacek <polacek@redhat.com>
257
258 PR c/61077
259 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
260 parameter type of main.
261
ca49b74e
DD
2622014-05-07 DJ Delorie <dj@redhat.com>
263
264 * c-cppbuiltin.c (print_bits_of_hex): New.
265 (builtin_define_type_minmax): Print values using hex so as not to
266 require a pre-computed list of string values.
267
1d60af08
KZ
2682014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
269 Mike Stump <mikestump@comcast.net>
270 Richard Sandiford <rdsandiford@googlemail.com>
271
272 * c-ada-spec.c: Include wide-int.h.
273 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
274 (dump_generic_ada_node): Use wide-int interfaces.
275 * c-common.c: Include wide-int-print.h.
276 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
277 (pointer_int_sum): Use wide-int interfaces.
278 (c_common_nodes_and_builtins): Use make_int_cst.
279 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
280 (handle_alloc_size_attribute): Use wide-int interfaces.
281 (get_nonnull_operand): Likewise.
282 * c-format.c (get_constant): Use tree_fits_uhwi_p.
283 * c-lex.c: Include wide-int.h.
284 (narrowest_unsigned_type): Take a widest_int rather than two
285 HOST_WIDE_INTs.
286 (narrowest_signed_type): Likewise.
287 (interpret_integer): Update accordingly. Use wide-int interfaces.
288 (lex_charconst): Use wide-int interfaces.
289 * c-pretty-print.c: Include wide-int.h.
290 (pp_c_integer_constant): Use wide-int interfaces.
291 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
292 INT_CST_LT_UNSIGNED.
293
b15458be
RB
2942014-05-06 Richard Biener <rguenther@suse.de>
295
296 * c-opts.c (c_common_post_options): For -freestanding,
297 -fno-hosted and -fno-builtin disable pattern recognition
298 if not enabled explicitely.
299
6577374e
MP
3002014-05-02 Marek Polacek <polacek@redhat.com>
301
302 * c.opt (Wsizeof-pointer-memaccess): Describe option.
303
d00887e8
MP
3042014-05-01 Marek Polacek <polacek@redhat.com>
305
306 PR c/43245
307 * c.opt (Wdiscarded-qualifiers): Add.
308
f8ed5150
MP
3092014-04-30 Marek Polacek <polacek@redhat.com>
310
311 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
312 INT_MIN / -1 sanitization only for integer types.
313
45484dcf
MP
3142014-04-25 Marek Polacek <polacek@redhat.com>
315
316 PR c/18079
317 * c-common.c (handle_noinline_attribute): Warn if the attribute
318 conflicts with always_inline attribute.
319 (handle_always_inline_attribute): Warn if the attribute conflicts
320 with noinline attribute.
321
38e514c0
MP
3222014-04-25 Marek Polacek <polacek@redhat.com>
323
324 PR c/60156
325 * c-common.c (check_main_parameter_types): Warn about variadic main.
326
44875f92
MS
3272014-04-24 Mike Stump <mikestump@comcast.net>
328
329 * c.opt (Wshadow-ivar): Default to on.
330
dcaaa5a0
DP
3312014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
332
333 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
334
c07d7c02
MP
3352014-04-23 Marek Polacek <polacek@redhat.com>
336
337 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
338
1c33c9b7
JJ
3392014-04-22 Jakub Jelinek <jakub@redhat.com>
340
341 PR sanitizer/60275
342 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
343 if flag_sanitize_undefined_trap_on_error.
344 (ubsan_instrument_division, ubsan_instrument_shift,
345 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
346 if !flag_sanitize_recover.
347
793c625f
MG
3482014-04-22 Marc Glisse <marc.glisse@inria.fr>
349
350 PR libstdc++/43622
351 * c-common.c (registered_builtin_types): Make non-static.
352 * c-common.h (registered_builtin_types): Declare.
353
b0f1bf36
RB
3542014-04-14 Richard Biener <rguenther@suse.de>
355 Marc Glisse <marc.glisse@inria.fr>
356
357 PR c/60819
358 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
359 apply may-alias the scalar pointer type when applicable.
360
3b07fa4a
IZ
3612014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
362
363 PR middle-end/60467
364 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
365 as possible argument for Cilk_spawn.
366
cbbd2b1c
TB
3672014-04-11 Tobias Burnus <burnus@net-b.de>
368
369 PR c/60194
370 * c.opt (Wformat-signedness): Add
371 * c-format.c(check_format_types): Use it.
372
6415bd5d
JM
3732014-04-11 Jason Merrill <jason@redhat.com>
374
375 PR c++/57926
376 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
377 default_conversion for an array argument.
378
6525783a
MP
3792014-04-08 Marek Polacek <polacek@redhat.com>
380
381 PR sanitizer/60745
382 * c-ubsan.c: Include asan.h.
383 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
384
880a467b
NS
3852014-04-03 Nathan Sidwell <nathan@codesourcery.com>
386
387 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
388
7b59ff2d
MP
3892014-04-02 Marek Polacek <polacek@redhat.com>
390
391 * c-common.h (c_expand_expr): Remove declaration.
392
8edbfaa6
JJ
3932014-03-28 Jakub Jelinek <jakub@redhat.com>
394
395 PR c++/60689
396 * c-common.c (add_atomic_size_parameter): When creating new
397 params vector, push the size argument first.
398
07d72e1d
JJ
3992014-03-26 Jakub Jelinek <jakub@redhat.com>
400
401 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
402 ubsan_instrument_vla, ubsan_instrument_return): Adjust
403 ubsan_create_data callers.
404
b35e0fa0
JJ
4052014-03-22 Jakub Jelinek <jakub@redhat.com>
406
407 PR debug/60603
408 * c-opts.c (c_finish_options): Restore cb_file_change call to
409 <built-in>.
410
39a1ebb3
JJ
4112014-03-13 Jakub Jelinek <jakub@redhat.com>
412
413 PR middle-end/36282
414 * c-pragma.c (apply_pragma_weak): Only look at
415 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
416 DECL_ASSEMBLER_NAME_SET_P (decl).
417 (maybe_apply_pending_pragma_weaks): Exit early if
418 vec_safe_is_empty (pending_weaks) rather than only when
419 !pending_weaks.
420 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
421 set assembler name back to NULL afterwards.
422
a07f6ed2
JM
4232014-03-11 Jason Merrill <jason@redhat.com>
424
425 * c.opt: Add -std=gnu++14.
426
75b107f5
IB
4272014-03-11 Ian Bolton <ian.bolton@arm.com>
428
429 * c-opts.c (c_common_post_options): Don't override
430 -ffp-contract=fast if unsafe-math-optimizations is on.
431
f42c637e
PM
4322014-03-08 Paulo Matos <paulo@matos-sorge.com>
433
434 * c.opt: Enable LTO FE for fshort-double.
435
70e24808
JM
4362014-03-07 Jason Merrill <jason@redhat.com>
437
438 * c.opt: Add -std=c++14.
439
3af9c5e9
MP
4402014-03-06 Marek Polacek <polacek@redhat.com>
441
442 PR c/60197
443 * cilk.c (contains_cilk_spawn_stmt): New function.
444 (contains_cilk_spawn_stmt_walker): Likewise.
445 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
446 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
447
b3bdf019
JJ
4482014-03-03 Jakub Jelinek <jakub@redhat.com>
449
450 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
451 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
452 even when flag_preprocess_only.
453
ca7e759d
JM
4542014-02-26 Jason Merrill <jason@redhat.com>
455
456 PR c++/59231
457 PR c++/11586
458 * c-common.c (shorten_compare): Don't check
459 c_inhibit_evaluation_warnings.
460
28e41874
JJ
4612014-02-19 Jakub Jelinek <jakub@redhat.com>
462
cca615af
JJ
463 PR c/37743
464 * c-common.c (c_common_nodes_and_builtins): When initializing
465 c_uint{16,32,64}_type_node, also set corresponding
466 uint{16,32,64}_type_node to the same value.
467
28e41874
JJ
468 PR c++/60267
469 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
470 for PRAGMA_IVDEP if flag_preprocess_only.
471
c2bf53a1
JJ
4722014-02-12 Jakub Jelinek <jakub@redhat.com>
473
474 PR c/60101
475 * c-common.c (merge_tlist): If copy is true, call new_tlist,
476 if false, add ADD itself, rather than vice versa.
477 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
478 copy. For SAVE_EXPR, only call merge_tlist once.
479
8fcbce72
JJ
4802014-02-08 Jakub Jelinek <jakub@redhat.com>
481
482 PR middle-end/60092
483 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
484 and tree_to_uhwi.
485 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
486 functions.
487 (c_common_attribute_table): Add alloc_align and assume_aligned
488 attributes.
489
0a756a3f
MP
4902014-02-06 Marek Polacek <polacek@redhat.com>
491
492 PR c/60087
493 * c-common.c (warn_for_sign_compare): Call warning_at with location
494 instead of warning.
495
7ec4847a
MP
4962014-02-05 Marek Polacek <polacek@redhat.com>
497
498 PR c/53123
499 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
500 statement.
501
66f20604
MP
5022014-02-04 Marek Polacek <polacek@redhat.com>
503
504 PR c/60036
505 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
506 SAVE_EXPR.
507
5d77fb19
MG
5082014-02-03 Marc Glisse <marc.glisse@inria.fr>
509
510 PR c++/53017
511 PR c++/59211
512 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
513 handle_vector_size_attribute, handle_nonnull_attribute): Call
514 default_conversion on the attribute argument.
515 (handle_nonnull_attribute): Increment the argument number.
516
81e5eca8
MP
5172014-01-31 Marek Polacek <polacek@redhat.com>
518
519 PR c/59963
520 * c-common.c (add_atomic_size_parameter): Pass vNULL to
521 build_function_call_vec.
522 (resolve_overloaded_builtin): Likewise.
523 * c-common.h (build_function_call_vec): Adjust declaration.
524
68fca595
MP
5252014-01-30 Marek Polacek <polacek@redhat.com>
526
527 PR c/59940
528 * c-common.h (unsafe_conversion_p): Adjust declaration.
529 (warnings_for_convert_and_check): Likewise.
530 (convert_and_check): Likewise.
531 * c-common.c (unsafe_conversion_p): Add location parameter. Call
532 expansion_point_location_if_in_system_header on it.
533 (warnings_for_convert_and_check): Add location parameter. Call
534 expansion_point_location_if_in_system_header on it. Use it.
535 (convert_and_check): Add location parameter. Use it.
536 (conversion_warning): Likewise.
537 (c_add_case_label): Adjust convert_and_check calls.
538 (scalar_to_vector): Adjust unsafe_conversion_p calls.
539
b72271b9
BI
5402014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
541
542 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
543 flag_cilkplus.
544 * c-pragma.c (init_pragma): Likewise.
545 * c.opt: Likewise.
546
393e8e8b
MP
5472014-01-23 Marek Polacek <polacek@redhat.com>
548
549 PR c/59846
550 * c-common.c (shorten_compare): Add location_t parameter.
551 * c-common.h (shorten_binary_op): Adjust declaration.
552
f04dda30
MP
5532014-01-23 Marek Polacek <polacek@redhat.com>
554
555 PR c/58346
556 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
557 * c-common.h: Declare it.
558
621955cb
EB
5592014-01-20 Eric Botcazou <ebotcazou@adacore.com>
560
561 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
562 * c-ada-spec.c (dump_ads): Likewise.
563 (cpp_check): Likewise.
564 (dump_ada_specs): Likewise.
565
5662014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
567
568 PR c++/49718
569 * c-common.c (handle_no_instrument_function_attribute): Allow
570 no_instrument_function attribute in class member
571 definition/declaration.
572
241f845a
JJ
5732014-01-15 Jakub Jelinek <jakub@redhat.com>
574
575 PR c/58943
576 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
577 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
578 being COMPOUND_EXPR.
579 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
580 operand a SAVE_EXPR and second MODIFY_EXPR.
581
e83b8e2e
JJ
5822014-01-09 Jakub Jelinek <jakub@redhat.com>
583
584 PR target/58115
585 * c-pch.c (c_common_write_pch): Call
586 prepare_target_option_nodes_for_pch.
587
23a5b65a
RS
5882014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
589
590 Update copyright years
591
f9030485
RS
5922014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
593
594 * array-notation-common.c, c-cilkplus.c: Use the standard form for
595 the copyright notice.
596
f2aa696b
EB
5972013-12-28 Eric Botcazou <ebotcazou@adacore.com>
598
599 * c-ada-spec.c (print_constructor): New function.
600 (print_destructor): Retrieve the origin of the destructor.
601 (print_ada_declaration): Revamp handling of constructors/destructors.
602
1f26ac87
JM
6032013-12-23 Stuart Hastings <stuart@apple.com>
604 Bill Maddox <maddox@google.com>
605 Jason Merrill <jason@redhat.com>
606
607 * c.opt: Add -fdeclone-ctor-dtor.
608 * c-opts.c (c_common_post_options): Default to on iff -Os.
609
41958c28
BI
6102013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
611
612 * c-common.c (c_common_attribute_table): Added "cilk simd function"
613 attribute.
614 * c-pragma.h (enum pragma_cilk_clause): Remove.
615 (enum pragma_omp_clause): Added the following fields:
616 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
617 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
618 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
619 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
620 PRAGMA_CILK_CLAUSE_UNIFORM.
621
622
12893402
BI
6232013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
624
625 * cilk.c (cilk_outline): Made this function non-static.
626 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
627 (create_cilk_wrapper): Added a new parameter: a function pointer.
628 (c_install_body_w_frame_cleanup): Remove
629 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
630 * c-common.h (cilk_outline): New prototype.
631 (gimplify_cilk_spawn): Removed two parameters.
632 (cilk_install_body_with_frame_cleanup): New prototype.
633 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
634 CILK_SPAWN_STMT case.
635
085b42ed
BS
6362013-12-11 Bernd Schmidt <bernds@codesourcery.com>
637
2ce064c3
BS
638 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
639
085b42ed
BS
640 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
641 (int_array_type_node): Remove.
642 * c-common.c (c_common_nodes_and_builtins): Don't build it.
643
9e36c9ed
MP
6442013-12-05 Marek Polacek <polacek@redhat.com>
645
646 PR c/52023
647 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
648 [ADJUST_FIELD_ALIGN].
649
296674db
JM
6502013-12-04 Joseph Myers <joseph@codesourcery.com>
651
652 PR c/52023
653 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
654 and check field alignment if set.
655 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
656 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
657
31e071ae
MP
6582013-12-04 Jakub Jelinek <jakub@redhat.com>
659 Marek Polacek <polacek@redhat.com>
660
661 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
662 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
663
d7947e19
L
6642013-11-29 H.J. Lu <hongjiu.lu@intel.com>
665
666 PR c/59309
667 * cilk.c (gimplify_cilk_spawn): Properly handle function without
668 arguments.
669
fad7652e
JJ
6702013-11-29 Jakub Jelinek <jakub@redhat.com>
671
672 PR c/59280
673 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
674 goto invalid. If it is error_mark_node, don't issue further
675 diagnostics.
676
8b5e1202
SO
6772013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
678
679 * c.opt (Wopenmp-simd): New.
680
0a508bb6
JJ
6812013-11-22 Jakub Jelinek <jakub@redhat.com>
682
683 * c-ubsan.h (ubsan_instrument_return): New prototype.
684 * c-ubsan.c (ubsan_instrument_return): New function.
685
2fb9a547
AM
6862013-11-22 Andrew MacLeod <amacleod@redhat.com>
687
688 * c-common.c: Add required include files from gimple.h.
689 * c-gimplify.c: Likewise
690 * cilk.c: Likewise
691
8400e75e
DM
6922013-11-22 David Malcolm <dmalcolm@redhat.com>
693
694 * c-common.c (unsafe_conversion_p): Remove use of
695 EXPR_LOC_OR_HERE macro.
696 (conversion_warning): Likewise.
697 (warnings_for_convert_and_check): Likewise.
698 (warn_for_collisions_1): Likewise.
699 (shorten_compare): Likewise, and remove use of in_system_header
700 macro, using the location from the former.
701 * c-lex.c (dump_one_header): Remove use of input_filename macro.
702 (cb_def_pragma): Remove use of in_system_header macro.
703 (lex_string): Likewise.
704 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
705
eb1ce453
KZ
7062013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
707 Mike Stump <mikestump@comcast.net>
708 Richard Sandiford <rdsandiford@googlemail.com>
709
710 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
711 instead of TREE_INT_CST_LOW, in cases where there is a protecting
712 tree_fits_shwi_p or tree_fits_uhwi_p.
713 (dump_generic_ada_node): Likewise.
714 * c-format.c (check_format_arg): Likewise.
715 * c-pretty-print.c (pp_c_integer_constant): Likewise.
716
6b3b8c27
KZ
7172013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
718
719 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
720
49b0aa18
JC
7212013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
722
723 PR c/53001
724 * c-common.c (unsafe_conversion_p): Make this function
725 return an enumeration with more detail.
726 (conversion_warning): Use the new return type of
727 unsafe_conversion_p to separately warn either about conversions
728 that lower floating point number precision or about the other
729 kinds of conversions.
730 * c-common.h (enum conversion_safety): New enumeration.
731 (unsafe_conversion_p): switching return type to
732 conversion_safety enumeration.
733 * c.opt: Adding new warning -Wfloat-conversion and
734 enabling it with -Wconversion.
735
b826515a
BS
7362013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
737
738 * c-opts.c: Include plugin.h.
739 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
740
b9a55b13
MP
7412013-11-19 Marek Polacek <polacek@redhat.com>
742
743 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
744 call.
745 (ubsan_instrument_shift): Likewise.
746 (ubsan_instrument_vla): Likewise.
747
7d362f6c
RS
7482013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
749
750 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
751 cast to unsigned type.
752
386b1f1f
RS
7532013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
754
755 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
756 tree_low_cst.
757 (complete_array_type): Update comment to refer to tree_to_[su]hwi
758 rather than tree_low_cst.
759
ae7e9ddd
RS
7602013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
761
762 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
763 tree_to_uhwi throughout.
764
9439e9a1
RS
7652013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
766
767 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
768 tree_low_cst (..., 0) with tree_to_shwi throughout.
769
cc269bb6
RS
7702013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
771
772 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
773 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
774
9541ffee
RS
7752013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
776
777 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
778 host_integerp (..., 0) with tree_fits_shwi_p throughout.
779
c02065fc
AH
7802013-11-15 Aldy Hernandez <aldyh@redhat.com>
781
782 * c-cilkplus.c: New file.
783 * c-common.c (readonly_error): Add location argument.
784 * c-common.h (readonly_error): Same.
785 (c_finish_cilk_clauses): Protoize.
786 (c_check_cilk_loop): Same.
787 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
788 Do not fail on error_mark_node.
789 Abstract increment canonicalization to here...
790 (c_omp_for_incr_canonicalize_ptr): New.
791 c-pragma.c (init_pragma): Register "simd" pragma.
792 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
793 (enum pragma_cilk_clause): New.
794
9cc65f15
RS
7952013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
796
797 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
798 wchar_type and host_integerp checks.
799
18f429e2
AM
8002013-11-14 Andrew MacLeod <amacleod@redhat.com>
801
802 * c-common.c: Likewise.
803 * c-gimplify.c: Likewise.
804 * cilk.c: Likewise.
805
d8a2d370
DN
8062013-11-14 Diego Novillo <dnovillo@google.com>
807
808 * c-common.c: Include fold-const.h.
809 Include stor-layout.h.
810 Include calls.h.
811 Include stringpool.h.
812 Include attribs.h.
813 Include varasm.h.
814 Include trans-mem.h.
815 * c-cppbuiltin.c: Include stor-layout.h.
816 Include stringpool.h.
817 * c-format.c: Include stringpool.h.
818 * c-lex.c: Include stringpool.h.
819 Include stor-layout.h.
820 * c-pragma.c: Include stringpool.h.
821 Include attribs.h.
822 Include varasm.h.
823 Include gcc-symtab.h.
824 * c-pretty-print.c: Include stor-layout.h.
825 Include attribs.h.
826 * cilk.c: Include stringpool.h.
827 Include calls.h.
828
38b7bc7f
JM
8292013-11-13 Joseph Myers <joseph@codesourcery.com>
830
831 * c-common.h (enum rid): Add RID_AUTO_TYPE.
832 * c-common.c (c_common_reswords): Add __auto_type.
833 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
834
45b0be94
AM
8352013-11-12 Andrew MacLeod <amacleod@redhat.com>
836
18f429e2
AM
837 * c-common.c: Include gimplify.h.
838 * c-gimplify.c: Likewise.
839 * cilk.c: Likewise.
840 * c-omp.c: Include gimple-expr.h instead of gimple.h.
841 * c-ubsan.c: Don't include gimple.h.
45b0be94 842
582d9b50
JM
8432013-11-12 Joseph Myers <joseph@codesourcery.com>
844
845 * c-common.c (c_common_reswords): Add _Thread_local.
846
6b28e197
JM
8472013-11-09 Joseph Myers <joseph@codesourcery.com>
848
849 * c-common.c (atomic_size_supported_p): New function.
850 (resolve_overloaded_atomic_exchange)
851 (resolve_overloaded_atomic_compare_exchange)
852 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
853 Use it instead of comparing size with a local list of sizes.
854
267bac10
JM
8552013-11-07 Andrew MacLeod <amacleod@redhat.com>
856 Joseph Myers <joseph@codesourcery.com>
857
858 * c-common.h (enum rid): Add RID_ATOMIC.
859 * c-common.c (c_common_reswords): Add _Atomic.
860 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
861 (keyword_is_type_qualifier): Accept RID_ATOMIC.
862 * c-format.c (check_format_types): Check for extra _Atomic
863 qualifiers in format argument.
864 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
865 (pp_c_type_qualifier_list): Mention _Atomic in comment.
866
5157b91e
TB
8672013-11-06 Tobias Burnus <burnus@net-b.de>
868
869 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
870
6dbe0958
JM
8712013-11-06 Joseph Myers <joseph@codesourcery.com>
872
873 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
874 standards modes.
875 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
876 to mean lack of IEEE 754 support.
877
e8ff5196
TB
8782013-11-05 Tobias Burnus <burnus@net-b.de>
879
880 * c.opt (-Wdate-time): New option
881 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
882
254a0760
JM
8832013-11-05 Joseph Myers <joseph@codesourcery.com>
884
885 * c-cppbuiltin.c (cpp_iec_559_value): Test
886 flag_excess_precision_cmdline not flag_excess_precision.
887
6d7f7e0a
TB
8882013-11-05 Tobias Burnus <burnus@net-b.de>
889
890 * c.opt (fopenmp-simd): New option.
891 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
892 (omp_pragmas): ... this new struct.
893 (c_pp_lookup_pragma): Also walk omp_pragmas.
894 (init_pragma): Init pragmas for -fopenmp-simd.
895
55a7f02f
MP
8962013-11-04 Marek Polacek <polacek@redhat.com>
897
898 PR c++/58979
899 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
900
9193fb05
JM
9012013-11-04 Joseph Myers <joseph@codesourcery.com>
902
903 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
904 New functions.
905 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
906
94159ecf
EB
9072013-11-04 Eric Botcazou <ebotcazou@adacore.com>
908
909 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
910 (dump_ada_specs): Adjust prototype of second callback.
911 * c-ada-spec.c (cpp_check): New global variable.
912 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
913 (print_generic_ada_decl): Likewise.
914 (has_static_fields): Change return type to bool and add guard.
915 (has_nontrivial_methods): New predicate.
916 (is_tagged_type): Change return type to bool.
917 (separate_class_package): Call has_nontrivial_methods.
918 (pp_ada_tree_identifier): Minor tweaks.
919 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
920 (dump_ada_array_domains): Likewise.
921 (dump_ada_array_type): Likewise.
922 (dump_template_types): Remove cpp_check parameter and do not pass it to
923 dump_generic_ada_node.
924 (dump_ada_template): Likewise.
925 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
926 recursively.
927 (print_ada_methods): Change return type to integer. Remove cpp_check
928 parameter and do not pass it down.
929 (dump_nested_types): Remove cpp_check parameter and do not pass it to
930 dump_generic_ada_node.
931 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
932 accessing methods.
933 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
934 down. Use has_nontrivial_methods to recognize C++ classes. Use return
935 value of print_ada_methods.
936 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
937 Set cpp_check to it before invoking dump_ada_nodes.
938 (dump_ada_specs): Likewise.
939
b906f4ca
MP
9402013-11-03 Marek Polacek <polacek@redhat.com>
941
942 * c-ubsan.c: Don't include hash-table.h.
943 (ubsan_instrument_vla): New function.
944 * c-ubsan.h: Declare it.
945
5e20cdc9
DM
9462013-10-31 David Malcolm <dmalcolm@redhat.com>
947
948 Automated part of renaming of symtab_node_base to symtab_node.
949
950 Patch autogenerated by rename_symtab.py from
951 https://github.com/davidmalcolm/gcc-refactoring-scripts
952 revision 58bb219cc090b2f4516a9297d868c245495ee622
953
954 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
955 symtab_node_base to symtab_node.
956
7057e645
ESR
9572013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
958
959 Implement C++14 digit separators.
960 * c-lex.c (interpret_float): Remove digit separators from scratch string
961 before building real literal.
962
193ea7bc
JJ
9632013-10-30 Jakub Jelinek <jakub@redhat.com>
964
965 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
966
939b37da
BI
9672013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
968
969 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
970 fields.
971 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
972 enabled.
973 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
974 (insert_cilk_frame): New prototype.
975 (cilk_init_builtins): Likewise.
976 (gimplify_cilk_spawn): Likewise.
977 (c_cilk_install_body_w_frame_cleanup): Likewise.
978 (cilk_detect_spawn_and_unwrap): Likewise.
979 (cilk_set_spawn_marker): Likewise.
980 (build_cilk_sync): Likewise.
981 (build_cilk_spawn): Likewise.
982 * cilk.c: New file.
983
67348ccc
DM
9842013-10-29 David Malcolm <dmalcolm@redhat.com>
985
986 Patch autogenerated by refactor_symtab.py from
987 https://github.com/davidmalcolm/gcc-refactoring-scripts
988 revision 58bb219cc090b2f4516a9297d868c245495ee622
989
990 * c-gimplify.c (c_genericize): Update for conversion of symtab types
991 to a true class hierarchy.
992 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
993
d570872d
RS
9942013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
995
996 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
997
98906124
JL
9982013-10-26 Jeff Law <law@redhat.com>
999
1000 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1001 * c-family/c.opt: Ignore and warn for mudflap options.
1002
d73749df 10032013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
1004
1005 PR other/33426
1006 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1007 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1008
3f04b1bb
JM
10092013-10-23 Jason Merrill <jason@redhat.com>
1010
1011 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1012
acf0174b
JJ
10132013-10-11 Jakub Jelinek <jakub@redhat.com>
1014
acd15a28
JJ
1015 * c-common.h (omp_clause_mask::operator !=): New method.
1016 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1017 instead of if (mask & something) tests everywhere.
1018
acf0174b
JJ
1019 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1020 201307 instead of 201107.
1021 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1022 (c_common_attribute_table): Add "omp declare target" and
1023 "omp declare simd" attributes.
1024 (handle_omp_declare_target_attribute,
1025 handle_omp_declare_simd_attribute): New functions.
1026 * c-omp.c: Include c-pragma.h.
1027 (c_finish_omp_taskgroup): New function.
1028 (c_finish_omp_atomic): Add swapped argument, if true,
1029 build the operation first with rhs, lhs arguments and use NOP_EXPR
1030 build_modify_expr.
1031 (c_finish_omp_for): Add code argument, pass it down to make_code.
1032 (c_omp_split_clauses): New function.
1033 (c_split_parallel_clauses): Removed.
1034 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1035 c_omp_declare_simd_clauses_to_decls): New functions.
1036 * c-common.h (omp_clause_mask): New type.
1037 (OMP_CLAUSE_MASK_1): Define.
1038 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1039 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1040 omp_clause_mask::operator |, omp_clause_mask::operator &,
1041 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1042 omp_clause_mask::operator ==): New methods.
1043 (enum c_omp_clause_split): New.
1044 (c_finish_omp_taskgroup): New prototype.
1045 (c_finish_omp_atomic): Add swapped argument.
1046 (c_finish_omp_for): Add code argument.
1047 (c_omp_split_clauses): New prototype.
1048 (c_split_parallel_clauses): Removed.
1049 (c_omp_declare_simd_clauses_to_numbers,
1050 c_omp_declare_simd_clauses_to_decls): New prototypes.
1051 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1052 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1053 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1054 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1055 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1056 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1057 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1058 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1059 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1060 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1061 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1062 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1063 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1064 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1065 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1066 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1067 PRAGMA_OMP_CLAUSE_UNIFORM.
1068
826cacfe
MG
10692013-10-09 Marc Glisse <marc.glisse@inria.fr>
1070
1071 PR tree-optimization/20318
1072 * c-common.c (handle_returns_nonnull_attribute): New function.
1073 (c_common_attribute_table): Add returns_nonnull.
1074
2284b034
MG
10752013-10-03 Marc Glisse <marc.glisse@inria.fr>
1076
1077 PR c++/19476
1078 * c.opt (fcheck-new): Move to common.opt.
1079
b56e9788
MP
10802013-09-25 Marek Polacek <polacek@redhat.com>
1081 Jakub Jelinek <jakub@redhat.com>
1082
1083 PR sanitizer/58413
1084 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1085 an expression if we can prove it is correct.
1086 (ubsan_instrument_division): Likewise. Remove unnecessary
1087 check.
1088
ce6923c5
MP
10892013-09-18 Marek Polacek <polacek@redhat.com>
1090
1091 PR sanitizer/58411
1092 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1093 Declare it.
1094 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1095
fb5610fb
IS
10962013-09-14 Iain Sandoe <iain@codesourcery.com>
1097
1098 PR target/48094
1099 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1100 fobjc-gc, freplace-objc-classes): Accept for LTO.
1101
88b0e79e
JC
11022013-09-13 Jacek Caban <jacek@codeweavers.com>
1103
1104 * c-target.def: New hook
1105
c9b0866a
PC
11062013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1107
1108 PR c++/43452
1109 * c.opt (Wdelete-incomplete): Add.
1110
0af94e6f
JR
11112013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1112
1113 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1114 (vector_types_compatible_elements_p): New function.
1115 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1116 declaration.
1117 (vector_types_compatible_elements_p): Declare.
1118
7c26172c
GDR
11192013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1120
1121 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1122 a virtual member function.
1123 (pp_simple_type_specifier): Remove.
1124 (pp_c_type_specifier): Likewise.
1125 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1126 Rename from pp_c_type_specifier. Adjust.
1127 (c_pretty_printer::c_pretty_printer): Do not assign to
1128 simple_type_specifier.
1129
20059c8b
GDR
11302013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1131
1132 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1133 member function.
1134 (c_pretty_printer::storage_class_specifier): Likewise.
1135 (c_pretty_printer::initializer): Likewise.
1136 (pp_declaration): Remove.
1137 (pp_declaration_specifiers): Likewise.
1138 (pp_abstract_declarator): Likewise.
1139 (pp_declarator): Likewise.
1140 (pp_type_id): Likewise.
1141 (pp_statement): Likewise.
1142 (pp_constant): Likewise.
1143 (pp_id_expression): Likewise.
1144 (pp_primary_expression): Likewise.
1145 (pp_unary_expression): Likewise.
1146 (pp_multiplicative_expression): Likewise.
1147 (pp_conditional_expression): Likewise.
1148 (pp_assignment_expression): Likewise.
1149 (pp_expression): Likewise.
1150 (pp_c_type_id): Likewise.
1151 (pp_c_storage_class_specifier): Likewise.
1152 * c-pretty-print.c (pp_c_type_cast): Tidy.
1153 (pp_c_pointer): Likewise.
1154 (pp_c_type_specifier): Likewise.
1155 (pp_c_parameter_type_list): Likewise.
1156 (pp_c_function_definition): Likewise.
1157 (pp_c_init_declarator): Likewise.
1158 (pp_c_initializer_list): Likewise.
1159 (pp_c_constructor_elts): Likewise.
1160 (c_pretty_printer::direct_abstract_declarator): Likewise.
1161 (c_pretty_printer::declaration_specifiers): Likewise.
1162 (c_pretty_printer::primary_expression): Likewise.
1163 (c_pretty_printer::postfix_expression): Likewise.
1164 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1165 (c_pretty_printer::storage_class_specifier): Rename from
1166 pp_c_storage_class_specifier.
1167 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1168 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1169 storage_class_specifier, initializer, offset_list, flags.
1170
de5a5fa1
MP
11712013-08-30 Marek Polacek <polacek@redhat.com>
1172
1173 * c-ubsan.c: New file.
1174 * c-ubsan.h: New file.
1175
8f0e4d72
GDR
11762013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1177
1178 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1179 member function.
1180 (c_pretty_printer::declaration_specifiers): Likewise.
1181 (c_pretty_printer::declarator): Likewise.
1182 (c_pretty_printer::abstract_declarator): Likewise.
1183 (c_pretty_printer::direct_abstract_declarator): Likewise.
1184 (c_pretty_printer::direct_declarator): Likewise.
1185 (c_pretty_printer::function_specifier): Likewise.
1186 (pp_declaration): Adjust.
1187 (pp_declaration_specifiers): Likewise.
1188 (pp_abstract_declarator): Likewise.
1189 (pp_direct_declarator): Likewise.
1190 (pp_function_specifier): Likewise.
1191 (pp_direct_abstract_declarator): Remove as unused.
1192 (pp_c_declaration): Remove.
1193 (pp_c_declaration_specifiers): Likewise.
1194 (pp_c_declarator): Likewise.
1195 (pp_c_direct_declarator): Likewise.
1196 (pp_c_function_specifier): Likewise.
1197 (pp_c_direct_abstract_declarator): Likewise.
1198 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1199 from pp_c_abstract_declarator. Adjust.
1200 (c_pretty_printer::direct_abstract_declarator): Rename from
1201 pp_c_direct_abstract_declarator. Adjust.
1202 (c_pretty_printer::function_specifier): Rename from
1203 pp_c_function_specifier. Adjust.
1204 (c_pretty_printer::declaration_specifiers): Rename from
1205 pp_c_declaration_specifiers. Adjust.
1206 (c_pretty_printer::direct_declarator): Rename from
1207 pp_c_direct_declarator. Adjust.
1208 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1209 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1210 (c_pretty_printer::c_pretty_printer): Do not assign to
1211 declaration, declaration_specifiers, declarator,
1212 direct_declarator, direct_abstract_declarator, function_specifier.
1213
00d34d3a
GDR
12142013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1215
1216 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1217 virtual member function.
1218 (c_pretty_printer::multiplicative_expression): Likewise.
1219 (c_pretty_printer::conditional_expression): Likewise.
1220 (c_pretty_printer::assignment_expression): Likewise.
1221 (c_pretty_printer::expression): Likewise.
1222 (pp_unary_expression): Adjust.
1223 (pp_multiplicative_expression): Likewise.
1224 (pp_assignment_expression): Likewise.
1225 (pp_conditional_expression): Likewise.
1226 (pp_expression): Likewise.
1227 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1228 from pp_c_unary_expression. Adjust.
1229 (c_pretty_printer::multiplicative_expression): Rename from
1230 pp_c_multiplicative_expression. Adjust.
1231 (c_pretty_printer::conditional_expression): Rename from
1232 pp_c_conditional_expression. Adjust.
1233 (c_pretty_printer::assignment_expression): Rename from
1234 pp_c_assignment_expression. Adjust.
1235 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1236 (c_pretty_printer::c_pretty_printer): Do not assign to
1237 unary_expression, multiplicative_expression,
1238 conditional_expression, expression.
1239
fb22178f
GDR
12402013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1241
1242 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1243 virtual member function.
1244 (pp_postfix_expression): Adjust.
1245 (pp_c_postfix_expression): Remove.
1246 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1247 from pp_c_postfix_expression. Adjust.
1248 (c_pretty_printer::c_pretty_printer): Do not assign to
1249 postfix_expression.
1250
7ecc2600
GDR
12512013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1252
1253 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1254 virtua member function.
1255 (pp_primary_expression): Adjust.
1256 (pp_c_primary_expression): Remove.
1257 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1258 from pp_c_primary_expression. Adjust.
1259 (pp_c_initializer_list): Use pp_primary_expression.
1260 (c_pretty_printer::c_pretty_printer): Do not assign to
1261 primary_expression.
1262
0691175f
GDR
12632013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1264
1265 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1266 * c-pretty-print.c (M_): Remove.
1267 (c_pretty_printer::translate_string): Define.
1268 (pp_c_type_specifier): Use it.
1269 (pp_c_primary_expression): Likewise.
1270 (pp_c_expression): Likewise.
1271
66dfe4c4
GDR
12722013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1273
1274 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1275 virtual function.
1276 (pp_c_id_expression): Remove.
1277 (pp_id_expression): Adjust.
1278 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1279 pp_c_id_expression. Adjust.
1280 (pp_c_postfix_expression): Use pp_id_expression.
1281 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1282
ca43e9d5
GDR
12832013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1284
1285 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1286 member function.
1287 (pp_constant): Adjust.
1288 (pp_c_constant): Remove.
1289 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1290 pp_c_constant. Adjust.
1291 (pp_c_constant)
1292 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1293 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1294
da6ca2b5
GDR
12952013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1296
1297 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1298 (c_pretty_printer::c_pretty_printer): Declare.
1299 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1300 c_pretty_printer_init. Adjust.
1301 (print_c_tree): Do not call c_pretty_printer_init.
1302 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1303
65a372f4
AC
13042013-08-09 Arnaud Charlet <charlet@adacore.com>
1305
1306 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1307
fd9b0f32
PC
13082013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1309
1310 PR c++/58080
1311 * c-common.c (pointer_int_sum): Add bool parameter.
1312 * c-common.h (pointer_int_sum): Adjust declaration.
1313
e0aec1e9
GDR
13142013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1315
1316 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1317 c_pretty_printer variable.
1318
b066401f
GDR
13192013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1320
1321 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1322 (pp_base): Remove.
1323 (pp_c_base): Likewise. Adjust users.
1324 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1325 (pp_c_whitespace): Do not call pp_base.
1326 (pp_c_left_paren): Likewise.
1327 (pp_c_right_paren): Likewise.
1328 (pp_c_left_brace): Likewise.
1329 (pp_c_right_brace): Likewise.
1330 (pp_c_left_bracket): Likewise.
1331 (pp_c_right_bracket): Likewise.
1332 (pp_c_dot): Likewise.
1333 (pp_c_ampersand): Likewise.
1334 (pp_c_star): Likewise.
1335 (pp_c_arrow): Likewise.
1336 (pp_c_semicolon): Likewise.
1337 (pp_c_complement): Likewise.
1338 (pp_c_exclamation): Likewise.
1339 (pp_c_direct_declarator): Likewise.
1340 (pp_c_ws_string): Likewise.
1341 (pp_c_identifier): Likewise.
1342 (pp_c_statement): Likewise.
1343 (print_c_tree): Likewise.
1344
65e5a578
ESR
13452013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1346
1347 PR c++/58072
1348 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1349 provide useful error strings.
1350
137a1a27
GDR
13512013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1352
1353 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1354 printer functions instead of pp_string or operators and punctuators.
1355 (dump_generic_ada_node): Likewise.
1356 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1357 (pp_c_relational_expression): Likewise.
1358 (pp_c_logical_or_expression): Likewise.
1359
07838b13
GDR
13602013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1361
1362 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1363 functions instead of pp_character.
1364 (pp_ada_tree_identifier): Likewise.
1365 (dump_ada_double_name): Likewise.
1366 (dump_ada_function_declaration): Likewise.
1367 (dump_ada_array_domains): Likewise.
1368 (dump_template_types): Likewise.
1369 (dump_generic_ada_node): Likewise.
1370 (print_ada_declaration): Likewise.
1371 (print_ada_struct_decl): Likewise.
1372 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1373
433cc7b0
TT
13742013-07-23 Tom Tromey <tromey@redhat.com>
1375
1376 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1377 * c-common.c (c_common_reswords): Add _Generic.
1378
688010ba
OB
13792013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1380
1381 * c-common.c: Fix typos.
1382 * c-common.h: Likewise.
1383
2a99e5e6
LL
13842013-07-13 Lubos Lunak <l.lunak@suse.cz>
1385
1386 PR c++/55203
1387 * c-common.c (c_common_attribute_table): Add warn_unused.
1388 (handle_warn_unused_attribute): New.
1389
c26302d5
JJ
13902013-07-10 Jakub Jelinek <jakub@redhat.com>
1391
1392 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1393 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1394
dfeadaa0
PC
13952013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1396
1397 PR c++/57869
1398 * c.opt: Add Wconditionally-supported.
1399
6a2fa4b2
GS
14002013-07-08 Graham Stott <graham.stott@btinternet.com>
1401
1402 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1403 unused variables l_length and l_node.
1404
ecdbd01a 14052013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
1406
1407 PR c/57821
1408 * c-common.c (complete_array_type): Delay folding first index
1409 like other indices. When folding, check for index overflow.
1410
bedc293e
MG
14112013-06-27 Marc Glisse <marc.glisse@inria.fr>
1412
1413 PR c++/57509
1414 * c-common.h (c_build_vec_perm_expr): New complain argument.
1415 * c-common.c (c_build_vec_perm_expr): Likewise.
1416 Use save_expr also in C++.
1417
604b2bfc
GDR
14182013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1419
1420 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1421 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1422 * c-opts.c (c_common_post_options): Likewise.
1423
dfeadaa0 14242013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
1425
1426 * array-notation-common.c (length_mismatch_in_expr): Changed the
1427 parameter type's from a dynamic array to a vec_tree. Also removed
1428 the size parameters.
1429 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1430 the change above.
1431
2ce86d2e
BI
14322013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1433
1434 * c-common.h (struct cilkplus_an_parts): New structure.
1435 (struct cilkplus_an_loop_parts): Likewise.
1436 (cilkplus_extract_an_triplets): New prototype.
1437 (fix_sec_implicit_args): Likewise.
1438 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1439 (fix_sec_implicit_args): Likewise.
604b2bfc 1440
07a6825b
BI
14412013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
1442
1443 * array-notation-common.c (find_inv_trees): Removed an unwanted
1444 typecasting.
1445 * c-common.h (struct inv_list::additional_tcodes): Changed type from
1446 enum rid to enum tree_code.
1447
08346abd
JH
14482013-06-11 Jan Hubicka <jh@suse.cz>
1449
1450 * c-common.c (handle_alias_ifunc_attribute): Do not set
1451 DECL_EXTERNAL for weakref variables.
1452 * c-pragma.c (handle_pragma_weak): Make sure aliases
1453 are not declared as external.
1454
d60f1706
BI
14552013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1456
1457 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1458 function from c/c-array-notation.c.
1459 (is_cilkplus_reduce_builtin): Likewise.
1460 (find_rank): Likewise.
1461 (extract_array_notation_exprs): Likewise.
1462 (replace_array_notations): Likewise.
1463 (find_inv_trees): Likewise.
1464 (replace_inv_trees): Likewise.
1465 (contains_array_notation_expr): Likewise.
1466 (find_correct_array_notation_type): Likewise.
1467 * c-common.h (struct inv_list): Moved this struct from the file
1468 c/c-array-notation.c and added a new field called additional tcodes.
1469 (length_mismatch_in_expr_p): New prototype.
1470 (is_cilkplus_reduce_builtin): Likewise.
1471 (find_rank): Likewise.
1472 (extract_array_notation_exprs): Likewise.
1473 (replace_array_notation): Likewise.
1474 (find_inv_trees): Likewise.
1475 (replace_inv_trees): Likewise.
1476 (find_correct_array_notation_type): Likewise.
dfeadaa0 1477
36536d79
BI
14782013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1479
1480 * c-common.c (c_define_builtins): When cilkplus is enabled, the
1481 function array_notation_init_builtins is called.
1482 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1483 * c-common.def (ARRAY_NOTATION_REF): New tree.
1484 * c-common.h (build_array_notation_expr): New function declaration.
1485 (build_array_notation_ref): Likewise.
1486 (extract_sec_implicit_index_arg): New extern declaration.
1487 (is_sec_implicit_index_fn): Likewise.
1488 (ARRAY_NOTATION_CHECK): New define.
1489 (ARRAY_NOTATION_ARRAY): Likewise.
1490 (ARRAY_NOTATION_START): Likewise.
1491 (ARRAY_NOTATION_LENGTH): Likewise.
1492 (ARRAY_NOTATION_STRIDE): Likewise.
1493 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1494 ARRAY_NOTATION_REF.
1495 (pp_c_expression): Likewise.
1496 * c.opt (flag_enable_cilkplus): New flag.
1497 * array-notation-common.c: New file.
1498
f7716d57
JJ
14992013-05-14 Jakub Jelinek <jakub@redhat.com>
1500
1501 PR c++/57274
1502 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1503
a5e0cd1d
MG
15042013-05-10 Marc Glisse <marc.glisse@inria.fr>
1505
1506 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1507 vectors.
1508
f6bc1c4a
HS
15092013-05-07 Han Shen <shenhan@google.com>
1510
1511 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1512
3f12f6e9
SKS
15132013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1514
1515 * c-common.c (check_user_alignment): Emit error for negative values.
1516
61949153
PC
15172013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1518
1519 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1520
e93e18e9
PC
15212013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1522
1523 * c-cppbuiltin.c (c_cpp_builtins): Do not define
1524 __GXX_EXPERIMENTAL_CXX1Y__.
1525
44d90fe1
PC
15262013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1527 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1528
1529 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1530 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1531 to simply use OPT_Wpointer_arith.
1532 (c_sizeof_or_alignof_type): Likewise.
1533
13f39b2e
PC
15342013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1535
1536 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1537
4b84d650
JJ
15382013-04-12 Jakub Jelinek <jakub@redhat.com>
1539
1540 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1541 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1542 specifiers.
1543
fb037b5d
SB
15442013-04-07 Steven Bosscher <steven@gcc.gnu.org>
1545
1546 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1547
4e856798
PC
15482013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1549
1550 * c-common.c (pointer_int_sum): Remove dead code.
1551
4b1baac8
RS
15522013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
1553
1554 PR middle-end/56524
1555 * c-common.c (handle_optimize_attribute): Don't call
1556 save_optabs_if_changed.
1557
0b50e654
JJ
15582013-03-05 Jakub Jelinek <jakub@redhat.com>
1559
1560 PR middle-end/56461
1561 * c-pch.c (pch_init): Free target_validity at the end.
1562
48c41403
JJ
15632013-03-04 Jakub Jelinek <jakub@redhat.com>
1564
1565 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1566
e664c61c
KS
15672013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
1568 Jakub Jelinek <jakub@redhat.com>
1569
1570 PR sanitizer/56454
1571 * c-common.c (handle_no_sanitize_address_attribute): New function.
1572 (c_common_attribute_table): Add no_sanitize_address attribute.
1573 (handle_no_address_safety_analysis_attribute): Add
1574 no_sanitize_address attribute, not no_address_safety_analysis
1575 attribute.
1576
a475fd3d 15772013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
1578
1579 PR target/52555
1580 * c-common.c (handle_optimize_attribute): Call
1581 save_optabs_if_changed.
1582
f6007d99
JJ
15832013-02-18 Jakub Jelinek <jakub@redhat.com>
1584 Steven Bosscher <steven@gcc.gnu.org>
1585
1586 PR pch/54117
1587 * c-opts.c (c_common_post_options): If debug info is enabled
1588 and non-dwarf*, refuse to load PCH files and when writing PCH
1589 file warn.
1590
cf35e2b1
JJ
15912013-02-05 Jakub Jelinek <jakub@redhat.com>
1592
1593 PR middle-end/56167
1594 * c-common.c (handle_error_attribute): Fix condition.
1595
32887460
JJ
15962013-01-30 Jakub Jelinek <jakub@redhat.com>
1597
1598 PR c++/55742
1599 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
1600
5af057d8
JM
16012013-01-18 Jason Merrill <jason@redhat.com>
1602
1603 PR target/54908
1604 * c.opt (-fextern-tls-init): New.
1605 * c-opts.c (c_common_post_options): Handle it.
1606
cc83c823
JJ
16072013-01-09 Jakub Jelinek <jakub@redhat.com>
1608
1609 PR c/48418
1610 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
1611 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
1612 and is either negative or bigger or equal to type precision
1613 of the first operand.
1614
a859517f
MP
16152012-12-03 Marek Polacek <polacek@redhat.com>
1616
1617 PR c/55570
1618 * c-common.c (check_user_alignment): Swap order of tests,
1619 check TREE_CODE first.
1620
2d7aa578
ESR
16212012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
1622
1623 PR c++/52654
1624 * c-common.h (overflow_type): New enum.
1625 (build_userdef_literal): Add overflow_type argument.
1626 (tree_userdef_literal): Add overflow_type.
1627 (USERDEF_LITERAL_OVERFLOW): New access macro.
1628 * c-common.c (build_userdef_literal): Add overflow_type
1629 argument.
1630 * c-lex.c (c_lex_with_flags): Add overflow_type to
1631 build_userdef_literal calls.
1632 (interpret_integer, interpret_float): Add overflow_type argument.
1633
cc3c4f62
RB
16342012-11-28 Richard Biener <rguenther@suse.de>
1635
1636 PR c/35634
1637 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1638 here and use a type with proper overflow behavior for types that would
1639 need to be promoted for the arithmetic.
1640
77bc5132
JJ
16412012-11-23 Jakub Jelinek <jakub@redhat.com>
1642
1643 PR sanitizer/55435
1644 * c-common.c (handle_no_address_safety_analysis_attribute): New
1645 function.
1646 (c_common_attribute_table): Add no_address_safety_analysis.
1647
5dc99c46
SB
16482012-11-16 Simon Baldwin <simonb@google.com>
1649
1650 * c.opt: Add f[no-]canonical-system-headers.
1651 * c-opts.c (c_common_handle_option): Handle
1652 OPT_fcanonical_system_headers.
1653
a4a0016d
ESR
16542012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
1655
1656 PR c++/54413
1657 * c-opts.c (c_common_handle_option): Set new flags.
1658 * c.opt: Describe new flags.
1659
7dbb85a7
JM
16602012-11-09 Jason Merrill <jason@redhat.com>
1661
1662 * c.opt (Wabi-tag): New.
1663
ad7bac31
AK
16642012-11-09 Andi Kleen <ak@linux.intel.com>
1665
1666 PR 55139
1667 * c-common.c (get_atomic_generic_size): Mask with
1668 MEMMODEL_MASK
1669
7332899a
MLI
16702012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1671
1672 PR c/53063
1673 * c.opt (Wformat): Make it Alias Wformat=1.
1674 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
1675 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
1676 LangEnabledBy.
1677 (Wformat=): RejectNegative. Use LangEnabledBy.
1678 (Wnonnull): Use LangEnabledBy.
1679 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
1680 * c-format.c (set_Wformat): Delete.
1681 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
1682 (maybe_read_dollar_number): Likewise.
1683 (avoid_dollar_number): Likewise.
1684 (finish_dollar_format_checking): Likewise.
1685 (check_format_info): Likewise.
1686 (check_format_info_main): Likewise.
1687 (check_format_types): Likewise.
1688 (format_type_warning): Likewise.
1689 * c-common.c (int): Likewise.
1690 (check_function_sentinel): Likewise.
1691 * c-common.h (warn_format,set_Wformat): Do not declare here.
1692
34a180a6
MLI
16932012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1694
1695 PR c/53063
1696 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
1697 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
1698 Use LangEnabledBy.
1699 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
1700 common.opt.
1701 (Wvariadic-macros): Init(1).
1702 * c-opts.c (c_common_handle_option): Do not handle them
1703 explicitly.
1704 (c_common_post_options): Likewise.
1705 (sanitize_cpp_opts): warn_unused_macros is now
1706 cpp_warn_unused_macros.
1707 (push_command_line_include): Likewise.
1708 * c-common.c (warn_unknown_pragmas): Do not define.
1709 * c-common.h (warn_unknown_pragmas): Do not declare.
1710
3f46d6a5
MLI
17112012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
1712
1713 PR c/51294
1714 * c-common.c (conversion_warning): Handle conditional expressions.
1715
880661a4
JW
17162012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
1717
1718 PR c++/54930
1719 * c.opt (Wreturn_local_addr): Define new option.
1720
4514a96b
JM
17212012-10-25 Jason Merrill <jason@redhat.com>
1722
f14edc1a
JM
1723 * c.opt (Wvirtual-move-assign): New.
1724
4514a96b
JM
1725 * c.opt (Winherited-variadic-ctor): New.
1726
93100c6b
MG
17272012-10-25 Marc Glisse <marc.glisse@inria.fr>
1728
1729 PR c++/54427
1730 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
1731
1efcb8c6
JM
17322012-10-23 Joseph Myers <joseph@codesourcery.com>
1733
1734 * c-common.h (pch_cpp_save_state): Declare.
1735 * c-target.def (c_preinclude): New hook.
1736 * c-opts.c (done_preinclude): New.
1737 (push_command_line_include): Handle default preincluded header.
1738 (cb_file_change): Call pch_cpp_save_state when calling
1739 push_command_line_include.
1740 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
1741 (pch_cpp_save_state): New.
1742 (pch_init): Call pch_cpp_save_state conditionally, instead of
1743 calling cpp_save_state.
1744
4a0ae68e
MLI
17452012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1746
1747 PR c/53063
1748 PR c/40989
1749 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
1750 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
1751 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
1752 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
1753 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
1754 * c-opts.c (c_common_handle_option): Remove explicit handling from
1755 here.
1756 (c_common_post_options): Likewise.
1757
67e4210b
EB
17582012-10-18 Eric Botcazou <ebotcazou@adacore.com>
1759
1760 * c-ada-spec.c (LOCATION_COL): Delete.
1761 (compare_location): New function.
1762 (compare_node): Use it.
1763 (compare_comment): Likewise.
1764
65d4f2cd
MLI
17652012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
1766
1767 PR c/53063
1768 PR c/40989
1769 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
1770 * c-opts.c (c_common_handle_option): Do not set them here. Add
1771 comment.
1772 (c_common_post_options): Likewise.
1773
909881cb
EB
17742012-10-16 Eric Botcazou <ebotcazou@adacore.com>
1775
1776 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
1777 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
1778 Remove POINTER_TYPE handling, add large unsigned handling and use
1779 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
1780
3a785c97
JJ
17812012-10-12 Jakub Jelinek <jakub@redhat.com>
1782
1783 PR c/54381
1784 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
1785 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
1786 locs and array of 3 trees instead of just single loc and single
1787 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
1788 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
1789 For *cmp* builtins that take two sources strings report warnings
1790 about first and second source, not about destination and source.
1791
5e54f81d
MG
17922012-10-12 Marc Glisse <marc.glisse@inria.fr>
1793
1794 PR c++/53055
1795 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
1796
f5b02f1e
EB
17972012-10-11 Eric Botcazou <ebotcazou@adacore.com>
1798
1799 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
1800 declaring something coming from another file.
1801
b46dbc6c
AC
18022012-10-10 Arnaud Charlet <charlet@adacore.com>
1803
f5b02f1e 1804 PR ada/54845
b46dbc6c
AC
1805 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
1806
5d9de0d0
PC
18072012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
1808
1809 PR c++/54194
1810 * c-common.c (warn_about_parentheses): Add location_t parameter;
1811 use EXPR_LOC_OR_LOC.
1812 * c-common.h: Update declaration.
1813
a212e43f
MG
18142012-10-09 Marc Glisse <marc.glisse@inria.fr>
1815
1816 PR c++/54427
1817 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
1818 more operations. Make error messages optional.
1819 * c-common.h (enum stv_conv): Moved from c-typeck.c.
1820 (scalar_to_vector): Declare.
1821
b1db7f91
JM
18222012-10-08 Jason Merrill <jason@redhat.com>
1823
1824 * c-common.c (c_common_reswords): Add thread_local.
1825
e28d52cf
DS
18262012-10-08 Dodji Seketeli <dodji@redhat.com>
1827
1828 PR c++/53528 C++11 attribute support
1829 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
1830 new functions.
1831 * c-common.c (check_cxx_fundamental_alignment_constraints): New
1832 static function.
1833 (handle_aligned_attribute): In choose strictest alignment
1834 among many. Use new check_cxx_fundamental_alignment_constraints.
1835 (handle_transparent_union_attribute): In c++11 attribute syntax,
1836 don't look through typedefs.
1837
3b78de56
AC
18382012-10-04 Arnaud Charlet <charlet@adacore.com>
1839
1840 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
1841 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
1842 out of dumpfile.h.
1843
6040bb5f
DC
18442012-09-25 Dehao Chen <dehao@google.com>
1845
1846 PR middle-end/54645
3b78de56 1847 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
1848 map when read in the pch.
1849
0b07a57e
AC
18502012-09-18 Arnaud Charlet <charlet@adacore.com>
1851
1852 * c-ada-spec.c: Style fixes.
1853
da5182be
TQ
18542012-09-18 Thomas Quinot <quinot@adacore.com>
1855
1856 * c.opt (-fada-spec-parent): Define new command line switch.
1857 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
1858 is specified, generate binding spec as a child of the specified unit.
1859
0ccb505d
PC
18602012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
1861 Manuel López-Ibáñez <manu@gcc.gnu.org>
1862
1863 PR c++/53210
1864 * c.opt ([Winit-self]): Enabled by -Wall in C++.
1865
c583af79
AC
18662012-08-23 Arnaud Charlet <charlet@adacore.com>
1867
1868 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
1869 for pointers, and add missing Convention C pragma.
1870 (print_ada_struct_decl): Add missing aliased keyword.
1871 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
1872
1a4049e7
JJ
18732012-08-17 Jakub Jelinek <jakub@redhat.com>
1874
1875 * c-common.c (sizeof_pointer_memaccess_warning): New function.
1876 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
1877 * c-opts.c (c_common_handle_option): Enable it for -Wall.
1878 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
1879 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
1880
70b5e7dc
RG
18812012-08-10 Richard Guenther <rguenther@suse.de>
1882
1883 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
1884
f8923f7e
SB
18852012-08-07 Steven Bosscher <steven@gcc.gnu.org>
1886
1887 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
1888 instead of separate pp_newline and pp_flush.
1889 (print_c_tree): Likewise.
1890
e45abe1f
RH
18912012-07-26 Richard Henderson <rth@redhat.com>
1892
1893 * c-common.c (handle_hot_attribute): Allow labels.
1894 (handle_cold_attribute): Likewise.
1895
332f1d24
JJ
18962012-07-20 Jakub Jelinek <jakub@redhat.com>
1897
1898 PR c++/28656
1899 * c-common.c (check_function_nonnull): Handle multiple nonnull
1900 attributes properly.
1901
7ee2468b
SB
19022012-07-16 Steven Bosscher <steven@gcc.gnu.org>
1903
1904 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
1905 * c-ada-spec.c: Likewise.
1906 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
1907
ee7b28eb
SB
19082012-07-14 Steven Bosscher <steven@gcc.gnu.org>
1909
1910 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
1911 Remove code conditional on it.
1912
6bdf3519
SB
19132012-07-11 Steven Bosscher <steven@gcc.gnu.org>
1914
1915 * c-gimplify.c: Do not include basic-block.h.
1916 * c-common.c: Do not include linfuncs.h.
1917
532aafad
SB
19182012-07-08 Steven Bosscher <steven@gcc.gnu.org>
1919
1920 * c-common.h: Include tree.h.
1921
8d0d1915
JM
19222012-07-02 Jason Merrill <jason@redhat.com>
1923
1924 PR c++/53524
1925 * c-common.c (get_priority): Call default_conversion.
1926
fbc873ad
UB
19272012-07-01 Uros Bizjak <ubizjak@gmail.com>
1928
1929 * c-pch.c (c_common_write_pch): Remove unused variables.
1930
d4a10d0a
SB
19312012-06-29 Steven Bosscher <steven@gcc.gnu.org>
1932
1933 * cppspec.c: Moved from gcc/ to here.
1934
6f3a2e23
KT
19352012-06-27 Kai Tietz <ktietz@redhat.com>
1936
1937 PR preprocessor/37215
1938 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
1939
8ca92d04
SB
19402012-06-21 Steven Bosscher <steven@gcc.gnu.org>
1941
1942 * c-common.h (c_common_print_pch_checksum): Remove.
1943 * c-pch.c: Do not include output.h.
1944 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
1945 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
1946 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
1947 (struct c_pch_header): Remove.
1948 (get_ident): Update gpch version.
1949 (pch_init): Do not print executable_checksum to asm_out_file.
1950 Do not fail if there is no asm_out_file to read back from. Set
1951 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
1952 (c_common_write_pch): Verify that nothing was written to asm_out_file
1953 since pch_init was called. Do not write a c_pch_header, and do not
1954 copy from asm_out_file to the PCH.
1955 (c_common_read_pch): Do not read a c_pch_header, and do not restore
1956 the content of asm_out_file from the PCH.
1957 (c_common_print_pch_checksum): Remove.
1958 * c-opts.c (c_common_init): Print out executable_checksum directly.
1959
70f42967
SB
19602012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1961
1962 * c-target.def (objc_declare_unresolved_class_reference,
1963 objc_declare_class_definition): Add new hooks.
1964
a8781821
SB
19652012-06-19 Steven Bosscher <steven@gcc.gnu.org>
1966
1967 * c-lex.c: Do not include output.h.
1968 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
1969 Remove uses of ASM_OUTPUT_IDENT.
1970
9e1a8dd1
RR
19712012-06-15 Marc Glisse <marc.glisse@inria.fr>
1972
1973 PR c++/51033
1974 * c-common.h (c_build_vec_perm_expr): Move decl here.
1975 * c-common.c (c_build_vec_perm_expr): Move definition
1976 here.
1977
6f07a821
SB
19782012-06-06 Steven Bosscher <steven@gcc.gnu.org>
1979
1980 * c.opt (fconserve-space): Turn into a no-op.
1981
9faeb493 19822012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
1983
1984 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
1985 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
1986 both the start and end of the function.
1987
a4b7d13c
SB
19882012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1989
1990 * c-common.c: Do not include output.h.
1991 * c-pragma.c: Likewise.
1992
c265f413
SA
19932012-06-04 Steven Bosscher <steven@gcc.gnu.org>
1994
1995 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
1996 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
1997 (lang_decl_name): Handle namespace decls.
1998
be7a421e
SB
19992012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2000
2001 * c-ada-spec.c: Do not include output.h.
2002 * c-semantics.c: Likewise.
2003
65de6659
JM
20042012-05-29 Joseph Myers <joseph@codesourcery.com>
2005
2006 * c-common.c: Fix typo.
2007
ca5f4331
MM
20082012-05-29 Michael Matz <matz@suse.de>
2009
2010 * c-common.h (c_expand_decl): Remove prototype.
2011
4f7f7aca
MLI
20122012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2013
2014 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2015 * c-opts.c (c_common_handle_option): Remove code handling
2016 warn_missing_braces.
2017
4a792f9b
PC
20182012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2019
2020 PR c++/25137
2021 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2022 -Wmissing_braces.
2023
650dc14a
DS
20242012-05-22 Dodji Seketeli <dodji@redhat.com>
2025
2026 PR c++/53322
2027 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2028
9b095bf1
MLI
20292012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2030
2031 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2032 * c-opts.c (c_common_handle_option): Do not handle explicitly
2033 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2034
0b2c4be5
DS
20352012-05-16 Dodji Seketeli <dodji@redhat.com>
2036
2037 PR preprocessor/7263
2038 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2039 to cpp_classify_number. For diagnostics, use the precise location
2040 instead of the global input_location.
2041
a1bde5af
PC
20422012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2043
d02924ef 2044 PR c++/11856
a1bde5af
PC
2045 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2046
d1ede5f4
BS
20472012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2048
a1bde5af 2049 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 2050
f2bc201f
MLI
20512012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2052
2053 PR 53063
2054 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2055 Wreorder): Use LangEnabledBy.
2056 * c-opts.c (c_common_handle_option): Do not enable them
2057 explicitly. Call lang-specific generated functions.
2058 (c_common_post_options): Do not set them here.
2059
95744782
MLI
20602012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2061
2062 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2063 Wmissing-field-initializers,Wmissing-parameter-type,
2064 Wold-style-declaration,Woverride-init): Use EnabledBy.
2065 * c-opts.c (c_common_post_options): Do not set here explicitly.
2066
7d5a5747
MLI
20672012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2068
2069 PR 53063
2070 * c-opts.c (c_common_handle_option): Use handle_generated_option
2071 to enable sub-options.
2072
5a3c9cf2
PC
20732012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2074
2075 PR c++/53158
2076 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2077
3ac8781c
RG
20782012-05-10 Richard Guenther <rguenther@suse.de>
2079
2080 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2081 adjust commentary about TYPE_IS_SIZETYPE types.
2082
1e537948
MLI
20832012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2084
2085 PR c++/53261
2086 * c-common.c (warn_logical_operator): Check that argument of
2087 integer_zerop is not NULL.
2088
f2c4a785
MLI
20892012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2090
2091 PR c/43772
2092 * c-common.c (warn_logical_operator): Do not warn if either side
2093 is already true or false.
2094
50f305ca
MLI
20952012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2096
2097 PR c/51712
2098 * c-common.c (expr_original_type): New.
2099 (shorten_compare): Do not warn for enumeration types.
2100
0c3641b0
MLI
21012012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2102
2103 * c.opt (fpermissive): Add Var(flag_permissive).
2104
7edaa4d2
MG
21052012-04-30 Marc Glisse <marc.glisse@inria.fr>
2106
2107 PR c++/51033
2108 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2109 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2110
b9c8da34
DS
21112012-04-30 Dodji Seketeli <dodji@redhat.com>
2112
2113 Add -Wvarargs option
2114 * c.opt (Wvarargs): Define new option.
2115
e6c69da0
MLI
21162012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2117
2118 * c-common.c (check_function_arguments): Replace
2119 Wmissing-format-attribute with Wsuggest-attribute=format.
2120
90137d8f
MLI
21212012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2122
2123 * c.opt (Wsuggest-attribute=format): New. Alias of
2124 Wmissing-format-attribute.
2125 * c-format.c (decode_format_type): Replace
2126 Wmissing-format-attribute with Wsuggest-attribute=format.
2127 (check_function_format): Likewise.
2128
9faeb493 21292012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
2130
2131 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2132 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2133 * c.opt: Add Wliteral-suffix.
2134
c1771a20
MLI
21352012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2136
2137 PR c/44774
2138 * c.opt (Wpedantic): New.
2139 (pedantic): Alias Wpedantic.
2140 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2141 (c_common_post_options): Likewise.
2142 (sanitize_cpp_opts): Likewise.
2143 * c-lex.c (interpret_float): Likewise.
2144 * c-format.c (check_format_types): Likewise.
2145 * c-common.c (pointer_int_sum): Likewise.
2146 (c_sizeof_or_alignof_type): Likewise.
2147 (c_add_case_label): Likewise.
2148 (c_do_switch_warnings): Likewise.
2149 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2150
04b391c1
JM
21512012-04-15 Jason Merrill <jason@redhat.com>
2152
2153 PR c++/52818
2154 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2155 (C_STD_NAME): Distinguish between C++98 and C++11.
2156
ac868f29
EB
21572012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2158
2159 PR target/52624
2160 * c-common.h (uint16_type_node): Rename into...
2161 (c_uint16_type_node): ...this.
2162 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2163 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2164
fd4116f4
MLI
21652012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2166
2167 * c-common.c (warn_if_unused_value): Move definition to here.
2168 * c-common.h (warn_if_unused_value): Move declaration to here.
2169
573ac65e
WB
21702012-03-23 William Bader <williambader@hotmail.com>
2171
2172 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2173
552b8185
JM
21742012-03-20 Jason Merrill <jason@redhat.com>
2175
2176 * c-common.h (enum cxx_dialect): Add cxx1y.
2177 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2178 test.
2179 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2180 * c-opts.c (c_common_post_options): Likewise.
2181 (set_std_cxx1y): New.
2182 (c_common_handle_option): Call it.
2183 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2184
04398fa8
PC
21852012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2186
2187 PR c++/14710
2188 * c.opt ([Wuseless-cast]): Add.
2189
d2a12ae7
RG
21902012-03-16 Richard Guenther <rguenther@suse.de>
2191
2192 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2193
a12bf402
MLI
21942012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2195
2196 PR c++/44783
2197 * c.opt (ftemplate-backtrace-limit) Add.
2198
5c30094f
RO
21992012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2200
2201 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2202 handling.
2203 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2204 (init_pragma): Don't register extern_prefix.
2205
21fa2faf
RG
22062012-03-12 Richard Guenther <rguenther@suse.de>
2207
2208 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2209 (builtin_type_for_size): Likewise.
2210
e3793c6f
JJ
22112012-02-13 Jakub Jelinek <jakub@redhat.com>
2212
2213 PR c++/52215
2214 * c-common.c (sync_resolve_params): Don't decide whether to convert
2215 or not based on TYPE_SIZE comparison, convert whenever arg_type
2216 is unsigned INTEGER_TYPE.
2217
93286335
PC
22182012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2219
2220 PR c/52118
2221 * c.opt ([Wunused-local-typedefs]): Fix description.
2222
7a421706
MS
22232012-01-24 Mike Stump <mikestump@comcast.net>
2224
2225 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2226 exactly.
2227
ba9b1f11
RG
22282012-01-18 Richard Guenther <rguenther@suse.de>
2229
2230 * c-opts.c (c_common_post_options): Reset LTO flags if
2231 we are about to generate a PCH.
2232
465406be
PC
22332012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2234
2235 PR c++/51777
2236 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2237 use pp_unsigned_wide_integer.
2238
aee15221
RG
22392012-01-10 Richard Guenther <rguenther@suse.de>
2240
2241 PR middle-end/51806
2242 * c-opts.c (c_common_handle_option): Move -Werror handling
2243 to language independent code.
2244
5720c0dc
RG
22452012-01-05 Richard Guenther <rguenther@suse.de>
2246
2247 PR middle-end/51764
2248 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2249 from common.opt.
2250
73ac190a
PC
22512011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2252
2253 PR c++/51316
2254 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2255 of array types with an unknown bound.
2256
48b0b196
JM
22572011-12-20 Joseph Myers <joseph@codesourcery.com>
2258
2259 * c-common.c (flag_isoc99): Update comment to refer to C11.
2260 (flag_isoc1x): Change to flag_isoc11.
2261 * c-common.h (flag_isoc99): Update comment to refer to C11.
2262 (flag_isoc1x): Change to flag_isoc11.
2263 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2264 C11.
2265 * c-opts.c (set_std_c1x): Change to set_std_c11.
2266 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2267 Call set_std_c11.
2268 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2269 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2270 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2271 standard.
2272 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2273 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2274 (std=gnu1x): Make alias of std=gnu11.
2275
d58d6eb5
JM
22762011-12-19 Jason Merrill <jason@redhat.com>
2277
2278 PR c++/51228
2279 * c-common.c (handle_transparent_union_attribute): Check the first
2280 field if the type is complete.
2281
b3908fcc
JW
22822011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2283
2284 PR libstdc++/51365
2285 * c-common.c (RID_IS_FINAL): Add.
2286 * c-common.h (RID_IS_FINAL): Add.
2287
fea3ca91
IS
22882011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2289
2290 * c.opt (fgnu-runtime): Provide full description.
2291 (fnext-runtime): Likewise.
2292 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2293
62bad7cd
AM
22942011-11-28 Andrew MacLeod <amacleod@redhat.com>
2295
2296 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2297 predefines in one place. Add LOCK_FREE predefines.
2298 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2299 new func.
2300
c466c4ff
AM
23012011-11-24 Andrew MacLeod <amacleod@redhat.com>
2302
2303 PR c/51256
9faeb493 2304 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 2305 conditions
9faeb493
UB
2306 (resolve_overloaded_atomic_exchange,
2307 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
2308 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2309 error_mark_node for error conditions.
9faeb493 2310
a5952633
RG
23112011-11-08 Richard Guenther <rguenther@suse.de>
2312
2313 PR middle-end/51010
2314 c-family/
2315
0a35513e
AH
23162011-11-07 Richard Henderson <rth@redhat.com>
2317 Aldy Hernandez <aldyh@redhat.com>
2318 Torvald Riegel <triegel@redhat.com>
2319
2320 Merged from transactional-memory.
2321
2322 * c-common.c (handle_tm_wrap_attribute,
2323 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2324 (struct c_common_reswords): Added __transaction* keywords.
2325 (struct c_common_attribute_table): Added transaction* and tm_regparm
2326 attributes.
2327 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2328 masks.
2329 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2330 find_tm_attribute): Declare.
2331
6d87092d
JM
23322011-11-07 Jason Merrill <jason@redhat.com>
2333
2334 PR c++/35688
2335 * c-common.c, c-common.h: Revert yesterday's changes.
2336
8e7860a1
JM
23372011-11-06 Jason Merrill <jason@redhat.com>
2338
2339 PR c++/35688
2340 * c-common.c (decl_has_visibility_attr): Split out from...
2341 (c_determine_visibility): ...here.
2342 * c-common.h: Declare it.
2343
d19fa6b5
JM
23442011-11-06 Joseph Myers <joseph@codesourcery.com>
2345
2346 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2347 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2348 type.
2349 (check_user_alignment): New. Split out of
2350 handle_aligned_attribute. Disallow integer constants with
2351 noninteger types. Conditionally allow zero.
2352 (handle_aligned_attribute): Use check_user_alignment.
2353 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2354
86951993
AM
23552011-11-06 Andrew MacLeod <amacleod@redhat.com>
2356 Richard Henderson <rth@redhat.com>
2357
2358 Merged from cxx-mem-model.
2359
2360 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 2361 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
2362 parameters that are the same type size.
2363 (get_atomic_generic_size): New. Find size of generic
2364 atomic function parameters and do typechecking.
2365 (add_atomic_size_parameter): New. Insert size into parameter list.
2366 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2367 either __atomic_exchange_n or external library call.
9faeb493 2368 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 2369 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 2370 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
2371 __atomic_load_n or an external library call.
2372 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2373 __atomic_store_n or an external library call.
2374 (resolve_overloaded_builtin): Handle new __atomic builtins.
2375
cf9e9959
EB
23762011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2377
2378 PR c++/50608
2379 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2380 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2381 <INDIRECT_REF>: Return the argument.
2382 <ARRAY_REF>: Remove special code for negative offset.
2383 Call fold_build_pointer_plus instead of size_binop.
2384 (fold_offsetof): Remove STOP_REF argument and adjust.
2385 * c-common.h (fold_offsetof_1): Declare.
2386 (fold_offsetof): Remove STOP_REF argument.
2387
25339f10
JM
23882011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2389
2390 PR c++/50810
2391 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2392 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2393 Wnarrowing for C++0x and C++98.
2394 * c.opt ([Wnarrowing]): Update.
2395
89401152
PC
23962011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2397
2398 PR c++/44277
2399 * c.opt: Add Wzero-as-null-pointer-constant.
2400
97e3ad20
JM
24012011-10-31 Jason Merrill <jason@redhat.com>
2402
15694fdd
JM
2403 * c.opt (-fdeduce-init-list): Off by default.
2404
97e3ad20
JM
2405 PR c++/50920
2406 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2407 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2408 and -Wc++11-compat.
2409 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2410
fb9120e3
RAV
24112011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2412
2413 PR c++/30066
2414 * c.opt (fvisibility-inlines-hidden): Description change.
2415
3ce4f9e4
ESR
24162011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
2417
2418 Implement C++11 user-defined literals.
2419 * c-common.c (build_userdef_literal): New.
2420 * c-common.def: New tree code.
2421 * c-common.h (tree_userdef_literal): New tree struct and accessors.
2422 * c-lex.c (interpret_float): Add suffix parm.
2423 (c_lex_with_flags): Build literal tokens.
2424
5f53c243
PC
24252011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2426
2427 PR c++/50841
2428 Revert:
2429 2011-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
263734e1
PC
24372011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2438
2439 PR c++/50810
2440 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2441 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2442 Wnarrowing for C++0x and C++98.
2443 * c.opt ([Wnarrowing]): Update.
2444
d2e312d7
PC
24452011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
2446
2447 PR c++/45385
2448 * c-common.c (conversion_warning): Remove code looking for
2449 artificial operands.
2450
d17687f6
DS
24512011-10-18 Dodji Seketeli <dodji@redhat.com>
2452
2453 PR bootstrap/50760
2454 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 2455 !NO_IMPLICIT_EXTERN_C.
d17687f6 2456
fc8396e9
PC
24572011-10-17 Michael Spertus <mike_spertus@symantec.com>
2458
2459 * c-common.c (c_common_reswords): Add __bases,
2460 __direct_bases.
2461 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2462
24632011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2464
2465 PR c++/50757
2466 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2467
847e697a
TT
24682011-10-15 Tom Tromey <tromey@redhat.com>
2469 Dodji Seketeli <dodji@redhat.com>
2470
2471 * c.opt (fdebug-cpp): New option.
2472 * c-opts.c (c_common_handle_option): Handle the option.
2473 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2474 output stream in parameter. Factorized from ...
2475 (maybe_print_line): ... this. Dump location debug information when
2476 -fdebug-cpp is in effect.
2477 (print_line_1): New static function. Takes an output stream in
2478 parameter. Factorized from ...
2479 (print_line): ... here. Dump location information when -fdebug-cpp
2480 is in effect.
2481 (scan_translation_unit): Dump location information when
2482 -fdebug-cpp is in effect.
2483
92582b75
TT
24842011-10-15 Tom Tromey <tromey@redhat.com>
2485 Dodji Seketeli <dodji@redhat.com>
2486
2487 * c.opt (ftrack-macro-expansion): New option. Handle it with and
2488 without argument.
2489 * c-opts.c (c_common_handle_option)<case
2490 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2491 cases. Handle -ftrack-macro-expansion with and without argument.
2492
46427374
TT
24932011-10-15 Tom Tromey <tromey@redhat.com>
2494 Dodji Seketeli <dodji@redhat.com>
2495
2496 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2497 (print_line, cb_define, do_line_change): Adjust to avoid touching
2498 the internals of struct line_map. Use the public API instead.
2499 * c-pch.c (c_common_read_pch): Likewise.
2500 * c-lex.c (fe_file_change): Likewise.
2501
fc8396e9
PC
25022011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
2503
2504 PR c++/17212
2505 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2506
25072011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
2508
2509 PR c++/33067
2510 * c-pretty-print.c (pp_c_floating_constant): Output
2511 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2512
e79983f4
MM
25132011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2514
2515 * c-common.c (def_builtin_1): Delete old interface with two
2516 parallel arrays to hold standard builtin declarations, and replace
2517 it with a function based interface that can support creating
2518 builtins on the fly in the future. Change all uses, and poison
2519 the old names. Make sure 0 is not a legitimate builtin index.
2520 * c-omp.c (c_finish_omp_barrier): Ditto.
2521 (c_finish_omp_taskwait): Ditto.
2522 (c_finish_omp_flush): Ditto.
2523
6637388f
TG
25242011-10-11 Tristan Gingold <gingold@adacore.com>
2525
2526 * c.opt: (fallow-parameterless-variadic-functions): New.
2527
3797cb21
DS
25282011-09-08 Dodji Seketeli <dodji@redhat.com>
2529
2530 PR c++/33255 - Support -Wunused-local-typedefs warning
2531 * c-common.h (struct c_language_function::local_typedefs): New
2532 field.
9faeb493
UB
2533 (record_locally_defined_typedef, maybe_record_typedef_use)
2534 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 2535 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
2536 (maybe_record_typedef_use)
2537 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
2538 * c.opt: Declare new -Wunused-local-typedefs flag.
2539
693ddb1b
EB
25402011-09-06 Eric Botcazou <ebotcazou@adacore.com>
2541
2542 PR middle-end/50266
2543 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2544 computations.
2545
830c740f
RG
25462011-09-05 Richard Guenther <rguenther@suse.de>
2547
2548 * c-common.c (complete_array_type): Use ssize_int (-1) instead
2549 of integer_minus_one_node for empty array upper bounds.
2550
892a371f
DS
25512011-08-28 Dodji Seketeli <dodji@redhat.com>
2552
2553 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2554 it's the first time it's being called on this main TU.
2555
0e3fdb48
RB
25562011-08-24 Richard Guenther <rguenther@suse.de>
2557
2558 PR c/49396
2559 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2560
25612011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
2562
2563 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2564 defined in cpp_init_builtins and c_cpp_builtins.
2565
d4a83c10
JM
25662011-08-19 Joseph Myers <joseph@codesourcery.com>
2567
2568 * c-common.c (c_common_reswords): Add __builtin_complex.
2569 * c-common.h (RID_BUILTIN_COMPLEX): New.
2570
bbceee64
JM
25712011-08-18 Joseph Myers <joseph@codesourcery.com>
2572
2573 * c-common.c (c_common_reswords): Add _Noreturn.
2574 (keyword_is_function_specifier): Handle RID_NORETURN.
2575 * c-common.h (RID_NORETURN): New.
2576
0e3a99ae
AS
25772011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2578
2579 * c-common.c (unsafe_conversion_p): New function. Check if it is
2580 unsafe to convert an expression to the type.
2581 (conversion_warning): Adjust, use unsafe_conversion_p.
2582 * c-common.h (unsafe_conversion_p): New function declaration.
2583
20906c66
JJ
25842011-08-02 Jakub Jelinek <jakub@redhat.com>
2585
2586 * c-common.h (c_finish_omp_atomic): Adjust prototype.
2587 (c_finish_omp_taskyield): New prototype.
2588 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
2589 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
2590 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
2591 or RHS1 have side-effects, evaluate those too in the right spot,
2592 if it is a decl and LHS is also a decl, error out if they
2593 aren't the same.
2594 (c_finish_omp_taskyield): New function.
2595 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
2596 * c-pragma.c (omp_pragmas): Add taskyield.
2597 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
2598 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
2599 PRAGMA_OMP_CLAUSE_MERGEABLE.
2600
770e5a2e
DS
26012011-07-25 Dodji Seketeli <dodji@redhat.com>
2602
2603 * c-common.h (set_underlying_type): Remove parm name from
2604 declaration.
2605
1baae426
RG
26062011-07-25 Romain Geissler <romain.geissler@gmail.com>
2607
2608 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 2609
fcb21722
JM
26102011-07-22 Jason Merrill <jason@redhat.com>
2611
76f86d00
JM
2612 PR c++/49793
2613 * c.opt (Wnarrowing): New.
2614
3a636414
JM
2615 PR c++/30112
2616 * c-common.h: Declare c_linkage_bindings.
2617 * c-pragma.c (handle_pragma_redefine_extname): Use it.
2618
fcb21722
JM
2619 PR c++/49813
2620 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
2621 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
2622 as flag_isoc99 for 'restrict'.
2623 (pp_c_specifier_qualifier_list): Likewise for _Complex.
2624
02614448
ILT
26252011-07-21 Ian Lance Taylor <iant@google.com>
2626
2627 PR middle-end/49705
2628 * c-common.c (c_disable_warnings): New static function.
2629 (c_enable_warnings): New static function.
2630 (c_fully_fold_internal): Change local unused_p to bool. Call
2631 c_disable_warnings and c_enable_warnings rather than change
2632 c_inhibit_evaluation_warnings.
2633
34429675
JM
26342011-07-20 Jason Merrill <jason@redhat.com>
2635
2636 PR c++/6709 (DR 743)
2637 PR c++/42603 (DR 950)
2638 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
2639 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
2640 (CPP_DECLTYPE): New.
2641 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
2642
5d49b6a7
RG
26432011-07-19 Richard Guenther <rguenther@suse.de>
2644
2645 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
2646 * c-omp.c (c_finish_omp_for): Likewise.
2647
e84a58ff
EB
26482011-07-12 Eric Botcazou <ebotcazou@adacore.com>
2649
2650 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
2651 body on the next line.
2652
329af3c7
JM
26532011-07-08 Jason Merrill <jason@redhat.com>
2654
4063e61b
JM
2655 PR c++/45437
2656 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
2657
329af3c7
JM
2658 PR c++/49673
2659 * c-common.c (c_apply_type_quals_to_decl): Don't check
2660 TYPE_NEEDS_CONSTRUCTING.
2661
1a072294
RG
26622011-07-06 Richard Guenther <rguenther@suse.de>
2663
2664 * c-common.c (c_common_nodes_and_builtins):
2665 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
2666
fce5dddd
RG
26672011-07-05 Richard Guenther <rguenther@suse.de>
2668
2669 * c-common.c (c_common_nodes_and_builtins): Build all common
2670 tree nodes first.
2671
45d439ac
JJ
26722011-06-27 Jakub Jelinek <jakub@redhat.com>
2673
56300785
JJ
2674 * c-common.h (c_tree_chain_next): New static inline function.
2675
45d439ac
JJ
2676 * c-common.c (check_builtin_function_arguments): Handle
2677 BUILT_IN_ASSUME_ALIGNED.
2678
e0a8ecf2
AM
26792011-06-21 Andrew MacLeod <amacleod@redhat.com>
2680
2681 * c-common.c: Add sync_ or SYNC__ to builtin names.
2682 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
2683
26842011-06-20 Pierre Vittet <piervit@pvittet.com>
2685
2686 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
2687 handler.
2688 (gen_pragma_handler): New union.
2689 (internal_pragma_handler): New type.
2690 (c_register_pragma_with_data)
2691 (c_register_pragma_with_expansion_and_data): New functions.
2692
2693 * c-pragma.c (registered_pragmas, c_register_pragma_1)
2694 (c_register_pragma, c_register_pragma_with_expansion)
2695 (c_invoke_pragma_handler): Changed to work with
2696 internal_pragma_handler.
2697 (c_register_pragma_with_data)
2698 (c_register_pragma_with_expansion_and_data): New functions.
2699
677f3fa8
JM
27002011-06-14 Joseph Myers <joseph@codesourcery.com>
2701
2702 * c-common.c: Include common/common-target.h.
2703 (handle_section_attribute): Use
2704 targetm_common.have_named_sections.
2705 * c-cppbuiltin.c: Include common/common-target.h.
2706 (c_cpp_builtins): Use targetm_common.except_unwind_info.
2707
d7fc8c14
RG
27082011-06-10 Richard Guenther <rguenther@suse.de>
2709
2710 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
2711 to print a IDENTIFIER_NODE.
2712
10e48e39
RO
27132011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2714 Joseph Myers <joseph@codesourcery.com>
2715
2716 * c.opt (fbuilding-libgcc): New option.
2717 * c-cppbuiltin.c (c_cpp_builtins): Define
2718 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
2719
6976ae51
JM
27202011-06-07 Jason Merrill <jason@redhat.com>
2721
3ff60975
JM
2722 * c-common.c (max_tinst_depth): Lower default to 900.
2723
6976ae51
JM
2724 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
2725
009db074
RG
27262011-06-07 Richard Guenther <rguenther@suse.de>
2727
2728 * c-common.c (c_common_nodes_and_builtins): Do not set
2729 size_type_node or call set_sizetype.
2730
b4592b92
DS
27312011-06-07 Dodji Seketeli <dodji@redhat.com>
2732
2733 PR debug/49130
2734 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 2735 type when using pointer comparison to compare types.
b4592b92 2736
014ab419
JW
27372011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
2738
2739 * c.opt: Add -Wdelete-non-virtual-dtor.
2740 * c-opts.c (c_common_handle_option): Include it in -Wall.
2741
4f60111f
NF
27422011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
2743
2744 PR bootstrap/49190
2745
2746 Revert:
2747 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2748
2749 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2750 not tree_common.
2751
4cc4f2f4
JJ
27522011-05-27 Jakub Jelinek <jakub@redhat.com>
2753
2754 PR c++/49165
2755 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
2756 C++ don't call c_common_truthvalue_conversion on void type arms.
2757
38e01f9e
NF
27582011-05-27 Nathan Froyd <froydnj@codesourcery.com>
2759
2760 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
2761 (stmt_list_stack): Define.
2762 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
2763 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
2764
92e948a8
NF
27652011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2766
2767 * c-common.c (warning_candidate_p): Check for BLOCKs.
2768
a2fc3e63
NF
27692011-05-26 Nathan Froyd <froydnj@codesourcery.com>
2770
2771 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
2772 not tree_common.
2773
0957c029
JJ
27742011-05-25 Jakub Jelinek <jakub@redhat.com>
2775
2776 * c-common.c (def_fn_type): Remove extra va_end.
2777
828fb3ba
JM
27782011-05-23 Jason Merrill <jason@redhat.com>
2779
2780 PR c++/48106
2781 * c-common.c (c_common_get_narrower): New.
2782 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
2783
dde05067
NF
27842011-05-23 Nathan Froyd <froydnj@codesourcery.com>
2785
2786 * c-common.h (check_function_arguments): Tweak prototype of
2787 check_function_arguments.
2788 * c-common.c (check_function_arguments): Likewise. Adjust
2789 calls to check_function_nonnull, check_function_format, and
2790 check_function_sentinel.
2791 (check_function_sentinel): Take a FUNCTION_TYPE rather than
2792 separate attributes and typelist arguments. Use
2793 FOREACH_FUNCTION_ARGS to iterate over argument types.
2794
3c0d13bf
PC
27952011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2796
2797 * c-common.c (c_common_reswords): Reorder.
2798 * c-common.h (rid): Likewise.
2799
8242dd04
NF
28002011-05-10 Nathan Froyd <froydnj@codesourcery.com>
2801
2802 * c-common.c (def_fn_type): Don't call build_function_type, call
2803 build_function_type_array or build_varargs_function_type_array
2804 instead.
2805 (c_common_nodes_and_builtins): Likewise.
2806
3d528853
NF
28072011-05-05 Nathan Froyd <froydnj@codesourcery.com>
2808
2809 * c-common.c (c_add_case_label): Omit the loc argument to
2810 build_case_label.
2811 * c-common.h (build_case_label): Remove.
2812 * c-semantics.c (build_case_label): Remove.
2813
a04a722b
JM
28142011-05-05 Joseph Myers <joseph@codesourcery.com>
2815
2816 * c-objc.h (objc_start_method_definition): Update prototype.
2817 * stub-objc.c (objc_start_method_definition): Add extra parameter.
2818
e19a18d4
NF
28192011-05-04 Nathan Froyd <froydnj@codesourcery.com>
2820
2821 * c-common.c (check_main_parameter_types): Reindent. Don't use
2822 TYPE_ARG_TYPES directly.
2823 (handle_nonnull_attribute): Likewise.
2824 (sync_resolve_params): Likewise.
2825 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
2826 to check_format_string.
2827 (handle_format_attribute): Likewise.
2828 (check_format_string): Take a function type to examine instead of
2829 a type list. Use a function_arg_iterator to step through argument
2830 types.
2831
c62c040f
RG
28322011-05-04 Richard Guenther <rguenther@suse.de>
2833
2834 * c-common.c (fix_string_type): Use size_int for index type bounds.
2835 (start_fname_decls): Do not pass NULL to build_int_cst.
2836 (c_init_attributes): Likewise.
2837 * c-lex.c (c_lex_with_flags): Likewise.
2838
c12ff9d8
JM
28392011-04-27 Jason Merrill <jason@redhat.com>
2840
2841 * c-common.c (make_tree_vector_from_list): New.
2842 * c-common.h: Declare it.
2843
304dfbe3
RG
28442011-04-26 Richard Guenther <rguenther@suse.de>
2845
2846 PR preprocessor/48248
2847 * c-ppoutput.c (maybe_print_line): Always optimize newlines
2848 for output size with -P.
2849
3c0d13bf
PC
28502011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
2851
2852 * c-common.c (struct c_common_resword): Add __underlying_type.
2853 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
2854
04695783
JM
28552011-04-20 Jim Meyering <meyering@redhat.com>
2856
2857 * c-format.c (init_dollar_format_checking): Remove useless
2858 if-before-free.
2859
0dc33c3c
NP
28602011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
2861
2862 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 2863 (objc_detect_field_duplicates): New.
0dc33c3c 2864 * stub-objc.c: Likewise.
3c0d13bf 2865
c59633d9
NP
28662011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2867
2868 * stub-objc.c (objc_declare_protocols): Renamed to
2869 objc_declare_protocol.
2870 * c-objc.h: Likewise.
3c0d13bf 2871
32dabdaf
NP
28722011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
2873
2874 * stub-objc.c (objc_declare_class): Updated argument name.
2875
81f653d6
NF
28762011-04-12 Nathan Froyd <froydnj@codesourcery.com>
2877
2878 * c-common.h (c_common_init_ts): Declare.
2879 * c-common.c (c_common_init_ts): Define.
2880
eb345401
NP
28812011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
2882
2883 * c-objc.h (objc_build_message_expr): Updated prototype.
2884 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 2885
a358e188
MJ
28862011-04-12 Martin Jambor <mjambor@suse.cz>
2887
2888 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
2889 of cgraph_node.
2890
e6313a78
RG
28912011-04-11 Richard Guenther <rguenther@suse.de>
2892
2893 * c-common.c (complete_array_type): Build a range type of
2894 proper type.
2895
dcf0c47e
NF
28962011-04-08 Nathan Froyd <froydnj@codesourcery.com>
2897
2898 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
2899 (handle_type_generic_attribute): Likewise.
2900
1ee44b26
JM
29012011-04-07 Jason Merrill <jason@redhat.com>
2902
2903 PR c++/48450
2904 * c-common.c (c_common_truthvalue_conversion): Don't ignore
2905 conversion from C++0x scoped enum.
2906
acce4e77
JM
29072011-04-06 Joseph Myers <joseph@codesourcery.com>
2908
2909 * c-target-def.h: New file.
2910 * c-target.def: New file.
2911 * c-target.h: New file.
2912 * c-common.c (targetcm): Don't define here.
2913 * c-common.h (default_handle_c_option): Declare.
2914 * c-format.c: Include c-target.h instead of target.h.
2915 * c-opts.c: Include c-target.h instead of target.h. Explicitly
2916 include tm.h.
2917 (default_handle_c_option): Move from targhooks.c.
2918
e2eefb55
JJ
29192011-03-29 Jakub Jelinek <jakub@redhat.com>
2920
2921 PR preprocessor/48248
2922 * c-ppoutput.c (print): Add src_file field.
2923 (init_pp_output): Initialize it.
2924 (maybe_print_line): Don't optimize by adding up to 8 newlines
2925 if map->to_file and print.src_file are different file.
2926 (print_line): Update print.src_file.
2927
ba78087b
KT
29282011-03-25 Kai Tietz <ktietz@redhat.com>
2929
2930 * c-ada-spec.c (compare_comment): Use filename_cmp
2931 instead of strcmp for filename.
2932
0edf1bb2
JL
29332011-03-25 Jeff Law <law@redhat.com>
2934
2935 * c-family/c-common.c (def_fn_type): Add missing va_end.
2936
c7dc8804
JM
29372011-03-25 Jason Merrill <jason@redhat.com>
2938
2939 * c.opt: Add -std=c++03.
2940
d1d879b1
EB
29412011-03-22 Eric Botcazou <ebotcazou@adacore.com>
2942
2943 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
2944
62d784f7
KT
29452011-03-17 Kai Tietz
2946
2947 PR target/12171
5050afdf
KT
2948 * c-pretty-print.c (pp_c_specifier_qualifier_list):
2949 Display allowed attributes for function pointer types.
2950 (pp_c_attributes_display): New function to display
2951 attributes having affects_type_identity flag set to true.
2952 * c-pretty-print.h (pp_c_attributes_display): New prototype.
2953
62d784f7
KT
2954 * c-common.c (c_common_attribute_table):
2955 Add new element.
2956 (c_common_format_attribute_table): Likewise.
2957
82d37118
JM
29582011-03-18 Jason Merrill <jason@redhat.com>
2959
49a000c3
JM
2960 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
2961 * c-common.h: Don't declare it here.
2962 * c-common.c: Or define it here.
2963 * c-opts.c (c_common_handle_option): Or set it here.
2964
82d37118
JM
2965 PR c++/35315
2966 * c-common.c (handle_transparent_union_attribute): Don't
2967 make a duplicate type in C++.
2968
17bc631c
JM
29692011-03-15 Jason Merrill <jason@redhat.com>
2970
2971 * c-common.c (max_constexpr_depth): New.
2972 * c-common.h: Declare it.
2973 * c-opts.c (c_common_handle_option): Set it.
2974 * c.opt (fconstexpr-depth): New option.
2975
1b9b91a6
JM
29762011-03-11 Jason Merrill <jason@redhat.com>
2977
f231b5ff
JM
2978 * c-common.c (attribute_takes_identifier_p): Add missing const.
2979
1b9b91a6
JM
2980 PR c++/46803
2981 * c-common.c (attribute_takes_identifier_p): Assume that an
2982 unknown attribute takes an identifier.
2983
a19e4d44
NF
29842011-03-07 Nathan Froyd <froydnj@codesourcery.com>
2985
2986 PR c/47786
2987 * c-common.c (c_type_hash): Call list_length instead of iterating
2988 through DECL_CHAIN. Rename 'i' to 'n_elements'.
2989
982d62f6
JJ
29902011-02-19 Jakub Jelinek <jakub@redhat.com>
2991
2992 PR c/47809
2993 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
2994
0a256240
NP
29952011-02-17 Iain Sandoe <iains@gcc.gnu.org>
2996
2997 * c.opt (fobjc-abi-version=) New.
2998 (fobjc-nilcheck): New.
2999
ba9e6dd5
NF
30002011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3001
3002 PR c++/46890
3003 * c-common.h (keyword_is_decl_specifier): Declare.
3004 * c-common.c (keyword_is_decl_specifier): Define.
3005 (keyword_is_function_specifier): New function.
3006
7273813a
JJ
30072011-01-26 Jakub Jelinek <jakub@redhat.com>
3008
3009 PR c/47473
3010 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3011 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3012 REAL_TYPE.
3013
908ef79b
AC
30142011-01-26 Arnaud Charlet <charlet@adacore.com>
3015
3016 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3017
237e9384
JJ
30182011-01-26 Jakub Jelinek <jakub@redhat.com>
3019
3020 PR pch/47430
3021 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3022 after init_c_lex if pch_file is set.
3023
47ea1edf
DK
30242011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3025
d4dba752 3026 PR c++/43601
47ea1edf
DK
3027 * c.opt (-fkeep-inline-dllexport): New switch.
3028
2aa9c6ae
RG
30292011-01-12 Richard Guenther <rguenther@suse.de>
3030
3031 PR middle-end/32511
3032 * c-common.c (handle_weak_attribute): Warn instead of error
3033 on declaring an inline function weak.
3034
7bd11157
TT
30352011-01-05 Tom Tromey <tromey@redhat.com>
3036
3037 * c-common.h (lvalue_error): Update.
3038 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3039 not error.
3040
0e66e494 30412010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 3042
b4f588c4
NP
3043 PR objc/47075
3044 * c-objc.h (objc_finish_message_expr): Added argument to
3045 prototype.
3046
f4da8dce
NF
30472010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3048
3049 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3050 Use prototype_p.
3051
46270f14
NP
30522010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3053
3054 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 3055 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 3056
4816c593
NF
30572010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3058
3059 * c-common.h (readonly_error): Declare.
3060 * c-common.c (readonly_error): Define.
3061
7a6daeb0
NF
30622010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3063
3064 * c-common.h (invalid_indirection_error): Declare.
3065 * c-common.c (invalid_indirection_error): Define.
3066
892f6119
RG
30672010-12-03 Richard Guenther <rguenther@suse.de>
3068
3069 PR c/46745
3070 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3071 (pp_c_unary_expression): Likewise.
3072 (pp_c_expression): Likewise.
3073
6c39e757
NP
30742010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3075
3076 * c-common.h (objc_finish_function): New.
3077 (objc_non_volatilized_type): Removed.
3078 (objc_type_quals_match): Removed.
3079 * stub-objc.c (objc_finish_function): New.
3080 (objc_non_volatilized_type): Removed.
3081 (objc_type_quals_match): Removed.
9faeb493 3082
7c475d11
JM
30832010-11-30 Joseph Myers <joseph@codesourcery.com>
3084
3085 * c-common.h (parse_optimize_options): Declare.
3086 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3087 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3088
71f3e391
JM
30892010-11-29 Joseph Myers <joseph@codesourcery.com>
3090
3091 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3092 GET_ENVIRONMENT.
3093 * c-pch.c (O_BINARY): Don't define here.
3094 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3095
d5fabb58
JM
30962010-11-25 Joseph Myers <joseph@codesourcery.com>
3097
3098 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3099 targetm.except_unwind_info.
3100
299404a1
JM
31012010-11-23 Joseph Myers <joseph@codesourcery.com>
3102
3103 * c-opts.c (c_common_handle_option): Pass location to
3104 set_struct_debug_option.
3105
c98cd5bf
JM
31062010-11-23 Joseph Myers <joseph@codesourcery.com>
3107
3108 * c-common.c (visibility_options): Move from ../opts.c.
3109 * c-common.h (struct visibility_flags, visibility_options):
3110 Declare here.
3111 * c-opts.c (finish_options): Rename to c_finish_options.
3112 (c_common_init): Update call to finish_options.
3113
a9546771
NP
31142010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3115
3116 PR objc/34033
3117 * c-lex.c (lex_string): Check that each string in an Objective-C
3118 string concat sequence starts with either one or zero '@', and
3119 that there are no spurious '@' signs at the end.
3120
24a57808
JM
31212010-11-20 Joseph Myers <joseph@codesourcery.com>
3122
3123 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3124 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3125 HANDLE_PRAGMA_VISIBILITY.
3126 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3127 HANDLE_PRAGMA_VISIBILITY): Don't define.
3128 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3129
a9aa2c3a
NF
31302010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3131
3132 PR c++/16189
3133 PR c++/36888
3134 PR c++/45331
3135 * c-common.h (keyword_begins_type_specifier): Declare.
3136 (keyword_is_storage_class_specifier): Declare.
3137 (keyword_is_type_qualifier): Declare.
3138 * c-common.c (keyword_begins_type_specifier): New function.
3139 (keyword_is_storage_class_specifier): New function.
3140 (keyword_is_type_qualifier): Declare.
3141
5386338c
JM
31422010-11-19 Joseph Myers <joseph@codesourcery.com>
3143
3144 PR c/46547
3145 * c-common.c (in_late_binary_op): Define.
3146 (c_common_truthvalue_conversion): Check in_late_binary_op before
3147 calling c_save_expr.
3148 * c-common.h (in_late_binary_op): Declare.
3149
69ccdddb
JM
31502010-11-19 Joseph Myers <joseph@codesourcery.com>
3151
3152 * c-opts.c (c_common_handle_option): Update calls to
3153 set_struct_debug_option.
3154
6b192a09
NP
31552010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3156
3157 * c-common.h (objc_declare_protocols): Added additional argument.
3158 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 3159
fb52b50a
NF
31602010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3161
3162 PR c/33193
3163 * c-common.h (build_real_imag_expr): Declare.
3164 * c-semantics.c (build_real_imag_expr): Define.
3165
b37421c6
JM
31662010-11-17 Joseph Myers <joseph@codesourcery.com>
3167
3168 * c-opts.c (c_common_parse_file): Take no arguments.
3169 * c-common.h (c_common_parse_file): Update prototype.
3170
07078664
JJ
31712010-11-16 Jakub Jelinek <jakub@redhat.com>
3172
3173 PR c++/46401
3174 * c-common.c (warning_candidate_p): Don't track non-const calls
3175 or STRING_CSTs.
3176
c6a13190
ILT
31772010-11-15 Ian Lance Taylor <iant@google.com>
3178
3179 * c-lex.c (init_c_lex): Set macro debug callbacks if
3180 flag_dump_go_spec is set.
3181
925e8657
NP
31822010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3183
3184 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3185 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3186
bb0a9581
NF
31872010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3188
3189 PR preprocessor/45038
3190 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3191 dialects.
3192
c5fa0890
JM
31932010-11-12 Joseph Myers <joseph@codesourcery.com>
3194
3195 * c-common.h (c_family_lang_mask): Declare.
3196 * c-opts.c (c_family_lang_mask): Make extern.
3197 * c-pragma.c (handle_pragma_diagnostic): Use
3198 control_warning_option.
3199
a4d8c676
JM
32002010-11-12 Joseph Myers <joseph@codesourcery.com>
3201
3202 * c-common.c (parse_optimize_options): Update call to
3203 decode_options.
3204 * c-common.h (c_common_handle_option): Update prototype.
3205 * c-opts.c (c_common_handle_option): Take location_t parameter and
3206 pass it to other functions.
3207
f954bd2c
JM
32082010-11-11 Joseph Myers <joseph@codesourcery.com>
3209
3210 * c-opts.c (warning_as_error_callback): Remove.
3211 (c_common_initialize_diagnostics): Don't call
3212 register_warning_as_error_callback.
3213 (c_common_handle_option): Handle -Werror=normalized= here.
3214
d8a07487
JM
32152010-11-10 Joseph Myers <joseph@codesourcery.com>
3216
3217 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3218 in diagnostic.
3219 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3220 letter.
3221 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3222 Remove trailing '.' from diagnostics.
3223 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3224
d5478783
JM
32252010-11-10 Joseph Myers <joseph@codesourcery.com>
3226
3227 * c-common.c (parse_optimize_options): Pass global_dc to
3228 decode_options.
3229 * c-opts.c (c_common_handle_option): Pass &global_options to
3230 set_Wstrict_aliasing.
3231 * c.opt (v): Don't mark Common or document here.
3232
91ebb981
IS
32332010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3234
3235 PR target/44981
3236 * c-format.c (format_type): New type gcc_objc_string_format_type.
3237 (valid_stringptr_type_p): New.
3238 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 3239 (check_format_string): Pass expected type, use
91ebb981
IS
3240 valid_stringptr_type_p (), check that the format string types are
3241 consistent with the format specification.
3242 (decode_format_attr): Warn if NSString is used outside objective-c.
3243 (format_types_orig): Add NSString.
3244 (format_name): New.
3245 (format_flags): New.
3246 (check_format_arg): Handle format strings requiring an external parser.
3247 first_target_format_type: New variable.
3248 (handle_format_attribute): Set up first_target_format_type, pass the
3249 expected format arg string type to check_format_string().
3250 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3251 * stub-objc.c (objc_string_ref_type_p): New.
3252 (objc_check_format_arg): New.
3253
bede2adc
NP
32542010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3255
9faeb493 3256 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
3257 * c-common.h (objc_build_class_component_ref): New.
3258 * stub-objc.c (objc_build_class_component_ref): New.
3259
9a179d01
NP
32602010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3261
3262 * c.opt (Wproperty-assign-default): New option.
3263
22d8d616
NP
32642010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3265
3266 Implemented -fobjc-std=objc1 flag.
3267 * c.opt (fobjc-std=objc1): New option.
3268
2debdb4f
NP
32692010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3270
3271 Implemented format and noreturn attributes for Objective-C methods.
3272 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3273 attribute for Objective-C methods.
3274
ec52b111
JM
32752010-10-31 Jason Merrill <jason@redhat.com>
3276
3277 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3278 EXPR_LOC_OR_HERE.
3279
46a88c12
NP
32802010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3281
3282 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3283 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3284 (objc_add_property_declaration): Removed arguments for copies and
3285 ivar.
3286 (objc_build_getter_call): Renamed to
3287 objc_maybe_build_component_ref.
3288 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3289 (objc_is_property_ref): New.
3290 * c-common.c (c_common_reswords): Removed copies and ivar.
3291 * stub-objc.c (objc_add_property_declaration): Removed arguments
3292 for copies and ivar.
3293 (objc_build_getter_call): Renamed to
3294 objc_maybe_build_component_ref.
3295 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3296 (objc_is_property_ref): New.
9faeb493 3297
1e4bf85b
AC
32982010-10-29 Arnaud Charlet <charlet@adacore.com>
3299 Matthew Gingell <gingell@adacore.com>
3300
3301 * c-ada-spec.c (separate_class_package): New function.
3302 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3303 name of their enclosing package.
3304 (print_ada_declaration): Use separate_class_package.
3305
81f0bab2
JM
33062010-10-27 Jason Merrill <jason@redhat.com>
3307
2b08f2c5
JM
3308 * c-common.c (c_common_reswords): Add __is_literal_type.
3309 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3310
81f0bab2
JM
3311 * c-common.c (check_case_value): Remove special C++ code.
3312
200290f2
NP
33132010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3314
3315 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3316 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3317 and RID_LAST_PATTR.
3318 (objc_add_property_declaration): Added additional arguments.
3319 (objc_property_attribute_kind): Removed.
3320 (objc_set_property_attr): Removed.
3321 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3322 copy and nonatomic.
3323 * stub-objc.c (objc_add_property_declaration): Added additional
3324 arguments.
3325 (objc_set_property_attr): Removed.
9faeb493 3326
f614132b
NP
33272010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3328
3329 * c-common.h (objc_add_property_variable): Renamed to
3330 objc_add_property_declaration. Added location argument.
3331 * stub-objc.c (objc_add_property_variable): Same change.
3332
b8a18805
NP
33332010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3334
3335 * c-common.h (objc_maybe_printable_name): New.
3336 * stub-objc.c (objc_maybe_printable_name): New.
3337
30cd1c5d
AS
33382010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3339 Andrew Pinski <pinskia@gmail.com>
3340
3341 * c-common.h (c_common_mark_addressable_vec): Declare.
3342 * c-common.c (c_common_mark_addressable_vec): New function.
3343
249a82c4
NP
33442010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3345
3346 * c-common.h (objc_set_method_type): Removed.
3347 (objc_add_method_declaration): Added boolean argument.
3348 (objc_start_method_definition): Same change.
3349 (objc_build_method_signature): Same change.
3350 * stub-objc.c (objc_set_method_type): Removed.
3351 (objc_add_method_declaration): Added boolean argument.
3352 (objc_start_method_definition): Same change.
3353 (objc_build_method_signature): Same change.
3354
977e30bc
NP
33552010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3356
3357 * c-common.h (finish_file): Removed.
3358 (objc_write_global_declarations): New.
3359 * c-opts.c (c_common_parse_file): Do not call finish_file.
3360 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 3361
da57d1b9
NP
33622010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3363
3364 Implemented parsing @synthesize and @dynamic for
3365 Objective-C/Objective-C++.
3366 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3367 (objc_add_synthesize_declaration): New.
3368 (objc_add_dynamic_declaration): New.
3369 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3370 * stub-objc.c (objc_add_synthesize_declaration): New.
3371 (objc_add_dynamic_declaration): New.
9faeb493 3372
0069111f
MM
33732010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3374
3375 PR target/46041
3376 * c-cppbuiltin.c (mode_has_fma): Move function here from
3377 builtins.c. Don't use the fma optab, instead just use the
3378 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3379 using -save-temps.
3380
e426b47b
NP
33812010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3382
3383 Merge from 'apple/trunk' branch on FSF servers.
0069111f 3384
e426b47b
NP
3385 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3386
9faeb493 3387 Radar 4330422
e426b47b
NP
3388 * c-common.h (objc_non_volatilized_type): New declaration
3389 * stub-objc.c (objc_non_volatilized_type): New stub.
3390
90fbfdc3
NP
33912010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3392
e426b47b 3393 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3
NP
3394
3395 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3396
9faeb493 3397 Radar 4133425
90fbfdc3 3398 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 3399 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 3400
c37d8c30
IS
34012010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3402
3403 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3404 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3405 (objc_ivar_visibility_kind): New enum.
3406 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 3407 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
3408 visibility enum.
3409
1b1562a5
MM
34102010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3411
3412 * c-cppbuiltin.c (builtin_define_float_constants): Emit
3413 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3414 has the appropriate fma builtins.
3415 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3416
668ea4b1
IS
34172010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3418
1b1562a5 3419 merge from FSF apple 'trunk' branch.
668ea4b1 3420 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 3421
668ea4b1
IS
3422 Radars 4436866, 4505126, 4506903, 4517826
3423 * c-common.c (c_common_resword): Define @property and its attributes.
3424 * c-common.h: Define property attribute enum entries.
3425 (OBJC_IS_PATTR_KEYWORD): New.
3426 (objc_property_attribute_kind): New enum.
3427 Declare objc_set_property_attr (), objc_add_property_variable (),
3428 objc_build_getter_call () and objc_build_setter_call ().
3429 * stub-objc.c (objc_set_property_attr): New stub.
3430 (objc_add_property_variable): Likewise.
3431 (objc_build_getter_call): Likewise.
3432 (objc_build_setter_call) Likewise.
1b1562a5 3433
a1178b30
IS
34342010-10-13 Iain Sandoe <iains@gcc.gnu.org>
3435
1b1562a5 3436 merge from FSF apple 'trunk' branch.
a1178b30
IS
3437 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3438
3439 Radar 3803157 (method attributes)
3440 * c-common.c (handle_deprecated_attribute): Recognize
3441 objc methods as valid declarations.
3442 * c-common.h: Declare objc_method_decl ().
1b1562a5 3443 * stub-objc.c (objc_method_decl): New stub.
a1178b30 3444
a75bfaa6
JM
34452010-10-08 Joseph Myers <joseph@codesourcery.com>
3446
3447 * c-common.c (parse_optimize_options): Call
3448 decode_cmdline_options_to_array_default_mask before
3449 decode_options. Update arguments to decode_options.
3450 * c-common.h (c_common_init_options_struct): Declare.
3451 * c-opts.c (c_common_init_options_struct): New. Split out from
3452 c_common_init_options.
3453
f05b9d93
NP
34542010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
3455
3456 Implemented fast enumeration for Objective-C.
3457 * c-common.h (objc_finish_foreach_loop): New.
3458 * stub-objc.c (objc_finish_foreach_loop): New.
3459
1ebe4b4f
JM
34602010-10-05 Joseph Myers <joseph@codesourcery.com>
3461
3462 * c-common.h (struct diagnostic_context): Don't declare here.
3463 (c_common_initialize_diagnostics): Declare using
3464 diagnostic_context typedef.
3465 * c-opts.c (c_common_handle_option): Pass global_dc to
3466 handle_generated_option.
3467
d4d24ba4
JM
34682010-10-04 Joseph Myers <joseph@codesourcery.com>
3469
3470 * c-opts.c (c_common_handle_option): Pass &global_options_set to
3471 handle_generated_option.
3472
478a1c5b
ILT
34732010-10-03 Ian Lance Taylor <iant@google.com>
3474
3475 * c.opt (-fplan9-extensions): New option.
3476
82a1c2fe
FXC
34772010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3478
3479 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3480 Remove.
3481 (c_cpp_builtins): Call functions from cppbuiltin.c instead
3482 of duplicating code.
3483
92902b1b
IS
34842010-09-30 Iain Sandoe <iains@gcc.gnu.org>
3485
3486 * c-common.c: Add two new entries for @optional
3487 and @required keywords.
3488
3489 merge from FSF 'apple/trunk' branch.
3490 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
3491
3492 Radar 4386773
3493 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3494 objective-c keywords.
3495 (objc_set_method_opt): New declaration.
3496 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 3497
46625112
JM
34982010-09-30 Joseph Myers <joseph@codesourcery.com>
3499
3500 * c-common.c (handle_optimize_attribute): Pass &global_options to
3501 cl_optimization_save and cl_optimization_restore.
3502 * c-opts.c (c_common_handle_option): Pass &global_options to
3503 handle_generated_option.
3504 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3505 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3506 &global_options to cl_optimization_restore.
3507
49b91f05
NP
35082010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
3509
3510 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3511 Objective-C/Objective-C++ keywords.
3512
13ed556f 35132010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 3514
9faeb493
UB
3515 Merge from 'apple/trunk' branch on FSF servers.
3516
a6341d57
NP
3517 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
3518
3519 Radar 4281748
3520 * c-common.h (objc_check_global_decl): New declaration.
3521 * stub-objc.c (objc_check_global_decl): New stub.
3522
f0036cca
JM
35232010-09-29 Joseph Myers <joseph@codesourcery.com>
3524
3525 * c.opt: Don't use VarExists.
3526
e3339d0f
JM
35272010-09-29 Joseph Myers <joseph@codesourcery.com>
3528
3529 * c-common.c (c_cpp_error): Update names of diagnostic_context
3530 members.
3531 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3532 cl_optimization members.
3533 * c-opts.c (warning_as_error_callback, c_common_handle_option,
3534 sanitize_cpp_opts, finish_options): Update names of cpp_options
3535 members.
3536
1973201f
NP
35372010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3538
3539 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
3540 (objc_is_reserved_word): Removed.
3541 * c-common.c: Updated comments.
3542 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3543 objc_is_reserved_word.
3544 * stub-objc.c (objc_is_reserved_word): Removed.
3545
f7e71da5
IS
35462010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3547
9faeb493 3548 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
3549 include attributes.
3550 (objc_start_method_definition): Likewise.
3551 (objc_build_keyword_decl): Likewise.
3552 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3553 (objc_start_method_definition): Likewise.
3554 (objc_build_keyword_decl): Likewise.
3555
c165dca7
IS
35562010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3557
3558 * c-common.h (objc_start_class_interface): Adjust prototype.
3559 (objc_start_category_interface): Likewise.
3560 (objc_start_protocol): Likewise.
3561 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3562 (objc_start_class_interface): Likewise.
3563 (objc_start_category_interface): Likewise.
3564
7458026b
ILT
35652010-09-27 Ian Lance Taylor <iant@google.com>
3566
3567 * c-common.c (c_common_attribute_table): Add no_split_stack.
3568 (handle_no_split_stack_attribute): New static function.
3569
b581b85b
NP
35702010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3571
9faeb493 3572 Merge from 'apple/trunk' branch on FSF servers.
b581b85b
NP
3573
3574 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3575
9faeb493 3576 Radar 4229905
b581b85b
NP
3577 * c-common.h (objc_have_common_type): New declaration.
3578 * stub-objc.c (objc_have_common_type): New stub.
3579
3580 2005-06-22 Ziemowit Laski <zlaski@apple.com>
3581
3582 Radar 4154928
3583 * c-common.h (objc_common_type): New prototype.
9faeb493 3584 * stub-objc.c (objc_common_type): New stub.
b581b85b 3585
46a4da10
JH
35862010-09-24 Jan Hubicka <jh@suse.cz>
3587
3588 * c-common.c (handle_leaf_attribute): New function.
3589 (struct attribute_spec c_common_att): Add leaf.
3590
e200444e
JM
35912010-09-22 Joseph Myers <joseph@codesourcery.com>
3592
3593 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
3594 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
3595 -dump, -dump=, -imacros, -imacros=, -include, -include=,
3596 -include-barrier, -include-directory, -include-directory=,
3597 -include-directory-after, -include-directory-after=,
3598 -include-prefix, -include-prefix=, -include-with-prefix,
3599 -include-with-prefix=, -include-with-prefix-after,
3600 -include-with-prefix-after=, -include-with-prefix-before,
3601 -include-with-prefix-before=, -no-integrated-cpp,
3602 -no-line-commands, -no-standard-includes, -no-warnings, -output,
3603 -output=, -pedantic, -pedantic-errors, -preprocess,
3604 -print-missing-file-dependencies, -trace-includes, -traditional,
3605 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
3606 -user-dependencies, -verbose, -write-dependencies,
3607 -write-user-dependencies, no-integrated-cpp, traditional): New.
3608
29a80ea6
NP
36092010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3610
3611 PR objc/23710
ac1fc2fc
NP
3612 * c-common.h (objc_start_method_definition): Return bool instead
3613 of void.
3614 * stub-objc.c (objc_start_method_definition): Return bool instead
3615 of void.
3616
36172010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
3618
3619 PR objc/25965
3620 * c-common.h (objc_get_interface_ivars): New declaration.
3621 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 3622
de621752
ILT
36232010-09-15 Ian Lance Taylor <iant@google.com>
3624
3625 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 3626 messages. Remove period at end of warning message.
de621752 3627
ba885ec5
NS
36282010-09-09 Nathan Sidwell <nathan@codesourcery.com>
3629
3630 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
3631 (handle_alias_attribute): ... here.
3632 (handle_ifunc_attribute): New.
3633
c5ee1358
MM
36342010-09-06 Mark Mitchell <mark@codesourcery.com>
3635
3636 * c-common.h (do_warn_double_promotion): Declare.
3637 * c-common.c (do_warn_double_promotion): Define.
3638
0a0b3574
MM
36392010-09-05 Mark Mitchell <mark@codesourcery.com>
3640
3641 * c.opt (Wdouble-promotion): New.
3642
d1779886
JM
36432010-09-02 Joseph Myers <joseph@codesourcery.com>
3644
3645 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
3646 fvtable-thunks, fxref): Mark no longer supported in help text.
3647
2d2bd949
JM
36482010-09-02 Joseph Myers <joseph@codesourcery.com>
3649
3650 * c.opt (Wimport, fall-virtual, falt-external-templates,
3651 fdefault-inline, fenum-int-equiv, fexternal-templates,
3652 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
3653 fname-mangling-version-, fnew-abi, fnonnull-objects,
3654 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
3655 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
3656 applicable.
3657 (fhandle-exceptions): Mark with Alias and Warn.
3658 * c-opts.c (c_common_handle_option): Don't handle options marked
3659 as ignored.
3660
5de8299c
JM
36612010-09-02 Joseph Myers <joseph@codesourcery.com>
3662
3663 * c.opt (Wcomments, Werror-implicit-function-declaration,
3664 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
3665 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
3666 aliases.
3667 * c-common.c (option_codes): Use OPT_Wcomment instead of
3668 OPT_Wcomments.
3669 * c-opts.c (warning_as_error_callback, c_common_handle_option):
3670 Don't handle options marked as aliases.
3671
0ceb0201
RG
36722010-08-25 Richard Guenther <rguenther@suse.de>
3673
3674 * c-common.c (c_common_get_alias_set): Remove special
3675 handling for pointers.
3676
ac47786e
NF
36772010-08-20 Nathan Froyd <froydnj@codesourcery.com>
3678
3679 * c-common.c: Use FOR_EACH_VEC_ELT.
3680 * c-gimplify.c: Likewise.
3681 * c-pragma.c: Likewise.
3682
c878765b
JM
36832010-08-16 Joseph Myers <joseph@codesourcery.com>
3684
3685 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
3686 RejectDriver.
3687 (MMDX): Change back to MMD. Mark NoDriverArg instead of
3688 RejectDriver.
3689 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
3690 instead of OPT_MDX and OPT_MMDX.
3691
603349bf
JM
36922010-08-16 Joseph Myers <joseph@codesourcery.com>
3693
3694 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
3695
644fa7ac
JM
36962010-08-12 Joseph Myers <joseph@codesourcery.com>
3697
3698 * c.opt (MD, MMD): Change to MDX and MMDX.
3699 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
3700
481e1176
JM
37012010-08-11 Joseph Myers <joseph@codesourcery.com>
3702
3703 * c-opts.c (c_common_handle_option): Call handle_generated_option
3704 instead of handle_option.
3705
ac8dc9f7
NF
37062010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3707
3708 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
3709 (maybe_apply_renaming_pragma): Delete unneeded declarations.
3710
4f8c876d
NF
37112010-08-08 Nathan Froyd <froydnj@codesourcery.com>
3712
3713 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
3714 (pending_redefine_extname): Change type to a VEC.
3715 (add_to_renaming_pragma_list): Update for new type of
3716 pending_redefine_extname.
ac8dc9f7 3717 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 3718
3b0c690e
AC
37192010-08-04 Arnaud Charlet <charlet@adacore.com>
3720
3721 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
3722 visited.
3723 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
3724 decide whether a type has already been declared/seen.
3725 Do not go to the original type.
3726 (dump_nested_types): New parameter forward.
3727 Generate forward declaration if needed and mark type as visited.
3728 (print_ada_declaration): Call dump_nested_types if not already done.
3729 Mark types as visited.
3730
1890bccc
JM
37312010-08-03 Joseph Myers <joseph@codesourcery.com>
3732
3733 * c.opt (-print-pch-checksum): Remove option.
3734 * c-opts.c (c_common_handle_option): Don't handle
3735 OPT_print_pch_checksum.
3736
5f20c657
JM
37372010-07-27 Joseph Myers <joseph@codesourcery.com>
3738
3739 * c-common.h (c_common_handle_option): Update prototype and return
3740 value type.
3741 * c-opts.c (c_common_handle_option): Update prototype and return
3742 value type. Update calls to handle_option and
3743 enable_warning_as_error.
3744
f551f80c
JJ
37452010-07-27 Jakub Jelinek <jakub@redhat.com>
3746
3747 PR c/45079
3748 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
3749
61ff2bdc
JM
37502010-07-27 Joseph Myers <joseph@codesourcery.com>
3751
3752 * c-common.h (c_common_missing_argument): Remove.
3753 * c-opts.c (c_common_missing_argument): Remove.
3754 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
3755 idirafter, imacros, include, isysroot, isystem, iquote): Add
3756 MissingArgError.
3757 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
3758
7a9bf9a4
JM
37592010-07-27 Joseph Myers <joseph@codesourcery.com>
3760
3761 * c-common.h (c_common_option_lang_mask,
3762 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
3763 New.
3764 (c_common_init_options): Update prototype.
3765 * c-opts.c (c_common_option_lang_mask): New.
3766 (c_common_initialize_diagnostics): Split out of
3767 c_common_init_options.
3768 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
3769 New.
3770 (c_common_init_options): Update prototype. Use decoded options in
3771 search for -lang-asm.
3772
910ad8de
NF
37732010-07-15 Nathan Froyd <froydnj@codesourcery.com>
3774
3775 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
3776 * c-format.c: Likewise.
3777
718f9c0f
MLI
37782010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
3779
3780 * c-common.h: Include diagnostic-core.h. Error if already
3781 included.
3782 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
3783
4d451982
MLI
37842010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3785
3786 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
3787 Do not include expr.h
3788 (vector_mode_valid_p): Move here.
3789
119fe915
SB
37902010-06-21 DJ Delorie <dj@redhat.com>
3791
3792 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
3793 allow these pragmas anywhere.
3794
37952010-06-14 Jakub Jelinek <jakub@redhat.com>
3796
3797 PR bootstrap/44509
3798 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
3799 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
3800 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
3801 ggc_strdup instead of xstrdup.
3802
38032010-06-10 Jakub Jelinek <jakub@redhat.com>
3804
3805 * c-cppbuiltin.c: Include cpp-id-data.h.
3806 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
3807 (lazy_hex_fp_value): New function.
3808 (builtin_define_with_hex_fp_value): Provide definitions lazily.
3809
6662d794
MLI
38102010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3811
3812 * c-gimplify.c: Do not include tree-flow.h
3813
38f8b050
JR
38142010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
3815
3816 PR other/44034
3817 * c-common.c: Rename targetm member:
3818 targetm.enum_va_list -> targetm.enum_va_list_p
3819
9589f23e
AS
38202010-06-28 Anatoly Sokolov <aesok@post.ru>
3821
3822 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
3823
3b06d379
SB
38242010-06-28 Steven Bosscher <steven@gcc.gnu.org>
3825
3826 * c-cppbuiltin.c: Do not include except.h.
3827
d166d4c3
AK
38282010-06-24 Andi Kleen <ak@linux.intel.com>
3829
9faeb493
UB
3830 * c-common.c (warn_for_omitted_condop): New.
3831 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 3832
70cb8be6
JM
38332010-06-21 Joseph Myers <joseph@codesourcery.com>
3834
3835 * c.opt (lang-objc): Remove.
3836 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
3837
a4c97feb
JR
38382010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
3839
3840 * c-opts.c: Include "tm_p.h".
3841
6e2f1956
JM
38422010-06-20 Joseph Myers <joseph@codesourcery.com>
3843
3844 * c-common.c (parse_optimize_options): Update call to
3845 decode_options.
3846
bc87224e
NF
38472010-06-18 Nathan Froyd <froydnj@codesourcery.com>
3848
3849 * c-common.c (record_types_used_by_current_var_decl): Adjust for
3850 new type of types_used_by_cur_var_decl.
3851
b49cf425
JR
38522010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
3853
3854 PR bootstrap/44512
3855 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
3856 for C++ standard compliance.
3857
59f9c2ed
JM
38582010-06-16 Jason Merrill <jason@redhat.com>
3859
3860 * c.opt: Add -Wnoexcept.
3861
33766b66
RG
38622010-06-16 Richard Guenther <rguenther@suse.de>
3863
3864 PR c/44555
3865 * c-common.c (c_common_truthvalue_conversion): Remove
3866 premature and wrong optimization concering ADDR_EXPRs.
3867
eff7e30c
AC
38682010-06-15 Arnaud Charlet <charlet@adacore.com>
3869
3870 * c-ada-spec.c (dump_sloc): Remove column info.
3871 (is_simple_enum): New function.
3872 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
3873 enum types when relevant.
3874
6312e84d
MLI
38752010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3876
9faeb493 3877 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
3878 location.
3879
1cb42611
JM
38802010-06-10 Joseph Myers <joseph@codesourcery.com>
3881
3882 * c-opts.c (c_common_handle_option): Don't handle
3883 OPT_fshow_column.
3884
a9429e29
LB
38852010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
3886
3887 * c-pragma.c (push_alignment): Use typed GC allocation.
3888 (handle_pragma_push_options): Likewise.
3889
3890 * c-common.c (parse_optimize_options): Likewise.
3891
3892 * c-common.h (struct sorted_fields_type): Add variable_size GTY
3893 option.
3894
5498f011
JM
38952010-06-07 Joseph Myers <joseph@codesourcery.com>
3896
3897 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
3898 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3899 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3900 flag_signed_bitfields, warn_strict_null_sentinel,
3901 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
3902 flag_gen_declaration, flag_no_gnu_keywords,
3903 flag_implement_inlines, flag_implicit_templates,
3904 flag_implicit_inline_templates, flag_optional_diags,
3905 flag_elide_constructors, flag_default_inline, flag_rtti,
3906 flag_conserve_space, flag_access_control, flag_check_new,
3907 flag_new_for_scope, flag_weak, flag_working_directory,
3908 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
3909 flag_enforce_eh_specs, flag_threadsafe_statics,
3910 flag_pretty_templates): Remove.
3911 * c-common.h (flag_preprocess_only, flag_nil_receivers,
3912 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
3913 flag_replace_objc_classes, flag_undef, flag_no_builtin,
3914 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
3915 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
3916 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
3917 flag_no_gnu_keywords, flag_implement_inlines,
3918 flag_implicit_templates, flag_implicit_inline_templates,
3919 flag_optional_diags, flag_elide_constructors, flag_default_inline,
3920 flag_rtti, flag_conserve_space, flag_access_control,
3921 flag_check_new, flag_new_for_scope, flag_weak,
3922 flag_working_directory, flag_use_cxa_atexit,
3923 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
3924 flag_threadsafe_statics, flag_pretty_templates,
3925 warn_strict_null_sentinel): Remove.
3926 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
3927 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
3928 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
3929 fimplicit-inline-templates, fimplicit-templates,
3930 flax-vector-conversions, fms-extensions, fnil-receivers,
3931 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
3932 frtti, fshort-double, fshort-enums, fshort-wchar,
3933 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
3934 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
3935 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
3936 gen-decls, undef): Use Var.
3937 (fdefault-inline, foptional-diags): Document as doing nothing.
3938 * c-opts.c (c_common_handle_option): Remove cases for options now
3939 using Var. Mark ignored options as such.
3940
39dabefd
SB
39412010-06-05 Steven Bosscher <steven@gcc.gnu.org>
3942
9faeb493 3943 * c-common.c: Moved to here from parent directory.
39dabefd
SB
3944 * c-common.def: Likewise.
3945 * c-common.h: Likewise.
3946 * c-cppbuiltin.c: Likewise.
3947 * c-dump.c: Likewise.
3948 * c-format.c: Likewise.
3949 * c-format.h : Likewise.
3950 * c-gimplify.c: Likewise.
3951 * c-lex.c: Likewise.
3952 * c-omp.c: Likewise.
3953 * c.opt: Likewise.
3954 * c-opts.c: Likewise.
3955 * c-pch.c: Likewise.
3956 * c-ppoutput.c: Likewise.
3957 * c-pragma.c: Likewise.
3958 * c-pragma.h: Likewise.
3959 * c-pretty-print.c: Likewise.
3960 * c-pretty-print.h: Likewise.
3961 * c-semantics.c: Likewise.
3962 * stub-objc.c: Likewise.
3963
3964 * c-common.c: Include gt-c-family-c-common.h.
3965 * c-pragma.c: Include gt-c-family-c-pragma.h.
3966\f
23a5b65a 3967Copyright (C) 2010-2014 Free Software Foundation, Inc.
39dabefd
SB
3968
3969Copying and distribution of this file, with or without modification,
3970are permitted in any medium without royalty provided the copyright
3971notice and this notice are preserved.