]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
c++ify sreal
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
0feb4de1 12014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
2
3 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
4
3aa2fa44 52014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
6
7 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
8 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
9 (__cpp_range_based_for, __cpp_initializer_lists,
10 __cpp_delegating_constructors, __cpp_nsdmi,
11 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
12 for C++11; (__cpp_attribute_deprecated): Remove in favor of
13 __has_cpp_attribute.
14 * c-lex.c (cb_has_attribute): New callback CPP function;
15 (init_c_lex): Set has_attribute callback.
16
7fd22aae 172014-11-04 Richard Biener <rguenther@suse.de>
18
19 * c-common.c (shorten_compare): Do not shorten mixed
20 DFP and non-DFP compares.
21
4af203ac 222014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
23
24 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
25 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
26 Commentary and rearrangement of tests.
27 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
28 Commentary and rearrangement of tests.
29 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
30 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
31
3754d046 322014-10-29 Richard Sandiford <richard.sandiford@arm.com>
33
34 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
35 enum from machine_mode.
36
1140c305 372014-10-28 Andrew MacLeod <amacleod@redhat.com>
38
39 * c-family/c-common.c: Adjust include files.
40 * c-family/c-gimplify.c: Ditto.
41 * c-family/cilk.c: Ditto.
42 * c-family/c-pragma.c: Ditto.
43 * c-family/c-ubsan.c: Ditto.
44
94ea8568 452014-10-27 Andrew MacLeod <amacleod@redhat.com>
46
47 * c-gimplify.c: Adjust include files.
48
32ecf960 492014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
50
51 PR c++/53061
52 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
53 c_common_initialize_diagnostics.
54 * c-common.h: Likewise.
55
85fecbe2 562014-10-24 Marek Polacek <polacek@redhat.com>
57
58 PR c/56980
59 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
60 print "struct"/"union"/"enum" for typedefed names.
61
e7ec033a 622014-10-23 Marek Polacek <polacek@redhat.com>
63
64 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
65 in unsigned type.
66
c2598081 672014-10-22 Jakub Jelinek <jakub@redhat.com>
68 Yury Gribov <y.gribov@samsung.com>
69
70 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
71 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
72 instead of flag_sanitize_recover as bool flag.
73
acebb7e2 742014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
75
76 * cilk.c: Revert previous change.
77
6115016c 782014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
79
80 PR c/63307
81 * cilk.c: Include vec.h.
82 (struct cilk_decls): New structure.
83 (wrapper_parm_cb): Split this function to...
84 (fill_decls_vec): ...this...
85 (create_parm_list): ...and this.
86 (compare_decls): New function.
87 (for_local_cb): Remove.
88 (wrapper_local_cb): Ditto.
89 (build_wrapper_type): For now first traverse and fill vector of
90 declarations then sort it and then deal with sorted vector.
91 (cilk_outline): Ditto.
92 (declare_one_free_variable): Ditto.
93
e610d2b2 942014-10-17 Marek Polacek <polacek@redhat.com>
95
96 * c-opts.c (c_common_post_options): Set warn_implicit_int.
97 * c.opt (Wimplicit-int): Initialize to -1.
98
a3020f2f 992014-10-16 Andrew MacLeod <amacleod@redhat.com>
100
101 * c-pragma.c: Adjust include files.
102 * c-semantics.c: Likewise.
103
926ddd2c 1042014-10-16 DJ Delorie <dj@redhat.com>
105
106 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
107 multiples of bytes.
108
b0542e7c 1092014-10-14 Jason Merrill <jason@redhat.com>
110
111 PR c++/63455
112 * c-common.h (CPP_PREPARSED_EXPR): New.
113 (N_CP_TTYPES): Adjust.
114
b2601928 1152014-10-15 Marek Polacek <polacek@redhat.com>
116
117 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
118
9f75f026 1192014-10-14 DJ Delorie <dj@redhat.com>
120
121 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
122 types, not just __int128.
123 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
124 types, not just __int128.
125 (cpp_atomic_builtins): Round pointer sizes up.
126 (type_suffix): Use type precision, not specific types.
127 * c-common.c (c_common_reswords): Remove __int128 special case.
128 (c_common_type_for_size): Check for all __intN types, not just
129 __int128.
130 (c_common_type_for_mode): Likewise.
131 (c_common_signed_or_unsigned_type): Likewise.
132 (c_build_bitfield_integer_type): Likewise.
133 (c_common_nodes_and_builtins): Likewise.
134 (keyword_begins_type_specifier): Likewise.
135 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
136 __intN variants.
137
2ef51f0e 1382014-10-12 Trevor Saunders <tsaunders@mozilla.com>
139
140 * c-common.c: Use hash_table instead of hashtab.
141
5b8257e3 1422014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
143
144 * c-family/c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
145 C++11 section.
146
5e84569c 1472014-10-03 Marc Glisse <marc.glisse@inria.fr>
148
149 PR c++/54427
150 PR c++/57198
151 PR c++/58845
152 * c-common.c (warn_logical_operator): Punt for vectors.
153
f6751ff2 1542014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
155
156 Implement SD-6: SG10 Feature Test Recommendations
157 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
158 macros and the __has_header macro.
159
c33e051d 1602014-09-30 Jason Merrill <jason@redhat.com>
161
f76a9aa8 162 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
163 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
164 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
165
717e52f9 166 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
167 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
168
c33e051d 169 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
170 * c-common.c (c_common_reswords): Remove __is_convertible_to.
171
5213d6c9 1722014-09-24 Marek Polacek <polacek@redhat.com>
173
174 PR c/61405
175 PR c/53874
176 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
177
6b722052 1782014-09-23 Andi Kleen <ak@linux.intel.com>
179
180 * c-common.c (handle_no_reorder_attribute): New function.
181 (c_common_attribute_table): Add no_reorder attribute.
182
0cb69d12 1832014-09-22 Joseph Myers <joseph@codesourcery.com>
184
185 * c-cppbuiltin.c (c_cpp_builtins): Define
186 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
187 modes.
188
168dfbf0 1892014-09-18 Joseph Myers <joseph@codesourcery.com>
190
191 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
192 for supported floating-point modes.
193
b83705f4 1942014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
195
196 * c.opt (Wpsabi): Use LangEnabledBy.
197 * c-opts.c (c_common_handle_option): Do not handle here.
198
d5957f0d 1992014-09-12 Joseph Myers <joseph@codesourcery.com>
200
201 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
202 macros for floating-point modes.
203
bae6edff 2042014-09-11 Marc Glisse <marc.glisse@inria.fr>
205
206 PR target/58757
207 * c-cppbuiltin.c (builtin_define_float_constants): Correct
208 __*_DENORM_MIN__ without denormals.
209
73a69d02 2102014-09-10 Jakub Jelinek <jakub@redhat.com>
211
212 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
213 ubsan_instrument_vla, ubsan_instrument_return): Adjust
214 ubsan_create_data callers.
215 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
216 index is constant or BIT_AND_EXPR with constant mask and is
217 small enough for the bound.
218 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
219 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
220
7ff8db31 2212014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
222
223 * c.opt: Add CppReason to various flags.
224 (Wdate-time): Re-sort.
225 * c-common.c: Include c-common.h earlier.
226 (struct reason_option_codes_t): Delete.
227 (c_option_controlling_cpp_error): Prefix global type and struct
228 with cpp_.
229
bcc1f37e 2302014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
231
232 * c.opt (Wnormalized): New.
233 (Wnormalized=): Use Enum and Reject Negative.
234 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
235
b660d3c6 2362014-09-08 Joseph Myers <joseph@codesourcery.com>
237
238 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
239 digits of floating-point modes if -fbuilding-libgcc.
240
325b8c3c 2412014-09-05 Joseph Myers <joseph@codesourcery.com>
242
243 * c-cppbuiltin.c (c_cpp_builtins): Also define
244 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
245 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
246 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
247 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
248 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
249 __LIBGCC_STACK_GROWS_DOWNWARD__,
250 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
251 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
252 __LIBGCC_DWARF_FRAME_REGISTERS__,
253 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
254 __LIBGCC_STACK_POINTER_REGNUM__ and
255 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
256 (builtin_define_with_value): Handle backslash-escaping in string
257 macro values.
258
1e074e77 2592014-09-05 Richard Biener <rguenther@suse.de>
260
261 PR middle-end/63148
262 * c-format.c (check_format_arg): Properly handle
263 effectively signed POINTER_PLUS_EXPR offset.
264
04afd878 2652014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
266
267 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
268 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
269 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
270 and Init.
271 * c-opts.c (c_common_handle_option): Do not handle here.
272 (sanitize_cpp_opts): Likewise.
273 * c-common.c (struct reason_option_codes_t): Handle
274 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
275
a3f448f0 2762014-09-03 Marek Polacek <polacek@redhat.com>
277
278 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
279
40750995 2802014-09-02 Jakub Jelinek <jakub@redhat.com>
281 Balaji V. Iyer <balaji.v.iyer@intel.com>
282 Igor Zamyatin <igor.zamyatin@intel.com>
283
284 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
285 * c-common.c (c_common_reswords): Added _Cilk_for.
286 * c-common.h (enum rid): Added RID_CILK_FOR.
287 (cilk_for_number_of_iterations): Add declaration.
288 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
289 CILK_FOR.
290 * c-pragma.c (init_pragma): Register "grainsize" pragma.
291 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
292
f0fbe519 2932014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
294
295 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
296 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
297 Wundef): Use CPP, Var and Init.
298 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
299
a7d2e480 3002014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
301
302 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
303 * c-opts.c (c_common_handle_option): Do not handle here.
304
c35e53f1 3052014-08-25 Jason Merrill <jason@redhat.com>
306
307 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
308 -std=c++14 and -std=gnu++14, rather than the reverse.
309 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
310 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
311 * c-common.h (cxx_dialect): Remove cxx1y.
312
4e454776 3132014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
314
315 * c-common.h (enum cxx_dialect): Add cxx14.
316 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
317 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
318 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
319
af1a80f2 3202014-08-22 Jason Merrill <jason@redhat.com>
321
322 * c.opt (std=gnu++17): Fix alias.
323
dc6229e8 3242014-08-22 Marek Polacek <polacek@redhat.com>
325
326 PR c++/62199
327 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
328 check for vector types. Drop LHS argument.
329 * c-common.h (warn_logical_not_parentheses): Adjust.
330
ba7f7c88 3312014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
332
333 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
334 (Wmultichar): Likewise.
335 (Wdate-time): Use C-family languages instead of Common. Use CPP
336 and Var.
337 * c-opts.c (c_common_handle_option): Do not handle the above
338 options here.
339 (sanitize_cpp_opts): Likewise.
340
399d4f80 3412014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
342
343 PR fortran/44054
344 * c-opts.c: Include tree-diagnostics.h.
345 (c_diagnostic_finalizer): New.
346 (c_common_initialize_diagnostics): Use it.
347
1babed5f 3482014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
349
350 PR preprocessor/51303
351 * c-common.c (struct reason_option_codes_t option_codes):
352 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
353
3636964b 3542014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
355
356 PR c/60975
357 PR c/53063
358 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
359 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
360 (c_common_post_options): Call init_global_opts_from_cpp.
361 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
362
78bf4156 3632014-08-19 Marek Polacek <polacek@redhat.com>
364
365 PR c++/62153
366 * c-common.c (maybe_warn_bool_compare): New function.
367 * c-common.h (maybe_warn_bool_compare): Declare.
368 * c.opt (Wbool-compare): New option.
369
508ea33a 3702014-08-19 Marek Polacek <polacek@redhat.com>
371
372 * c.opt (Wc99-c11-compat): New option.
373
806fe15e 3742014-08-19 Marek Polacek <polacek@redhat.com>
375
376 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
377 to warn_c90_c99_compat.
378 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
379 to -1.
380
6c867de1 3812014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
382 Steven Bosscher <steven@gcc.gnu.org>
383
384 PR c/52952
385 * c-format.c: Add extra_arg_loc and format_string_loc to struct
386 format_check_results.
387 (check_function_format): Use true and add comment for boolean
388 argument.
389 (finish_dollar_format_checking): Use explicit location when warning.
390 (check_format_info): Likewise.
391 (check_format_arg): Set extra_arg_loc and format_string_loc.
392 (check_format_info_main): Use explicit location when warning.
393 (check_format_types): Pass explicit location.
394 (format_type_warning): Likewise.
395
dc8078a3 3962014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
397
398 PR fortran/44054
399 * c-format.c: Handle Fortran flags.
400
d271ec7e 4012014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
402
403 PR other/61962
404 * array-notation-common.c (find_rank): Added handling for other
405 types of references.
406
890c2e2f 4072014-08-10 Marek Polacek <polacek@redhat.com>
408
409 PR c/51849
410 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
411 * c.opt (Wc90-c99-compat): Add option.
412
7149db5f 4132014-08-07 Trevor Saunders <tsaunders@mozilla.com>
414
415 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
416
2d2f6a15 4172014-08-03 Marek Polacek <polacek@redhat.com>
418
419 * c-common.c (check_case_value): Add location_t parameter. Use it.
420 (c_add_case_label): Pass loc to check_case_value.
421
06ecf488 4222014-08-02 Trevor Saunders <tsaunders@mozilla.com>
423
424 * cilk.c: Use hash_map instead of pointer_map.
425
431205b7 4262014-08-02 Trevor Saunders <tsaunders@mozilla.com>
427
428 * c-gimplify.c: Use hash_set instead of pointer_set.
429
3394c80c 4302014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
431
432 PR middle-end/61455
433 * array-notation-common.c (extract_array_notation_exprs): Handling
434 of DECL_EXPR added.
435
392dee1e 4362014-08-01 Jakub Jelinek <jakub@redhat.com>
437
438 * c-common.h (min_align_of_type): Removed prototype.
439 * c-common.c (min_align_of_type): Removed.
440 * c-ubsan.h (ubsan_maybe_instrument_reference,
441 ubsan_maybe_instrument_member_call): New prototypes.
442 * c-ubsan.c: Include stor-layout.h and builtins.h.
443 (ubsan_maybe_instrument_reference_or_call,
444 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
445 functions.
446
f22a2cb7 4472014-07-31 Marc Glisse <marc.glisse@inria.fr>
448
449 PR c++/60517
450 * c.opt (-Wreturn-local-addr): Move to common.opt.
451
87b0198f 4522014-07-30 Jason Merrill <jason@redhat.com>
453
454 PR c++/61659
455 PR c++/61687
456 Revert:
457 * c.opt (-fuse-all-virtuals): New.
458
74691f46 4592014-07-30 Tom Tromey <tromey@redhat.com>
460
461 PR c/59855
462 * c.opt (Wdesignated-init): New option.
463 * c-common.c (c_common_attribute_table): Add "designated_init".
464 (handle_designated_init): New function.
465
9140d56f 4662014-07-24 Marek Polacek <polacek@redhat.com>
467
468 PR c/57653
469 * c-opts.c (c_finish_options): If -imacros is in effect, return.
470
a09c5cc2 4712014-07-16 Dodji Seketeli <dodji@redhat.com>
472
473 PR preprocessor/60723 - missing system-ness marks for macro tokens
474 * c-ppoutput.c (struct print::prev_was_system_token): New data
475 member.
476 (init_pp_output): Initialize it.
477 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
478 (do_line_change): Return a flag saying if a line marker was
479 emitted or not.
480 (scan_translation_unit): Detect if the system-ness of the token we
481 are about to emit is different from the one of the previously
482 emitted token. If so, emit a line marker. Avoid emitting useless
483 adjacent line markers. Avoid emitting line markers for tokens
484 originating from the expansion of built-in macros.
485 (scan_translation_unit_directives_only): Adjust.
486
2b25b62f 4872014-07-15 Marek Polacek <polacek@redhat.com>
488
489 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
490 TYPE_MAX_VALUE is NULL.
491
305d96bc 4922014-07-14 Jakub Jelinek <jakub@redhat.com>
493
494 PR middle-end/61294
495 * c.opt (Wmemset-transposed-args): New warning.
496
8ea4660d 4972014-07-10 Jason Merrill <jason@redhat.com>
498
499 PR c++/61659
500 PR c++/61687
501 * c.opt (-fuse-all-virtuals): New.
502
cd480f3d 5032014-07-09 Richard Biener <rguenther@suse.de>
504
505 PR c-family/61741
506 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
507 using unsigned arithmetic if overflow does not wrap instead of
508 if overflow is undefined.
509
87d59e72 5102014-07-06 Marek Polacek <polacek@redhat.com>
511
512 PR c/6940
513 * c.opt (Wsizeof-array-argument): New option.
514
d69521d8 5152014-07-03 Jakub Jelinek <jakub@redhat.com>
516
517 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
518 comments->count <= 1, as comments->entries might be NULL.
519
1207866e 5202014-07-01 Marek Polacek <polacek@redhat.com>
521
522 * c.opt (Wint-conversion): New option.
523
7a6bbb76 5242014-07-01 Marek Polacek <polacek@redhat.com>
525
526 PR c/58286
527 * c.opt (Wincompatible-pointer-types): New option.
528
9d4eeb52 5292014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
530
531 PR c++/51400
532 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
533 Do not discard TYPE_QUALS of type.
534
4b53bc0f 5352014-06-26 Jason Merrill <jason@redhat.com>
536
537 * c-common.h (enum cxx_dialect): Add cxx1z.
538 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
539 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
540
a8a8d4ea 5412014-06-26 Teresa Johnson <tejohnson@google.com>
542
543 * c-common.h (get_dump_info): Declare.
544 * c-gimplify.c (c_genericize): Use saved dump files.
545 * c-opts.c (c_common_parse_file): Begin and end dumps
546 once around parsing invocation.
547 (get_dump_info): New function.
548
1f6be080 5492014-06-23 Marek Polacek <polacek@redhat.com>
550 Andrew MacLeod <amacleod@redhat.com>
551
552 PR c/61553
553 * c-common.c (get_atomic_generic_size): Don't segfault if the
554 type doesn't have a size.
555
5ef6b660 5562014-06-20 Marek Polacek <polacek@redhat.com>
557
558 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
559 (ubsan_walk_array_refs_r): New function.
560 (c_genericize): Instrument array bounds.
561 * c-ubsan.c: Include "internal-fn.h".
562 (ubsan_instrument_division): Mark instrumented arrays as having
563 side effects. Adjust ubsan_type_descriptor call.
564 (ubsan_instrument_shift): Likewise.
565 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
566 (ubsan_instrument_bounds): New function.
567 (ubsan_array_ref_instrumented_p): New function.
568 (ubsan_maybe_instrument_array_ref): New function.
569 * c-ubsan.h (ubsan_instrument_bounds): Declare.
570 (ubsan_array_ref_instrumented_p): Declare.
571 (ubsan_maybe_instrument_array_ref): Declare.
572
5732014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 574
575 PR lto/61123
576 * c.opt (fshort-enums): Add to LTO.
577 * c.opt (fshort-wchar): Likewise.
578
78438f31 5792014-06-16 Marek Polacek <polacek@redhat.com>
580
581 PR c/60439
582 * c.opt (Wswitch-bool): Add Var.
583
5fddcf34 5842014-06-12 Jakub Jelinek <jakub@redhat.com>
585
586 PR middle-end/61486
587 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
588 #pragma omp target teams or
589 #pragma omp {,target }teams distribute simd.
590
74b777e5 5912014-06-12 Jason Merrill <jason@redhat.com>
592
593 * c.opt (Wabi=, fabi-compat-version): New.
594 * c-opts.c (c_common_handle_option): Handle -Wabi=.
595 (c_common_post_options): Handle flag_abi_compat_version default.
596 Disallow -fabi-compat-version=1.
597 * c-common.h (abi_version_crosses): New.
598
738a6bda 5992014-06-11 Jan Hubicka <hubicka@ucw.cz>
600
601 * c-family/c-common.c (handle_section_attribute): Update handling for
602 section names that are no longer trees.
603
cf5f881f 6042014-06-10 Jakub Jelinek <jakub@redhat.com>
605
606 PR fortran/60928
607 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
608 (omp_pragmas): ... back here.
609
32dc1512 6102014-06-05 Marek Polacek <polacek@redhat.com>
611
612 PR c/49706
613 * c-common.c (warn_logical_not_parentheses): New function.
614 * c-common.h (warn_logical_not_parentheses): Declare.
615 * c.opt (Wlogical-not-parentheses): New option.
616
f61a9bc2 6172014-06-04 Marek Polacek <polacek@redhat.com>
618
619 PR c/30020
620 * c-common.c (check_case_bounds): Add location parameter.
621 Use it.
622 (c_add_case_label): Pass loc to check_case_bounds.
623
c69ec07d 6242014-06-03 Marek Polacek <polacek@redhat.com>
625
626 PR c/60439
627 * c.opt (Wswitch-bool): New option.
628
3c77ca67 6292014-05-22 Thomas Schwinge <thomas@codesourcery.com>
630
68a2c870 631 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
632 Remove prototypes.
633 (record_types_used_by_current_var_decl): Move prototype to where
634 it belongs.
635
3c77ca67 636 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
637 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
638 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
639
3ab4693e 6402014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
641
642 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
643 * c-common.c (c_common_nodes_and_builtins): Don't initialize
644 void_zero_node.
645 * c-pretty-print.c (pp_c_void_constant): New function.
646 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
647 (c_pretty_printer::expression): Handle VOID_CST.
648 * cilk.c (extract_free_variables): Likewise.
649 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
650 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
651
25a27413 6522014-05-17 Trevor Saunders <tsaunders@mozilla.com>
653
654 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
655 * c-pragma.c (push_alignment): Adjust.
656 (handle_pragma_push_options): Likewise.
657
3e5a8b00 6582014-05-09 Marek Polacek <polacek@redhat.com>
659
660 PR c/50459
661 * c-common.c (check_user_alignment): Return -1 if alignment is error
662 node.
663 (handle_aligned_attribute): Don't call default_conversion on
664 FUNCTION_DECLs.
665 (handle_vector_size_attribute): Likewise.
666 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
667 (handle_sentinel_attribute): Call default_conversion and allow even
668 integral types as an argument.
669
c2c4ae8d 6702014-05-08 Marek Polacek <polacek@redhat.com>
671
672 PR c/61053
673 * c-common.c (min_align_of_type): New function factored out from...
674 (c_sizeof_or_alignof_type): ...here.
675 * c-common.h (min_align_of_type): Declare.
676
2026249a 6772014-05-08 Marek Polacek <polacek@redhat.com>
678
679 PR c/61077
680 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
681 parameter type of main.
682
33c8dcfe 6832014-05-07 DJ Delorie <dj@redhat.com>
684
685 * c-cppbuiltin.c (print_bits_of_hex): New.
686 (builtin_define_type_minmax): Print values using hex so as not to
687 require a pre-computed list of string values.
688
960d5a55 6892014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
690 Mike Stump <mikestump@comcast.net>
691 Richard Sandiford <rdsandiford@googlemail.com>
692
693 * c-ada-spec.c: Include wide-int.h.
694 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
695 (dump_generic_ada_node): Use wide-int interfaces.
696 * c-common.c: Include wide-int-print.h.
697 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
698 (pointer_int_sum): Use wide-int interfaces.
699 (c_common_nodes_and_builtins): Use make_int_cst.
700 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
701 (handle_alloc_size_attribute): Use wide-int interfaces.
702 (get_nonnull_operand): Likewise.
703 * c-format.c (get_constant): Use tree_fits_uhwi_p.
704 * c-lex.c: Include wide-int.h.
705 (narrowest_unsigned_type): Take a widest_int rather than two
706 HOST_WIDE_INTs.
707 (narrowest_signed_type): Likewise.
708 (interpret_integer): Update accordingly. Use wide-int interfaces.
709 (lex_charconst): Use wide-int interfaces.
710 * c-pretty-print.c: Include wide-int.h.
711 (pp_c_integer_constant): Use wide-int interfaces.
712 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
713 INT_CST_LT_UNSIGNED.
714
bbb88b31 7152014-05-06 Richard Biener <rguenther@suse.de>
716
717 * c-opts.c (c_common_post_options): For -freestanding,
718 -fno-hosted and -fno-builtin disable pattern recognition
719 if not enabled explicitely.
720
022d4718 7212014-05-02 Marek Polacek <polacek@redhat.com>
722
723 * c.opt (Wsizeof-pointer-memaccess): Describe option.
724
e4ab2ef3 7252014-05-01 Marek Polacek <polacek@redhat.com>
726
727 PR c/43245
728 * c.opt (Wdiscarded-qualifiers): Add.
729
52cc0072 7302014-04-30 Marek Polacek <polacek@redhat.com>
731
732 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
733 INT_MIN / -1 sanitization only for integer types.
734
4a026b48 7352014-04-25 Marek Polacek <polacek@redhat.com>
736
737 PR c/18079
738 * c-common.c (handle_noinline_attribute): Warn if the attribute
739 conflicts with always_inline attribute.
740 (handle_always_inline_attribute): Warn if the attribute conflicts
741 with noinline attribute.
742
90e645fa 7432014-04-25 Marek Polacek <polacek@redhat.com>
744
745 PR c/60156
746 * c-common.c (check_main_parameter_types): Warn about variadic main.
747
db103ea4 7482014-04-24 Mike Stump <mikestump@comcast.net>
749
750 * c.opt (Wshadow-ivar): Default to on.
751
06511efd 7522014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
753
754 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
755
cdf34fca 7562014-04-23 Marek Polacek <polacek@redhat.com>
757
758 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
759
7311d7c1 7602014-04-22 Jakub Jelinek <jakub@redhat.com>
761
762 PR sanitizer/60275
763 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
764 if flag_sanitize_undefined_trap_on_error.
765 (ubsan_instrument_division, ubsan_instrument_shift,
766 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
767 if !flag_sanitize_recover.
768
c1917557 7692014-04-22 Marc Glisse <marc.glisse@inria.fr>
770
771 PR libstdc++/43622
772 * c-common.c (registered_builtin_types): Make non-static.
773 * c-common.h (registered_builtin_types): Declare.
774
b2ca6510 7752014-04-14 Richard Biener <rguenther@suse.de>
776 Marc Glisse <marc.glisse@inria.fr>
777
778 PR c/60819
779 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
780 apply may-alias the scalar pointer type when applicable.
781
855372a3 7822014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
783
784 PR middle-end/60467
785 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
786 as possible argument for Cilk_spawn.
787
4012a986 7882014-04-11 Tobias Burnus <burnus@net-b.de>
789
790 PR c/60194
791 * c.opt (Wformat-signedness): Add
792 * c-format.c(check_format_types): Use it.
793
0d284870 7942014-04-11 Jason Merrill <jason@redhat.com>
795
796 PR c++/57926
797 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
798 default_conversion for an array argument.
799
a34c1231 8002014-04-08 Marek Polacek <polacek@redhat.com>
801
802 PR sanitizer/60745
803 * c-ubsan.c: Include asan.h.
804 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
805
a35a8e18 8062014-04-03 Nathan Sidwell <nathan@codesourcery.com>
807
808 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
809
b23e42b6 8102014-04-02 Marek Polacek <polacek@redhat.com>
811
812 * c-common.h (c_expand_expr): Remove declaration.
813
5a672e62 8142014-03-28 Jakub Jelinek <jakub@redhat.com>
815
816 PR c++/60689
817 * c-common.c (add_atomic_size_parameter): When creating new
818 params vector, push the size argument first.
819
d4d068c0 8202014-03-26 Jakub Jelinek <jakub@redhat.com>
821
822 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
823 ubsan_instrument_vla, ubsan_instrument_return): Adjust
824 ubsan_create_data callers.
825
446bdf5f 8262014-03-22 Jakub Jelinek <jakub@redhat.com>
827
828 PR debug/60603
829 * c-opts.c (c_finish_options): Restore cb_file_change call to
830 <built-in>.
831
8895f0a3 8322014-03-13 Jakub Jelinek <jakub@redhat.com>
833
834 PR middle-end/36282
835 * c-pragma.c (apply_pragma_weak): Only look at
836 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
837 DECL_ASSEMBLER_NAME_SET_P (decl).
838 (maybe_apply_pending_pragma_weaks): Exit early if
839 vec_safe_is_empty (pending_weaks) rather than only when
840 !pending_weaks.
841 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
842 set assembler name back to NULL afterwards.
843
7a5da2cd 8442014-03-11 Jason Merrill <jason@redhat.com>
845
846 * c.opt: Add -std=gnu++14.
847
95093889 8482014-03-11 Ian Bolton <ian.bolton@arm.com>
849
850 * c-opts.c (c_common_post_options): Don't override
851 -ffp-contract=fast if unsafe-math-optimizations is on.
852
c9a24b37 8532014-03-08 Paulo Matos <paulo@matos-sorge.com>
854
855 * c.opt: Enable LTO FE for fshort-double.
856
3f6dba6e 8572014-03-07 Jason Merrill <jason@redhat.com>
858
859 * c.opt: Add -std=c++14.
860
3bfdc94f 8612014-03-06 Marek Polacek <polacek@redhat.com>
862
863 PR c/60197
864 * cilk.c (contains_cilk_spawn_stmt): New function.
865 (contains_cilk_spawn_stmt_walker): Likewise.
866 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
867 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
868
8b3a6a4c 8692014-03-03 Jakub Jelinek <jakub@redhat.com>
870
871 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
872 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
873 even when flag_preprocess_only.
874
734ec290 8752014-02-26 Jason Merrill <jason@redhat.com>
876
877 PR c++/59231
878 PR c++/11586
879 * c-common.c (shorten_compare): Don't check
880 c_inhibit_evaluation_warnings.
881
81aec8b8 8822014-02-19 Jakub Jelinek <jakub@redhat.com>
883
d1081017 884 PR c/37743
885 * c-common.c (c_common_nodes_and_builtins): When initializing
886 c_uint{16,32,64}_type_node, also set corresponding
887 uint{16,32,64}_type_node to the same value.
888
81aec8b8 889 PR c++/60267
890 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
891 for PRAGMA_IVDEP if flag_preprocess_only.
892
312243bb 8932014-02-12 Jakub Jelinek <jakub@redhat.com>
894
895 PR c/60101
896 * c-common.c (merge_tlist): If copy is true, call new_tlist,
897 if false, add ADD itself, rather than vice versa.
898 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
899 copy. For SAVE_EXPR, only call merge_tlist once.
900
237e78b1 9012014-02-08 Jakub Jelinek <jakub@redhat.com>
902
903 PR middle-end/60092
904 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
905 and tree_to_uhwi.
906 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
907 functions.
908 (c_common_attribute_table): Add alloc_align and assume_aligned
909 attributes.
910
76fdceeb 9112014-02-06 Marek Polacek <polacek@redhat.com>
912
913 PR c/60087
914 * c-common.c (warn_for_sign_compare): Call warning_at with location
915 instead of warning.
916
4a4dea42 9172014-02-05 Marek Polacek <polacek@redhat.com>
918
919 PR c/53123
920 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
921 statement.
922
ec704957 9232014-02-04 Marek Polacek <polacek@redhat.com>
924
925 PR c/60036
926 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
927 SAVE_EXPR.
928
caf62483 9292014-02-03 Marc Glisse <marc.glisse@inria.fr>
930
931 PR c++/53017
932 PR c++/59211
933 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
934 handle_vector_size_attribute, handle_nonnull_attribute): Call
935 default_conversion on the attribute argument.
936 (handle_nonnull_attribute): Increment the argument number.
937
ec761d5a 9382014-01-31 Marek Polacek <polacek@redhat.com>
939
940 PR c/59963
941 * c-common.c (add_atomic_size_parameter): Pass vNULL to
942 build_function_call_vec.
943 (resolve_overloaded_builtin): Likewise.
944 * c-common.h (build_function_call_vec): Adjust declaration.
945
22a75734 9462014-01-30 Marek Polacek <polacek@redhat.com>
947
948 PR c/59940
949 * c-common.h (unsafe_conversion_p): Adjust declaration.
950 (warnings_for_convert_and_check): Likewise.
951 (convert_and_check): Likewise.
952 * c-common.c (unsafe_conversion_p): Add location parameter. Call
953 expansion_point_location_if_in_system_header on it.
954 (warnings_for_convert_and_check): Add location parameter. Call
955 expansion_point_location_if_in_system_header on it. Use it.
956 (convert_and_check): Add location parameter. Use it.
957 (conversion_warning): Likewise.
958 (c_add_case_label): Adjust convert_and_check calls.
959 (scalar_to_vector): Adjust unsafe_conversion_p calls.
960
a89e6c15 9612014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
962
963 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
964 flag_cilkplus.
965 * c-pragma.c (init_pragma): Likewise.
966 * c.opt: Likewise.
967
2623625f 9682014-01-23 Marek Polacek <polacek@redhat.com>
969
970 PR c/59846
971 * c-common.c (shorten_compare): Add location_t parameter.
972 * c-common.h (shorten_binary_op): Adjust declaration.
973
46da3601 9742014-01-23 Marek Polacek <polacek@redhat.com>
975
976 PR c/58346
977 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
978 * c-common.h: Declare it.
979
c9743c6a 9802014-01-20 Eric Botcazou <ebotcazou@adacore.com>
981
982 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
983 * c-ada-spec.c (dump_ads): Likewise.
984 (cpp_check): Likewise.
985 (dump_ada_specs): Likewise.
986
9872014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 988
989 PR c++/49718
990 * c-common.c (handle_no_instrument_function_attribute): Allow
991 no_instrument_function attribute in class member
992 definition/declaration.
993
1248c663 9942014-01-15 Jakub Jelinek <jakub@redhat.com>
995
996 PR c/58943
997 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
998 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
999 being COMPOUND_EXPR.
1000 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1001 operand a SAVE_EXPR and second MODIFY_EXPR.
1002
6e5c480b 10032014-01-09 Jakub Jelinek <jakub@redhat.com>
1004
1005 PR target/58115
1006 * c-pch.c (c_common_write_pch): Call
1007 prepare_target_option_nodes_for_pch.
1008
3aea1f79 10092014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1010
1011 Update copyright years
1012
e4f22041 10132014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1014
1015 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1016 the copyright notice.
1017
7fb0fe24 10182013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1019
1020 * c-ada-spec.c (print_constructor): New function.
1021 (print_destructor): Retrieve the origin of the destructor.
1022 (print_ada_declaration): Revamp handling of constructors/destructors.
1023
468088ac 10242013-12-23 Stuart Hastings <stuart@apple.com>
1025 Bill Maddox <maddox@google.com>
1026 Jason Merrill <jason@redhat.com>
1027
1028 * c.opt: Add -fdeclone-ctor-dtor.
1029 * c-opts.c (c_common_post_options): Default to on iff -Os.
1030
74acc703 10312013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1032
1033 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1034 attribute.
1035 * c-pragma.h (enum pragma_cilk_clause): Remove.
1036 (enum pragma_omp_clause): Added the following fields:
1037 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1038 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1039 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1040 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1041 PRAGMA_CILK_CLAUSE_UNIFORM.
1042
1043
433e804e 10442013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1045
1046 * cilk.c (cilk_outline): Made this function non-static.
1047 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1048 (create_cilk_wrapper): Added a new parameter: a function pointer.
1049 (c_install_body_w_frame_cleanup): Remove
1050 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1051 * c-common.h (cilk_outline): New prototype.
1052 (gimplify_cilk_spawn): Removed two parameters.
1053 (cilk_install_body_with_frame_cleanup): New prototype.
1054 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1055 CILK_SPAWN_STMT case.
1056
5bcc7e60 10572013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1058
e66325ea 1059 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1060
5bcc7e60 1061 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1062 (int_array_type_node): Remove.
1063 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1064
0b26ec77 10652013-12-05 Marek Polacek <polacek@redhat.com>
1066
1067 PR c/52023
1068 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1069 [ADJUST_FIELD_ALIGN].
1070
a179a7dc 10712013-12-04 Joseph Myers <joseph@codesourcery.com>
1072
1073 PR c/52023
1074 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1075 and check field alignment if set.
1076 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1077 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1078
137559b2 10792013-12-04 Jakub Jelinek <jakub@redhat.com>
1080 Marek Polacek <polacek@redhat.com>
1081
1082 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1083 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1084
648fd348 10852013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1086
1087 PR c/59309
1088 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1089 arguments.
1090
253e1cae 10912013-11-29 Jakub Jelinek <jakub@redhat.com>
1092
1093 PR c/59280
1094 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1095 goto invalid. If it is error_mark_node, don't issue further
1096 diagnostics.
1097
3e398f5b 10982013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1099
1100 * c.opt (Wopenmp-simd): New.
1101
020bc656 11022013-11-22 Jakub Jelinek <jakub@redhat.com>
1103
1104 * c-ubsan.h (ubsan_instrument_return): New prototype.
1105 * c-ubsan.c (ubsan_instrument_return): New function.
1106
bc61cadb 11072013-11-22 Andrew MacLeod <amacleod@redhat.com>
1108
1109 * c-common.c: Add required include files from gimple.h.
1110 * c-gimplify.c: Likewise
1111 * cilk.c: Likewise
1112
3df42822 11132013-11-22 David Malcolm <dmalcolm@redhat.com>
1114
1115 * c-common.c (unsafe_conversion_p): Remove use of
1116 EXPR_LOC_OR_HERE macro.
1117 (conversion_warning): Likewise.
1118 (warnings_for_convert_and_check): Likewise.
1119 (warn_for_collisions_1): Likewise.
1120 (shorten_compare): Likewise, and remove use of in_system_header
1121 macro, using the location from the former.
1122 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1123 (cb_def_pragma): Remove use of in_system_header macro.
1124 (lex_string): Likewise.
1125 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1126
8c53c46c 11272013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1128 Mike Stump <mikestump@comcast.net>
1129 Richard Sandiford <rdsandiford@googlemail.com>
1130
1131 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1132 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1133 tree_fits_shwi_p or tree_fits_uhwi_p.
1134 (dump_generic_ada_node): Likewise.
1135 * c-format.c (check_format_arg): Likewise.
1136 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1137
5200ef07 11382013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1139
1140 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1141
ca9d7d74 11422013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1143
1144 PR c/53001
1145 * c-common.c (unsafe_conversion_p): Make this function
1146 return an enumeration with more detail.
1147 (conversion_warning): Use the new return type of
1148 unsafe_conversion_p to separately warn either about conversions
1149 that lower floating point number precision or about the other
1150 kinds of conversions.
1151 * c-common.h (enum conversion_safety): New enumeration.
1152 (unsafe_conversion_p): switching return type to
1153 conversion_safety enumeration.
1154 * c.opt: Adding new warning -Wfloat-conversion and
1155 enabling it with -Wconversion.
1156
0391a567 11572013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1158
1159 * c-opts.c: Include plugin.h.
1160 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1161
19b928d9 11622013-11-19 Marek Polacek <polacek@redhat.com>
1163
1164 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1165 call.
1166 (ubsan_instrument_shift): Likewise.
1167 (ubsan_instrument_vla): Likewise.
1168
aa59f000 11692013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1170
1171 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1172 cast to unsigned type.
1173
08f817b3 11742013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1175
1176 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1177 tree_low_cst.
1178 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1179 rather than tree_low_cst.
1180
6a0712d4 11812013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1182
1183 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1184 tree_to_uhwi throughout.
1185
fcb97e84 11862013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1187
1188 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1189 tree_low_cst (..., 0) with tree_to_shwi throughout.
1190
cd4547bf 11912013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1192
1193 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1194 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1195
35ec552a 11962013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1197
1198 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1199 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1200
f2697631 12012013-11-15 Aldy Hernandez <aldyh@redhat.com>
1202
1203 * c-cilkplus.c: New file.
1204 * c-common.c (readonly_error): Add location argument.
1205 * c-common.h (readonly_error): Same.
1206 (c_finish_cilk_clauses): Protoize.
1207 (c_check_cilk_loop): Same.
1208 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1209 Do not fail on error_mark_node.
1210 Abstract increment canonicalization to here...
1211 (c_omp_for_incr_canonicalize_ptr): New.
1212 c-pragma.c (init_pragma): Register "simd" pragma.
1213 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1214 (enum pragma_cilk_clause): New.
1215
0aa8c34e 12162013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1217
1218 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1219 wchar_type and host_integerp checks.
1220
e795d6e1 12212013-11-14 Andrew MacLeod <amacleod@redhat.com>
1222
1223 * c-common.c: Likewise.
1224 * c-gimplify.c: Likewise.
1225 * cilk.c: Likewise.
1226
9ed99284 12272013-11-14 Diego Novillo <dnovillo@google.com>
1228
1229 * c-common.c: Include fold-const.h.
1230 Include stor-layout.h.
1231 Include calls.h.
1232 Include stringpool.h.
1233 Include attribs.h.
1234 Include varasm.h.
1235 Include trans-mem.h.
1236 * c-cppbuiltin.c: Include stor-layout.h.
1237 Include stringpool.h.
1238 * c-format.c: Include stringpool.h.
1239 * c-lex.c: Include stringpool.h.
1240 Include stor-layout.h.
1241 * c-pragma.c: Include stringpool.h.
1242 Include attribs.h.
1243 Include varasm.h.
1244 Include gcc-symtab.h.
1245 * c-pretty-print.c: Include stor-layout.h.
1246 Include attribs.h.
1247 * cilk.c: Include stringpool.h.
1248 Include calls.h.
1249
4fba5eb9 12502013-11-13 Joseph Myers <joseph@codesourcery.com>
1251
1252 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1253 * c-common.c (c_common_reswords): Add __auto_type.
1254 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1255
a8783bee 12562013-11-12 Andrew MacLeod <amacleod@redhat.com>
1257
e795d6e1 1258 * c-common.c: Include gimplify.h.
1259 * c-gimplify.c: Likewise.
1260 * cilk.c: Likewise.
1261 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1262 * c-ubsan.c: Don't include gimple.h.
a8783bee 1263
d184e0c0 12642013-11-12 Joseph Myers <joseph@codesourcery.com>
1265
1266 * c-common.c (c_common_reswords): Add _Thread_local.
1267
a056826c 12682013-11-09 Joseph Myers <joseph@codesourcery.com>
1269
1270 * c-common.c (atomic_size_supported_p): New function.
1271 (resolve_overloaded_atomic_exchange)
1272 (resolve_overloaded_atomic_compare_exchange)
1273 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1274 Use it instead of comparing size with a local list of sizes.
1275
b560fabd 12762013-11-07 Andrew MacLeod <amacleod@redhat.com>
1277 Joseph Myers <joseph@codesourcery.com>
1278
1279 * c-common.h (enum rid): Add RID_ATOMIC.
1280 * c-common.c (c_common_reswords): Add _Atomic.
1281 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1282 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1283 * c-format.c (check_format_types): Check for extra _Atomic
1284 qualifiers in format argument.
1285 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1286 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1287
5b1a0622 12882013-11-06 Tobias Burnus <burnus@net-b.de>
1289
1290 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1291
4f8f4cb8 12922013-11-06 Joseph Myers <joseph@codesourcery.com>
1293
1294 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1295 standards modes.
1296 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1297 to mean lack of IEEE 754 support.
1298
9148bda3 12992013-11-05 Tobias Burnus <burnus@net-b.de>
1300
1301 * c.opt (-Wdate-time): New option
1302 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1303
08c5f4d5 13042013-11-05 Joseph Myers <joseph@codesourcery.com>
1305
1306 * c-cppbuiltin.c (cpp_iec_559_value): Test
1307 flag_excess_precision_cmdline not flag_excess_precision.
1308
c630ef93 13092013-11-05 Tobias Burnus <burnus@net-b.de>
1310
1311 * c.opt (fopenmp-simd): New option.
1312 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1313 (omp_pragmas): ... this new struct.
1314 (c_pp_lookup_pragma): Also walk omp_pragmas.
1315 (init_pragma): Init pragmas for -fopenmp-simd.
1316
7354a89b 13172013-11-04 Marek Polacek <polacek@redhat.com>
1318
1319 PR c++/58979
1320 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1321
4c866b9b 13222013-11-04 Joseph Myers <joseph@codesourcery.com>
1323
1324 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1325 New functions.
1326 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1327
e2a6a333 13282013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1329
1330 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1331 (dump_ada_specs): Adjust prototype of second callback.
1332 * c-ada-spec.c (cpp_check): New global variable.
1333 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1334 (print_generic_ada_decl): Likewise.
1335 (has_static_fields): Change return type to bool and add guard.
1336 (has_nontrivial_methods): New predicate.
1337 (is_tagged_type): Change return type to bool.
1338 (separate_class_package): Call has_nontrivial_methods.
1339 (pp_ada_tree_identifier): Minor tweaks.
1340 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1341 (dump_ada_array_domains): Likewise.
1342 (dump_ada_array_type): Likewise.
1343 (dump_template_types): Remove cpp_check parameter and do not pass it to
1344 dump_generic_ada_node.
1345 (dump_ada_template): Likewise.
1346 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1347 recursively.
1348 (print_ada_methods): Change return type to integer. Remove cpp_check
1349 parameter and do not pass it down.
1350 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1351 dump_generic_ada_node.
1352 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1353 accessing methods.
1354 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1355 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1356 value of print_ada_methods.
1357 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1358 Set cpp_check to it before invoking dump_ada_nodes.
1359 (dump_ada_specs): Likewise.
1360
2c4c3477 13612013-11-03 Marek Polacek <polacek@redhat.com>
1362
1363 * c-ubsan.c: Don't include hash-table.h.
1364 (ubsan_instrument_vla): New function.
1365 * c-ubsan.h: Declare it.
1366
452659af 13672013-10-31 David Malcolm <dmalcolm@redhat.com>
1368
1369 Automated part of renaming of symtab_node_base to symtab_node.
1370
1371 Patch autogenerated by rename_symtab.py from
1372 https://github.com/davidmalcolm/gcc-refactoring-scripts
1373 revision 58bb219cc090b2f4516a9297d868c245495ee622
1374
1375 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1376 symtab_node_base to symtab_node.
1377
4d6f7dd4 13782013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1379
1380 Implement C++14 digit separators.
1381 * c-lex.c (interpret_float): Remove digit separators from scratch string
1382 before building real literal.
1383
06cfe805 13842013-10-30 Jakub Jelinek <jakub@redhat.com>
1385
1386 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1387
d037099f 13882013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1389
1390 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1391 fields.
1392 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1393 enabled.
1394 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1395 (insert_cilk_frame): New prototype.
1396 (cilk_init_builtins): Likewise.
1397 (gimplify_cilk_spawn): Likewise.
1398 (c_cilk_install_body_w_frame_cleanup): Likewise.
1399 (cilk_detect_spawn_and_unwrap): Likewise.
1400 (cilk_set_spawn_marker): Likewise.
1401 (build_cilk_sync): Likewise.
1402 (build_cilk_spawn): Likewise.
1403 * cilk.c: New file.
1404
02774f2d 14052013-10-29 David Malcolm <dmalcolm@redhat.com>
1406
1407 Patch autogenerated by refactor_symtab.py from
1408 https://github.com/davidmalcolm/gcc-refactoring-scripts
1409 revision 58bb219cc090b2f4516a9297d868c245495ee622
1410
1411 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1412 to a true class hierarchy.
1413 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1414
31fe10fd 14152013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1416
1417 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1418
b1c06ff9 14192013-10-26 Jeff Law <law@redhat.com>
1420
1421 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1422 * c-family/c.opt: Ignore and warn for mudflap options.
1423
48a972c8 14242013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1425
1426 PR other/33426
1427 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1428 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1429
546a04b1 14302013-10-23 Jason Merrill <jason@redhat.com>
1431
1432 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1433
bc7bff74 14342013-10-11 Jakub Jelinek <jakub@redhat.com>
1435
d62c713e 1436 * c-common.h (omp_clause_mask::operator !=): New method.
1437 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1438 instead of if (mask & something) tests everywhere.
1439
bc7bff74 1440 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1441 201307 instead of 201107.
1442 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1443 (c_common_attribute_table): Add "omp declare target" and
1444 "omp declare simd" attributes.
1445 (handle_omp_declare_target_attribute,
1446 handle_omp_declare_simd_attribute): New functions.
1447 * c-omp.c: Include c-pragma.h.
1448 (c_finish_omp_taskgroup): New function.
1449 (c_finish_omp_atomic): Add swapped argument, if true,
1450 build the operation first with rhs, lhs arguments and use NOP_EXPR
1451 build_modify_expr.
1452 (c_finish_omp_for): Add code argument, pass it down to make_code.
1453 (c_omp_split_clauses): New function.
1454 (c_split_parallel_clauses): Removed.
1455 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1456 c_omp_declare_simd_clauses_to_decls): New functions.
1457 * c-common.h (omp_clause_mask): New type.
1458 (OMP_CLAUSE_MASK_1): Define.
1459 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1460 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1461 omp_clause_mask::operator |, omp_clause_mask::operator &,
1462 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1463 omp_clause_mask::operator ==): New methods.
1464 (enum c_omp_clause_split): New.
1465 (c_finish_omp_taskgroup): New prototype.
1466 (c_finish_omp_atomic): Add swapped argument.
1467 (c_finish_omp_for): Add code argument.
1468 (c_omp_split_clauses): New prototype.
1469 (c_split_parallel_clauses): Removed.
1470 (c_omp_declare_simd_clauses_to_numbers,
1471 c_omp_declare_simd_clauses_to_decls): New prototypes.
1472 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1473 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1474 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1475 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1476 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1477 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1478 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1479 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1480 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1481 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1482 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1483 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1484 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1485 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1486 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1487 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1488 PRAGMA_OMP_CLAUSE_UNIFORM.
1489
d7dcba40 14902013-10-09 Marc Glisse <marc.glisse@inria.fr>
1491
1492 PR tree-optimization/20318
1493 * c-common.c (handle_returns_nonnull_attribute): New function.
1494 (c_common_attribute_table): Add returns_nonnull.
1495
0b7282f1 14962013-10-03 Marc Glisse <marc.glisse@inria.fr>
1497
1498 PR c++/19476
1499 * c.opt (fcheck-new): Move to common.opt.
1500
51f553af 15012013-09-25 Marek Polacek <polacek@redhat.com>
1502 Jakub Jelinek <jakub@redhat.com>
1503
1504 PR sanitizer/58413
1505 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1506 an expression if we can prove it is correct.
1507 (ubsan_instrument_division): Likewise. Remove unnecessary
1508 check.
1509
05f893e1 15102013-09-18 Marek Polacek <polacek@redhat.com>
1511
1512 PR sanitizer/58411
1513 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1514 Declare it.
1515 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1516
236ce1d1 15172013-09-14 Iain Sandoe <iain@codesourcery.com>
1518
1519 PR target/48094
1520 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1521 fobjc-gc, freplace-objc-classes): Accept for LTO.
1522
f9f68d35 15232013-09-13 Jacek Caban <jacek@codeweavers.com>
1524
1525 * c-target.def: New hook
1526
ba2f764e 15272013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1528
1529 PR c++/43452
1530 * c.opt (Wdelete-incomplete): Add.
1531
73437615 15322013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1533
1534 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1535 (vector_types_compatible_elements_p): New function.
1536 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1537 declaration.
1538 (vector_types_compatible_elements_p): Declare.
1539
95af4c75 15402013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1541
1542 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1543 a virtual member function.
1544 (pp_simple_type_specifier): Remove.
1545 (pp_c_type_specifier): Likewise.
1546 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1547 Rename from pp_c_type_specifier. Adjust.
1548 (c_pretty_printer::c_pretty_printer): Do not assign to
1549 simple_type_specifier.
1550
eaab24b9 15512013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1552
1553 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1554 member function.
1555 (c_pretty_printer::storage_class_specifier): Likewise.
1556 (c_pretty_printer::initializer): Likewise.
1557 (pp_declaration): Remove.
1558 (pp_declaration_specifiers): Likewise.
1559 (pp_abstract_declarator): Likewise.
1560 (pp_declarator): Likewise.
1561 (pp_type_id): Likewise.
1562 (pp_statement): Likewise.
1563 (pp_constant): Likewise.
1564 (pp_id_expression): Likewise.
1565 (pp_primary_expression): Likewise.
1566 (pp_unary_expression): Likewise.
1567 (pp_multiplicative_expression): Likewise.
1568 (pp_conditional_expression): Likewise.
1569 (pp_assignment_expression): Likewise.
1570 (pp_expression): Likewise.
1571 (pp_c_type_id): Likewise.
1572 (pp_c_storage_class_specifier): Likewise.
1573 * c-pretty-print.c (pp_c_type_cast): Tidy.
1574 (pp_c_pointer): Likewise.
1575 (pp_c_type_specifier): Likewise.
1576 (pp_c_parameter_type_list): Likewise.
1577 (pp_c_function_definition): Likewise.
1578 (pp_c_init_declarator): Likewise.
1579 (pp_c_initializer_list): Likewise.
1580 (pp_c_constructor_elts): Likewise.
1581 (c_pretty_printer::direct_abstract_declarator): Likewise.
1582 (c_pretty_printer::declaration_specifiers): Likewise.
1583 (c_pretty_printer::primary_expression): Likewise.
1584 (c_pretty_printer::postfix_expression): Likewise.
1585 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1586 (c_pretty_printer::storage_class_specifier): Rename from
1587 pp_c_storage_class_specifier.
1588 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1589 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1590 storage_class_specifier, initializer, offset_list, flags.
1591
9e46467d 15922013-08-30 Marek Polacek <polacek@redhat.com>
1593
1594 * c-ubsan.c: New file.
1595 * c-ubsan.h: New file.
1596
36a8d9b9 15972013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1598
1599 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1600 member function.
1601 (c_pretty_printer::declaration_specifiers): Likewise.
1602 (c_pretty_printer::declarator): Likewise.
1603 (c_pretty_printer::abstract_declarator): Likewise.
1604 (c_pretty_printer::direct_abstract_declarator): Likewise.
1605 (c_pretty_printer::direct_declarator): Likewise.
1606 (c_pretty_printer::function_specifier): Likewise.
1607 (pp_declaration): Adjust.
1608 (pp_declaration_specifiers): Likewise.
1609 (pp_abstract_declarator): Likewise.
1610 (pp_direct_declarator): Likewise.
1611 (pp_function_specifier): Likewise.
1612 (pp_direct_abstract_declarator): Remove as unused.
1613 (pp_c_declaration): Remove.
1614 (pp_c_declaration_specifiers): Likewise.
1615 (pp_c_declarator): Likewise.
1616 (pp_c_direct_declarator): Likewise.
1617 (pp_c_function_specifier): Likewise.
1618 (pp_c_direct_abstract_declarator): Likewise.
1619 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1620 from pp_c_abstract_declarator. Adjust.
1621 (c_pretty_printer::direct_abstract_declarator): Rename from
1622 pp_c_direct_abstract_declarator. Adjust.
1623 (c_pretty_printer::function_specifier): Rename from
1624 pp_c_function_specifier. Adjust.
1625 (c_pretty_printer::declaration_specifiers): Rename from
1626 pp_c_declaration_specifiers. Adjust.
1627 (c_pretty_printer::direct_declarator): Rename from
1628 pp_c_direct_declarator. Adjust.
1629 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1630 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1631 (c_pretty_printer::c_pretty_printer): Do not assign to
1632 declaration, declaration_specifiers, declarator,
1633 direct_declarator, direct_abstract_declarator, function_specifier.
1634
30635c2e 16352013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1636
1637 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1638 virtual member function.
1639 (c_pretty_printer::multiplicative_expression): Likewise.
1640 (c_pretty_printer::conditional_expression): Likewise.
1641 (c_pretty_printer::assignment_expression): Likewise.
1642 (c_pretty_printer::expression): Likewise.
1643 (pp_unary_expression): Adjust.
1644 (pp_multiplicative_expression): Likewise.
1645 (pp_assignment_expression): Likewise.
1646 (pp_conditional_expression): Likewise.
1647 (pp_expression): Likewise.
1648 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1649 from pp_c_unary_expression. Adjust.
1650 (c_pretty_printer::multiplicative_expression): Rename from
1651 pp_c_multiplicative_expression. Adjust.
1652 (c_pretty_printer::conditional_expression): Rename from
1653 pp_c_conditional_expression. Adjust.
1654 (c_pretty_printer::assignment_expression): Rename from
1655 pp_c_assignment_expression. Adjust.
1656 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1657 (c_pretty_printer::c_pretty_printer): Do not assign to
1658 unary_expression, multiplicative_expression,
1659 conditional_expression, expression.
1660
027d08ed 16612013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1662
1663 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1664 virtual member function.
1665 (pp_postfix_expression): Adjust.
1666 (pp_c_postfix_expression): Remove.
1667 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1668 from pp_c_postfix_expression. Adjust.
1669 (c_pretty_printer::c_pretty_printer): Do not assign to
1670 postfix_expression.
1671
f873303a 16722013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1673
1674 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1675 virtua member function.
1676 (pp_primary_expression): Adjust.
1677 (pp_c_primary_expression): Remove.
1678 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1679 from pp_c_primary_expression. Adjust.
1680 (pp_c_initializer_list): Use pp_primary_expression.
1681 (c_pretty_printer::c_pretty_printer): Do not assign to
1682 primary_expression.
1683
08e3e481 16842013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1685
1686 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1687 * c-pretty-print.c (M_): Remove.
1688 (c_pretty_printer::translate_string): Define.
1689 (pp_c_type_specifier): Use it.
1690 (pp_c_primary_expression): Likewise.
1691 (pp_c_expression): Likewise.
1692
1fc4a87f 16932013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1694
1695 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1696 virtual function.
1697 (pp_c_id_expression): Remove.
1698 (pp_id_expression): Adjust.
1699 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1700 pp_c_id_expression. Adjust.
1701 (pp_c_postfix_expression): Use pp_id_expression.
1702 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1703
a6cb161b 17042013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1705
1706 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1707 member function.
1708 (pp_constant): Adjust.
1709 (pp_c_constant): Remove.
1710 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1711 pp_c_constant. Adjust.
1712 (pp_c_constant)
1713 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1714 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1715
eed6bc21 17162013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1717
1718 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1719 (c_pretty_printer::c_pretty_printer): Declare.
1720 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1721 c_pretty_printer_init. Adjust.
1722 (print_c_tree): Do not call c_pretty_printer_init.
1723 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1724
df558d2e 17252013-08-09 Arnaud Charlet <charlet@adacore.com>
1726
1727 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1728
42f9a786 17292013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1730
1731 PR c++/58080
1732 * c-common.c (pointer_int_sum): Add bool parameter.
1733 * c-common.h (pointer_int_sum): Adjust declaration.
1734
f874ddad 17352013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1736
1737 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1738 c_pretty_printer variable.
1739
a94db6b0 17402013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1741
1742 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1743 (pp_base): Remove.
1744 (pp_c_base): Likewise. Adjust users.
1745 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1746 (pp_c_whitespace): Do not call pp_base.
1747 (pp_c_left_paren): Likewise.
1748 (pp_c_right_paren): Likewise.
1749 (pp_c_left_brace): Likewise.
1750 (pp_c_right_brace): Likewise.
1751 (pp_c_left_bracket): Likewise.
1752 (pp_c_right_bracket): Likewise.
1753 (pp_c_dot): Likewise.
1754 (pp_c_ampersand): Likewise.
1755 (pp_c_star): Likewise.
1756 (pp_c_arrow): Likewise.
1757 (pp_c_semicolon): Likewise.
1758 (pp_c_complement): Likewise.
1759 (pp_c_exclamation): Likewise.
1760 (pp_c_direct_declarator): Likewise.
1761 (pp_c_ws_string): Likewise.
1762 (pp_c_identifier): Likewise.
1763 (pp_c_statement): Likewise.
1764 (print_c_tree): Likewise.
1765
1898176c 17662013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1767
1768 PR c++/58072
1769 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1770 provide useful error strings.
1771
70d60d1d 17722013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1773
1774 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1775 printer functions instead of pp_string or operators and punctuators.
1776 (dump_generic_ada_node): Likewise.
1777 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1778 (pp_c_relational_expression): Likewise.
1779 (pp_c_logical_or_expression): Likewise.
1780
dda4f0ec 17812013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1782
1783 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1784 functions instead of pp_character.
1785 (pp_ada_tree_identifier): Likewise.
1786 (dump_ada_double_name): Likewise.
1787 (dump_ada_function_declaration): Likewise.
1788 (dump_ada_array_domains): Likewise.
1789 (dump_template_types): Likewise.
1790 (dump_generic_ada_node): Likewise.
1791 (print_ada_declaration): Likewise.
1792 (print_ada_struct_decl): Likewise.
1793 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1794
7aa04c8d 17952013-07-23 Tom Tromey <tromey@redhat.com>
1796
1797 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1798 * c-common.c (c_common_reswords): Add _Generic.
1799
a04e8d62 18002013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1801
1802 * c-common.c: Fix typos.
1803 * c-common.h: Likewise.
1804
a96c3cc1 18052013-07-13 Lubos Lunak <l.lunak@suse.cz>
1806
1807 PR c++/55203
1808 * c-common.c (c_common_attribute_table): Add warn_unused.
1809 (handle_warn_unused_attribute): New.
1810
da31536d 18112013-07-10 Jakub Jelinek <jakub@redhat.com>
1812
1813 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1814 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1815
839f2f70 18162013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1817
1818 PR c++/57869
1819 * c.opt: Add Wconditionally-supported.
1820
73f353d0 18212013-07-08 Graham Stott <graham.stott@btinternet.com>
1822
1823 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1824 unused variables l_length and l_node.
1825
21ebaa24 18262013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 1827
1828 PR c/57821
1829 * c-common.c (complete_array_type): Delay folding first index
1830 like other indices. When folding, check for index overflow.
1831
68ea4406 18322013-06-27 Marc Glisse <marc.glisse@inria.fr>
1833
1834 PR c++/57509
1835 * c-common.h (c_build_vec_perm_expr): New complain argument.
1836 * c-common.c (c_build_vec_perm_expr): Likewise.
1837 Use save_expr also in C++.
1838
60777f69 18392013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1840
1841 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1842 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1843 * c-opts.c (c_common_post_options): Likewise.
1844
839f2f70 18452013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 1846
1847 * array-notation-common.c (length_mismatch_in_expr): Changed the
1848 parameter type's from a dynamic array to a vec_tree. Also removed
1849 the size parameters.
1850 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1851 the change above.
1852
e9331eab 18532013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1854
1855 * c-common.h (struct cilkplus_an_parts): New structure.
1856 (struct cilkplus_an_loop_parts): Likewise.
1857 (cilkplus_extract_an_triplets): New prototype.
1858 (fix_sec_implicit_args): Likewise.
1859 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1860 (fix_sec_implicit_args): Likewise.
60777f69 1861
a9c99fc4 18622013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
1863
1864 * array-notation-common.c (find_inv_trees): Removed an unwanted
1865 typecasting.
1866 * c-common.h (struct inv_list::additional_tcodes): Changed type from
1867 enum rid to enum tree_code.
1868
f2526cce 18692013-06-11 Jan Hubicka <jh@suse.cz>
1870
1871 * c-common.c (handle_alias_ifunc_attribute): Do not set
1872 DECL_EXTERNAL for weakref variables.
1873 * c-pragma.c (handle_pragma_weak): Make sure aliases
1874 are not declared as external.
1875
09970d67 18762013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1877
1878 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1879 function from c/c-array-notation.c.
1880 (is_cilkplus_reduce_builtin): Likewise.
1881 (find_rank): Likewise.
1882 (extract_array_notation_exprs): Likewise.
1883 (replace_array_notations): Likewise.
1884 (find_inv_trees): Likewise.
1885 (replace_inv_trees): Likewise.
1886 (contains_array_notation_expr): Likewise.
1887 (find_correct_array_notation_type): Likewise.
1888 * c-common.h (struct inv_list): Moved this struct from the file
1889 c/c-array-notation.c and added a new field called additional tcodes.
1890 (length_mismatch_in_expr_p): New prototype.
1891 (is_cilkplus_reduce_builtin): Likewise.
1892 (find_rank): Likewise.
1893 (extract_array_notation_exprs): Likewise.
1894 (replace_array_notation): Likewise.
1895 (find_inv_trees): Likewise.
1896 (replace_inv_trees): Likewise.
1897 (find_correct_array_notation_type): Likewise.
839f2f70 1898
3c6d4197 18992013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1900
1901 * c-common.c (c_define_builtins): When cilkplus is enabled, the
1902 function array_notation_init_builtins is called.
1903 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1904 * c-common.def (ARRAY_NOTATION_REF): New tree.
1905 * c-common.h (build_array_notation_expr): New function declaration.
1906 (build_array_notation_ref): Likewise.
1907 (extract_sec_implicit_index_arg): New extern declaration.
1908 (is_sec_implicit_index_fn): Likewise.
1909 (ARRAY_NOTATION_CHECK): New define.
1910 (ARRAY_NOTATION_ARRAY): Likewise.
1911 (ARRAY_NOTATION_START): Likewise.
1912 (ARRAY_NOTATION_LENGTH): Likewise.
1913 (ARRAY_NOTATION_STRIDE): Likewise.
1914 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1915 ARRAY_NOTATION_REF.
1916 (pp_c_expression): Likewise.
1917 * c.opt (flag_enable_cilkplus): New flag.
1918 * array-notation-common.c: New file.
1919
8e71dad2 19202013-05-14 Jakub Jelinek <jakub@redhat.com>
1921
1922 PR c++/57274
1923 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
1924
432dd330 19252013-05-10 Marc Glisse <marc.glisse@inria.fr>
1926
1927 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
1928 vectors.
1929
b156ec37 19302013-05-07 Han Shen <shenhan@google.com>
1931
1932 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
1933
1a087624 19342013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
1935
1936 * c-common.c (check_user_alignment): Emit error for negative values.
1937
1638c736 19382013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1939
1940 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
1941
949dbf93 19422013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1943
1944 * c-cppbuiltin.c (c_cpp_builtins): Do not define
1945 __GXX_EXPERIMENTAL_CXX1Y__.
1946
9205a6cc 19472013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1948 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
1949
1950 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
1951 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
1952 to simply use OPT_Wpointer_arith.
1953 (c_sizeof_or_alignof_type): Likewise.
1954
05d0bce1 19552013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
1956
1957 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
1958
41609f8b 19592013-04-12 Jakub Jelinek <jakub@redhat.com>
1960
1961 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
1962 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
1963 specifiers.
1964
c671dc4f 19652013-04-07 Steven Bosscher <steven@gcc.gnu.org>
1966
1967 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
1968
ba125576 19692013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
1970
1971 * c-common.c (pointer_int_sum): Remove dead code.
1972
9d3fa937 19732013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
1974
1975 PR middle-end/56524
1976 * c-common.c (handle_optimize_attribute): Don't call
1977 save_optabs_if_changed.
1978
5ceebb21 19792013-03-05 Jakub Jelinek <jakub@redhat.com>
1980
1981 PR middle-end/56461
1982 * c-pch.c (pch_init): Free target_validity at the end.
1983
18eeed2b 19842013-03-04 Jakub Jelinek <jakub@redhat.com>
1985
1986 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
1987
a9196da9 19882013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
1989 Jakub Jelinek <jakub@redhat.com>
1990
1991 PR sanitizer/56454
1992 * c-common.c (handle_no_sanitize_address_attribute): New function.
1993 (c_common_attribute_table): Add no_sanitize_address attribute.
1994 (handle_no_address_safety_analysis_attribute): Add
1995 no_sanitize_address attribute, not no_address_safety_analysis
1996 attribute.
1997
15c27dda 19982013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 1999
2000 PR target/52555
2001 * c-common.c (handle_optimize_attribute): Call
2002 save_optabs_if_changed.
2003
19426fe1 20042013-02-18 Jakub Jelinek <jakub@redhat.com>
2005 Steven Bosscher <steven@gcc.gnu.org>
2006
2007 PR pch/54117
2008 * c-opts.c (c_common_post_options): If debug info is enabled
2009 and non-dwarf*, refuse to load PCH files and when writing PCH
2010 file warn.
2011
df936998 20122013-02-05 Jakub Jelinek <jakub@redhat.com>
2013
2014 PR middle-end/56167
2015 * c-common.c (handle_error_attribute): Fix condition.
2016
ae0c3984 20172013-01-30 Jakub Jelinek <jakub@redhat.com>
2018
2019 PR c++/55742
2020 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2021
1c4973d7 20222013-01-18 Jason Merrill <jason@redhat.com>
2023
2024 PR target/54908
2025 * c.opt (-fextern-tls-init): New.
2026 * c-opts.c (c_common_post_options): Handle it.
2027
7c834436 20282013-01-09 Jakub Jelinek <jakub@redhat.com>
2029
2030 PR c/48418
2031 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2032 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2033 and is either negative or bigger or equal to type precision
2034 of the first operand.
2035
5abaa10a 20362012-12-03 Marek Polacek <polacek@redhat.com>
2037
2038 PR c/55570
2039 * c-common.c (check_user_alignment): Swap order of tests,
2040 check TREE_CODE first.
2041
324ca377 20422012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2043
2044 PR c++/52654
2045 * c-common.h (overflow_type): New enum.
2046 (build_userdef_literal): Add overflow_type argument.
2047 (tree_userdef_literal): Add overflow_type.
2048 (USERDEF_LITERAL_OVERFLOW): New access macro.
2049 * c-common.c (build_userdef_literal): Add overflow_type
2050 argument.
2051 * c-lex.c (c_lex_with_flags): Add overflow_type to
2052 build_userdef_literal calls.
2053 (interpret_integer, interpret_float): Add overflow_type argument.
2054
b4c4a429 20552012-11-28 Richard Biener <rguenther@suse.de>
2056
2057 PR c/35634
2058 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2059 here and use a type with proper overflow behavior for types that would
2060 need to be promoted for the arithmetic.
2061
d413ffdd 20622012-11-23 Jakub Jelinek <jakub@redhat.com>
2063
2064 PR sanitizer/55435
2065 * c-common.c (handle_no_address_safety_analysis_attribute): New
2066 function.
2067 (c_common_attribute_table): Add no_address_safety_analysis.
2068
52bc861d 20692012-11-16 Simon Baldwin <simonb@google.com>
2070
2071 * c.opt: Add f[no-]canonical-system-headers.
2072 * c-opts.c (c_common_handle_option): Handle
2073 OPT_fcanonical_system_headers.
2074
2dd00636 20752012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2076
2077 PR c++/54413
2078 * c-opts.c (c_common_handle_option): Set new flags.
2079 * c.opt: Describe new flags.
2080
d4701f6c 20812012-11-09 Jason Merrill <jason@redhat.com>
2082
2083 * c.opt (Wabi-tag): New.
2084
72d65da9 20852012-11-09 Andi Kleen <ak@linux.intel.com>
2086
2087 PR 55139
2088 * c-common.c (get_atomic_generic_size): Mask with
2089 MEMMODEL_MASK
2090
77a357e3 20912012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2092
2093 PR c/53063
2094 * c.opt (Wformat): Make it Alias Wformat=1.
2095 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2096 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2097 LangEnabledBy.
2098 (Wformat=): RejectNegative. Use LangEnabledBy.
2099 (Wnonnull): Use LangEnabledBy.
2100 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2101 * c-format.c (set_Wformat): Delete.
2102 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2103 (maybe_read_dollar_number): Likewise.
2104 (avoid_dollar_number): Likewise.
2105 (finish_dollar_format_checking): Likewise.
2106 (check_format_info): Likewise.
2107 (check_format_info_main): Likewise.
2108 (check_format_types): Likewise.
2109 (format_type_warning): Likewise.
2110 * c-common.c (int): Likewise.
2111 (check_function_sentinel): Likewise.
2112 * c-common.h (warn_format,set_Wformat): Do not declare here.
2113
45efa6b9 21142012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2115
2116 PR c/53063
2117 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2118 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2119 Use LangEnabledBy.
2120 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2121 common.opt.
2122 (Wvariadic-macros): Init(1).
2123 * c-opts.c (c_common_handle_option): Do not handle them
2124 explicitly.
2125 (c_common_post_options): Likewise.
2126 (sanitize_cpp_opts): warn_unused_macros is now
2127 cpp_warn_unused_macros.
2128 (push_command_line_include): Likewise.
2129 * c-common.c (warn_unknown_pragmas): Do not define.
2130 * c-common.h (warn_unknown_pragmas): Do not declare.
2131
0e4e775a 21322012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2133
2134 PR c/51294
2135 * c-common.c (conversion_warning): Handle conditional expressions.
2136
8b447d3f 21372012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2138
2139 PR c++/54930
2140 * c.opt (Wreturn_local_addr): Define new option.
2141
f4a61754 21422012-10-25 Jason Merrill <jason@redhat.com>
2143
ecb10e6a 2144 * c.opt (Wvirtual-move-assign): New.
2145
f4a61754 2146 * c.opt (Winherited-variadic-ctor): New.
2147
7b463b19 21482012-10-25 Marc Glisse <marc.glisse@inria.fr>
2149
2150 PR c++/54427
2151 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2152
6adc88f8 21532012-10-23 Joseph Myers <joseph@codesourcery.com>
2154
2155 * c-common.h (pch_cpp_save_state): Declare.
2156 * c-target.def (c_preinclude): New hook.
2157 * c-opts.c (done_preinclude): New.
2158 (push_command_line_include): Handle default preincluded header.
2159 (cb_file_change): Call pch_cpp_save_state when calling
2160 push_command_line_include.
2161 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2162 (pch_cpp_save_state): New.
2163 (pch_init): Call pch_cpp_save_state conditionally, instead of
2164 calling cpp_save_state.
2165
fa816b0b 21662012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2167
2168 PR c/53063
2169 PR c/40989
2170 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2171 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2172 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2173 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2174 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2175 * c-opts.c (c_common_handle_option): Remove explicit handling from
2176 here.
2177 (c_common_post_options): Likewise.
2178
d214ccee 21792012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2180
2181 * c-ada-spec.c (LOCATION_COL): Delete.
2182 (compare_location): New function.
2183 (compare_node): Use it.
2184 (compare_comment): Likewise.
2185
77b27208 21862012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2187
2188 PR c/53063
2189 PR c/40989
2190 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2191 * c-opts.c (c_common_handle_option): Do not set them here. Add
2192 comment.
2193 (c_common_post_options): Likewise.
2194
cc02ca4d 21952012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2196
2197 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2198 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2199 Remove POINTER_TYPE handling, add large unsigned handling and use
2200 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2201
57f872a2 22022012-10-12 Jakub Jelinek <jakub@redhat.com>
2203
2204 PR c/54381
2205 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2206 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2207 locs and array of 3 trees instead of just single loc and single
2208 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2209 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2210 For *cmp* builtins that take two sources strings report warnings
2211 about first and second source, not about destination and source.
2212
7354ad2e 22132012-10-12 Marc Glisse <marc.glisse@inria.fr>
2214
2215 PR c++/53055
2216 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2217
1ac7f120 22182012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2219
2220 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2221 declaring something coming from another file.
2222
1e0cc9e3 22232012-10-10 Arnaud Charlet <charlet@adacore.com>
2224
1ac7f120 2225 PR ada/54845
1e0cc9e3 2226 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2227
b0e7825e 22282012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2229
2230 PR c++/54194
2231 * c-common.c (warn_about_parentheses): Add location_t parameter;
2232 use EXPR_LOC_OR_LOC.
2233 * c-common.h: Update declaration.
2234
41ed701a 22352012-10-09 Marc Glisse <marc.glisse@inria.fr>
2236
2237 PR c++/54427
2238 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2239 more operations. Make error messages optional.
2240 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2241 (scalar_to_vector): Declare.
2242
3740094c 22432012-10-08 Jason Merrill <jason@redhat.com>
2244
2245 * c-common.c (c_common_reswords): Add thread_local.
2246
ffcdbf9c 22472012-10-08 Dodji Seketeli <dodji@redhat.com>
2248
2249 PR c++/53528 C++11 attribute support
2250 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2251 new functions.
2252 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2253 static function.
2254 (handle_aligned_attribute): In choose strictest alignment
2255 among many. Use new check_cxx_fundamental_alignment_constraints.
2256 (handle_transparent_union_attribute): In c++11 attribute syntax,
2257 don't look through typedefs.
2258
ef34afc1 22592012-10-04 Arnaud Charlet <charlet@adacore.com>
2260
2261 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2262 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2263 out of dumpfile.h.
2264
f1ff4562 22652012-09-25 Dehao Chen <dehao@google.com>
2266
2267 PR middle-end/54645
ef34afc1 2268 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2269 map when read in the pch.
2270
735538a1 22712012-09-18 Arnaud Charlet <charlet@adacore.com>
2272
2273 * c-ada-spec.c: Style fixes.
2274
9120cdc8 22752012-09-18 Thomas Quinot <quinot@adacore.com>
2276
2277 * c.opt (-fada-spec-parent): Define new command line switch.
2278 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2279 is specified, generate binding spec as a child of the specified unit.
2280
8eba82c2 22812012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2282 Manuel López-Ibáñez <manu@gcc.gnu.org>
2283
2284 PR c++/53210
2285 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2286
38682990 22872012-08-23 Arnaud Charlet <charlet@adacore.com>
2288
2289 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2290 for pointers, and add missing Convention C pragma.
2291 (print_ada_struct_decl): Add missing aliased keyword.
2292 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2293
f003f5dc 22942012-08-17 Jakub Jelinek <jakub@redhat.com>
2295
2296 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2297 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2298 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2299 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2300 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2301
ec11736b 23022012-08-10 Richard Guenther <rguenther@suse.de>
2303
2304 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2305
5f7f600e 23062012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2307
2308 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2309 instead of separate pp_newline and pp_flush.
2310 (print_c_tree): Likewise.
2311
758a38ab 23122012-07-26 Richard Henderson <rth@redhat.com>
2313
2314 * c-common.c (handle_hot_attribute): Allow labels.
2315 (handle_cold_attribute): Likewise.
2316
9ca77b08 23172012-07-20 Jakub Jelinek <jakub@redhat.com>
2318
2319 PR c++/28656
2320 * c-common.c (check_function_nonnull): Handle multiple nonnull
2321 attributes properly.
2322
b9ed1410 23232012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2324
2325 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2326 * c-ada-spec.c: Likewise.
2327 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2328
c2a65b90 23292012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2330
2331 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2332 Remove code conditional on it.
2333
88c5a1d1 23342012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2335
2336 * c-gimplify.c: Do not include basic-block.h.
2337 * c-common.c: Do not include linfuncs.h.
2338
4a020a8c 23392012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2340
2341 * c-common.h: Include tree.h.
2342
c28ddc97 23432012-07-02 Jason Merrill <jason@redhat.com>
2344
2345 PR c++/53524
2346 * c-common.c (get_priority): Call default_conversion.
2347
405ed67f 23482012-07-01 Uros Bizjak <ubizjak@gmail.com>
2349
2350 * c-pch.c (c_common_write_pch): Remove unused variables.
2351
e53d55e7 23522012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2353
2354 * cppspec.c: Moved from gcc/ to here.
2355
3d9c25ec 23562012-06-27 Kai Tietz <ktietz@redhat.com>
2357
2358 PR preprocessor/37215
2359 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2360
3169c57a 23612012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2362
2363 * c-common.h (c_common_print_pch_checksum): Remove.
2364 * c-pch.c: Do not include output.h.
2365 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2366 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2367 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2368 (struct c_pch_header): Remove.
2369 (get_ident): Update gpch version.
2370 (pch_init): Do not print executable_checksum to asm_out_file.
2371 Do not fail if there is no asm_out_file to read back from. Set
2372 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2373 (c_common_write_pch): Verify that nothing was written to asm_out_file
2374 since pch_init was called. Do not write a c_pch_header, and do not
2375 copy from asm_out_file to the PCH.
2376 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2377 the content of asm_out_file from the PCH.
2378 (c_common_print_pch_checksum): Remove.
2379 * c-opts.c (c_common_init): Print out executable_checksum directly.
2380
ff6624bc 23812012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2382
2383 * c-target.def (objc_declare_unresolved_class_reference,
2384 objc_declare_class_definition): Add new hooks.
2385
367b1459 23862012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2387
2388 * c-lex.c: Do not include output.h.
2389 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2390 Remove uses of ASM_OUTPUT_IDENT.
2391
bf0cb017 23922012-06-15 Marc Glisse <marc.glisse@inria.fr>
2393
2394 PR c++/51033
2395 * c-common.h (c_build_vec_perm_expr): Move decl here.
2396 * c-common.c (c_build_vec_perm_expr): Move definition
2397 here.
2398
b37a3600 23992012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2400
2401 * c.opt (fconserve-space): Turn into a no-op.
2402
19931eea 24032012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 2404
2405 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2406 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2407 both the start and end of the function.
2408
dff12c10 24092012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2410
2411 * c-common.c: Do not include output.h.
2412 * c-pragma.c: Likewise.
2413
5f9e7dd5 24142012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2415
2416 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2417 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2418 (lang_decl_name): Handle namespace decls.
2419
b5369b7d 24202012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2421
2422 * c-ada-spec.c: Do not include output.h.
2423 * c-semantics.c: Likewise.
2424
8032877c 24252012-05-29 Joseph Myers <joseph@codesourcery.com>
2426
2427 * c-common.c: Fix typo.
2428
7843e4bc 24292012-05-29 Michael Matz <matz@suse.de>
2430
2431 * c-common.h (c_expand_decl): Remove prototype.
2432
8cf857d4 24332012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2434
2435 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2436 * c-opts.c (c_common_handle_option): Remove code handling
2437 warn_missing_braces.
2438
8b64dc3c 24392012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2440
2441 PR c++/25137
2442 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2443 -Wmissing_braces.
2444
43cbde16 24452012-05-22 Dodji Seketeli <dodji@redhat.com>
2446
2447 PR c++/53322
2448 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2449
db490cb6 24502012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2451
2452 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2453 * c-opts.c (c_common_handle_option): Do not handle explicitly
2454 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2455
a60f3e81 24562012-05-16 Dodji Seketeli <dodji@redhat.com>
2457
2458 PR preprocessor/7263
2459 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2460 to cpp_classify_number. For diagnostics, use the precise location
2461 instead of the global input_location.
2462
82e6ef7c 24632012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2464
cd4797ff 2465 PR c++/11856
82e6ef7c 2466 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2467
258a168d 24682012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2469
82e6ef7c 2470 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2471
d3b7ee7c 24722012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2473
2474 PR 53063
2475 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2476 Wreorder): Use LangEnabledBy.
2477 * c-opts.c (c_common_handle_option): Do not enable them
2478 explicitly. Call lang-specific generated functions.
2479 (c_common_post_options): Do not set them here.
2480
70059cea 24812012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2482
2483 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2484 Wmissing-field-initializers,Wmissing-parameter-type,
2485 Wold-style-declaration,Woverride-init): Use EnabledBy.
2486 * c-opts.c (c_common_post_options): Do not set here explicitly.
2487
fbb6fbd8 24882012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2489
2490 PR 53063
2491 * c-opts.c (c_common_handle_option): Use handle_generated_option
2492 to enable sub-options.
2493
61f69bc9 24942012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2495
2496 PR c++/53158
2497 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2498
5a1fe2db 24992012-05-10 Richard Guenther <rguenther@suse.de>
2500
2501 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2502 adjust commentary about TYPE_IS_SIZETYPE types.
2503
d42e7c5a 25042012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2505
2506 PR c++/53261
2507 * c-common.c (warn_logical_operator): Check that argument of
2508 integer_zerop is not NULL.
2509
686369e8 25102012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2511
2512 PR c/43772
2513 * c-common.c (warn_logical_operator): Do not warn if either side
2514 is already true or false.
2515
03fe1dc2 25162012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2517
2518 PR c/51712
2519 * c-common.c (expr_original_type): New.
2520 (shorten_compare): Do not warn for enumeration types.
2521
bba5a206 25222012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2523
2524 * c.opt (fpermissive): Add Var(flag_permissive).
2525
7059d45d 25262012-04-30 Marc Glisse <marc.glisse@inria.fr>
2527
2528 PR c++/51033
2529 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2530 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2531
7edb1062 25322012-04-30 Dodji Seketeli <dodji@redhat.com>
2533
2534 Add -Wvarargs option
2535 * c.opt (Wvarargs): Define new option.
2536
068bea1e 25372012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2538
2539 * c-common.c (check_function_arguments): Replace
2540 Wmissing-format-attribute with Wsuggest-attribute=format.
2541
b86527d8 25422012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2543
2544 * c.opt (Wsuggest-attribute=format): New. Alias of
2545 Wmissing-format-attribute.
2546 * c-format.c (decode_format_type): Replace
2547 Wmissing-format-attribute with Wsuggest-attribute=format.
2548 (check_function_format): Likewise.
2549
19931eea 25502012-04-27 Ollie Wild <aaw@google.com>
76d340ac 2551
2552 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2553 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2554 * c.opt: Add Wliteral-suffix.
2555
29438999 25562012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2557
2558 PR c/44774
2559 * c.opt (Wpedantic): New.
2560 (pedantic): Alias Wpedantic.
2561 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2562 (c_common_post_options): Likewise.
2563 (sanitize_cpp_opts): Likewise.
2564 * c-lex.c (interpret_float): Likewise.
2565 * c-format.c (check_format_types): Likewise.
2566 * c-common.c (pointer_int_sum): Likewise.
2567 (c_sizeof_or_alignof_type): Likewise.
2568 (c_add_case_label): Likewise.
2569 (c_do_switch_warnings): Likewise.
2570 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2571
4f9d6b8b 25722012-04-15 Jason Merrill <jason@redhat.com>
2573
2574 PR c++/52818
2575 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2576 (C_STD_NAME): Distinguish between C++98 and C++11.
2577
74bdbe96 25782012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2579
2580 PR target/52624
2581 * c-common.h (uint16_type_node): Rename into...
2582 (c_uint16_type_node): ...this.
2583 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2584 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2585
3d177e8c 25862012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2587
2588 * c-common.c (warn_if_unused_value): Move definition to here.
2589 * c-common.h (warn_if_unused_value): Move declaration to here.
2590
6a9a958f 25912012-03-23 William Bader <williambader@hotmail.com>
2592
2593 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2594
543efdbe 25952012-03-20 Jason Merrill <jason@redhat.com>
2596
2597 * c-common.h (enum cxx_dialect): Add cxx1y.
2598 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2599 test.
2600 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2601 * c-opts.c (c_common_post_options): Likewise.
2602 (set_std_cxx1y): New.
2603 (c_common_handle_option): Call it.
2604 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2605
62206d34 26062012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2607
2608 PR c++/14710
2609 * c.opt ([Wuseless-cast]): Add.
2610
fadf62f4 26112012-03-16 Richard Guenther <rguenther@suse.de>
2612
2613 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2614
249faa35 26152012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2616
2617 PR c++/44783
2618 * c.opt (ftemplate-backtrace-limit) Add.
2619
126b6848 26202012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2621
2622 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2623 handling.
2624 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2625 (init_pragma): Don't register extern_prefix.
2626
a51edb4c 26272012-03-12 Richard Guenther <rguenther@suse.de>
2628
2629 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2630 (builtin_type_for_size): Likewise.
2631
0f6a7cb7 26322012-02-13 Jakub Jelinek <jakub@redhat.com>
2633
2634 PR c++/52215
2635 * c-common.c (sync_resolve_params): Don't decide whether to convert
2636 or not based on TYPE_SIZE comparison, convert whenever arg_type
2637 is unsigned INTEGER_TYPE.
2638
0779e32c 26392012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2640
2641 PR c/52118
2642 * c.opt ([Wunused-local-typedefs]): Fix description.
2643
baec58e1 26442012-01-24 Mike Stump <mikestump@comcast.net>
2645
2646 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2647 exactly.
2648
c779d8cc 26492012-01-18 Richard Guenther <rguenther@suse.de>
2650
2651 * c-opts.c (c_common_post_options): Reset LTO flags if
2652 we are about to generate a PCH.
2653
ee917d24 26542012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2655
2656 PR c++/51777
2657 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2658 use pp_unsigned_wide_integer.
2659
90e2341f 26602012-01-10 Richard Guenther <rguenther@suse.de>
2661
2662 PR middle-end/51806
2663 * c-opts.c (c_common_handle_option): Move -Werror handling
2664 to language independent code.
2665
9ea022ce 26662012-01-05 Richard Guenther <rguenther@suse.de>
2667
2668 PR middle-end/51764
2669 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2670 from common.opt.
2671
3df19e1b 26722011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2673
2674 PR c++/51316
2675 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2676 of array types with an unknown bound.
2677
32074525 26782011-12-20 Joseph Myers <joseph@codesourcery.com>
2679
2680 * c-common.c (flag_isoc99): Update comment to refer to C11.
2681 (flag_isoc1x): Change to flag_isoc11.
2682 * c-common.h (flag_isoc99): Update comment to refer to C11.
2683 (flag_isoc1x): Change to flag_isoc11.
2684 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2685 C11.
2686 * c-opts.c (set_std_c1x): Change to set_std_c11.
2687 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2688 Call set_std_c11.
2689 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2690 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2691 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2692 standard.
2693 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2694 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2695 (std=gnu1x): Make alias of std=gnu11.
2696
fca86134 26972011-12-19 Jason Merrill <jason@redhat.com>
2698
2699 PR c++/51228
2700 * c-common.c (handle_transparent_union_attribute): Check the first
2701 field if the type is complete.
2702
aa4313eb 27032011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2704
2705 PR libstdc++/51365
2706 * c-common.c (RID_IS_FINAL): Add.
2707 * c-common.h (RID_IS_FINAL): Add.
2708
3f3d5ad4 27092011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2710
2711 * c.opt (fgnu-runtime): Provide full description.
2712 (fnext-runtime): Likewise.
2713 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2714
c4606d19 27152011-11-28 Andrew MacLeod <amacleod@redhat.com>
2716
2717 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2718 predefines in one place. Add LOCK_FREE predefines.
2719 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2720 new func.
2721
1d581089 27222011-11-24 Andrew MacLeod <amacleod@redhat.com>
2723
2724 PR c/51256
19931eea 2725 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 2726 conditions
19931eea 2727 (resolve_overloaded_atomic_exchange,
2728 resolve_overloaded_atomic_compare_exchange,
1d581089 2729 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2730 error_mark_node for error conditions.
19931eea 2731
6aa221fa 27322011-11-08 Richard Guenther <rguenther@suse.de>
2733
2734 PR middle-end/51010
2735 c-family/
2736
4c0315d0 27372011-11-07 Richard Henderson <rth@redhat.com>
2738 Aldy Hernandez <aldyh@redhat.com>
2739 Torvald Riegel <triegel@redhat.com>
2740
2741 Merged from transactional-memory.
2742
2743 * c-common.c (handle_tm_wrap_attribute,
2744 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2745 (struct c_common_reswords): Added __transaction* keywords.
2746 (struct c_common_attribute_table): Added transaction* and tm_regparm
2747 attributes.
2748 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2749 masks.
2750 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2751 find_tm_attribute): Declare.
2752
920f5a70 27532011-11-07 Jason Merrill <jason@redhat.com>
2754
2755 PR c++/35688
2756 * c-common.c, c-common.h: Revert yesterday's changes.
2757
b4f861b4 27582011-11-06 Jason Merrill <jason@redhat.com>
2759
2760 PR c++/35688
2761 * c-common.c (decl_has_visibility_attr): Split out from...
2762 (c_determine_visibility): ...here.
2763 * c-common.h: Declare it.
2764
83e25171 27652011-11-06 Joseph Myers <joseph@codesourcery.com>
2766
2767 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2768 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2769 type.
2770 (check_user_alignment): New. Split out of
2771 handle_aligned_attribute. Disallow integer constants with
2772 noninteger types. Conditionally allow zero.
2773 (handle_aligned_attribute): Use check_user_alignment.
2774 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2775
1cd6e20d 27762011-11-06 Andrew MacLeod <amacleod@redhat.com>
2777 Richard Henderson <rth@redhat.com>
2778
2779 Merged from cxx-mem-model.
2780
2781 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 2782 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 2783 parameters that are the same type size.
2784 (get_atomic_generic_size): New. Find size of generic
2785 atomic function parameters and do typechecking.
2786 (add_atomic_size_parameter): New. Insert size into parameter list.
2787 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2788 either __atomic_exchange_n or external library call.
19931eea 2789 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 2790 __atomic_compare_exchange to either _n variant or external library call.
19931eea 2791 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 2792 __atomic_load_n or an external library call.
2793 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2794 __atomic_store_n or an external library call.
2795 (resolve_overloaded_builtin): Handle new __atomic builtins.
2796
7549df0d 27972011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2798
2799 PR c++/50608
2800 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2801 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2802 <INDIRECT_REF>: Return the argument.
2803 <ARRAY_REF>: Remove special code for negative offset.
2804 Call fold_build_pointer_plus instead of size_binop.
2805 (fold_offsetof): Remove STOP_REF argument and adjust.
2806 * c-common.h (fold_offsetof_1): Declare.
2807 (fold_offsetof): Remove STOP_REF argument.
2808
7e783eb3 28092011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2810
2811 PR c++/50810
2812 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2813 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2814 Wnarrowing for C++0x and C++98.
2815 * c.opt ([Wnarrowing]): Update.
2816
8fe701f5 28172011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2818
2819 PR c++/44277
2820 * c.opt: Add Wzero-as-null-pointer-constant.
2821
0d84dc2d 28222011-10-31 Jason Merrill <jason@redhat.com>
2823
67031f52 2824 * c.opt (-fdeduce-init-list): Off by default.
2825
0d84dc2d 2826 PR c++/50920
2827 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2828 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2829 and -Wc++11-compat.
2830 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2831
66f24c41 28322011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2833
2834 PR c++/30066
2835 * c.opt (fvisibility-inlines-hidden): Description change.
2836
244db24d 28372011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
2838
2839 Implement C++11 user-defined literals.
2840 * c-common.c (build_userdef_literal): New.
2841 * c-common.def: New tree code.
2842 * c-common.h (tree_userdef_literal): New tree struct and accessors.
2843 * c-lex.c (interpret_float): Add suffix parm.
2844 (c_lex_with_flags): Build literal tokens.
2845
235be70f 28462011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2847
2848 PR c++/50841
2849 Revert:
2850 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2851
2852 PR c++/50810
2853 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2854 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2855 Wnarrowing for C++0x and C++98.
2856 * c.opt ([Wnarrowing]): Update.
2857
4fe0fb1c 28582011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2859
2860 PR c++/50810
2861 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2862 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2863 Wnarrowing for C++0x and C++98.
2864 * c.opt ([Wnarrowing]): Update.
2865
5f7504f9 28662011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
2867
2868 PR c++/45385
2869 * c-common.c (conversion_warning): Remove code looking for
2870 artificial operands.
2871
2a688977 28722011-10-18 Dodji Seketeli <dodji@redhat.com>
2873
2874 PR bootstrap/50760
2875 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 2876 !NO_IMPLICIT_EXTERN_C.
2a688977 2877
326e3391 28782011-10-17 Michael Spertus <mike_spertus@symantec.com>
2879
2880 * c-common.c (c_common_reswords): Add __bases,
2881 __direct_bases.
2882 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2883
28842011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2885
2886 PR c++/50757
2887 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2888
62db153a 28892011-10-15 Tom Tromey <tromey@redhat.com>
2890 Dodji Seketeli <dodji@redhat.com>
2891
2892 * c.opt (fdebug-cpp): New option.
2893 * c-opts.c (c_common_handle_option): Handle the option.
2894 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2895 output stream in parameter. Factorized from ...
2896 (maybe_print_line): ... this. Dump location debug information when
2897 -fdebug-cpp is in effect.
2898 (print_line_1): New static function. Takes an output stream in
2899 parameter. Factorized from ...
2900 (print_line): ... here. Dump location information when -fdebug-cpp
2901 is in effect.
2902 (scan_translation_unit): Dump location information when
2903 -fdebug-cpp is in effect.
2904
ce70f433 29052011-10-15 Tom Tromey <tromey@redhat.com>
2906 Dodji Seketeli <dodji@redhat.com>
2907
2908 * c.opt (ftrack-macro-expansion): New option. Handle it with and
2909 without argument.
2910 * c-opts.c (c_common_handle_option)<case
2911 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2912 cases. Handle -ftrack-macro-expansion with and without argument.
2913
97bfb9ef 29142011-10-15 Tom Tromey <tromey@redhat.com>
2915 Dodji Seketeli <dodji@redhat.com>
2916
2917 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
2918 (print_line, cb_define, do_line_change): Adjust to avoid touching
2919 the internals of struct line_map. Use the public API instead.
2920 * c-pch.c (c_common_read_pch): Likewise.
2921 * c-lex.c (fe_file_change): Likewise.
2922
326e3391 29232011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
2924
2925 PR c++/17212
2926 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
2927
29282011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
2929
2930 PR c++/33067
2931 * c-pretty-print.c (pp_c_floating_constant): Output
2932 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
2933
b9a16870 29342011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2935
2936 * c-common.c (def_builtin_1): Delete old interface with two
2937 parallel arrays to hold standard builtin declarations, and replace
2938 it with a function based interface that can support creating
2939 builtins on the fly in the future. Change all uses, and poison
2940 the old names. Make sure 0 is not a legitimate builtin index.
2941 * c-omp.c (c_finish_omp_barrier): Ditto.
2942 (c_finish_omp_taskwait): Ditto.
2943 (c_finish_omp_flush): Ditto.
2944
c7964868 29452011-10-11 Tristan Gingold <gingold@adacore.com>
2946
2947 * c.opt: (fallow-parameterless-variadic-functions): New.
2948
a4e3ffad 29492011-09-08 Dodji Seketeli <dodji@redhat.com>
2950
2951 PR c++/33255 - Support -Wunused-local-typedefs warning
2952 * c-common.h (struct c_language_function::local_typedefs): New
2953 field.
19931eea 2954 (record_locally_defined_typedef, maybe_record_typedef_use)
2955 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 2956 * c-common.c (record_locally_defined_typedef)
19931eea 2957 (maybe_record_typedef_use)
2958 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 2959 * c.opt: Declare new -Wunused-local-typedefs flag.
2960
737a23cc 29612011-09-06 Eric Botcazou <ebotcazou@adacore.com>
2962
2963 PR middle-end/50266
2964 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
2965 computations.
2966
7542c3b4 29672011-09-05 Richard Guenther <rguenther@suse.de>
2968
2969 * c-common.c (complete_array_type): Use ssize_int (-1) instead
2970 of integer_minus_one_node for empty array upper bounds.
2971
1dc92c59 29722011-08-28 Dodji Seketeli <dodji@redhat.com>
2973
2974 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
2975 it's the first time it's being called on this main TU.
2976
2bdf2b6e 29772011-08-24 Richard Guenther <rguenther@suse.de>
2978
2979 PR c/49396
2980 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
2981
29822011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 2983
2984 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
2985 defined in cpp_init_builtins and c_cpp_builtins.
2986
bff4ad11 29872011-08-19 Joseph Myers <joseph@codesourcery.com>
2988
2989 * c-common.c (c_common_reswords): Add __builtin_complex.
2990 * c-common.h (RID_BUILTIN_COMPLEX): New.
2991
985c6e3a 29922011-08-18 Joseph Myers <joseph@codesourcery.com>
2993
2994 * c-common.c (c_common_reswords): Add _Noreturn.
2995 (keyword_is_function_specifier): Handle RID_NORETURN.
2996 * c-common.h (RID_NORETURN): New.
2997
7dfa155b 29982011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
2999
3000 * c-common.c (unsafe_conversion_p): New function. Check if it is
3001 unsafe to convert an expression to the type.
3002 (conversion_warning): Adjust, use unsafe_conversion_p.
3003 * c-common.h (unsafe_conversion_p): New function declaration.
3004
2169f33b 30052011-08-02 Jakub Jelinek <jakub@redhat.com>
3006
3007 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3008 (c_finish_omp_taskyield): New prototype.
3009 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3010 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3011 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3012 or RHS1 have side-effects, evaluate those too in the right spot,
3013 if it is a decl and LHS is also a decl, error out if they
3014 aren't the same.
3015 (c_finish_omp_taskyield): New function.
3016 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3017 * c-pragma.c (omp_pragmas): Add taskyield.
3018 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3019 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3020 PRAGMA_OMP_CLAUSE_MERGEABLE.
3021
ab77850e 30222011-07-25 Dodji Seketeli <dodji@redhat.com>
3023
3024 * c-common.h (set_underlying_type): Remove parm name from
3025 declaration.
3026
6ee97920 30272011-07-25 Romain Geissler <romain.geissler@gmail.com>
3028
3029 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3030
dc251364 30312011-07-22 Jason Merrill <jason@redhat.com>
3032
1a2a35f0 3033 PR c++/49793
3034 * c.opt (Wnarrowing): New.
3035
27282252 3036 PR c++/30112
3037 * c-common.h: Declare c_linkage_bindings.
3038 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3039
dc251364 3040 PR c++/49813
3041 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3042 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3043 as flag_isoc99 for 'restrict'.
3044 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3045
fc501191 30462011-07-21 Ian Lance Taylor <iant@google.com>
3047
3048 PR middle-end/49705
3049 * c-common.c (c_disable_warnings): New static function.
3050 (c_enable_warnings): New static function.
3051 (c_fully_fold_internal): Change local unused_p to bool. Call
3052 c_disable_warnings and c_enable_warnings rather than change
3053 c_inhibit_evaluation_warnings.
3054
07b8f133 30552011-07-20 Jason Merrill <jason@redhat.com>
3056
3057 PR c++/6709 (DR 743)
3058 PR c++/42603 (DR 950)
3059 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3060 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3061 (CPP_DECLTYPE): New.
3062 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3063
2cc66f2a 30642011-07-19 Richard Guenther <rguenther@suse.de>
3065
3066 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3067 * c-omp.c (c_finish_omp_for): Likewise.
3068
3c802a1e 30692011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3070
3071 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3072 body on the next line.
3073
98a33d9f 30742011-07-08 Jason Merrill <jason@redhat.com>
3075
3115bda0 3076 PR c++/45437
3077 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3078
98a33d9f 3079 PR c++/49673
3080 * c-common.c (c_apply_type_quals_to_decl): Don't check
3081 TYPE_NEEDS_CONSTRUCTING.
3082
c38a75b7 30832011-07-06 Richard Guenther <rguenther@suse.de>
3084
3085 * c-common.c (c_common_nodes_and_builtins):
3086 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3087
e593356b 30882011-07-05 Richard Guenther <rguenther@suse.de>
3089
3090 * c-common.c (c_common_nodes_and_builtins): Build all common
3091 tree nodes first.
3092
fca0886c 30932011-06-27 Jakub Jelinek <jakub@redhat.com>
3094
a68f7a8d 3095 * c-common.h (c_tree_chain_next): New static inline function.
3096
fca0886c 3097 * c-common.c (check_builtin_function_arguments): Handle
3098 BUILT_IN_ASSUME_ALIGNED.
3099
2797f13a 31002011-06-21 Andrew MacLeod <amacleod@redhat.com>
3101
3102 * c-common.c: Add sync_ or SYNC__ to builtin names.
3103 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3104
31052011-06-20 Pierre Vittet <piervit@pvittet.com>
3106
3107 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3108 handler.
3109 (gen_pragma_handler): New union.
3110 (internal_pragma_handler): New type.
3111 (c_register_pragma_with_data)
3112 (c_register_pragma_with_expansion_and_data): New functions.
3113
3114 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3115 (c_register_pragma, c_register_pragma_with_expansion)
3116 (c_invoke_pragma_handler): Changed to work with
3117 internal_pragma_handler.
3118 (c_register_pragma_with_data)
3119 (c_register_pragma_with_expansion_and_data): New functions.
3120
218e3e4e 31212011-06-14 Joseph Myers <joseph@codesourcery.com>
3122
3123 * c-common.c: Include common/common-target.h.
3124 (handle_section_attribute): Use
3125 targetm_common.have_named_sections.
3126 * c-cppbuiltin.c: Include common/common-target.h.
3127 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3128
41e53ed2 31292011-06-10 Richard Guenther <rguenther@suse.de>
3130
3131 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3132 to print a IDENTIFIER_NODE.
3133
a6f06169 31342011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3135 Joseph Myers <joseph@codesourcery.com>
3136
3137 * c.opt (fbuilding-libgcc): New option.
3138 * c-cppbuiltin.c (c_cpp_builtins): Define
3139 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3140
1ea9269b 31412011-06-07 Jason Merrill <jason@redhat.com>
3142
8ce59854 3143 * c-common.c (max_tinst_depth): Lower default to 900.
3144
1ea9269b 3145 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3146
1af0124d 31472011-06-07 Richard Guenther <rguenther@suse.de>
3148
3149 * c-common.c (c_common_nodes_and_builtins): Do not set
3150 size_type_node or call set_sizetype.
3151
0e9a4c01 31522011-06-07 Dodji Seketeli <dodji@redhat.com>
3153
3154 PR debug/49130
3155 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3156 type when using pointer comparison to compare types.
0e9a4c01 3157
90b40725 31582011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3159
3160 * c.opt: Add -Wdelete-non-virtual-dtor.
3161 * c-opts.c (c_common_handle_option): Include it in -Wall.
3162
fc9c9e87 31632011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3164
3165 PR bootstrap/49190
3166
3167 Revert:
3168 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3169
3170 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3171 not tree_common.
3172
d0389adc 31732011-05-27 Jakub Jelinek <jakub@redhat.com>
3174
3175 PR c++/49165
3176 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3177 C++ don't call c_common_truthvalue_conversion on void type arms.
3178
cacfdc02 31792011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3180
3181 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3182 (stmt_list_stack): Define.
3183 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3184 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3185
027fc6ef 31862011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3187
3188 * c-common.c (warning_candidate_p): Check for BLOCKs.
3189
f21317a1 31902011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3191
3192 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3193 not tree_common.
3194
789e953d 31952011-05-25 Jakub Jelinek <jakub@redhat.com>
3196
3197 * c-common.c (def_fn_type): Remove extra va_end.
3198
7f506bca 31992011-05-23 Jason Merrill <jason@redhat.com>
3200
3201 PR c++/48106
3202 * c-common.c (c_common_get_narrower): New.
3203 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3204
774e9d58 32052011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3206
3207 * c-common.h (check_function_arguments): Tweak prototype of
3208 check_function_arguments.
3209 * c-common.c (check_function_arguments): Likewise. Adjust
3210 calls to check_function_nonnull, check_function_format, and
3211 check_function_sentinel.
3212 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3213 separate attributes and typelist arguments. Use
3214 FOREACH_FUNCTION_ARGS to iterate over argument types.
3215
23407dc9 32162011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3217
3218 * c-common.c (c_common_reswords): Reorder.
3219 * c-common.h (rid): Likewise.
3220
3a939d12 32212011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3222
3223 * c-common.c (def_fn_type): Don't call build_function_type, call
3224 build_function_type_array or build_varargs_function_type_array
3225 instead.
3226 (c_common_nodes_and_builtins): Likewise.
3227
b6e3dd65 32282011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3229
3230 * c-common.c (c_add_case_label): Omit the loc argument to
3231 build_case_label.
3232 * c-common.h (build_case_label): Remove.
3233 * c-semantics.c (build_case_label): Remove.
3234
4232a958 32352011-05-05 Joseph Myers <joseph@codesourcery.com>
3236
3237 * c-objc.h (objc_start_method_definition): Update prototype.
3238 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3239
d0af78c5 32402011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3241
3242 * c-common.c (check_main_parameter_types): Reindent. Don't use
3243 TYPE_ARG_TYPES directly.
3244 (handle_nonnull_attribute): Likewise.
3245 (sync_resolve_params): Likewise.
3246 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3247 to check_format_string.
3248 (handle_format_attribute): Likewise.
3249 (check_format_string): Take a function type to examine instead of
3250 a type list. Use a function_arg_iterator to step through argument
3251 types.
3252
ceb7b692 32532011-05-04 Richard Guenther <rguenther@suse.de>
3254
3255 * c-common.c (fix_string_type): Use size_int for index type bounds.
3256 (start_fname_decls): Do not pass NULL to build_int_cst.
3257 (c_init_attributes): Likewise.
3258 * c-lex.c (c_lex_with_flags): Likewise.
3259
c66c81be 32602011-04-27 Jason Merrill <jason@redhat.com>
3261
3262 * c-common.c (make_tree_vector_from_list): New.
3263 * c-common.h: Declare it.
3264
16930c72 32652011-04-26 Richard Guenther <rguenther@suse.de>
3266
3267 PR preprocessor/48248
3268 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3269 for output size with -P.
3270
23407dc9 32712011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3272
3273 * c-common.c (struct c_common_resword): Add __underlying_type.
3274 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3275
dd045aee 32762011-04-20 Jim Meyering <meyering@redhat.com>
3277
3278 * c-format.c (init_dollar_format_checking): Remove useless
3279 if-before-free.
3280
394dd737 32812011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3282
3283 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3284 (objc_detect_field_duplicates): New.
394dd737 3285 * stub-objc.c: Likewise.
23407dc9 3286
a758bf7d 32872011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3288
3289 * stub-objc.c (objc_declare_protocols): Renamed to
3290 objc_declare_protocol.
3291 * c-objc.h: Likewise.
23407dc9 3292
29d7200d 32932011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3294
3295 * stub-objc.c (objc_declare_class): Updated argument name.
3296
9b88d08d 32972011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3298
3299 * c-common.h (c_common_init_ts): Declare.
3300 * c-common.c (c_common_init_ts): Define.
3301
4185cf58 33022011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3303
3304 * c-objc.h (objc_build_message_expr): Updated prototype.
3305 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 3306
5a90471f 33072011-04-12 Martin Jambor <mjambor@suse.cz>
3308
3309 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3310 of cgraph_node.
3311
783bb57e 33122011-04-11 Richard Guenther <rguenther@suse.de>
3313
3314 * c-common.c (complete_array_type): Build a range type of
3315 proper type.
3316
c33080b9 33172011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3318
3319 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3320 (handle_type_generic_attribute): Likewise.
3321
f8913d47 33222011-04-07 Jason Merrill <jason@redhat.com>
3323
3324 PR c++/48450
3325 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3326 conversion from C++0x scoped enum.
3327
c94b1d0e 33282011-04-06 Joseph Myers <joseph@codesourcery.com>
3329
3330 * c-target-def.h: New file.
3331 * c-target.def: New file.
3332 * c-target.h: New file.
3333 * c-common.c (targetcm): Don't define here.
3334 * c-common.h (default_handle_c_option): Declare.
3335 * c-format.c: Include c-target.h instead of target.h.
3336 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3337 include tm.h.
3338 (default_handle_c_option): Move from targhooks.c.
3339
acb10f41 33402011-03-29 Jakub Jelinek <jakub@redhat.com>
3341
3342 PR preprocessor/48248
3343 * c-ppoutput.c (print): Add src_file field.
3344 (init_pp_output): Initialize it.
3345 (maybe_print_line): Don't optimize by adding up to 8 newlines
3346 if map->to_file and print.src_file are different file.
3347 (print_line): Update print.src_file.
3348
82715bcd 33492011-03-25 Kai Tietz <ktietz@redhat.com>
3350
3351 * c-ada-spec.c (compare_comment): Use filename_cmp
3352 instead of strcmp for filename.
3353
451c8e2f 33542011-03-25 Jeff Law <law@redhat.com>
3355
3356 * c-family/c-common.c (def_fn_type): Add missing va_end.
3357
3c47771c 33582011-03-25 Jason Merrill <jason@redhat.com>
3359
3360 * c.opt: Add -std=c++03.
3361
97e6200f 33622011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3363
3364 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3365
ac86af5d 33662011-03-17 Kai Tietz
3367
3368 PR target/12171
ee212425 3369 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3370 Display allowed attributes for function pointer types.
3371 (pp_c_attributes_display): New function to display
3372 attributes having affects_type_identity flag set to true.
3373 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3374
ac86af5d 3375 * c-common.c (c_common_attribute_table):
3376 Add new element.
3377 (c_common_format_attribute_table): Likewise.
3378
914d1151 33792011-03-18 Jason Merrill <jason@redhat.com>
3380
69788bdf 3381 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3382 * c-common.h: Don't declare it here.
3383 * c-common.c: Or define it here.
3384 * c-opts.c (c_common_handle_option): Or set it here.
3385
914d1151 3386 PR c++/35315
3387 * c-common.c (handle_transparent_union_attribute): Don't
3388 make a duplicate type in C++.
3389
54cf6eed 33902011-03-15 Jason Merrill <jason@redhat.com>
3391
3392 * c-common.c (max_constexpr_depth): New.
3393 * c-common.h: Declare it.
3394 * c-opts.c (c_common_handle_option): Set it.
3395 * c.opt (fconstexpr-depth): New option.
3396
02cb1060 33972011-03-11 Jason Merrill <jason@redhat.com>
3398
9bf1c74e 3399 * c-common.c (attribute_takes_identifier_p): Add missing const.
3400
02cb1060 3401 PR c++/46803
3402 * c-common.c (attribute_takes_identifier_p): Assume that an
3403 unknown attribute takes an identifier.
3404
ecf2703d 34052011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3406
3407 PR c/47786
3408 * c-common.c (c_type_hash): Call list_length instead of iterating
3409 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3410
2b19dfe4 34112011-02-19 Jakub Jelinek <jakub@redhat.com>
3412
3413 PR c/47809
3414 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3415
29cf2335 34162011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3417
3418 * c.opt (fobjc-abi-version=) New.
3419 (fobjc-nilcheck): New.
3420
fad3f658 34212011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3422
3423 PR c++/46890
3424 * c-common.h (keyword_is_decl_specifier): Declare.
3425 * c-common.c (keyword_is_decl_specifier): Define.
3426 (keyword_is_function_specifier): New function.
3427
a12319b3 34282011-01-26 Jakub Jelinek <jakub@redhat.com>
3429
3430 PR c/47473
3431 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3432 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3433 REAL_TYPE.
3434
5c128dc8 34352011-01-26 Arnaud Charlet <charlet@adacore.com>
3436
3437 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3438
8d67b0c7 34392011-01-26 Jakub Jelinek <jakub@redhat.com>
3440
3441 PR pch/47430
3442 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3443 after init_c_lex if pch_file is set.
3444
0675168d 34452011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3446
e8911163 3447 PR c++/43601
0675168d 3448 * c.opt (-fkeep-inline-dllexport): New switch.
3449
0725e25c 34502011-01-12 Richard Guenther <rguenther@suse.de>
3451
3452 PR middle-end/32511
3453 * c-common.c (handle_weak_attribute): Warn instead of error
3454 on declaring an inline function weak.
3455
fdd84b77 34562011-01-05 Tom Tromey <tromey@redhat.com>
3457
3458 * c-common.h (lvalue_error): Update.
3459 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3460 not error.
3461
e6e73d14 34622010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3463
d67e8485 3464 PR objc/47075
3465 * c-objc.h (objc_finish_message_expr): Added argument to
3466 prototype.
3467
a36cf284 34682010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3469
3470 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3471 Use prototype_p.
3472
33b3681f 34732010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3474
3475 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3476 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3477
a1f90215 34782010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3479
3480 * c-common.h (readonly_error): Declare.
3481 * c-common.c (readonly_error): Define.
3482
b1bbc8e5 34832010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3484
3485 * c-common.h (invalid_indirection_error): Declare.
3486 * c-common.c (invalid_indirection_error): Define.
3487
b0d55af9 34882010-12-03 Richard Guenther <rguenther@suse.de>
3489
3490 PR c/46745
3491 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3492 (pp_c_unary_expression): Likewise.
3493 (pp_c_expression): Likewise.
3494
d7489d8d 34952010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3496
3497 * c-common.h (objc_finish_function): New.
3498 (objc_non_volatilized_type): Removed.
3499 (objc_type_quals_match): Removed.
3500 * stub-objc.c (objc_finish_function): New.
3501 (objc_non_volatilized_type): Removed.
3502 (objc_type_quals_match): Removed.
19931eea 3503
92468061 35042010-11-30 Joseph Myers <joseph@codesourcery.com>
3505
3506 * c-common.h (parse_optimize_options): Declare.
3507 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3508 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3509
967958e4 35102010-11-29 Joseph Myers <joseph@codesourcery.com>
3511
3512 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3513 GET_ENVIRONMENT.
3514 * c-pch.c (O_BINARY): Don't define here.
3515 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3516
b213bf24 35172010-11-25 Joseph Myers <joseph@codesourcery.com>
3518
3519 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3520 targetm.except_unwind_info.
3521
9faf44d6 35222010-11-23 Joseph Myers <joseph@codesourcery.com>
3523
3524 * c-opts.c (c_common_handle_option): Pass location to
3525 set_struct_debug_option.
3526
79396169 35272010-11-23 Joseph Myers <joseph@codesourcery.com>
3528
3529 * c-common.c (visibility_options): Move from ../opts.c.
3530 * c-common.h (struct visibility_flags, visibility_options):
3531 Declare here.
3532 * c-opts.c (finish_options): Rename to c_finish_options.
3533 (c_common_init): Update call to finish_options.
3534
b4aa4123 35352010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3536
3537 PR objc/34033
3538 * c-lex.c (lex_string): Check that each string in an Objective-C
3539 string concat sequence starts with either one or zero '@', and
3540 that there are no spurious '@' signs at the end.
3541
3e0e49f2 35422010-11-20 Joseph Myers <joseph@codesourcery.com>
3543
3544 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3545 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3546 HANDLE_PRAGMA_VISIBILITY.
3547 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3548 HANDLE_PRAGMA_VISIBILITY): Don't define.
3549 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3550
a9ffdd35 35512010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3552
3553 PR c++/16189
3554 PR c++/36888
3555 PR c++/45331
3556 * c-common.h (keyword_begins_type_specifier): Declare.
3557 (keyword_is_storage_class_specifier): Declare.
3558 (keyword_is_type_qualifier): Declare.
3559 * c-common.c (keyword_begins_type_specifier): New function.
3560 (keyword_is_storage_class_specifier): New function.
3561 (keyword_is_type_qualifier): Declare.
3562
93be21c0 35632010-11-19 Joseph Myers <joseph@codesourcery.com>
3564
3565 PR c/46547
3566 * c-common.c (in_late_binary_op): Define.
3567 (c_common_truthvalue_conversion): Check in_late_binary_op before
3568 calling c_save_expr.
3569 * c-common.h (in_late_binary_op): Declare.
3570
d7175aef 35712010-11-19 Joseph Myers <joseph@codesourcery.com>
3572
3573 * c-opts.c (c_common_handle_option): Update calls to
3574 set_struct_debug_option.
3575
c213e196 35762010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3577
3578 * c-common.h (objc_declare_protocols): Added additional argument.
3579 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 3580
0b5fc5d6 35812010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3582
3583 PR c/33193
3584 * c-common.h (build_real_imag_expr): Declare.
3585 * c-semantics.c (build_real_imag_expr): Define.
3586
b8ba44e7 35872010-11-17 Joseph Myers <joseph@codesourcery.com>
3588
3589 * c-opts.c (c_common_parse_file): Take no arguments.
3590 * c-common.h (c_common_parse_file): Update prototype.
3591
6ef8d12f 35922010-11-16 Jakub Jelinek <jakub@redhat.com>
3593
3594 PR c++/46401
3595 * c-common.c (warning_candidate_p): Don't track non-const calls
3596 or STRING_CSTs.
3597
929d2a90 35982010-11-15 Ian Lance Taylor <iant@google.com>
3599
3600 * c-lex.c (init_c_lex): Set macro debug callbacks if
3601 flag_dump_go_spec is set.
3602
e4a7640a 36032010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3604
3605 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3606 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3607
597d2d81 36082010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3609
3610 PR preprocessor/45038
3611 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3612 dialects.
3613
c123f04d 36142010-11-12 Joseph Myers <joseph@codesourcery.com>
3615
3616 * c-common.h (c_family_lang_mask): Declare.
3617 * c-opts.c (c_family_lang_mask): Make extern.
3618 * c-pragma.c (handle_pragma_diagnostic): Use
3619 control_warning_option.
3620
3c6c0e40 36212010-11-12 Joseph Myers <joseph@codesourcery.com>
3622
3623 * c-common.c (parse_optimize_options): Update call to
3624 decode_options.
3625 * c-common.h (c_common_handle_option): Update prototype.
3626 * c-opts.c (c_common_handle_option): Take location_t parameter and
3627 pass it to other functions.
3628
19ec5c9e 36292010-11-11 Joseph Myers <joseph@codesourcery.com>
3630
3631 * c-opts.c (warning_as_error_callback): Remove.
3632 (c_common_initialize_diagnostics): Don't call
3633 register_warning_as_error_callback.
3634 (c_common_handle_option): Handle -Werror=normalized= here.
3635
bf776685 36362010-11-10 Joseph Myers <joseph@codesourcery.com>
3637
3638 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3639 in diagnostic.
3640 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3641 letter.
3642 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3643 Remove trailing '.' from diagnostics.
3644 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3645
6bd9d862 36462010-11-10 Joseph Myers <joseph@codesourcery.com>
3647
3648 * c-common.c (parse_optimize_options): Pass global_dc to
3649 decode_options.
3650 * c-opts.c (c_common_handle_option): Pass &global_options to
3651 set_Wstrict_aliasing.
3652 * c.opt (v): Don't mark Common or document here.
3653
1f6616ee 36542010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3655
3656 PR target/44981
3657 * c-format.c (format_type): New type gcc_objc_string_format_type.
3658 (valid_stringptr_type_p): New.
3659 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 3660 (check_format_string): Pass expected type, use
1f6616ee 3661 valid_stringptr_type_p (), check that the format string types are
3662 consistent with the format specification.
3663 (decode_format_attr): Warn if NSString is used outside objective-c.
3664 (format_types_orig): Add NSString.
3665 (format_name): New.
3666 (format_flags): New.
3667 (check_format_arg): Handle format strings requiring an external parser.
3668 first_target_format_type: New variable.
3669 (handle_format_attribute): Set up first_target_format_type, pass the
3670 expected format arg string type to check_format_string().
3671 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3672 * stub-objc.c (objc_string_ref_type_p): New.
3673 (objc_check_format_arg): New.
3674
b0d0931f 36752010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3676
19931eea 3677 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 3678 * c-common.h (objc_build_class_component_ref): New.
3679 * stub-objc.c (objc_build_class_component_ref): New.
3680
f26877d5 36812010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3682
3683 * c.opt (Wproperty-assign-default): New option.
3684
1ef143b6 36852010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3686
3687 Implemented -fobjc-std=objc1 flag.
3688 * c.opt (fobjc-std=objc1): New option.
3689
8c582e4f 36902010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3691
3692 Implemented format and noreturn attributes for Objective-C methods.
3693 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3694 attribute for Objective-C methods.
3695
8637f1db 36962010-10-31 Jason Merrill <jason@redhat.com>
3697
3698 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3699 EXPR_LOC_OR_HERE.
3700
9d9f5bb3 37012010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3702
3703 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3704 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3705 (objc_add_property_declaration): Removed arguments for copies and
3706 ivar.
3707 (objc_build_getter_call): Renamed to
3708 objc_maybe_build_component_ref.
3709 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3710 (objc_is_property_ref): New.
3711 * c-common.c (c_common_reswords): Removed copies and ivar.
3712 * stub-objc.c (objc_add_property_declaration): Removed arguments
3713 for copies and ivar.
3714 (objc_build_getter_call): Renamed to
3715 objc_maybe_build_component_ref.
3716 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3717 (objc_is_property_ref): New.
19931eea 3718
56f907a0 37192010-10-29 Arnaud Charlet <charlet@adacore.com>
3720 Matthew Gingell <gingell@adacore.com>
3721
3722 * c-ada-spec.c (separate_class_package): New function.
3723 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3724 name of their enclosing package.
3725 (print_ada_declaration): Use separate_class_package.
3726
b5fa273e 37272010-10-27 Jason Merrill <jason@redhat.com>
3728
5290e253 3729 * c-common.c (c_common_reswords): Add __is_literal_type.
3730 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3731
b5fa273e 3732 * c-common.c (check_case_value): Remove special C++ code.
3733
7590f0e5 37342010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3735
3736 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3737 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3738 and RID_LAST_PATTR.
3739 (objc_add_property_declaration): Added additional arguments.
3740 (objc_property_attribute_kind): Removed.
3741 (objc_set_property_attr): Removed.
3742 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3743 copy and nonatomic.
3744 * stub-objc.c (objc_add_property_declaration): Added additional
3745 arguments.
3746 (objc_set_property_attr): Removed.
19931eea 3747
1d894bcf 37482010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3749
3750 * c-common.h (objc_add_property_variable): Renamed to
3751 objc_add_property_declaration. Added location argument.
3752 * stub-objc.c (objc_add_property_variable): Same change.
3753
e23bf1fb 37542010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3755
3756 * c-common.h (objc_maybe_printable_name): New.
3757 * stub-objc.c (objc_maybe_printable_name): New.
3758
93426222 37592010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3760 Andrew Pinski <pinskia@gmail.com>
3761
3762 * c-common.h (c_common_mark_addressable_vec): Declare.
3763 * c-common.c (c_common_mark_addressable_vec): New function.
3764
45b2b110 37652010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3766
3767 * c-common.h (objc_set_method_type): Removed.
3768 (objc_add_method_declaration): Added boolean argument.
3769 (objc_start_method_definition): Same change.
3770 (objc_build_method_signature): Same change.
3771 * stub-objc.c (objc_set_method_type): Removed.
3772 (objc_add_method_declaration): Added boolean argument.
3773 (objc_start_method_definition): Same change.
3774 (objc_build_method_signature): Same change.
3775
64cd9619 37762010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3777
3778 * c-common.h (finish_file): Removed.
3779 (objc_write_global_declarations): New.
3780 * c-opts.c (c_common_parse_file): Do not call finish_file.
3781 * stub-objc.c (objc_write_global_declarations): New.
19931eea 3782
e1f293c0 37832010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3784
3785 Implemented parsing @synthesize and @dynamic for
3786 Objective-C/Objective-C++.
3787 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3788 (objc_add_synthesize_declaration): New.
3789 (objc_add_dynamic_declaration): New.
3790 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3791 * stub-objc.c (objc_add_synthesize_declaration): New.
3792 (objc_add_dynamic_declaration): New.
19931eea 3793
ef97a312 37942010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3795
3796 PR target/46041
3797 * c-cppbuiltin.c (mode_has_fma): Move function here from
3798 builtins.c. Don't use the fma optab, instead just use the
3799 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3800 using -save-temps.
3801
69b07042 38022010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3803
3804 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 3805
69b07042 3806 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3807
19931eea 3808 Radar 4330422
69b07042 3809 * c-common.h (objc_non_volatilized_type): New declaration
3810 * stub-objc.c (objc_non_volatilized_type): New stub.
3811
f15f2e56 38122010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3813
69b07042 3814 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 3815
3816 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3817
19931eea 3818 Radar 4133425
f15f2e56 3819 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 3820 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 3821
4a8875ed 38222010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3823
3824 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3825 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3826 (objc_ivar_visibility_kind): New enum.
3827 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 3828 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 3829 visibility enum.
3830
7e0713b1 38312010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3832
3833 * c-cppbuiltin.c (builtin_define_float_constants): Emit
3834 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3835 has the appropriate fma builtins.
3836 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3837
86c110ac 38382010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3839
7e0713b1 3840 merge from FSF apple 'trunk' branch.
86c110ac 3841 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 3842
86c110ac 3843 Radars 4436866, 4505126, 4506903, 4517826
3844 * c-common.c (c_common_resword): Define @property and its attributes.
3845 * c-common.h: Define property attribute enum entries.
3846 (OBJC_IS_PATTR_KEYWORD): New.
3847 (objc_property_attribute_kind): New enum.
3848 Declare objc_set_property_attr (), objc_add_property_variable (),
3849 objc_build_getter_call () and objc_build_setter_call ().
3850 * stub-objc.c (objc_set_property_attr): New stub.
3851 (objc_add_property_variable): Likewise.
3852 (objc_build_getter_call): Likewise.
3853 (objc_build_setter_call) Likewise.
7e0713b1 3854
40c8d1dd 38552010-10-13 Iain Sandoe <iains@gcc.gnu.org>
3856
7e0713b1 3857 merge from FSF apple 'trunk' branch.
40c8d1dd 3858 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3859
3860 Radar 3803157 (method attributes)
3861 * c-common.c (handle_deprecated_attribute): Recognize
3862 objc methods as valid declarations.
3863 * c-common.h: Declare objc_method_decl ().
7e0713b1 3864 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 3865
f3f006ad 38662010-10-08 Joseph Myers <joseph@codesourcery.com>
3867
3868 * c-common.c (parse_optimize_options): Call
3869 decode_cmdline_options_to_array_default_mask before
3870 decode_options. Update arguments to decode_options.
3871 * c-common.h (c_common_init_options_struct): Declare.
3872 * c-opts.c (c_common_init_options_struct): New. Split out from
3873 c_common_init_options.
3874
0a65c3bb 38752010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
3876
3877 Implemented fast enumeration for Objective-C.
3878 * c-common.h (objc_finish_foreach_loop): New.
3879 * stub-objc.c (objc_finish_foreach_loop): New.
3880
24ca3b4e 38812010-10-05 Joseph Myers <joseph@codesourcery.com>
3882
3883 * c-common.h (struct diagnostic_context): Don't declare here.
3884 (c_common_initialize_diagnostics): Declare using
3885 diagnostic_context typedef.
3886 * c-opts.c (c_common_handle_option): Pass global_dc to
3887 handle_generated_option.
3888
f83b64ca 38892010-10-04 Joseph Myers <joseph@codesourcery.com>
3890
3891 * c-opts.c (c_common_handle_option): Pass &global_options_set to
3892 handle_generated_option.
3893
2fdec027 38942010-10-03 Ian Lance Taylor <iant@google.com>
3895
3896 * c.opt (-fplan9-extensions): New option.
3897
41acdfa4 38982010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3899
3900 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3901 Remove.
3902 (c_cpp_builtins): Call functions from cppbuiltin.c instead
3903 of duplicating code.
3904
069761fb 39052010-09-30 Iain Sandoe <iains@gcc.gnu.org>
3906
3907 * c-common.c: Add two new entries for @optional
3908 and @required keywords.
3909
3910 merge from FSF 'apple/trunk' branch.
3911 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
3912
3913 Radar 4386773
3914 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3915 objective-c keywords.
3916 (objc_set_method_opt): New declaration.
3917 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 3918
2c5d2e39 39192010-09-30 Joseph Myers <joseph@codesourcery.com>
3920
3921 * c-common.c (handle_optimize_attribute): Pass &global_options to
3922 cl_optimization_save and cl_optimization_restore.
3923 * c-opts.c (c_common_handle_option): Pass &global_options to
3924 handle_generated_option.
3925 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
3926 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
3927 &global_options to cl_optimization_restore.
3928
e5c75ac3 39292010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
3930
3931 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
3932 Objective-C/Objective-C++ keywords.
3933
3511333e 39342010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 3935
19931eea 3936 Merge from 'apple/trunk' branch on FSF servers.
3937
e147d6aa 3938 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
3939
3940 Radar 4281748
3941 * c-common.h (objc_check_global_decl): New declaration.
3942 * stub-objc.c (objc_check_global_decl): New stub.
3943
5461e683 39442010-09-29 Joseph Myers <joseph@codesourcery.com>
3945
3946 * c.opt: Don't use VarExists.
3947
5ae82d58 39482010-09-29 Joseph Myers <joseph@codesourcery.com>
3949
3950 * c-common.c (c_cpp_error): Update names of diagnostic_context
3951 members.
3952 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
3953 cl_optimization members.
3954 * c-opts.c (warning_as_error_callback, c_common_handle_option,
3955 sanitize_cpp_opts, finish_options): Update names of cpp_options
3956 members.
3957
b27e241e 39582010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
3959
3960 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
3961 (objc_is_reserved_word): Removed.
3962 * c-common.c: Updated comments.
3963 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
3964 objc_is_reserved_word.
3965 * stub-objc.c (objc_is_reserved_word): Removed.
3966
03fc2271 39672010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3968
19931eea 3969 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 3970 include attributes.
3971 (objc_start_method_definition): Likewise.
3972 (objc_build_keyword_decl): Likewise.
3973 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
3974 (objc_start_method_definition): Likewise.
3975 (objc_build_keyword_decl): Likewise.
3976
a336eb4b 39772010-09-28 Iain Sandoe <iains@gcc.gnu.org>
3978
3979 * c-common.h (objc_start_class_interface): Adjust prototype.
3980 (objc_start_category_interface): Likewise.
3981 (objc_start_protocol): Likewise.
3982 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
3983 (objc_start_class_interface): Likewise.
3984 (objc_start_category_interface): Likewise.
3985
48b14f50 39862010-09-27 Ian Lance Taylor <iant@google.com>
3987
3988 * c-common.c (c_common_attribute_table): Add no_split_stack.
3989 (handle_no_split_stack_attribute): New static function.
3990
4abfc532 39912010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
3992
19931eea 3993 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 3994
3995 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
3996
19931eea 3997 Radar 4229905
4abfc532 3998 * c-common.h (objc_have_common_type): New declaration.
3999 * stub-objc.c (objc_have_common_type): New stub.
4000
4001 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4002
4003 Radar 4154928
4004 * c-common.h (objc_common_type): New prototype.
19931eea 4005 * stub-objc.c (objc_common_type): New stub.
4abfc532 4006
7bd95dfd 40072010-09-24 Jan Hubicka <jh@suse.cz>
4008
4009 * c-common.c (handle_leaf_attribute): New function.
4010 (struct attribute_spec c_common_att): Add leaf.
4011
5789e05b 40122010-09-22 Joseph Myers <joseph@codesourcery.com>
4013
4014 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4015 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4016 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4017 -include-barrier, -include-directory, -include-directory=,
4018 -include-directory-after, -include-directory-after=,
4019 -include-prefix, -include-prefix=, -include-with-prefix,
4020 -include-with-prefix=, -include-with-prefix-after,
4021 -include-with-prefix-after=, -include-with-prefix-before,
4022 -include-with-prefix-before=, -no-integrated-cpp,
4023 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4024 -output=, -pedantic, -pedantic-errors, -preprocess,
4025 -print-missing-file-dependencies, -trace-includes, -traditional,
4026 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4027 -user-dependencies, -verbose, -write-dependencies,
4028 -write-user-dependencies, no-integrated-cpp, traditional): New.
4029
e6fb54ba 40302010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4031
4032 PR objc/23710
9b60f3b0 4033 * c-common.h (objc_start_method_definition): Return bool instead
4034 of void.
4035 * stub-objc.c (objc_start_method_definition): Return bool instead
4036 of void.
4037
40382010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4039
4040 PR objc/25965
4041 * c-common.h (objc_get_interface_ivars): New declaration.
4042 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4043
e44b0a1f 40442010-09-15 Ian Lance Taylor <iant@google.com>
4045
4046 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4047 messages. Remove period at end of warning message.
e44b0a1f 4048
85c0a25c 40492010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4050
4051 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4052 (handle_alias_attribute): ... here.
4053 (handle_ifunc_attribute): New.
4054
5ba33bf4 40552010-09-06 Mark Mitchell <mark@codesourcery.com>
4056
4057 * c-common.h (do_warn_double_promotion): Declare.
4058 * c-common.c (do_warn_double_promotion): Define.
4059
c920faa3 40602010-09-05 Mark Mitchell <mark@codesourcery.com>
4061
4062 * c.opt (Wdouble-promotion): New.
4063
9604e070 40642010-09-02 Joseph Myers <joseph@codesourcery.com>
4065
4066 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4067 fvtable-thunks, fxref): Mark no longer supported in help text.
4068
3b0273a1 40692010-09-02 Joseph Myers <joseph@codesourcery.com>
4070
4071 * c.opt (Wimport, fall-virtual, falt-external-templates,
4072 fdefault-inline, fenum-int-equiv, fexternal-templates,
4073 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4074 fname-mangling-version-, fnew-abi, fnonnull-objects,
4075 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4076 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4077 applicable.
4078 (fhandle-exceptions): Mark with Alias and Warn.
4079 * c-opts.c (c_common_handle_option): Don't handle options marked
4080 as ignored.
4081
67089c6b 40822010-09-02 Joseph Myers <joseph@codesourcery.com>
4083
4084 * c.opt (Wcomments, Werror-implicit-function-declaration,
4085 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4086 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4087 aliases.
4088 * c-common.c (option_codes): Use OPT_Wcomment instead of
4089 OPT_Wcomments.
4090 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4091 Don't handle options marked as aliases.
4092
2af087f2 40932010-08-25 Richard Guenther <rguenther@suse.de>
4094
4095 * c-common.c (c_common_get_alias_set): Remove special
4096 handling for pointers.
4097
48148244 40982010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4099
4100 * c-common.c: Use FOR_EACH_VEC_ELT.
4101 * c-gimplify.c: Likewise.
4102 * c-pragma.c: Likewise.
4103
89c69892 41042010-08-16 Joseph Myers <joseph@codesourcery.com>
4105
4106 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4107 RejectDriver.
4108 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4109 RejectDriver.
4110 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4111 instead of OPT_MDX and OPT_MMDX.
4112
e28aa114 41132010-08-16 Joseph Myers <joseph@codesourcery.com>
4114
4115 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4116
99b66d21 41172010-08-12 Joseph Myers <joseph@codesourcery.com>
4118
4119 * c.opt (MD, MMD): Change to MDX and MMDX.
4120 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4121
666f4bf0 41222010-08-11 Joseph Myers <joseph@codesourcery.com>
4123
4124 * c-opts.c (c_common_handle_option): Call handle_generated_option
4125 instead of handle_option.
4126
5ec815f6 41272010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4128
4129 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4130 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4131
d13143cf 41322010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4133
4134 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4135 (pending_redefine_extname): Change type to a VEC.
4136 (add_to_renaming_pragma_list): Update for new type of
4137 pending_redefine_extname.
5ec815f6 4138 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4139
2008c983 41402010-08-04 Arnaud Charlet <charlet@adacore.com>
4141
4142 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4143 visited.
4144 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4145 decide whether a type has already been declared/seen.
4146 Do not go to the original type.
4147 (dump_nested_types): New parameter forward.
4148 Generate forward declaration if needed and mark type as visited.
4149 (print_ada_declaration): Call dump_nested_types if not already done.
4150 Mark types as visited.
4151
9b091a73 41522010-08-03 Joseph Myers <joseph@codesourcery.com>
4153
4154 * c.opt (-print-pch-checksum): Remove option.
4155 * c-opts.c (c_common_handle_option): Don't handle
4156 OPT_print_pch_checksum.
4157
b78351e5 41582010-07-27 Joseph Myers <joseph@codesourcery.com>
4159
4160 * c-common.h (c_common_handle_option): Update prototype and return
4161 value type.
4162 * c-opts.c (c_common_handle_option): Update prototype and return
4163 value type. Update calls to handle_option and
4164 enable_warning_as_error.
4165
34416a90 41662010-07-27 Jakub Jelinek <jakub@redhat.com>
4167
4168 PR c/45079
4169 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4170
fecf9011 41712010-07-27 Joseph Myers <joseph@codesourcery.com>
4172
4173 * c-common.h (c_common_missing_argument): Remove.
4174 * c-opts.c (c_common_missing_argument): Remove.
4175 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4176 idirafter, imacros, include, isysroot, isystem, iquote): Add
4177 MissingArgError.
4178 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4179
e88d34f6 41802010-07-27 Joseph Myers <joseph@codesourcery.com>
4181
4182 * c-common.h (c_common_option_lang_mask,
4183 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4184 New.
4185 (c_common_init_options): Update prototype.
4186 * c-opts.c (c_common_option_lang_mask): New.
4187 (c_common_initialize_diagnostics): Split out of
4188 c_common_init_options.
4189 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4190 New.
4191 (c_common_init_options): Update prototype. Use decoded options in
4192 search for -lang-asm.
4193
1767a056 41942010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4195
4196 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4197 * c-format.c: Likewise.
4198
0b205f4c 41992010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4200
4201 * c-common.h: Include diagnostic-core.h. Error if already
4202 included.
4203 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4204
1c58e3f1 42052010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4206
4207 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
4208 Do not include expr.h
4209 (vector_mode_valid_p): Move here.
4210
33cc157c 42112010-06-21 DJ Delorie <dj@redhat.com>
4212
4213 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4214 allow these pragmas anywhere.
4215
42162010-06-14 Jakub Jelinek <jakub@redhat.com>
4217
4218 PR bootstrap/44509
4219 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4220 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4221 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4222 ggc_strdup instead of xstrdup.
4223
42242010-06-10 Jakub Jelinek <jakub@redhat.com>
4225
4226 * c-cppbuiltin.c: Include cpp-id-data.h.
4227 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4228 (lazy_hex_fp_value): New function.
4229 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4230
9b40bfbf 42312010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4232
4233 * c-gimplify.c: Do not include tree-flow.h
4234
202d6e5f 42352010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4236
4237 PR other/44034
4238 * c-common.c: Rename targetm member:
4239 targetm.enum_va_list -> targetm.enum_va_list_p
4240
d3237426 42412010-06-28 Anatoly Sokolov <aesok@post.ru>
4242
4243 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4244
596981c8 42452010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4246
4247 * c-cppbuiltin.c: Do not include except.h.
4248
b9bdfa0b 42492010-06-24 Andi Kleen <ak@linux.intel.com>
4250
19931eea 4251 * c-common.c (warn_for_omitted_condop): New.
4252 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4253
55ad092d 42542010-06-21 Joseph Myers <joseph@codesourcery.com>
4255
4256 * c.opt (lang-objc): Remove.
4257 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4258
9e7c2572 42592010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4260
4261 * c-opts.c: Include "tm_p.h".
4262
615ef0bb 42632010-06-20 Joseph Myers <joseph@codesourcery.com>
4264
4265 * c-common.c (parse_optimize_options): Update call to
4266 decode_options.
4267
aef48c9a 42682010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4269
4270 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4271 new type of types_used_by_cur_var_decl.
4272
d74003b4 42732010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4274
4275 PR bootstrap/44512
4276 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4277 for C++ standard compliance.
4278
1194d077 42792010-06-16 Jason Merrill <jason@redhat.com>
4280
4281 * c.opt: Add -Wnoexcept.
4282
d473d901 42832010-06-16 Richard Guenther <rguenther@suse.de>
4284
4285 PR c/44555
4286 * c-common.c (c_common_truthvalue_conversion): Remove
4287 premature and wrong optimization concering ADDR_EXPRs.
4288
b62dbfd3 42892010-06-15 Arnaud Charlet <charlet@adacore.com>
4290
4291 * c-ada-spec.c (dump_sloc): Remove column info.
4292 (is_simple_enum): New function.
4293 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4294 enum types when relevant.
4295
200dd99c 42962010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4297
19931eea 4298 * c-common.c (conversion_warning): Warn at expression
200dd99c 4299 location.
4300
abf6a617 43012010-06-10 Joseph Myers <joseph@codesourcery.com>
4302
4303 * c-opts.c (c_common_handle_option): Don't handle
4304 OPT_fshow_column.
4305
ba72912a 43062010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4307
4308 * c-pragma.c (push_alignment): Use typed GC allocation.
4309 (handle_pragma_push_options): Likewise.
4310
4311 * c-common.c (parse_optimize_options): Likewise.
4312
4313 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4314 option.
4315
4aafe913 43162010-06-07 Joseph Myers <joseph@codesourcery.com>
4317
4318 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4319 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4320 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4321 flag_signed_bitfields, warn_strict_null_sentinel,
4322 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4323 flag_gen_declaration, flag_no_gnu_keywords,
4324 flag_implement_inlines, flag_implicit_templates,
4325 flag_implicit_inline_templates, flag_optional_diags,
4326 flag_elide_constructors, flag_default_inline, flag_rtti,
4327 flag_conserve_space, flag_access_control, flag_check_new,
4328 flag_new_for_scope, flag_weak, flag_working_directory,
4329 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4330 flag_enforce_eh_specs, flag_threadsafe_statics,
4331 flag_pretty_templates): Remove.
4332 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4333 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4334 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4335 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4336 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4337 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4338 flag_no_gnu_keywords, flag_implement_inlines,
4339 flag_implicit_templates, flag_implicit_inline_templates,
4340 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4341 flag_rtti, flag_conserve_space, flag_access_control,
4342 flag_check_new, flag_new_for_scope, flag_weak,
4343 flag_working_directory, flag_use_cxa_atexit,
4344 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4345 flag_threadsafe_statics, flag_pretty_templates,
4346 warn_strict_null_sentinel): Remove.
4347 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4348 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4349 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4350 fimplicit-inline-templates, fimplicit-templates,
4351 flax-vector-conversions, fms-extensions, fnil-receivers,
4352 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4353 frtti, fshort-double, fshort-enums, fshort-wchar,
4354 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4355 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4356 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4357 gen-decls, undef): Use Var.
4358 (fdefault-inline, foptional-diags): Document as doing nothing.
4359 * c-opts.c (c_common_handle_option): Remove cases for options now
4360 using Var. Mark ignored options as such.
4361
7bedc3a0 43622010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4363
19931eea 4364 * c-common.c: Moved to here from parent directory.
7bedc3a0 4365 * c-common.def: Likewise.
4366 * c-common.h: Likewise.
4367 * c-cppbuiltin.c: Likewise.
4368 * c-dump.c: Likewise.
4369 * c-format.c: Likewise.
4370 * c-format.h : Likewise.
4371 * c-gimplify.c: Likewise.
4372 * c-lex.c: Likewise.
4373 * c-omp.c: Likewise.
4374 * c.opt: Likewise.
4375 * c-opts.c: Likewise.
4376 * c-pch.c: Likewise.
4377 * c-ppoutput.c: Likewise.
4378 * c-pragma.c: Likewise.
4379 * c-pragma.h: Likewise.
4380 * c-pretty-print.c: Likewise.
4381 * c-pretty-print.h: Likewise.
4382 * c-semantics.c: Likewise.
4383 * stub-objc.c: Likewise.
4384
4385 * c-common.c: Include gt-c-family-c-common.h.
4386 * c-pragma.c: Include gt-c-family-c-pragma.h.
4387\f
3aea1f79 4388Copyright (C) 2010-2014 Free Software Foundation, Inc.
7bedc3a0 4389
4390Copying and distribution of this file, with or without modification,
4391are permitted in any medium without royalty provided the copyright
4392notice and this notice are preserved.