]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Add new file gcc/testsuite/jit.dg/test-constants.c erroneously omitted from r219401
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
411b7663 12015-01-08 Jason Merrill <jason@redhat.com>
2
3 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
4 do_ubsan_in_current_function.
5 (ubsan_maybe_instrument_reference_or_call): Likewise.
6 * c-ubsan.h: Declare it.
7
d1e96383 82015-01-08 Mike Stump <mikestump@comcast.net>
9
10 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
11
b57910fa 122015-01-07 Marek Polacek <polacek@redhat.com>
13
14 PR c/64440
15 * c-common.c (c_fully_fold_internal): Warn for division and modulo
16 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
17
678a4e3e 182015-01-05 Trevor Saunders <tsaunders@mozilla.com>
19
20 PR c++/31397
21 * c.opt (Wsuggest-override): New option.
22
d353bf18 232015-01-05 Jakub Jelinek <jakub@redhat.com>
24
25 Update copyright years.
26
92b63884 272015-01-05 Marek Polacek <polacek@redhat.com>
28
29 PR c/64423
30 * c-common.c (warn_array_subscript_with_type_char): Add location_t
31 parameter. Use it.
32 * c-common.h (warn_array_subscript_with_type_char): Update
33 declaration.
34
83715bc4 352014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
36
37 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
38 Control macro with flag_sized_deallocation.
39
8a8211df 402014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
41
42 * c.opt (Wdiscarded-array-qualifiers): New option.
43
33058239 442014-12-19 Jakub Jelinek <jakub@redhat.com>
45
46 PR preprocessor/63831
47 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
48 and __has_cpp_attribute here.
49 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
50 c_common_has_attribute.
51 * c-common.h (c_common_has_attribute): New prototype.
52 * c-lex.c (init_c_lex): Set cb->has_attribute to
53 c_common_has_attribute instead of cb_has_attribute.
54 (get_token_no_padding): New function.
55 (cb_has_attribute): Renamed to ...
56 (c_common_has_attribute): ... this. No longer static. Use
57 get_token_no_padding, require ()s, don't build TREE_LIST
58 unnecessarily, fix up formatting, adjust diagnostics, call
59 init_attributes.
60
d1856d2c 612014-12-15 Jason Merrill <jason@redhat.com>
62
63 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
64 (-Wsized-deallocation): New.
65 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
66 to on in C++14 and up.
67
4972ed5d 682014-12-11 Jason Merrill <jason@redhat.com>
69
7d7fa964 70 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
71
4972ed5d 72 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
73 we aren't complaining about VLAs.
74
5ebccf71 752014-12-06 Marek Polacek <polacek@redhat.com>
76
77 PR tree-optimization/64183
78 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
79 shift-expression if it is integer_type_node. Use types_compatible_p.
80
f9e245b2 812014-11-29 Jakub Jelinek <jakub@redhat.com>
82
83 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
84 last argument from create_tmp_var_raw and create_tmp_var calls.
85 * cilk.c (gimplify_cilk_spawn): Likewise.
86 * c-omp.c (c_finish_omp_atomic): Likewise.
87
d2f60593 882014-11-28 Marek Polacek <polacek@redhat.com>
89
90 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
91 instead of unsigned_type_node.
92
fce2dbd1 932014-11-28 Marek Polacek <polacek@redhat.com>
94
95 PR c/63862
96 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
97 to op1_utype.
98 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
99 expression to unsigned_type_node.
100
3a4a2292 1012014-11-20 Mark Wielaard <mjw@redhat.com>
102
103 PR debug/38757
104 * c-opts.c (set_std_c89): Set lang_hooks.name.
105 (set_std_c99): Likewise.
106 (set_std_c11): Likewise.
107 (set_std_cxx98): Likewise.
108 (set_std_cxx11): Likewise.
109 (set_std_cxx14): Likewise.
110 (set_std_cxx1z): Likewise.
111
c61ef207 1122014-11-21 Jakub Jelinek <jakub@redhat.com>
113
114 PR target/63764
115 * c-common.h (convert_vector_to_pointer_for_subscript): Change
116 return type to bool.
c9ed79de 117 * c-common.c: Include gimple-expr.h.
c61ef207 118 (convert_vector_to_pointer_for_subscript): Change return type to
119 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
120 and copy it into a TARGET_EXPR and use that instead of *vecp
121 directly.
122
1a91d914 1232014-11-19 David Malcolm <dmalcolm@redhat.com>
124
125 Merger of git branch "gimple-classes-v2-option-3".
126 * ChangeLog.gimple-classes: New.
127 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
128 from being just a vec<gimple> to a vec<gbind *>.
129
f8fc8b8e 1302014-11-18 Jakub Jelinek <jakub@redhat.com>
131
132 PR sanitizer/63813
133 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
134 argument to ptype, set type to TREE_TYPE (ptype). Don't call
135 get_pointer_alignment for non-pointers. Use ptype, or if it is
136 reference type, corresponding pointer type, as type of kind
137 argument.
138 (ubsan_maybe_instrument_reference,
139 ubsan_maybe_instrument_member_call): Adjust callers.
140
8315e35e 1412014-11-15 Marek Polacek <polacek@redhat.com>
142
143 PR middle-end/63884
144 * array-notation-common.c (is_sec_implicit_index_fn): Return false
145 for NULL fndecl.
146 (extract_array_notation_exprs): Return for NULL node.
147
86b9f14b 1482014-11-12 Joseph Myers <joseph@codesourcery.com>
149
150 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
151 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
152
0c93c8a9 1532014-11-12 Jakub Jelinek <jakub@redhat.com>
154
155 PR c/59708
156 * c-common.c (check_builtin_function_arguments): Handle
157 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
158
fdd735a7 1592014-11-10 Andi Kleen <ak@linux.intel.com>
160
161 PR c/60804
162 * c-common.h (check_no_cilk): Declare.
163 * cilk.c (get_error_location): New function.
164 (check_no_cilk): Dito.
165
5cb678b4 1662014-11-10 Andi Kleen <ak@linux.intel.com>
167
168 * cilk.c (recognize_spawn): Use expression location
169 for error message.
170
0feb4de1 1712014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
172
173 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
174
3aa2fa44 1752014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
176
177 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
178 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
179 (__cpp_range_based_for, __cpp_initializer_lists,
180 __cpp_delegating_constructors, __cpp_nsdmi,
181 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
182 for C++11; (__cpp_attribute_deprecated): Remove in favor of
183 __has_cpp_attribute.
184 * c-lex.c (cb_has_attribute): New callback CPP function;
185 (init_c_lex): Set has_attribute callback.
186
7fd22aae 1872014-11-04 Richard Biener <rguenther@suse.de>
188
189 * c-common.c (shorten_compare): Do not shorten mixed
190 DFP and non-DFP compares.
191
4af203ac 1922014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
193
194 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
195 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
196 Commentary and rearrangement of tests.
197 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
198 Commentary and rearrangement of tests.
199 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
200 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
201
3754d046 2022014-10-29 Richard Sandiford <richard.sandiford@arm.com>
203
204 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
205 enum from machine_mode.
206
1140c305 2072014-10-28 Andrew MacLeod <amacleod@redhat.com>
208
209 * c-family/c-common.c: Adjust include files.
210 * c-family/c-gimplify.c: Ditto.
211 * c-family/cilk.c: Ditto.
212 * c-family/c-pragma.c: Ditto.
213 * c-family/c-ubsan.c: Ditto.
214
94ea8568 2152014-10-27 Andrew MacLeod <amacleod@redhat.com>
216
217 * c-gimplify.c: Adjust include files.
218
32ecf960 2192014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
220
221 PR c++/53061
222 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
223 c_common_initialize_diagnostics.
224 * c-common.h: Likewise.
225
85fecbe2 2262014-10-24 Marek Polacek <polacek@redhat.com>
227
228 PR c/56980
229 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
230 print "struct"/"union"/"enum" for typedefed names.
231
e7ec033a 2322014-10-23 Marek Polacek <polacek@redhat.com>
233
234 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
235 in unsigned type.
236
c2598081 2372014-10-22 Jakub Jelinek <jakub@redhat.com>
238 Yury Gribov <y.gribov@samsung.com>
239
240 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
241 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
242 instead of flag_sanitize_recover as bool flag.
243
acebb7e2 2442014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
245
246 * cilk.c: Revert previous change.
247
6115016c 2482014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
249
250 PR c/63307
251 * cilk.c: Include vec.h.
252 (struct cilk_decls): New structure.
253 (wrapper_parm_cb): Split this function to...
254 (fill_decls_vec): ...this...
255 (create_parm_list): ...and this.
256 (compare_decls): New function.
257 (for_local_cb): Remove.
258 (wrapper_local_cb): Ditto.
259 (build_wrapper_type): For now first traverse and fill vector of
260 declarations then sort it and then deal with sorted vector.
261 (cilk_outline): Ditto.
262 (declare_one_free_variable): Ditto.
263
e610d2b2 2642014-10-17 Marek Polacek <polacek@redhat.com>
265
266 * c-opts.c (c_common_post_options): Set warn_implicit_int.
267 * c.opt (Wimplicit-int): Initialize to -1.
268
a3020f2f 2692014-10-16 Andrew MacLeod <amacleod@redhat.com>
270
271 * c-pragma.c: Adjust include files.
272 * c-semantics.c: Likewise.
273
926ddd2c 2742014-10-16 DJ Delorie <dj@redhat.com>
275
276 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
277 multiples of bytes.
278
b0542e7c 2792014-10-14 Jason Merrill <jason@redhat.com>
280
281 PR c++/63455
282 * c-common.h (CPP_PREPARSED_EXPR): New.
283 (N_CP_TTYPES): Adjust.
284
b2601928 2852014-10-15 Marek Polacek <polacek@redhat.com>
286
287 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
288
9f75f026 2892014-10-14 DJ Delorie <dj@redhat.com>
290
291 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
292 types, not just __int128.
293 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
294 types, not just __int128.
295 (cpp_atomic_builtins): Round pointer sizes up.
296 (type_suffix): Use type precision, not specific types.
297 * c-common.c (c_common_reswords): Remove __int128 special case.
298 (c_common_type_for_size): Check for all __intN types, not just
299 __int128.
300 (c_common_type_for_mode): Likewise.
301 (c_common_signed_or_unsigned_type): Likewise.
302 (c_build_bitfield_integer_type): Likewise.
303 (c_common_nodes_and_builtins): Likewise.
304 (keyword_begins_type_specifier): Likewise.
305 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
306 __intN variants.
307
2ef51f0e 3082014-10-12 Trevor Saunders <tsaunders@mozilla.com>
309
310 * c-common.c: Use hash_table instead of hashtab.
311
5b8257e3 3122014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
313
314 * c-family/c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
315 C++11 section.
316
5e84569c 3172014-10-03 Marc Glisse <marc.glisse@inria.fr>
318
319 PR c++/54427
320 PR c++/57198
321 PR c++/58845
322 * c-common.c (warn_logical_operator): Punt for vectors.
323
f6751ff2 3242014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
325
326 Implement SD-6: SG10 Feature Test Recommendations
327 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
328 macros and the __has_header macro.
329
c33e051d 3302014-09-30 Jason Merrill <jason@redhat.com>
331
f76a9aa8 332 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
333 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
334 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
335
717e52f9 336 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
337 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
338
c33e051d 339 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
340 * c-common.c (c_common_reswords): Remove __is_convertible_to.
341
5213d6c9 3422014-09-24 Marek Polacek <polacek@redhat.com>
343
344 PR c/61405
345 PR c/53874
346 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
347
6b722052 3482014-09-23 Andi Kleen <ak@linux.intel.com>
349
350 * c-common.c (handle_no_reorder_attribute): New function.
351 (c_common_attribute_table): Add no_reorder attribute.
352
0cb69d12 3532014-09-22 Joseph Myers <joseph@codesourcery.com>
354
355 * c-cppbuiltin.c (c_cpp_builtins): Define
356 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
357 modes.
358
168dfbf0 3592014-09-18 Joseph Myers <joseph@codesourcery.com>
360
361 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
362 for supported floating-point modes.
363
b83705f4 3642014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
365
366 * c.opt (Wpsabi): Use LangEnabledBy.
367 * c-opts.c (c_common_handle_option): Do not handle here.
368
d5957f0d 3692014-09-12 Joseph Myers <joseph@codesourcery.com>
370
371 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
372 macros for floating-point modes.
373
bae6edff 3742014-09-11 Marc Glisse <marc.glisse@inria.fr>
375
376 PR target/58757
377 * c-cppbuiltin.c (builtin_define_float_constants): Correct
378 __*_DENORM_MIN__ without denormals.
379
73a69d02 3802014-09-10 Jakub Jelinek <jakub@redhat.com>
381
382 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
383 ubsan_instrument_vla, ubsan_instrument_return): Adjust
384 ubsan_create_data callers.
385 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
386 index is constant or BIT_AND_EXPR with constant mask and is
387 small enough for the bound.
388 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
389 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
390
7ff8db31 3912014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
392
393 * c.opt: Add CppReason to various flags.
394 (Wdate-time): Re-sort.
395 * c-common.c: Include c-common.h earlier.
396 (struct reason_option_codes_t): Delete.
397 (c_option_controlling_cpp_error): Prefix global type and struct
398 with cpp_.
399
bcc1f37e 4002014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
401
402 * c.opt (Wnormalized): New.
403 (Wnormalized=): Use Enum and Reject Negative.
404 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
405
b660d3c6 4062014-09-08 Joseph Myers <joseph@codesourcery.com>
407
408 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
409 digits of floating-point modes if -fbuilding-libgcc.
410
325b8c3c 4112014-09-05 Joseph Myers <joseph@codesourcery.com>
412
413 * c-cppbuiltin.c (c_cpp_builtins): Also define
414 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
415 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
416 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
417 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
418 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
419 __LIBGCC_STACK_GROWS_DOWNWARD__,
420 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
421 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
422 __LIBGCC_DWARF_FRAME_REGISTERS__,
423 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
424 __LIBGCC_STACK_POINTER_REGNUM__ and
425 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
426 (builtin_define_with_value): Handle backslash-escaping in string
427 macro values.
428
1e074e77 4292014-09-05 Richard Biener <rguenther@suse.de>
430
431 PR middle-end/63148
432 * c-format.c (check_format_arg): Properly handle
433 effectively signed POINTER_PLUS_EXPR offset.
434
04afd878 4352014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
436
437 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
438 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
439 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
440 and Init.
441 * c-opts.c (c_common_handle_option): Do not handle here.
442 (sanitize_cpp_opts): Likewise.
443 * c-common.c (struct reason_option_codes_t): Handle
444 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
445
a3f448f0 4462014-09-03 Marek Polacek <polacek@redhat.com>
447
448 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
449
40750995 4502014-09-02 Jakub Jelinek <jakub@redhat.com>
451 Balaji V. Iyer <balaji.v.iyer@intel.com>
452 Igor Zamyatin <igor.zamyatin@intel.com>
453
454 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
455 * c-common.c (c_common_reswords): Added _Cilk_for.
456 * c-common.h (enum rid): Added RID_CILK_FOR.
457 (cilk_for_number_of_iterations): Add declaration.
458 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
459 CILK_FOR.
460 * c-pragma.c (init_pragma): Register "grainsize" pragma.
461 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
462
f0fbe519 4632014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
464
465 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
466 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
467 Wundef): Use CPP, Var and Init.
468 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
469
a7d2e480 4702014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
471
472 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
473 * c-opts.c (c_common_handle_option): Do not handle here.
474
c35e53f1 4752014-08-25 Jason Merrill <jason@redhat.com>
476
477 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
478 -std=c++14 and -std=gnu++14, rather than the reverse.
479 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
480 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
481 * c-common.h (cxx_dialect): Remove cxx1y.
482
4e454776 4832014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
484
485 * c-common.h (enum cxx_dialect): Add cxx14.
486 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
487 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
488 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
489
af1a80f2 4902014-08-22 Jason Merrill <jason@redhat.com>
491
492 * c.opt (std=gnu++17): Fix alias.
493
dc6229e8 4942014-08-22 Marek Polacek <polacek@redhat.com>
495
496 PR c++/62199
497 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
498 check for vector types. Drop LHS argument.
499 * c-common.h (warn_logical_not_parentheses): Adjust.
500
ba7f7c88 5012014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
502
503 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
504 (Wmultichar): Likewise.
505 (Wdate-time): Use C-family languages instead of Common. Use CPP
506 and Var.
507 * c-opts.c (c_common_handle_option): Do not handle the above
508 options here.
509 (sanitize_cpp_opts): Likewise.
510
399d4f80 5112014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
512
513 PR fortran/44054
514 * c-opts.c: Include tree-diagnostics.h.
515 (c_diagnostic_finalizer): New.
516 (c_common_initialize_diagnostics): Use it.
517
1babed5f 5182014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
519
520 PR preprocessor/51303
521 * c-common.c (struct reason_option_codes_t option_codes):
522 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
523
3636964b 5242014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
525
526 PR c/60975
527 PR c/53063
528 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
529 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
530 (c_common_post_options): Call init_global_opts_from_cpp.
531 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
532
78bf4156 5332014-08-19 Marek Polacek <polacek@redhat.com>
534
535 PR c++/62153
536 * c-common.c (maybe_warn_bool_compare): New function.
537 * c-common.h (maybe_warn_bool_compare): Declare.
538 * c.opt (Wbool-compare): New option.
539
508ea33a 5402014-08-19 Marek Polacek <polacek@redhat.com>
541
542 * c.opt (Wc99-c11-compat): New option.
543
806fe15e 5442014-08-19 Marek Polacek <polacek@redhat.com>
545
546 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
547 to warn_c90_c99_compat.
548 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
549 to -1.
550
6c867de1 5512014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
552 Steven Bosscher <steven@gcc.gnu.org>
553
554 PR c/52952
555 * c-format.c: Add extra_arg_loc and format_string_loc to struct
556 format_check_results.
557 (check_function_format): Use true and add comment for boolean
558 argument.
559 (finish_dollar_format_checking): Use explicit location when warning.
560 (check_format_info): Likewise.
561 (check_format_arg): Set extra_arg_loc and format_string_loc.
562 (check_format_info_main): Use explicit location when warning.
563 (check_format_types): Pass explicit location.
564 (format_type_warning): Likewise.
565
dc8078a3 5662014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
567
568 PR fortran/44054
569 * c-format.c: Handle Fortran flags.
570
d271ec7e 5712014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
572
573 PR other/61962
574 * array-notation-common.c (find_rank): Added handling for other
575 types of references.
576
890c2e2f 5772014-08-10 Marek Polacek <polacek@redhat.com>
578
579 PR c/51849
580 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
581 * c.opt (Wc90-c99-compat): Add option.
582
7149db5f 5832014-08-07 Trevor Saunders <tsaunders@mozilla.com>
584
585 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
586
2d2f6a15 5872014-08-03 Marek Polacek <polacek@redhat.com>
588
589 * c-common.c (check_case_value): Add location_t parameter. Use it.
590 (c_add_case_label): Pass loc to check_case_value.
591
06ecf488 5922014-08-02 Trevor Saunders <tsaunders@mozilla.com>
593
594 * cilk.c: Use hash_map instead of pointer_map.
595
431205b7 5962014-08-02 Trevor Saunders <tsaunders@mozilla.com>
597
598 * c-gimplify.c: Use hash_set instead of pointer_set.
599
3394c80c 6002014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
601
602 PR middle-end/61455
603 * array-notation-common.c (extract_array_notation_exprs): Handling
604 of DECL_EXPR added.
605
392dee1e 6062014-08-01 Jakub Jelinek <jakub@redhat.com>
607
608 * c-common.h (min_align_of_type): Removed prototype.
609 * c-common.c (min_align_of_type): Removed.
610 * c-ubsan.h (ubsan_maybe_instrument_reference,
611 ubsan_maybe_instrument_member_call): New prototypes.
612 * c-ubsan.c: Include stor-layout.h and builtins.h.
613 (ubsan_maybe_instrument_reference_or_call,
614 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
615 functions.
616
f22a2cb7 6172014-07-31 Marc Glisse <marc.glisse@inria.fr>
618
619 PR c++/60517
620 * c.opt (-Wreturn-local-addr): Move to common.opt.
621
87b0198f 6222014-07-30 Jason Merrill <jason@redhat.com>
623
624 PR c++/61659
625 PR c++/61687
626 Revert:
627 * c.opt (-fuse-all-virtuals): New.
628
74691f46 6292014-07-30 Tom Tromey <tromey@redhat.com>
630
631 PR c/59855
632 * c.opt (Wdesignated-init): New option.
633 * c-common.c (c_common_attribute_table): Add "designated_init".
634 (handle_designated_init): New function.
635
9140d56f 6362014-07-24 Marek Polacek <polacek@redhat.com>
637
638 PR c/57653
639 * c-opts.c (c_finish_options): If -imacros is in effect, return.
640
a09c5cc2 6412014-07-16 Dodji Seketeli <dodji@redhat.com>
642
643 PR preprocessor/60723 - missing system-ness marks for macro tokens
644 * c-ppoutput.c (struct print::prev_was_system_token): New data
645 member.
646 (init_pp_output): Initialize it.
647 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
648 (do_line_change): Return a flag saying if a line marker was
649 emitted or not.
650 (scan_translation_unit): Detect if the system-ness of the token we
651 are about to emit is different from the one of the previously
652 emitted token. If so, emit a line marker. Avoid emitting useless
653 adjacent line markers. Avoid emitting line markers for tokens
654 originating from the expansion of built-in macros.
655 (scan_translation_unit_directives_only): Adjust.
656
2b25b62f 6572014-07-15 Marek Polacek <polacek@redhat.com>
658
659 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
660 TYPE_MAX_VALUE is NULL.
661
305d96bc 6622014-07-14 Jakub Jelinek <jakub@redhat.com>
663
664 PR middle-end/61294
665 * c.opt (Wmemset-transposed-args): New warning.
666
8ea4660d 6672014-07-10 Jason Merrill <jason@redhat.com>
668
669 PR c++/61659
670 PR c++/61687
671 * c.opt (-fuse-all-virtuals): New.
672
cd480f3d 6732014-07-09 Richard Biener <rguenther@suse.de>
674
675 PR c-family/61741
676 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
677 using unsigned arithmetic if overflow does not wrap instead of
678 if overflow is undefined.
679
87d59e72 6802014-07-06 Marek Polacek <polacek@redhat.com>
681
682 PR c/6940
683 * c.opt (Wsizeof-array-argument): New option.
684
d69521d8 6852014-07-03 Jakub Jelinek <jakub@redhat.com>
686
687 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
688 comments->count <= 1, as comments->entries might be NULL.
689
1207866e 6902014-07-01 Marek Polacek <polacek@redhat.com>
691
692 * c.opt (Wint-conversion): New option.
693
7a6bbb76 6942014-07-01 Marek Polacek <polacek@redhat.com>
695
696 PR c/58286
697 * c.opt (Wincompatible-pointer-types): New option.
698
9d4eeb52 6992014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
700
701 PR c++/51400
702 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
703 Do not discard TYPE_QUALS of type.
704
4b53bc0f 7052014-06-26 Jason Merrill <jason@redhat.com>
706
707 * c-common.h (enum cxx_dialect): Add cxx1z.
708 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
709 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
710
a8a8d4ea 7112014-06-26 Teresa Johnson <tejohnson@google.com>
712
713 * c-common.h (get_dump_info): Declare.
714 * c-gimplify.c (c_genericize): Use saved dump files.
715 * c-opts.c (c_common_parse_file): Begin and end dumps
716 once around parsing invocation.
717 (get_dump_info): New function.
718
1f6be080 7192014-06-23 Marek Polacek <polacek@redhat.com>
720 Andrew MacLeod <amacleod@redhat.com>
721
722 PR c/61553
723 * c-common.c (get_atomic_generic_size): Don't segfault if the
724 type doesn't have a size.
725
5ef6b660 7262014-06-20 Marek Polacek <polacek@redhat.com>
727
728 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
729 (ubsan_walk_array_refs_r): New function.
730 (c_genericize): Instrument array bounds.
731 * c-ubsan.c: Include "internal-fn.h".
732 (ubsan_instrument_division): Mark instrumented arrays as having
733 side effects. Adjust ubsan_type_descriptor call.
734 (ubsan_instrument_shift): Likewise.
735 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
736 (ubsan_instrument_bounds): New function.
737 (ubsan_array_ref_instrumented_p): New function.
738 (ubsan_maybe_instrument_array_ref): New function.
739 * c-ubsan.h (ubsan_instrument_bounds): Declare.
740 (ubsan_array_ref_instrumented_p): Declare.
741 (ubsan_maybe_instrument_array_ref): Declare.
742
7432014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 744
745 PR lto/61123
746 * c.opt (fshort-enums): Add to LTO.
747 * c.opt (fshort-wchar): Likewise.
748
78438f31 7492014-06-16 Marek Polacek <polacek@redhat.com>
750
751 PR c/60439
752 * c.opt (Wswitch-bool): Add Var.
753
5fddcf34 7542014-06-12 Jakub Jelinek <jakub@redhat.com>
755
756 PR middle-end/61486
757 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
758 #pragma omp target teams or
759 #pragma omp {,target }teams distribute simd.
760
74b777e5 7612014-06-12 Jason Merrill <jason@redhat.com>
762
763 * c.opt (Wabi=, fabi-compat-version): New.
764 * c-opts.c (c_common_handle_option): Handle -Wabi=.
765 (c_common_post_options): Handle flag_abi_compat_version default.
766 Disallow -fabi-compat-version=1.
767 * c-common.h (abi_version_crosses): New.
768
738a6bda 7692014-06-11 Jan Hubicka <hubicka@ucw.cz>
770
771 * c-family/c-common.c (handle_section_attribute): Update handling for
772 section names that are no longer trees.
773
cf5f881f 7742014-06-10 Jakub Jelinek <jakub@redhat.com>
775
776 PR fortran/60928
777 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
778 (omp_pragmas): ... back here.
779
32dc1512 7802014-06-05 Marek Polacek <polacek@redhat.com>
781
782 PR c/49706
783 * c-common.c (warn_logical_not_parentheses): New function.
784 * c-common.h (warn_logical_not_parentheses): Declare.
785 * c.opt (Wlogical-not-parentheses): New option.
786
f61a9bc2 7872014-06-04 Marek Polacek <polacek@redhat.com>
788
789 PR c/30020
790 * c-common.c (check_case_bounds): Add location parameter.
791 Use it.
792 (c_add_case_label): Pass loc to check_case_bounds.
793
c69ec07d 7942014-06-03 Marek Polacek <polacek@redhat.com>
795
796 PR c/60439
797 * c.opt (Wswitch-bool): New option.
798
3c77ca67 7992014-05-22 Thomas Schwinge <thomas@codesourcery.com>
800
68a2c870 801 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
802 Remove prototypes.
803 (record_types_used_by_current_var_decl): Move prototype to where
804 it belongs.
805
3c77ca67 806 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
807 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
808 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
809
3ab4693e 8102014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
811
812 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
813 * c-common.c (c_common_nodes_and_builtins): Don't initialize
814 void_zero_node.
815 * c-pretty-print.c (pp_c_void_constant): New function.
816 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
817 (c_pretty_printer::expression): Handle VOID_CST.
818 * cilk.c (extract_free_variables): Likewise.
819 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
820 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
821
25a27413 8222014-05-17 Trevor Saunders <tsaunders@mozilla.com>
823
824 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
825 * c-pragma.c (push_alignment): Adjust.
826 (handle_pragma_push_options): Likewise.
827
3e5a8b00 8282014-05-09 Marek Polacek <polacek@redhat.com>
829
830 PR c/50459
831 * c-common.c (check_user_alignment): Return -1 if alignment is error
832 node.
833 (handle_aligned_attribute): Don't call default_conversion on
834 FUNCTION_DECLs.
835 (handle_vector_size_attribute): Likewise.
836 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
837 (handle_sentinel_attribute): Call default_conversion and allow even
838 integral types as an argument.
839
c2c4ae8d 8402014-05-08 Marek Polacek <polacek@redhat.com>
841
842 PR c/61053
843 * c-common.c (min_align_of_type): New function factored out from...
844 (c_sizeof_or_alignof_type): ...here.
845 * c-common.h (min_align_of_type): Declare.
846
2026249a 8472014-05-08 Marek Polacek <polacek@redhat.com>
848
849 PR c/61077
850 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
851 parameter type of main.
852
33c8dcfe 8532014-05-07 DJ Delorie <dj@redhat.com>
854
855 * c-cppbuiltin.c (print_bits_of_hex): New.
856 (builtin_define_type_minmax): Print values using hex so as not to
857 require a pre-computed list of string values.
858
960d5a55 8592014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
860 Mike Stump <mikestump@comcast.net>
861 Richard Sandiford <rdsandiford@googlemail.com>
862
863 * c-ada-spec.c: Include wide-int.h.
864 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
865 (dump_generic_ada_node): Use wide-int interfaces.
866 * c-common.c: Include wide-int-print.h.
867 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
868 (pointer_int_sum): Use wide-int interfaces.
869 (c_common_nodes_and_builtins): Use make_int_cst.
870 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
871 (handle_alloc_size_attribute): Use wide-int interfaces.
872 (get_nonnull_operand): Likewise.
873 * c-format.c (get_constant): Use tree_fits_uhwi_p.
874 * c-lex.c: Include wide-int.h.
875 (narrowest_unsigned_type): Take a widest_int rather than two
876 HOST_WIDE_INTs.
877 (narrowest_signed_type): Likewise.
878 (interpret_integer): Update accordingly. Use wide-int interfaces.
879 (lex_charconst): Use wide-int interfaces.
880 * c-pretty-print.c: Include wide-int.h.
881 (pp_c_integer_constant): Use wide-int interfaces.
882 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
883 INT_CST_LT_UNSIGNED.
884
bbb88b31 8852014-05-06 Richard Biener <rguenther@suse.de>
886
887 * c-opts.c (c_common_post_options): For -freestanding,
888 -fno-hosted and -fno-builtin disable pattern recognition
889 if not enabled explicitely.
890
022d4718 8912014-05-02 Marek Polacek <polacek@redhat.com>
892
893 * c.opt (Wsizeof-pointer-memaccess): Describe option.
894
e4ab2ef3 8952014-05-01 Marek Polacek <polacek@redhat.com>
896
897 PR c/43245
898 * c.opt (Wdiscarded-qualifiers): Add.
899
52cc0072 9002014-04-30 Marek Polacek <polacek@redhat.com>
901
902 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
903 INT_MIN / -1 sanitization only for integer types.
904
4a026b48 9052014-04-25 Marek Polacek <polacek@redhat.com>
906
907 PR c/18079
908 * c-common.c (handle_noinline_attribute): Warn if the attribute
909 conflicts with always_inline attribute.
910 (handle_always_inline_attribute): Warn if the attribute conflicts
911 with noinline attribute.
912
90e645fa 9132014-04-25 Marek Polacek <polacek@redhat.com>
914
915 PR c/60156
916 * c-common.c (check_main_parameter_types): Warn about variadic main.
917
db103ea4 9182014-04-24 Mike Stump <mikestump@comcast.net>
919
920 * c.opt (Wshadow-ivar): Default to on.
921
06511efd 9222014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
923
924 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
925
cdf34fca 9262014-04-23 Marek Polacek <polacek@redhat.com>
927
928 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
929
7311d7c1 9302014-04-22 Jakub Jelinek <jakub@redhat.com>
931
932 PR sanitizer/60275
933 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
934 if flag_sanitize_undefined_trap_on_error.
935 (ubsan_instrument_division, ubsan_instrument_shift,
936 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
937 if !flag_sanitize_recover.
938
c1917557 9392014-04-22 Marc Glisse <marc.glisse@inria.fr>
940
941 PR libstdc++/43622
942 * c-common.c (registered_builtin_types): Make non-static.
943 * c-common.h (registered_builtin_types): Declare.
944
b2ca6510 9452014-04-14 Richard Biener <rguenther@suse.de>
946 Marc Glisse <marc.glisse@inria.fr>
947
948 PR c/60819
949 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
950 apply may-alias the scalar pointer type when applicable.
951
855372a3 9522014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
953
954 PR middle-end/60467
955 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
956 as possible argument for Cilk_spawn.
957
4012a986 9582014-04-11 Tobias Burnus <burnus@net-b.de>
959
960 PR c/60194
961 * c.opt (Wformat-signedness): Add
962 * c-format.c(check_format_types): Use it.
963
0d284870 9642014-04-11 Jason Merrill <jason@redhat.com>
965
966 PR c++/57926
967 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
968 default_conversion for an array argument.
969
a34c1231 9702014-04-08 Marek Polacek <polacek@redhat.com>
971
972 PR sanitizer/60745
973 * c-ubsan.c: Include asan.h.
974 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
975
a35a8e18 9762014-04-03 Nathan Sidwell <nathan@codesourcery.com>
977
978 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
979
b23e42b6 9802014-04-02 Marek Polacek <polacek@redhat.com>
981
982 * c-common.h (c_expand_expr): Remove declaration.
983
5a672e62 9842014-03-28 Jakub Jelinek <jakub@redhat.com>
985
986 PR c++/60689
987 * c-common.c (add_atomic_size_parameter): When creating new
988 params vector, push the size argument first.
989
d4d068c0 9902014-03-26 Jakub Jelinek <jakub@redhat.com>
991
992 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
993 ubsan_instrument_vla, ubsan_instrument_return): Adjust
994 ubsan_create_data callers.
995
446bdf5f 9962014-03-22 Jakub Jelinek <jakub@redhat.com>
997
998 PR debug/60603
999 * c-opts.c (c_finish_options): Restore cb_file_change call to
1000 <built-in>.
1001
8895f0a3 10022014-03-13 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR middle-end/36282
1005 * c-pragma.c (apply_pragma_weak): Only look at
1006 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1007 DECL_ASSEMBLER_NAME_SET_P (decl).
1008 (maybe_apply_pending_pragma_weaks): Exit early if
1009 vec_safe_is_empty (pending_weaks) rather than only when
1010 !pending_weaks.
1011 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1012 set assembler name back to NULL afterwards.
1013
7a5da2cd 10142014-03-11 Jason Merrill <jason@redhat.com>
1015
1016 * c.opt: Add -std=gnu++14.
1017
95093889 10182014-03-11 Ian Bolton <ian.bolton@arm.com>
1019
1020 * c-opts.c (c_common_post_options): Don't override
1021 -ffp-contract=fast if unsafe-math-optimizations is on.
1022
c9a24b37 10232014-03-08 Paulo Matos <paulo@matos-sorge.com>
1024
1025 * c.opt: Enable LTO FE for fshort-double.
1026
3f6dba6e 10272014-03-07 Jason Merrill <jason@redhat.com>
1028
1029 * c.opt: Add -std=c++14.
1030
3bfdc94f 10312014-03-06 Marek Polacek <polacek@redhat.com>
1032
1033 PR c/60197
1034 * cilk.c (contains_cilk_spawn_stmt): New function.
1035 (contains_cilk_spawn_stmt_walker): Likewise.
1036 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1037 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1038
8b3a6a4c 10392014-03-03 Jakub Jelinek <jakub@redhat.com>
1040
1041 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1042 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1043 even when flag_preprocess_only.
1044
734ec290 10452014-02-26 Jason Merrill <jason@redhat.com>
1046
1047 PR c++/59231
1048 PR c++/11586
1049 * c-common.c (shorten_compare): Don't check
1050 c_inhibit_evaluation_warnings.
1051
81aec8b8 10522014-02-19 Jakub Jelinek <jakub@redhat.com>
1053
d1081017 1054 PR c/37743
1055 * c-common.c (c_common_nodes_and_builtins): When initializing
1056 c_uint{16,32,64}_type_node, also set corresponding
1057 uint{16,32,64}_type_node to the same value.
1058
81aec8b8 1059 PR c++/60267
1060 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1061 for PRAGMA_IVDEP if flag_preprocess_only.
1062
312243bb 10632014-02-12 Jakub Jelinek <jakub@redhat.com>
1064
1065 PR c/60101
1066 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1067 if false, add ADD itself, rather than vice versa.
1068 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1069 copy. For SAVE_EXPR, only call merge_tlist once.
1070
237e78b1 10712014-02-08 Jakub Jelinek <jakub@redhat.com>
1072
1073 PR middle-end/60092
1074 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1075 and tree_to_uhwi.
1076 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1077 functions.
1078 (c_common_attribute_table): Add alloc_align and assume_aligned
1079 attributes.
1080
76fdceeb 10812014-02-06 Marek Polacek <polacek@redhat.com>
1082
1083 PR c/60087
1084 * c-common.c (warn_for_sign_compare): Call warning_at with location
1085 instead of warning.
1086
4a4dea42 10872014-02-05 Marek Polacek <polacek@redhat.com>
1088
1089 PR c/53123
1090 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1091 statement.
1092
ec704957 10932014-02-04 Marek Polacek <polacek@redhat.com>
1094
1095 PR c/60036
1096 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1097 SAVE_EXPR.
1098
caf62483 10992014-02-03 Marc Glisse <marc.glisse@inria.fr>
1100
1101 PR c++/53017
1102 PR c++/59211
1103 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1104 handle_vector_size_attribute, handle_nonnull_attribute): Call
1105 default_conversion on the attribute argument.
1106 (handle_nonnull_attribute): Increment the argument number.
1107
ec761d5a 11082014-01-31 Marek Polacek <polacek@redhat.com>
1109
1110 PR c/59963
1111 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1112 build_function_call_vec.
1113 (resolve_overloaded_builtin): Likewise.
1114 * c-common.h (build_function_call_vec): Adjust declaration.
1115
22a75734 11162014-01-30 Marek Polacek <polacek@redhat.com>
1117
1118 PR c/59940
1119 * c-common.h (unsafe_conversion_p): Adjust declaration.
1120 (warnings_for_convert_and_check): Likewise.
1121 (convert_and_check): Likewise.
1122 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1123 expansion_point_location_if_in_system_header on it.
1124 (warnings_for_convert_and_check): Add location parameter. Call
1125 expansion_point_location_if_in_system_header on it. Use it.
1126 (convert_and_check): Add location parameter. Use it.
1127 (conversion_warning): Likewise.
1128 (c_add_case_label): Adjust convert_and_check calls.
1129 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1130
a89e6c15 11312014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1132
1133 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1134 flag_cilkplus.
1135 * c-pragma.c (init_pragma): Likewise.
1136 * c.opt: Likewise.
1137
2623625f 11382014-01-23 Marek Polacek <polacek@redhat.com>
1139
1140 PR c/59846
1141 * c-common.c (shorten_compare): Add location_t parameter.
1142 * c-common.h (shorten_binary_op): Adjust declaration.
1143
46da3601 11442014-01-23 Marek Polacek <polacek@redhat.com>
1145
1146 PR c/58346
1147 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1148 * c-common.h: Declare it.
1149
c9743c6a 11502014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1151
1152 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1153 * c-ada-spec.c (dump_ads): Likewise.
1154 (cpp_check): Likewise.
1155 (dump_ada_specs): Likewise.
1156
11572014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 1158
1159 PR c++/49718
1160 * c-common.c (handle_no_instrument_function_attribute): Allow
1161 no_instrument_function attribute in class member
1162 definition/declaration.
1163
1248c663 11642014-01-15 Jakub Jelinek <jakub@redhat.com>
1165
1166 PR c/58943
1167 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1168 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1169 being COMPOUND_EXPR.
1170 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1171 operand a SAVE_EXPR and second MODIFY_EXPR.
1172
6e5c480b 11732014-01-09 Jakub Jelinek <jakub@redhat.com>
1174
1175 PR target/58115
1176 * c-pch.c (c_common_write_pch): Call
1177 prepare_target_option_nodes_for_pch.
1178
3aea1f79 11792014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1180
1181 Update copyright years
1182
e4f22041 11832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1184
1185 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1186 the copyright notice.
1187
7fb0fe24 11882013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1189
1190 * c-ada-spec.c (print_constructor): New function.
1191 (print_destructor): Retrieve the origin of the destructor.
1192 (print_ada_declaration): Revamp handling of constructors/destructors.
1193
468088ac 11942013-12-23 Stuart Hastings <stuart@apple.com>
1195 Bill Maddox <maddox@google.com>
1196 Jason Merrill <jason@redhat.com>
1197
1198 * c.opt: Add -fdeclone-ctor-dtor.
1199 * c-opts.c (c_common_post_options): Default to on iff -Os.
1200
74acc703 12012013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1202
1203 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1204 attribute.
1205 * c-pragma.h (enum pragma_cilk_clause): Remove.
1206 (enum pragma_omp_clause): Added the following fields:
1207 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1208 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1209 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1210 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1211 PRAGMA_CILK_CLAUSE_UNIFORM.
1212
1213
433e804e 12142013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1215
1216 * cilk.c (cilk_outline): Made this function non-static.
1217 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1218 (create_cilk_wrapper): Added a new parameter: a function pointer.
1219 (c_install_body_w_frame_cleanup): Remove
1220 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1221 * c-common.h (cilk_outline): New prototype.
1222 (gimplify_cilk_spawn): Removed two parameters.
1223 (cilk_install_body_with_frame_cleanup): New prototype.
1224 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1225 CILK_SPAWN_STMT case.
1226
5bcc7e60 12272013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1228
e66325ea 1229 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1230
5bcc7e60 1231 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1232 (int_array_type_node): Remove.
1233 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1234
0b26ec77 12352013-12-05 Marek Polacek <polacek@redhat.com>
1236
1237 PR c/52023
1238 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1239 [ADJUST_FIELD_ALIGN].
1240
a179a7dc 12412013-12-04 Joseph Myers <joseph@codesourcery.com>
1242
1243 PR c/52023
1244 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1245 and check field alignment if set.
1246 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1247 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1248
137559b2 12492013-12-04 Jakub Jelinek <jakub@redhat.com>
1250 Marek Polacek <polacek@redhat.com>
1251
1252 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1253 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1254
648fd348 12552013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1256
1257 PR c/59309
1258 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1259 arguments.
1260
253e1cae 12612013-11-29 Jakub Jelinek <jakub@redhat.com>
1262
1263 PR c/59280
1264 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1265 goto invalid. If it is error_mark_node, don't issue further
1266 diagnostics.
1267
3e398f5b 12682013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1269
1270 * c.opt (Wopenmp-simd): New.
1271
020bc656 12722013-11-22 Jakub Jelinek <jakub@redhat.com>
1273
1274 * c-ubsan.h (ubsan_instrument_return): New prototype.
1275 * c-ubsan.c (ubsan_instrument_return): New function.
1276
bc61cadb 12772013-11-22 Andrew MacLeod <amacleod@redhat.com>
1278
1279 * c-common.c: Add required include files from gimple.h.
1280 * c-gimplify.c: Likewise
1281 * cilk.c: Likewise
1282
3df42822 12832013-11-22 David Malcolm <dmalcolm@redhat.com>
1284
1285 * c-common.c (unsafe_conversion_p): Remove use of
1286 EXPR_LOC_OR_HERE macro.
1287 (conversion_warning): Likewise.
1288 (warnings_for_convert_and_check): Likewise.
1289 (warn_for_collisions_1): Likewise.
1290 (shorten_compare): Likewise, and remove use of in_system_header
1291 macro, using the location from the former.
1292 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1293 (cb_def_pragma): Remove use of in_system_header macro.
1294 (lex_string): Likewise.
1295 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1296
8c53c46c 12972013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1298 Mike Stump <mikestump@comcast.net>
1299 Richard Sandiford <rdsandiford@googlemail.com>
1300
1301 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1302 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1303 tree_fits_shwi_p or tree_fits_uhwi_p.
1304 (dump_generic_ada_node): Likewise.
1305 * c-format.c (check_format_arg): Likewise.
1306 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1307
5200ef07 13082013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1309
1310 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1311
ca9d7d74 13122013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1313
1314 PR c/53001
1315 * c-common.c (unsafe_conversion_p): Make this function
1316 return an enumeration with more detail.
1317 (conversion_warning): Use the new return type of
1318 unsafe_conversion_p to separately warn either about conversions
1319 that lower floating point number precision or about the other
1320 kinds of conversions.
1321 * c-common.h (enum conversion_safety): New enumeration.
1322 (unsafe_conversion_p): switching return type to
1323 conversion_safety enumeration.
1324 * c.opt: Adding new warning -Wfloat-conversion and
1325 enabling it with -Wconversion.
1326
0391a567 13272013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1328
1329 * c-opts.c: Include plugin.h.
1330 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1331
19b928d9 13322013-11-19 Marek Polacek <polacek@redhat.com>
1333
1334 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1335 call.
1336 (ubsan_instrument_shift): Likewise.
1337 (ubsan_instrument_vla): Likewise.
1338
aa59f000 13392013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1340
1341 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1342 cast to unsigned type.
1343
08f817b3 13442013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1345
1346 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1347 tree_low_cst.
1348 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1349 rather than tree_low_cst.
1350
6a0712d4 13512013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1352
1353 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1354 tree_to_uhwi throughout.
1355
fcb97e84 13562013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1357
1358 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1359 tree_low_cst (..., 0) with tree_to_shwi throughout.
1360
cd4547bf 13612013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1362
1363 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1364 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1365
35ec552a 13662013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1367
1368 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1369 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1370
f2697631 13712013-11-15 Aldy Hernandez <aldyh@redhat.com>
1372
1373 * c-cilkplus.c: New file.
1374 * c-common.c (readonly_error): Add location argument.
1375 * c-common.h (readonly_error): Same.
1376 (c_finish_cilk_clauses): Protoize.
1377 (c_check_cilk_loop): Same.
1378 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1379 Do not fail on error_mark_node.
1380 Abstract increment canonicalization to here...
1381 (c_omp_for_incr_canonicalize_ptr): New.
1382 c-pragma.c (init_pragma): Register "simd" pragma.
1383 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1384 (enum pragma_cilk_clause): New.
1385
0aa8c34e 13862013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1387
1388 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1389 wchar_type and host_integerp checks.
1390
e795d6e1 13912013-11-14 Andrew MacLeod <amacleod@redhat.com>
1392
1393 * c-common.c: Likewise.
1394 * c-gimplify.c: Likewise.
1395 * cilk.c: Likewise.
1396
9ed99284 13972013-11-14 Diego Novillo <dnovillo@google.com>
1398
1399 * c-common.c: Include fold-const.h.
1400 Include stor-layout.h.
1401 Include calls.h.
1402 Include stringpool.h.
1403 Include attribs.h.
1404 Include varasm.h.
1405 Include trans-mem.h.
1406 * c-cppbuiltin.c: Include stor-layout.h.
1407 Include stringpool.h.
1408 * c-format.c: Include stringpool.h.
1409 * c-lex.c: Include stringpool.h.
1410 Include stor-layout.h.
1411 * c-pragma.c: Include stringpool.h.
1412 Include attribs.h.
1413 Include varasm.h.
1414 Include gcc-symtab.h.
1415 * c-pretty-print.c: Include stor-layout.h.
1416 Include attribs.h.
1417 * cilk.c: Include stringpool.h.
1418 Include calls.h.
1419
4fba5eb9 14202013-11-13 Joseph Myers <joseph@codesourcery.com>
1421
1422 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1423 * c-common.c (c_common_reswords): Add __auto_type.
1424 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1425
a8783bee 14262013-11-12 Andrew MacLeod <amacleod@redhat.com>
1427
e795d6e1 1428 * c-common.c: Include gimplify.h.
1429 * c-gimplify.c: Likewise.
1430 * cilk.c: Likewise.
1431 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1432 * c-ubsan.c: Don't include gimple.h.
a8783bee 1433
d184e0c0 14342013-11-12 Joseph Myers <joseph@codesourcery.com>
1435
1436 * c-common.c (c_common_reswords): Add _Thread_local.
1437
a056826c 14382013-11-09 Joseph Myers <joseph@codesourcery.com>
1439
1440 * c-common.c (atomic_size_supported_p): New function.
1441 (resolve_overloaded_atomic_exchange)
1442 (resolve_overloaded_atomic_compare_exchange)
1443 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1444 Use it instead of comparing size with a local list of sizes.
1445
b560fabd 14462013-11-07 Andrew MacLeod <amacleod@redhat.com>
1447 Joseph Myers <joseph@codesourcery.com>
1448
1449 * c-common.h (enum rid): Add RID_ATOMIC.
1450 * c-common.c (c_common_reswords): Add _Atomic.
1451 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1452 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1453 * c-format.c (check_format_types): Check for extra _Atomic
1454 qualifiers in format argument.
1455 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1456 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1457
5b1a0622 14582013-11-06 Tobias Burnus <burnus@net-b.de>
1459
1460 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1461
4f8f4cb8 14622013-11-06 Joseph Myers <joseph@codesourcery.com>
1463
1464 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1465 standards modes.
1466 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1467 to mean lack of IEEE 754 support.
1468
9148bda3 14692013-11-05 Tobias Burnus <burnus@net-b.de>
1470
1471 * c.opt (-Wdate-time): New option
1472 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1473
08c5f4d5 14742013-11-05 Joseph Myers <joseph@codesourcery.com>
1475
1476 * c-cppbuiltin.c (cpp_iec_559_value): Test
1477 flag_excess_precision_cmdline not flag_excess_precision.
1478
c630ef93 14792013-11-05 Tobias Burnus <burnus@net-b.de>
1480
1481 * c.opt (fopenmp-simd): New option.
1482 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1483 (omp_pragmas): ... this new struct.
1484 (c_pp_lookup_pragma): Also walk omp_pragmas.
1485 (init_pragma): Init pragmas for -fopenmp-simd.
1486
7354a89b 14872013-11-04 Marek Polacek <polacek@redhat.com>
1488
1489 PR c++/58979
1490 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1491
4c866b9b 14922013-11-04 Joseph Myers <joseph@codesourcery.com>
1493
1494 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1495 New functions.
1496 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1497
e2a6a333 14982013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1499
1500 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1501 (dump_ada_specs): Adjust prototype of second callback.
1502 * c-ada-spec.c (cpp_check): New global variable.
1503 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1504 (print_generic_ada_decl): Likewise.
1505 (has_static_fields): Change return type to bool and add guard.
1506 (has_nontrivial_methods): New predicate.
1507 (is_tagged_type): Change return type to bool.
1508 (separate_class_package): Call has_nontrivial_methods.
1509 (pp_ada_tree_identifier): Minor tweaks.
1510 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1511 (dump_ada_array_domains): Likewise.
1512 (dump_ada_array_type): Likewise.
1513 (dump_template_types): Remove cpp_check parameter and do not pass it to
1514 dump_generic_ada_node.
1515 (dump_ada_template): Likewise.
1516 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1517 recursively.
1518 (print_ada_methods): Change return type to integer. Remove cpp_check
1519 parameter and do not pass it down.
1520 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1521 dump_generic_ada_node.
1522 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1523 accessing methods.
1524 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1525 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1526 value of print_ada_methods.
1527 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1528 Set cpp_check to it before invoking dump_ada_nodes.
1529 (dump_ada_specs): Likewise.
1530
2c4c3477 15312013-11-03 Marek Polacek <polacek@redhat.com>
1532
1533 * c-ubsan.c: Don't include hash-table.h.
1534 (ubsan_instrument_vla): New function.
1535 * c-ubsan.h: Declare it.
1536
452659af 15372013-10-31 David Malcolm <dmalcolm@redhat.com>
1538
1539 Automated part of renaming of symtab_node_base to symtab_node.
1540
1541 Patch autogenerated by rename_symtab.py from
1542 https://github.com/davidmalcolm/gcc-refactoring-scripts
1543 revision 58bb219cc090b2f4516a9297d868c245495ee622
1544
1545 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1546 symtab_node_base to symtab_node.
1547
4d6f7dd4 15482013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1549
1550 Implement C++14 digit separators.
1551 * c-lex.c (interpret_float): Remove digit separators from scratch string
1552 before building real literal.
1553
06cfe805 15542013-10-30 Jakub Jelinek <jakub@redhat.com>
1555
1556 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1557
d037099f 15582013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1559
1560 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1561 fields.
1562 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1563 enabled.
1564 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1565 (insert_cilk_frame): New prototype.
1566 (cilk_init_builtins): Likewise.
1567 (gimplify_cilk_spawn): Likewise.
1568 (c_cilk_install_body_w_frame_cleanup): Likewise.
1569 (cilk_detect_spawn_and_unwrap): Likewise.
1570 (cilk_set_spawn_marker): Likewise.
1571 (build_cilk_sync): Likewise.
1572 (build_cilk_spawn): Likewise.
1573 * cilk.c: New file.
1574
02774f2d 15752013-10-29 David Malcolm <dmalcolm@redhat.com>
1576
1577 Patch autogenerated by refactor_symtab.py from
1578 https://github.com/davidmalcolm/gcc-refactoring-scripts
1579 revision 58bb219cc090b2f4516a9297d868c245495ee622
1580
1581 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1582 to a true class hierarchy.
1583 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1584
31fe10fd 15852013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1586
1587 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1588
b1c06ff9 15892013-10-26 Jeff Law <law@redhat.com>
1590
1591 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1592 * c-family/c.opt: Ignore and warn for mudflap options.
1593
48a972c8 15942013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1595
1596 PR other/33426
1597 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1598 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1599
546a04b1 16002013-10-23 Jason Merrill <jason@redhat.com>
1601
1602 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1603
bc7bff74 16042013-10-11 Jakub Jelinek <jakub@redhat.com>
1605
d62c713e 1606 * c-common.h (omp_clause_mask::operator !=): New method.
1607 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1608 instead of if (mask & something) tests everywhere.
1609
bc7bff74 1610 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1611 201307 instead of 201107.
1612 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1613 (c_common_attribute_table): Add "omp declare target" and
1614 "omp declare simd" attributes.
1615 (handle_omp_declare_target_attribute,
1616 handle_omp_declare_simd_attribute): New functions.
1617 * c-omp.c: Include c-pragma.h.
1618 (c_finish_omp_taskgroup): New function.
1619 (c_finish_omp_atomic): Add swapped argument, if true,
1620 build the operation first with rhs, lhs arguments and use NOP_EXPR
1621 build_modify_expr.
1622 (c_finish_omp_for): Add code argument, pass it down to make_code.
1623 (c_omp_split_clauses): New function.
1624 (c_split_parallel_clauses): Removed.
1625 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1626 c_omp_declare_simd_clauses_to_decls): New functions.
1627 * c-common.h (omp_clause_mask): New type.
1628 (OMP_CLAUSE_MASK_1): Define.
1629 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1630 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1631 omp_clause_mask::operator |, omp_clause_mask::operator &,
1632 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1633 omp_clause_mask::operator ==): New methods.
1634 (enum c_omp_clause_split): New.
1635 (c_finish_omp_taskgroup): New prototype.
1636 (c_finish_omp_atomic): Add swapped argument.
1637 (c_finish_omp_for): Add code argument.
1638 (c_omp_split_clauses): New prototype.
1639 (c_split_parallel_clauses): Removed.
1640 (c_omp_declare_simd_clauses_to_numbers,
1641 c_omp_declare_simd_clauses_to_decls): New prototypes.
1642 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1643 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1644 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1645 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1646 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1647 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1648 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1649 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1650 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1651 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1652 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1653 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1654 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1655 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1656 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1657 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1658 PRAGMA_OMP_CLAUSE_UNIFORM.
1659
d7dcba40 16602013-10-09 Marc Glisse <marc.glisse@inria.fr>
1661
1662 PR tree-optimization/20318
1663 * c-common.c (handle_returns_nonnull_attribute): New function.
1664 (c_common_attribute_table): Add returns_nonnull.
1665
0b7282f1 16662013-10-03 Marc Glisse <marc.glisse@inria.fr>
1667
1668 PR c++/19476
1669 * c.opt (fcheck-new): Move to common.opt.
1670
51f553af 16712013-09-25 Marek Polacek <polacek@redhat.com>
1672 Jakub Jelinek <jakub@redhat.com>
1673
1674 PR sanitizer/58413
1675 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1676 an expression if we can prove it is correct.
1677 (ubsan_instrument_division): Likewise. Remove unnecessary
1678 check.
1679
05f893e1 16802013-09-18 Marek Polacek <polacek@redhat.com>
1681
1682 PR sanitizer/58411
1683 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1684 Declare it.
1685 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1686
236ce1d1 16872013-09-14 Iain Sandoe <iain@codesourcery.com>
1688
1689 PR target/48094
1690 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1691 fobjc-gc, freplace-objc-classes): Accept for LTO.
1692
f9f68d35 16932013-09-13 Jacek Caban <jacek@codeweavers.com>
1694
1695 * c-target.def: New hook
1696
ba2f764e 16972013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1698
1699 PR c++/43452
1700 * c.opt (Wdelete-incomplete): Add.
1701
73437615 17022013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1703
1704 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1705 (vector_types_compatible_elements_p): New function.
1706 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1707 declaration.
1708 (vector_types_compatible_elements_p): Declare.
1709
95af4c75 17102013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1711
1712 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1713 a virtual member function.
1714 (pp_simple_type_specifier): Remove.
1715 (pp_c_type_specifier): Likewise.
1716 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1717 Rename from pp_c_type_specifier. Adjust.
1718 (c_pretty_printer::c_pretty_printer): Do not assign to
1719 simple_type_specifier.
1720
eaab24b9 17212013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1722
1723 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1724 member function.
1725 (c_pretty_printer::storage_class_specifier): Likewise.
1726 (c_pretty_printer::initializer): Likewise.
1727 (pp_declaration): Remove.
1728 (pp_declaration_specifiers): Likewise.
1729 (pp_abstract_declarator): Likewise.
1730 (pp_declarator): Likewise.
1731 (pp_type_id): Likewise.
1732 (pp_statement): Likewise.
1733 (pp_constant): Likewise.
1734 (pp_id_expression): Likewise.
1735 (pp_primary_expression): Likewise.
1736 (pp_unary_expression): Likewise.
1737 (pp_multiplicative_expression): Likewise.
1738 (pp_conditional_expression): Likewise.
1739 (pp_assignment_expression): Likewise.
1740 (pp_expression): Likewise.
1741 (pp_c_type_id): Likewise.
1742 (pp_c_storage_class_specifier): Likewise.
1743 * c-pretty-print.c (pp_c_type_cast): Tidy.
1744 (pp_c_pointer): Likewise.
1745 (pp_c_type_specifier): Likewise.
1746 (pp_c_parameter_type_list): Likewise.
1747 (pp_c_function_definition): Likewise.
1748 (pp_c_init_declarator): Likewise.
1749 (pp_c_initializer_list): Likewise.
1750 (pp_c_constructor_elts): Likewise.
1751 (c_pretty_printer::direct_abstract_declarator): Likewise.
1752 (c_pretty_printer::declaration_specifiers): Likewise.
1753 (c_pretty_printer::primary_expression): Likewise.
1754 (c_pretty_printer::postfix_expression): Likewise.
1755 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1756 (c_pretty_printer::storage_class_specifier): Rename from
1757 pp_c_storage_class_specifier.
1758 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1759 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1760 storage_class_specifier, initializer, offset_list, flags.
1761
9e46467d 17622013-08-30 Marek Polacek <polacek@redhat.com>
1763
1764 * c-ubsan.c: New file.
1765 * c-ubsan.h: New file.
1766
36a8d9b9 17672013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1768
1769 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1770 member function.
1771 (c_pretty_printer::declaration_specifiers): Likewise.
1772 (c_pretty_printer::declarator): Likewise.
1773 (c_pretty_printer::abstract_declarator): Likewise.
1774 (c_pretty_printer::direct_abstract_declarator): Likewise.
1775 (c_pretty_printer::direct_declarator): Likewise.
1776 (c_pretty_printer::function_specifier): Likewise.
1777 (pp_declaration): Adjust.
1778 (pp_declaration_specifiers): Likewise.
1779 (pp_abstract_declarator): Likewise.
1780 (pp_direct_declarator): Likewise.
1781 (pp_function_specifier): Likewise.
1782 (pp_direct_abstract_declarator): Remove as unused.
1783 (pp_c_declaration): Remove.
1784 (pp_c_declaration_specifiers): Likewise.
1785 (pp_c_declarator): Likewise.
1786 (pp_c_direct_declarator): Likewise.
1787 (pp_c_function_specifier): Likewise.
1788 (pp_c_direct_abstract_declarator): Likewise.
1789 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1790 from pp_c_abstract_declarator. Adjust.
1791 (c_pretty_printer::direct_abstract_declarator): Rename from
1792 pp_c_direct_abstract_declarator. Adjust.
1793 (c_pretty_printer::function_specifier): Rename from
1794 pp_c_function_specifier. Adjust.
1795 (c_pretty_printer::declaration_specifiers): Rename from
1796 pp_c_declaration_specifiers. Adjust.
1797 (c_pretty_printer::direct_declarator): Rename from
1798 pp_c_direct_declarator. Adjust.
1799 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1800 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1801 (c_pretty_printer::c_pretty_printer): Do not assign to
1802 declaration, declaration_specifiers, declarator,
1803 direct_declarator, direct_abstract_declarator, function_specifier.
1804
30635c2e 18052013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1806
1807 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1808 virtual member function.
1809 (c_pretty_printer::multiplicative_expression): Likewise.
1810 (c_pretty_printer::conditional_expression): Likewise.
1811 (c_pretty_printer::assignment_expression): Likewise.
1812 (c_pretty_printer::expression): Likewise.
1813 (pp_unary_expression): Adjust.
1814 (pp_multiplicative_expression): Likewise.
1815 (pp_assignment_expression): Likewise.
1816 (pp_conditional_expression): Likewise.
1817 (pp_expression): Likewise.
1818 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1819 from pp_c_unary_expression. Adjust.
1820 (c_pretty_printer::multiplicative_expression): Rename from
1821 pp_c_multiplicative_expression. Adjust.
1822 (c_pretty_printer::conditional_expression): Rename from
1823 pp_c_conditional_expression. Adjust.
1824 (c_pretty_printer::assignment_expression): Rename from
1825 pp_c_assignment_expression. Adjust.
1826 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1827 (c_pretty_printer::c_pretty_printer): Do not assign to
1828 unary_expression, multiplicative_expression,
1829 conditional_expression, expression.
1830
027d08ed 18312013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1832
1833 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1834 virtual member function.
1835 (pp_postfix_expression): Adjust.
1836 (pp_c_postfix_expression): Remove.
1837 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1838 from pp_c_postfix_expression. Adjust.
1839 (c_pretty_printer::c_pretty_printer): Do not assign to
1840 postfix_expression.
1841
f873303a 18422013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1843
1844 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1845 virtua member function.
1846 (pp_primary_expression): Adjust.
1847 (pp_c_primary_expression): Remove.
1848 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1849 from pp_c_primary_expression. Adjust.
1850 (pp_c_initializer_list): Use pp_primary_expression.
1851 (c_pretty_printer::c_pretty_printer): Do not assign to
1852 primary_expression.
1853
08e3e481 18542013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1855
1856 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1857 * c-pretty-print.c (M_): Remove.
1858 (c_pretty_printer::translate_string): Define.
1859 (pp_c_type_specifier): Use it.
1860 (pp_c_primary_expression): Likewise.
1861 (pp_c_expression): Likewise.
1862
1fc4a87f 18632013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1864
1865 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1866 virtual function.
1867 (pp_c_id_expression): Remove.
1868 (pp_id_expression): Adjust.
1869 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1870 pp_c_id_expression. Adjust.
1871 (pp_c_postfix_expression): Use pp_id_expression.
1872 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1873
a6cb161b 18742013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1875
1876 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1877 member function.
1878 (pp_constant): Adjust.
1879 (pp_c_constant): Remove.
1880 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1881 pp_c_constant. Adjust.
1882 (pp_c_constant)
1883 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1884 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1885
eed6bc21 18862013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1887
1888 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1889 (c_pretty_printer::c_pretty_printer): Declare.
1890 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1891 c_pretty_printer_init. Adjust.
1892 (print_c_tree): Do not call c_pretty_printer_init.
1893 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1894
df558d2e 18952013-08-09 Arnaud Charlet <charlet@adacore.com>
1896
1897 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1898
42f9a786 18992013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1900
1901 PR c++/58080
1902 * c-common.c (pointer_int_sum): Add bool parameter.
1903 * c-common.h (pointer_int_sum): Adjust declaration.
1904
f874ddad 19052013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1906
1907 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1908 c_pretty_printer variable.
1909
a94db6b0 19102013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1911
1912 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1913 (pp_base): Remove.
1914 (pp_c_base): Likewise. Adjust users.
1915 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1916 (pp_c_whitespace): Do not call pp_base.
1917 (pp_c_left_paren): Likewise.
1918 (pp_c_right_paren): Likewise.
1919 (pp_c_left_brace): Likewise.
1920 (pp_c_right_brace): Likewise.
1921 (pp_c_left_bracket): Likewise.
1922 (pp_c_right_bracket): Likewise.
1923 (pp_c_dot): Likewise.
1924 (pp_c_ampersand): Likewise.
1925 (pp_c_star): Likewise.
1926 (pp_c_arrow): Likewise.
1927 (pp_c_semicolon): Likewise.
1928 (pp_c_complement): Likewise.
1929 (pp_c_exclamation): Likewise.
1930 (pp_c_direct_declarator): Likewise.
1931 (pp_c_ws_string): Likewise.
1932 (pp_c_identifier): Likewise.
1933 (pp_c_statement): Likewise.
1934 (print_c_tree): Likewise.
1935
1898176c 19362013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1937
1938 PR c++/58072
1939 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1940 provide useful error strings.
1941
70d60d1d 19422013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1943
1944 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1945 printer functions instead of pp_string or operators and punctuators.
1946 (dump_generic_ada_node): Likewise.
1947 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1948 (pp_c_relational_expression): Likewise.
1949 (pp_c_logical_or_expression): Likewise.
1950
dda4f0ec 19512013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1952
1953 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1954 functions instead of pp_character.
1955 (pp_ada_tree_identifier): Likewise.
1956 (dump_ada_double_name): Likewise.
1957 (dump_ada_function_declaration): Likewise.
1958 (dump_ada_array_domains): Likewise.
1959 (dump_template_types): Likewise.
1960 (dump_generic_ada_node): Likewise.
1961 (print_ada_declaration): Likewise.
1962 (print_ada_struct_decl): Likewise.
1963 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1964
7aa04c8d 19652013-07-23 Tom Tromey <tromey@redhat.com>
1966
1967 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1968 * c-common.c (c_common_reswords): Add _Generic.
1969
a04e8d62 19702013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1971
1972 * c-common.c: Fix typos.
1973 * c-common.h: Likewise.
1974
a96c3cc1 19752013-07-13 Lubos Lunak <l.lunak@suse.cz>
1976
1977 PR c++/55203
1978 * c-common.c (c_common_attribute_table): Add warn_unused.
1979 (handle_warn_unused_attribute): New.
1980
da31536d 19812013-07-10 Jakub Jelinek <jakub@redhat.com>
1982
1983 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1984 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1985
839f2f70 19862013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1987
1988 PR c++/57869
1989 * c.opt: Add Wconditionally-supported.
1990
73f353d0 19912013-07-08 Graham Stott <graham.stott@btinternet.com>
1992
1993 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1994 unused variables l_length and l_node.
1995
21ebaa24 19962013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 1997
1998 PR c/57821
1999 * c-common.c (complete_array_type): Delay folding first index
2000 like other indices. When folding, check for index overflow.
2001
68ea4406 20022013-06-27 Marc Glisse <marc.glisse@inria.fr>
2003
2004 PR c++/57509
2005 * c-common.h (c_build_vec_perm_expr): New complain argument.
2006 * c-common.c (c_build_vec_perm_expr): Likewise.
2007 Use save_expr also in C++.
2008
60777f69 20092013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2010
2011 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2012 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2013 * c-opts.c (c_common_post_options): Likewise.
2014
839f2f70 20152013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 2016
2017 * array-notation-common.c (length_mismatch_in_expr): Changed the
2018 parameter type's from a dynamic array to a vec_tree. Also removed
2019 the size parameters.
2020 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2021 the change above.
2022
e9331eab 20232013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2024
2025 * c-common.h (struct cilkplus_an_parts): New structure.
2026 (struct cilkplus_an_loop_parts): Likewise.
2027 (cilkplus_extract_an_triplets): New prototype.
2028 (fix_sec_implicit_args): Likewise.
2029 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2030 (fix_sec_implicit_args): Likewise.
60777f69 2031
a9c99fc4 20322013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2033
2034 * array-notation-common.c (find_inv_trees): Removed an unwanted
2035 typecasting.
2036 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2037 enum rid to enum tree_code.
2038
f2526cce 20392013-06-11 Jan Hubicka <jh@suse.cz>
2040
2041 * c-common.c (handle_alias_ifunc_attribute): Do not set
2042 DECL_EXTERNAL for weakref variables.
2043 * c-pragma.c (handle_pragma_weak): Make sure aliases
2044 are not declared as external.
2045
09970d67 20462013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2047
2048 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2049 function from c/c-array-notation.c.
2050 (is_cilkplus_reduce_builtin): Likewise.
2051 (find_rank): Likewise.
2052 (extract_array_notation_exprs): Likewise.
2053 (replace_array_notations): Likewise.
2054 (find_inv_trees): Likewise.
2055 (replace_inv_trees): Likewise.
2056 (contains_array_notation_expr): Likewise.
2057 (find_correct_array_notation_type): Likewise.
2058 * c-common.h (struct inv_list): Moved this struct from the file
2059 c/c-array-notation.c and added a new field called additional tcodes.
2060 (length_mismatch_in_expr_p): New prototype.
2061 (is_cilkplus_reduce_builtin): Likewise.
2062 (find_rank): Likewise.
2063 (extract_array_notation_exprs): Likewise.
2064 (replace_array_notation): Likewise.
2065 (find_inv_trees): Likewise.
2066 (replace_inv_trees): Likewise.
2067 (find_correct_array_notation_type): Likewise.
839f2f70 2068
3c6d4197 20692013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2070
2071 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2072 function array_notation_init_builtins is called.
2073 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2074 * c-common.def (ARRAY_NOTATION_REF): New tree.
2075 * c-common.h (build_array_notation_expr): New function declaration.
2076 (build_array_notation_ref): Likewise.
2077 (extract_sec_implicit_index_arg): New extern declaration.
2078 (is_sec_implicit_index_fn): Likewise.
2079 (ARRAY_NOTATION_CHECK): New define.
2080 (ARRAY_NOTATION_ARRAY): Likewise.
2081 (ARRAY_NOTATION_START): Likewise.
2082 (ARRAY_NOTATION_LENGTH): Likewise.
2083 (ARRAY_NOTATION_STRIDE): Likewise.
2084 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2085 ARRAY_NOTATION_REF.
2086 (pp_c_expression): Likewise.
2087 * c.opt (flag_enable_cilkplus): New flag.
2088 * array-notation-common.c: New file.
2089
8e71dad2 20902013-05-14 Jakub Jelinek <jakub@redhat.com>
2091
2092 PR c++/57274
2093 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2094
432dd330 20952013-05-10 Marc Glisse <marc.glisse@inria.fr>
2096
2097 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2098 vectors.
2099
b156ec37 21002013-05-07 Han Shen <shenhan@google.com>
2101
2102 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2103
1a087624 21042013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2105
2106 * c-common.c (check_user_alignment): Emit error for negative values.
2107
1638c736 21082013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2109
2110 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2111
949dbf93 21122013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2113
2114 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2115 __GXX_EXPERIMENTAL_CXX1Y__.
2116
9205a6cc 21172013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2118 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2119
2120 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2121 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2122 to simply use OPT_Wpointer_arith.
2123 (c_sizeof_or_alignof_type): Likewise.
2124
05d0bce1 21252013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2126
2127 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2128
41609f8b 21292013-04-12 Jakub Jelinek <jakub@redhat.com>
2130
2131 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2132 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2133 specifiers.
2134
c671dc4f 21352013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2136
2137 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2138
ba125576 21392013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2140
2141 * c-common.c (pointer_int_sum): Remove dead code.
2142
9d3fa937 21432013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2144
2145 PR middle-end/56524
2146 * c-common.c (handle_optimize_attribute): Don't call
2147 save_optabs_if_changed.
2148
5ceebb21 21492013-03-05 Jakub Jelinek <jakub@redhat.com>
2150
2151 PR middle-end/56461
2152 * c-pch.c (pch_init): Free target_validity at the end.
2153
18eeed2b 21542013-03-04 Jakub Jelinek <jakub@redhat.com>
2155
2156 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2157
a9196da9 21582013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2159 Jakub Jelinek <jakub@redhat.com>
2160
2161 PR sanitizer/56454
2162 * c-common.c (handle_no_sanitize_address_attribute): New function.
2163 (c_common_attribute_table): Add no_sanitize_address attribute.
2164 (handle_no_address_safety_analysis_attribute): Add
2165 no_sanitize_address attribute, not no_address_safety_analysis
2166 attribute.
2167
15c27dda 21682013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 2169
2170 PR target/52555
2171 * c-common.c (handle_optimize_attribute): Call
2172 save_optabs_if_changed.
2173
19426fe1 21742013-02-18 Jakub Jelinek <jakub@redhat.com>
2175 Steven Bosscher <steven@gcc.gnu.org>
2176
2177 PR pch/54117
2178 * c-opts.c (c_common_post_options): If debug info is enabled
2179 and non-dwarf*, refuse to load PCH files and when writing PCH
2180 file warn.
2181
df936998 21822013-02-05 Jakub Jelinek <jakub@redhat.com>
2183
2184 PR middle-end/56167
2185 * c-common.c (handle_error_attribute): Fix condition.
2186
ae0c3984 21872013-01-30 Jakub Jelinek <jakub@redhat.com>
2188
2189 PR c++/55742
2190 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2191
1c4973d7 21922013-01-18 Jason Merrill <jason@redhat.com>
2193
2194 PR target/54908
2195 * c.opt (-fextern-tls-init): New.
2196 * c-opts.c (c_common_post_options): Handle it.
2197
7c834436 21982013-01-09 Jakub Jelinek <jakub@redhat.com>
2199
2200 PR c/48418
2201 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2202 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2203 and is either negative or bigger or equal to type precision
2204 of the first operand.
2205
5abaa10a 22062012-12-03 Marek Polacek <polacek@redhat.com>
2207
2208 PR c/55570
2209 * c-common.c (check_user_alignment): Swap order of tests,
2210 check TREE_CODE first.
2211
324ca377 22122012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2213
2214 PR c++/52654
2215 * c-common.h (overflow_type): New enum.
2216 (build_userdef_literal): Add overflow_type argument.
2217 (tree_userdef_literal): Add overflow_type.
2218 (USERDEF_LITERAL_OVERFLOW): New access macro.
2219 * c-common.c (build_userdef_literal): Add overflow_type
2220 argument.
2221 * c-lex.c (c_lex_with_flags): Add overflow_type to
2222 build_userdef_literal calls.
2223 (interpret_integer, interpret_float): Add overflow_type argument.
2224
b4c4a429 22252012-11-28 Richard Biener <rguenther@suse.de>
2226
2227 PR c/35634
2228 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2229 here and use a type with proper overflow behavior for types that would
2230 need to be promoted for the arithmetic.
2231
d413ffdd 22322012-11-23 Jakub Jelinek <jakub@redhat.com>
2233
2234 PR sanitizer/55435
2235 * c-common.c (handle_no_address_safety_analysis_attribute): New
2236 function.
2237 (c_common_attribute_table): Add no_address_safety_analysis.
2238
52bc861d 22392012-11-16 Simon Baldwin <simonb@google.com>
2240
2241 * c.opt: Add f[no-]canonical-system-headers.
2242 * c-opts.c (c_common_handle_option): Handle
2243 OPT_fcanonical_system_headers.
2244
2dd00636 22452012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2246
2247 PR c++/54413
2248 * c-opts.c (c_common_handle_option): Set new flags.
2249 * c.opt: Describe new flags.
2250
d4701f6c 22512012-11-09 Jason Merrill <jason@redhat.com>
2252
2253 * c.opt (Wabi-tag): New.
2254
72d65da9 22552012-11-09 Andi Kleen <ak@linux.intel.com>
2256
2257 PR 55139
2258 * c-common.c (get_atomic_generic_size): Mask with
2259 MEMMODEL_MASK
2260
77a357e3 22612012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2262
2263 PR c/53063
2264 * c.opt (Wformat): Make it Alias Wformat=1.
2265 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2266 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2267 LangEnabledBy.
2268 (Wformat=): RejectNegative. Use LangEnabledBy.
2269 (Wnonnull): Use LangEnabledBy.
2270 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2271 * c-format.c (set_Wformat): Delete.
2272 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2273 (maybe_read_dollar_number): Likewise.
2274 (avoid_dollar_number): Likewise.
2275 (finish_dollar_format_checking): Likewise.
2276 (check_format_info): Likewise.
2277 (check_format_info_main): Likewise.
2278 (check_format_types): Likewise.
2279 (format_type_warning): Likewise.
2280 * c-common.c (int): Likewise.
2281 (check_function_sentinel): Likewise.
2282 * c-common.h (warn_format,set_Wformat): Do not declare here.
2283
45efa6b9 22842012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2285
2286 PR c/53063
2287 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2288 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2289 Use LangEnabledBy.
2290 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2291 common.opt.
2292 (Wvariadic-macros): Init(1).
2293 * c-opts.c (c_common_handle_option): Do not handle them
2294 explicitly.
2295 (c_common_post_options): Likewise.
2296 (sanitize_cpp_opts): warn_unused_macros is now
2297 cpp_warn_unused_macros.
2298 (push_command_line_include): Likewise.
2299 * c-common.c (warn_unknown_pragmas): Do not define.
2300 * c-common.h (warn_unknown_pragmas): Do not declare.
2301
0e4e775a 23022012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2303
2304 PR c/51294
2305 * c-common.c (conversion_warning): Handle conditional expressions.
2306
8b447d3f 23072012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2308
2309 PR c++/54930
2310 * c.opt (Wreturn_local_addr): Define new option.
2311
f4a61754 23122012-10-25 Jason Merrill <jason@redhat.com>
2313
ecb10e6a 2314 * c.opt (Wvirtual-move-assign): New.
2315
f4a61754 2316 * c.opt (Winherited-variadic-ctor): New.
2317
7b463b19 23182012-10-25 Marc Glisse <marc.glisse@inria.fr>
2319
2320 PR c++/54427
2321 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2322
6adc88f8 23232012-10-23 Joseph Myers <joseph@codesourcery.com>
2324
2325 * c-common.h (pch_cpp_save_state): Declare.
2326 * c-target.def (c_preinclude): New hook.
2327 * c-opts.c (done_preinclude): New.
2328 (push_command_line_include): Handle default preincluded header.
2329 (cb_file_change): Call pch_cpp_save_state when calling
2330 push_command_line_include.
2331 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2332 (pch_cpp_save_state): New.
2333 (pch_init): Call pch_cpp_save_state conditionally, instead of
2334 calling cpp_save_state.
2335
fa816b0b 23362012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2337
2338 PR c/53063
2339 PR c/40989
2340 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2341 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2342 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2343 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2344 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2345 * c-opts.c (c_common_handle_option): Remove explicit handling from
2346 here.
2347 (c_common_post_options): Likewise.
2348
d214ccee 23492012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2350
2351 * c-ada-spec.c (LOCATION_COL): Delete.
2352 (compare_location): New function.
2353 (compare_node): Use it.
2354 (compare_comment): Likewise.
2355
77b27208 23562012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2357
2358 PR c/53063
2359 PR c/40989
2360 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2361 * c-opts.c (c_common_handle_option): Do not set them here. Add
2362 comment.
2363 (c_common_post_options): Likewise.
2364
cc02ca4d 23652012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2366
2367 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2368 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2369 Remove POINTER_TYPE handling, add large unsigned handling and use
2370 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2371
57f872a2 23722012-10-12 Jakub Jelinek <jakub@redhat.com>
2373
2374 PR c/54381
2375 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2376 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2377 locs and array of 3 trees instead of just single loc and single
2378 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2379 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2380 For *cmp* builtins that take two sources strings report warnings
2381 about first and second source, not about destination and source.
2382
7354ad2e 23832012-10-12 Marc Glisse <marc.glisse@inria.fr>
2384
2385 PR c++/53055
2386 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2387
1ac7f120 23882012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2389
2390 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2391 declaring something coming from another file.
2392
1e0cc9e3 23932012-10-10 Arnaud Charlet <charlet@adacore.com>
2394
1ac7f120 2395 PR ada/54845
1e0cc9e3 2396 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2397
b0e7825e 23982012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2399
2400 PR c++/54194
2401 * c-common.c (warn_about_parentheses): Add location_t parameter;
2402 use EXPR_LOC_OR_LOC.
2403 * c-common.h: Update declaration.
2404
41ed701a 24052012-10-09 Marc Glisse <marc.glisse@inria.fr>
2406
2407 PR c++/54427
2408 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2409 more operations. Make error messages optional.
2410 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2411 (scalar_to_vector): Declare.
2412
3740094c 24132012-10-08 Jason Merrill <jason@redhat.com>
2414
2415 * c-common.c (c_common_reswords): Add thread_local.
2416
ffcdbf9c 24172012-10-08 Dodji Seketeli <dodji@redhat.com>
2418
2419 PR c++/53528 C++11 attribute support
2420 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2421 new functions.
2422 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2423 static function.
2424 (handle_aligned_attribute): In choose strictest alignment
2425 among many. Use new check_cxx_fundamental_alignment_constraints.
2426 (handle_transparent_union_attribute): In c++11 attribute syntax,
2427 don't look through typedefs.
2428
ef34afc1 24292012-10-04 Arnaud Charlet <charlet@adacore.com>
2430
2431 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2432 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2433 out of dumpfile.h.
2434
f1ff4562 24352012-09-25 Dehao Chen <dehao@google.com>
2436
2437 PR middle-end/54645
ef34afc1 2438 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2439 map when read in the pch.
2440
735538a1 24412012-09-18 Arnaud Charlet <charlet@adacore.com>
2442
2443 * c-ada-spec.c: Style fixes.
2444
9120cdc8 24452012-09-18 Thomas Quinot <quinot@adacore.com>
2446
2447 * c.opt (-fada-spec-parent): Define new command line switch.
2448 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2449 is specified, generate binding spec as a child of the specified unit.
2450
8eba82c2 24512012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2452 Manuel López-Ibáñez <manu@gcc.gnu.org>
2453
2454 PR c++/53210
2455 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2456
38682990 24572012-08-23 Arnaud Charlet <charlet@adacore.com>
2458
2459 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2460 for pointers, and add missing Convention C pragma.
2461 (print_ada_struct_decl): Add missing aliased keyword.
2462 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2463
f003f5dc 24642012-08-17 Jakub Jelinek <jakub@redhat.com>
2465
2466 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2467 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2468 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2469 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2470 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2471
ec11736b 24722012-08-10 Richard Guenther <rguenther@suse.de>
2473
2474 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2475
5f7f600e 24762012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2477
2478 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2479 instead of separate pp_newline and pp_flush.
2480 (print_c_tree): Likewise.
2481
758a38ab 24822012-07-26 Richard Henderson <rth@redhat.com>
2483
2484 * c-common.c (handle_hot_attribute): Allow labels.
2485 (handle_cold_attribute): Likewise.
2486
9ca77b08 24872012-07-20 Jakub Jelinek <jakub@redhat.com>
2488
2489 PR c++/28656
2490 * c-common.c (check_function_nonnull): Handle multiple nonnull
2491 attributes properly.
2492
b9ed1410 24932012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2494
2495 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2496 * c-ada-spec.c: Likewise.
2497 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2498
c2a65b90 24992012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2500
2501 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2502 Remove code conditional on it.
2503
88c5a1d1 25042012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2505
2506 * c-gimplify.c: Do not include basic-block.h.
2507 * c-common.c: Do not include linfuncs.h.
2508
4a020a8c 25092012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2510
2511 * c-common.h: Include tree.h.
2512
c28ddc97 25132012-07-02 Jason Merrill <jason@redhat.com>
2514
2515 PR c++/53524
2516 * c-common.c (get_priority): Call default_conversion.
2517
405ed67f 25182012-07-01 Uros Bizjak <ubizjak@gmail.com>
2519
2520 * c-pch.c (c_common_write_pch): Remove unused variables.
2521
e53d55e7 25222012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2523
2524 * cppspec.c: Moved from gcc/ to here.
2525
3d9c25ec 25262012-06-27 Kai Tietz <ktietz@redhat.com>
2527
2528 PR preprocessor/37215
2529 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2530
3169c57a 25312012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2532
2533 * c-common.h (c_common_print_pch_checksum): Remove.
2534 * c-pch.c: Do not include output.h.
2535 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2536 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2537 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2538 (struct c_pch_header): Remove.
2539 (get_ident): Update gpch version.
2540 (pch_init): Do not print executable_checksum to asm_out_file.
2541 Do not fail if there is no asm_out_file to read back from. Set
2542 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2543 (c_common_write_pch): Verify that nothing was written to asm_out_file
2544 since pch_init was called. Do not write a c_pch_header, and do not
2545 copy from asm_out_file to the PCH.
2546 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2547 the content of asm_out_file from the PCH.
2548 (c_common_print_pch_checksum): Remove.
2549 * c-opts.c (c_common_init): Print out executable_checksum directly.
2550
ff6624bc 25512012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2552
2553 * c-target.def (objc_declare_unresolved_class_reference,
2554 objc_declare_class_definition): Add new hooks.
2555
367b1459 25562012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2557
2558 * c-lex.c: Do not include output.h.
2559 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2560 Remove uses of ASM_OUTPUT_IDENT.
2561
bf0cb017 25622012-06-15 Marc Glisse <marc.glisse@inria.fr>
2563
2564 PR c++/51033
2565 * c-common.h (c_build_vec_perm_expr): Move decl here.
2566 * c-common.c (c_build_vec_perm_expr): Move definition
2567 here.
2568
b37a3600 25692012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2570
2571 * c.opt (fconserve-space): Turn into a no-op.
2572
19931eea 25732012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 2574
2575 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2576 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2577 both the start and end of the function.
2578
dff12c10 25792012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2580
2581 * c-common.c: Do not include output.h.
2582 * c-pragma.c: Likewise.
2583
5f9e7dd5 25842012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2585
2586 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2587 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2588 (lang_decl_name): Handle namespace decls.
2589
b5369b7d 25902012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2591
2592 * c-ada-spec.c: Do not include output.h.
2593 * c-semantics.c: Likewise.
2594
8032877c 25952012-05-29 Joseph Myers <joseph@codesourcery.com>
2596
2597 * c-common.c: Fix typo.
2598
7843e4bc 25992012-05-29 Michael Matz <matz@suse.de>
2600
2601 * c-common.h (c_expand_decl): Remove prototype.
2602
8cf857d4 26032012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2604
2605 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2606 * c-opts.c (c_common_handle_option): Remove code handling
2607 warn_missing_braces.
2608
8b64dc3c 26092012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2610
2611 PR c++/25137
2612 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2613 -Wmissing_braces.
2614
43cbde16 26152012-05-22 Dodji Seketeli <dodji@redhat.com>
2616
2617 PR c++/53322
2618 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2619
db490cb6 26202012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2621
2622 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2623 * c-opts.c (c_common_handle_option): Do not handle explicitly
2624 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2625
a60f3e81 26262012-05-16 Dodji Seketeli <dodji@redhat.com>
2627
2628 PR preprocessor/7263
2629 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2630 to cpp_classify_number. For diagnostics, use the precise location
2631 instead of the global input_location.
2632
82e6ef7c 26332012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2634
cd4797ff 2635 PR c++/11856
82e6ef7c 2636 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2637
258a168d 26382012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2639
82e6ef7c 2640 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2641
d3b7ee7c 26422012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2643
2644 PR 53063
2645 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2646 Wreorder): Use LangEnabledBy.
2647 * c-opts.c (c_common_handle_option): Do not enable them
2648 explicitly. Call lang-specific generated functions.
2649 (c_common_post_options): Do not set them here.
2650
70059cea 26512012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2652
2653 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2654 Wmissing-field-initializers,Wmissing-parameter-type,
2655 Wold-style-declaration,Woverride-init): Use EnabledBy.
2656 * c-opts.c (c_common_post_options): Do not set here explicitly.
2657
fbb6fbd8 26582012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2659
2660 PR 53063
2661 * c-opts.c (c_common_handle_option): Use handle_generated_option
2662 to enable sub-options.
2663
61f69bc9 26642012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2665
2666 PR c++/53158
2667 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2668
5a1fe2db 26692012-05-10 Richard Guenther <rguenther@suse.de>
2670
2671 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2672 adjust commentary about TYPE_IS_SIZETYPE types.
2673
d42e7c5a 26742012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2675
2676 PR c++/53261
2677 * c-common.c (warn_logical_operator): Check that argument of
2678 integer_zerop is not NULL.
2679
686369e8 26802012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2681
2682 PR c/43772
2683 * c-common.c (warn_logical_operator): Do not warn if either side
2684 is already true or false.
2685
03fe1dc2 26862012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2687
2688 PR c/51712
2689 * c-common.c (expr_original_type): New.
2690 (shorten_compare): Do not warn for enumeration types.
2691
bba5a206 26922012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2693
2694 * c.opt (fpermissive): Add Var(flag_permissive).
2695
7059d45d 26962012-04-30 Marc Glisse <marc.glisse@inria.fr>
2697
2698 PR c++/51033
2699 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2700 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2701
7edb1062 27022012-04-30 Dodji Seketeli <dodji@redhat.com>
2703
2704 Add -Wvarargs option
2705 * c.opt (Wvarargs): Define new option.
2706
068bea1e 27072012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2708
2709 * c-common.c (check_function_arguments): Replace
2710 Wmissing-format-attribute with Wsuggest-attribute=format.
2711
b86527d8 27122012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2713
2714 * c.opt (Wsuggest-attribute=format): New. Alias of
2715 Wmissing-format-attribute.
2716 * c-format.c (decode_format_type): Replace
2717 Wmissing-format-attribute with Wsuggest-attribute=format.
2718 (check_function_format): Likewise.
2719
19931eea 27202012-04-27 Ollie Wild <aaw@google.com>
76d340ac 2721
2722 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2723 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2724 * c.opt: Add Wliteral-suffix.
2725
29438999 27262012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2727
2728 PR c/44774
2729 * c.opt (Wpedantic): New.
2730 (pedantic): Alias Wpedantic.
2731 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2732 (c_common_post_options): Likewise.
2733 (sanitize_cpp_opts): Likewise.
2734 * c-lex.c (interpret_float): Likewise.
2735 * c-format.c (check_format_types): Likewise.
2736 * c-common.c (pointer_int_sum): Likewise.
2737 (c_sizeof_or_alignof_type): Likewise.
2738 (c_add_case_label): Likewise.
2739 (c_do_switch_warnings): Likewise.
2740 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2741
4f9d6b8b 27422012-04-15 Jason Merrill <jason@redhat.com>
2743
2744 PR c++/52818
2745 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2746 (C_STD_NAME): Distinguish between C++98 and C++11.
2747
74bdbe96 27482012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2749
2750 PR target/52624
2751 * c-common.h (uint16_type_node): Rename into...
2752 (c_uint16_type_node): ...this.
2753 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2754 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2755
3d177e8c 27562012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2757
2758 * c-common.c (warn_if_unused_value): Move definition to here.
2759 * c-common.h (warn_if_unused_value): Move declaration to here.
2760
6a9a958f 27612012-03-23 William Bader <williambader@hotmail.com>
2762
2763 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2764
543efdbe 27652012-03-20 Jason Merrill <jason@redhat.com>
2766
2767 * c-common.h (enum cxx_dialect): Add cxx1y.
2768 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2769 test.
2770 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2771 * c-opts.c (c_common_post_options): Likewise.
2772 (set_std_cxx1y): New.
2773 (c_common_handle_option): Call it.
2774 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2775
62206d34 27762012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2777
2778 PR c++/14710
2779 * c.opt ([Wuseless-cast]): Add.
2780
fadf62f4 27812012-03-16 Richard Guenther <rguenther@suse.de>
2782
2783 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2784
249faa35 27852012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2786
2787 PR c++/44783
2788 * c.opt (ftemplate-backtrace-limit) Add.
2789
126b6848 27902012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2791
2792 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2793 handling.
2794 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2795 (init_pragma): Don't register extern_prefix.
2796
a51edb4c 27972012-03-12 Richard Guenther <rguenther@suse.de>
2798
2799 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2800 (builtin_type_for_size): Likewise.
2801
0f6a7cb7 28022012-02-13 Jakub Jelinek <jakub@redhat.com>
2803
2804 PR c++/52215
2805 * c-common.c (sync_resolve_params): Don't decide whether to convert
2806 or not based on TYPE_SIZE comparison, convert whenever arg_type
2807 is unsigned INTEGER_TYPE.
2808
0779e32c 28092012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2810
2811 PR c/52118
2812 * c.opt ([Wunused-local-typedefs]): Fix description.
2813
baec58e1 28142012-01-24 Mike Stump <mikestump@comcast.net>
2815
2816 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2817 exactly.
2818
c779d8cc 28192012-01-18 Richard Guenther <rguenther@suse.de>
2820
2821 * c-opts.c (c_common_post_options): Reset LTO flags if
2822 we are about to generate a PCH.
2823
ee917d24 28242012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2825
2826 PR c++/51777
2827 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2828 use pp_unsigned_wide_integer.
2829
90e2341f 28302012-01-10 Richard Guenther <rguenther@suse.de>
2831
2832 PR middle-end/51806
2833 * c-opts.c (c_common_handle_option): Move -Werror handling
2834 to language independent code.
2835
9ea022ce 28362012-01-05 Richard Guenther <rguenther@suse.de>
2837
2838 PR middle-end/51764
2839 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2840 from common.opt.
2841
3df19e1b 28422011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2843
2844 PR c++/51316
2845 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2846 of array types with an unknown bound.
2847
32074525 28482011-12-20 Joseph Myers <joseph@codesourcery.com>
2849
2850 * c-common.c (flag_isoc99): Update comment to refer to C11.
2851 (flag_isoc1x): Change to flag_isoc11.
2852 * c-common.h (flag_isoc99): Update comment to refer to C11.
2853 (flag_isoc1x): Change to flag_isoc11.
2854 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2855 C11.
2856 * c-opts.c (set_std_c1x): Change to set_std_c11.
2857 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2858 Call set_std_c11.
2859 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2860 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2861 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2862 standard.
2863 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2864 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2865 (std=gnu1x): Make alias of std=gnu11.
2866
fca86134 28672011-12-19 Jason Merrill <jason@redhat.com>
2868
2869 PR c++/51228
2870 * c-common.c (handle_transparent_union_attribute): Check the first
2871 field if the type is complete.
2872
aa4313eb 28732011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2874
2875 PR libstdc++/51365
2876 * c-common.c (RID_IS_FINAL): Add.
2877 * c-common.h (RID_IS_FINAL): Add.
2878
3f3d5ad4 28792011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2880
2881 * c.opt (fgnu-runtime): Provide full description.
2882 (fnext-runtime): Likewise.
2883 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2884
c4606d19 28852011-11-28 Andrew MacLeod <amacleod@redhat.com>
2886
2887 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2888 predefines in one place. Add LOCK_FREE predefines.
2889 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2890 new func.
2891
1d581089 28922011-11-24 Andrew MacLeod <amacleod@redhat.com>
2893
2894 PR c/51256
19931eea 2895 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 2896 conditions
19931eea 2897 (resolve_overloaded_atomic_exchange,
2898 resolve_overloaded_atomic_compare_exchange,
1d581089 2899 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2900 error_mark_node for error conditions.
19931eea 2901
6aa221fa 29022011-11-08 Richard Guenther <rguenther@suse.de>
2903
2904 PR middle-end/51010
2905 c-family/
2906
4c0315d0 29072011-11-07 Richard Henderson <rth@redhat.com>
2908 Aldy Hernandez <aldyh@redhat.com>
2909 Torvald Riegel <triegel@redhat.com>
2910
2911 Merged from transactional-memory.
2912
2913 * c-common.c (handle_tm_wrap_attribute,
2914 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2915 (struct c_common_reswords): Added __transaction* keywords.
2916 (struct c_common_attribute_table): Added transaction* and tm_regparm
2917 attributes.
2918 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2919 masks.
2920 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2921 find_tm_attribute): Declare.
2922
920f5a70 29232011-11-07 Jason Merrill <jason@redhat.com>
2924
2925 PR c++/35688
2926 * c-common.c, c-common.h: Revert yesterday's changes.
2927
b4f861b4 29282011-11-06 Jason Merrill <jason@redhat.com>
2929
2930 PR c++/35688
2931 * c-common.c (decl_has_visibility_attr): Split out from...
2932 (c_determine_visibility): ...here.
2933 * c-common.h: Declare it.
2934
83e25171 29352011-11-06 Joseph Myers <joseph@codesourcery.com>
2936
2937 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2938 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2939 type.
2940 (check_user_alignment): New. Split out of
2941 handle_aligned_attribute. Disallow integer constants with
2942 noninteger types. Conditionally allow zero.
2943 (handle_aligned_attribute): Use check_user_alignment.
2944 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2945
1cd6e20d 29462011-11-06 Andrew MacLeod <amacleod@redhat.com>
2947 Richard Henderson <rth@redhat.com>
2948
2949 Merged from cxx-mem-model.
2950
2951 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 2952 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 2953 parameters that are the same type size.
2954 (get_atomic_generic_size): New. Find size of generic
2955 atomic function parameters and do typechecking.
2956 (add_atomic_size_parameter): New. Insert size into parameter list.
2957 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2958 either __atomic_exchange_n or external library call.
19931eea 2959 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 2960 __atomic_compare_exchange to either _n variant or external library call.
19931eea 2961 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 2962 __atomic_load_n or an external library call.
2963 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2964 __atomic_store_n or an external library call.
2965 (resolve_overloaded_builtin): Handle new __atomic builtins.
2966
7549df0d 29672011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2968
2969 PR c++/50608
2970 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2971 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2972 <INDIRECT_REF>: Return the argument.
2973 <ARRAY_REF>: Remove special code for negative offset.
2974 Call fold_build_pointer_plus instead of size_binop.
2975 (fold_offsetof): Remove STOP_REF argument and adjust.
2976 * c-common.h (fold_offsetof_1): Declare.
2977 (fold_offsetof): Remove STOP_REF argument.
2978
7e783eb3 29792011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2980
2981 PR c++/50810
2982 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2983 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2984 Wnarrowing for C++0x and C++98.
2985 * c.opt ([Wnarrowing]): Update.
2986
8fe701f5 29872011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2988
2989 PR c++/44277
2990 * c.opt: Add Wzero-as-null-pointer-constant.
2991
0d84dc2d 29922011-10-31 Jason Merrill <jason@redhat.com>
2993
67031f52 2994 * c.opt (-fdeduce-init-list): Off by default.
2995
0d84dc2d 2996 PR c++/50920
2997 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2998 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2999 and -Wc++11-compat.
3000 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3001
66f24c41 30022011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3003
3004 PR c++/30066
3005 * c.opt (fvisibility-inlines-hidden): Description change.
3006
244db24d 30072011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3008
3009 Implement C++11 user-defined literals.
3010 * c-common.c (build_userdef_literal): New.
3011 * c-common.def: New tree code.
3012 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3013 * c-lex.c (interpret_float): Add suffix parm.
3014 (c_lex_with_flags): Build literal tokens.
3015
235be70f 30162011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3017
3018 PR c++/50841
3019 Revert:
3020 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3021
3022 PR c++/50810
3023 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3024 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3025 Wnarrowing for C++0x and C++98.
3026 * c.opt ([Wnarrowing]): Update.
3027
4fe0fb1c 30282011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3029
3030 PR c++/50810
3031 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3032 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3033 Wnarrowing for C++0x and C++98.
3034 * c.opt ([Wnarrowing]): Update.
3035
5f7504f9 30362011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3037
3038 PR c++/45385
3039 * c-common.c (conversion_warning): Remove code looking for
3040 artificial operands.
3041
2a688977 30422011-10-18 Dodji Seketeli <dodji@redhat.com>
3043
3044 PR bootstrap/50760
3045 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 3046 !NO_IMPLICIT_EXTERN_C.
2a688977 3047
326e3391 30482011-10-17 Michael Spertus <mike_spertus@symantec.com>
3049
3050 * c-common.c (c_common_reswords): Add __bases,
3051 __direct_bases.
3052 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3053
30542011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3055
3056 PR c++/50757
3057 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3058
62db153a 30592011-10-15 Tom Tromey <tromey@redhat.com>
3060 Dodji Seketeli <dodji@redhat.com>
3061
3062 * c.opt (fdebug-cpp): New option.
3063 * c-opts.c (c_common_handle_option): Handle the option.
3064 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3065 output stream in parameter. Factorized from ...
3066 (maybe_print_line): ... this. Dump location debug information when
3067 -fdebug-cpp is in effect.
3068 (print_line_1): New static function. Takes an output stream in
3069 parameter. Factorized from ...
3070 (print_line): ... here. Dump location information when -fdebug-cpp
3071 is in effect.
3072 (scan_translation_unit): Dump location information when
3073 -fdebug-cpp is in effect.
3074
ce70f433 30752011-10-15 Tom Tromey <tromey@redhat.com>
3076 Dodji Seketeli <dodji@redhat.com>
3077
3078 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3079 without argument.
3080 * c-opts.c (c_common_handle_option)<case
3081 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3082 cases. Handle -ftrack-macro-expansion with and without argument.
3083
97bfb9ef 30842011-10-15 Tom Tromey <tromey@redhat.com>
3085 Dodji Seketeli <dodji@redhat.com>
3086
3087 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3088 (print_line, cb_define, do_line_change): Adjust to avoid touching
3089 the internals of struct line_map. Use the public API instead.
3090 * c-pch.c (c_common_read_pch): Likewise.
3091 * c-lex.c (fe_file_change): Likewise.
3092
326e3391 30932011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3094
3095 PR c++/17212
3096 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3097
30982011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3099
3100 PR c++/33067
3101 * c-pretty-print.c (pp_c_floating_constant): Output
3102 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3103
b9a16870 31042011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3105
3106 * c-common.c (def_builtin_1): Delete old interface with two
3107 parallel arrays to hold standard builtin declarations, and replace
3108 it with a function based interface that can support creating
3109 builtins on the fly in the future. Change all uses, and poison
3110 the old names. Make sure 0 is not a legitimate builtin index.
3111 * c-omp.c (c_finish_omp_barrier): Ditto.
3112 (c_finish_omp_taskwait): Ditto.
3113 (c_finish_omp_flush): Ditto.
3114
c7964868 31152011-10-11 Tristan Gingold <gingold@adacore.com>
3116
3117 * c.opt: (fallow-parameterless-variadic-functions): New.
3118
a4e3ffad 31192011-09-08 Dodji Seketeli <dodji@redhat.com>
3120
3121 PR c++/33255 - Support -Wunused-local-typedefs warning
3122 * c-common.h (struct c_language_function::local_typedefs): New
3123 field.
19931eea 3124 (record_locally_defined_typedef, maybe_record_typedef_use)
3125 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 3126 * c-common.c (record_locally_defined_typedef)
19931eea 3127 (maybe_record_typedef_use)
3128 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 3129 * c.opt: Declare new -Wunused-local-typedefs flag.
3130
737a23cc 31312011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3132
3133 PR middle-end/50266
3134 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3135 computations.
3136
7542c3b4 31372011-09-05 Richard Guenther <rguenther@suse.de>
3138
3139 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3140 of integer_minus_one_node for empty array upper bounds.
3141
1dc92c59 31422011-08-28 Dodji Seketeli <dodji@redhat.com>
3143
3144 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3145 it's the first time it's being called on this main TU.
3146
2bdf2b6e 31472011-08-24 Richard Guenther <rguenther@suse.de>
3148
3149 PR c/49396
3150 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3151
31522011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 3153
3154 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3155 defined in cpp_init_builtins and c_cpp_builtins.
3156
bff4ad11 31572011-08-19 Joseph Myers <joseph@codesourcery.com>
3158
3159 * c-common.c (c_common_reswords): Add __builtin_complex.
3160 * c-common.h (RID_BUILTIN_COMPLEX): New.
3161
985c6e3a 31622011-08-18 Joseph Myers <joseph@codesourcery.com>
3163
3164 * c-common.c (c_common_reswords): Add _Noreturn.
3165 (keyword_is_function_specifier): Handle RID_NORETURN.
3166 * c-common.h (RID_NORETURN): New.
3167
7dfa155b 31682011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3169
3170 * c-common.c (unsafe_conversion_p): New function. Check if it is
3171 unsafe to convert an expression to the type.
3172 (conversion_warning): Adjust, use unsafe_conversion_p.
3173 * c-common.h (unsafe_conversion_p): New function declaration.
3174
2169f33b 31752011-08-02 Jakub Jelinek <jakub@redhat.com>
3176
3177 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3178 (c_finish_omp_taskyield): New prototype.
3179 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3180 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3181 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3182 or RHS1 have side-effects, evaluate those too in the right spot,
3183 if it is a decl and LHS is also a decl, error out if they
3184 aren't the same.
3185 (c_finish_omp_taskyield): New function.
3186 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3187 * c-pragma.c (omp_pragmas): Add taskyield.
3188 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3189 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3190 PRAGMA_OMP_CLAUSE_MERGEABLE.
3191
ab77850e 31922011-07-25 Dodji Seketeli <dodji@redhat.com>
3193
3194 * c-common.h (set_underlying_type): Remove parm name from
3195 declaration.
3196
6ee97920 31972011-07-25 Romain Geissler <romain.geissler@gmail.com>
3198
3199 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3200
dc251364 32012011-07-22 Jason Merrill <jason@redhat.com>
3202
1a2a35f0 3203 PR c++/49793
3204 * c.opt (Wnarrowing): New.
3205
27282252 3206 PR c++/30112
3207 * c-common.h: Declare c_linkage_bindings.
3208 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3209
dc251364 3210 PR c++/49813
3211 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3212 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3213 as flag_isoc99 for 'restrict'.
3214 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3215
fc501191 32162011-07-21 Ian Lance Taylor <iant@google.com>
3217
3218 PR middle-end/49705
3219 * c-common.c (c_disable_warnings): New static function.
3220 (c_enable_warnings): New static function.
3221 (c_fully_fold_internal): Change local unused_p to bool. Call
3222 c_disable_warnings and c_enable_warnings rather than change
3223 c_inhibit_evaluation_warnings.
3224
07b8f133 32252011-07-20 Jason Merrill <jason@redhat.com>
3226
3227 PR c++/6709 (DR 743)
3228 PR c++/42603 (DR 950)
3229 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3230 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3231 (CPP_DECLTYPE): New.
3232 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3233
2cc66f2a 32342011-07-19 Richard Guenther <rguenther@suse.de>
3235
3236 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3237 * c-omp.c (c_finish_omp_for): Likewise.
3238
3c802a1e 32392011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3240
3241 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3242 body on the next line.
3243
98a33d9f 32442011-07-08 Jason Merrill <jason@redhat.com>
3245
3115bda0 3246 PR c++/45437
3247 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3248
98a33d9f 3249 PR c++/49673
3250 * c-common.c (c_apply_type_quals_to_decl): Don't check
3251 TYPE_NEEDS_CONSTRUCTING.
3252
c38a75b7 32532011-07-06 Richard Guenther <rguenther@suse.de>
3254
3255 * c-common.c (c_common_nodes_and_builtins):
3256 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3257
e593356b 32582011-07-05 Richard Guenther <rguenther@suse.de>
3259
3260 * c-common.c (c_common_nodes_and_builtins): Build all common
3261 tree nodes first.
3262
fca0886c 32632011-06-27 Jakub Jelinek <jakub@redhat.com>
3264
a68f7a8d 3265 * c-common.h (c_tree_chain_next): New static inline function.
3266
fca0886c 3267 * c-common.c (check_builtin_function_arguments): Handle
3268 BUILT_IN_ASSUME_ALIGNED.
3269
2797f13a 32702011-06-21 Andrew MacLeod <amacleod@redhat.com>
3271
3272 * c-common.c: Add sync_ or SYNC__ to builtin names.
3273 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3274
32752011-06-20 Pierre Vittet <piervit@pvittet.com>
3276
3277 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3278 handler.
3279 (gen_pragma_handler): New union.
3280 (internal_pragma_handler): New type.
3281 (c_register_pragma_with_data)
3282 (c_register_pragma_with_expansion_and_data): New functions.
3283
3284 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3285 (c_register_pragma, c_register_pragma_with_expansion)
3286 (c_invoke_pragma_handler): Changed to work with
3287 internal_pragma_handler.
3288 (c_register_pragma_with_data)
3289 (c_register_pragma_with_expansion_and_data): New functions.
3290
218e3e4e 32912011-06-14 Joseph Myers <joseph@codesourcery.com>
3292
3293 * c-common.c: Include common/common-target.h.
3294 (handle_section_attribute): Use
3295 targetm_common.have_named_sections.
3296 * c-cppbuiltin.c: Include common/common-target.h.
3297 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3298
41e53ed2 32992011-06-10 Richard Guenther <rguenther@suse.de>
3300
3301 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3302 to print a IDENTIFIER_NODE.
3303
a6f06169 33042011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3305 Joseph Myers <joseph@codesourcery.com>
3306
3307 * c.opt (fbuilding-libgcc): New option.
3308 * c-cppbuiltin.c (c_cpp_builtins): Define
3309 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3310
1ea9269b 33112011-06-07 Jason Merrill <jason@redhat.com>
3312
8ce59854 3313 * c-common.c (max_tinst_depth): Lower default to 900.
3314
1ea9269b 3315 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3316
1af0124d 33172011-06-07 Richard Guenther <rguenther@suse.de>
3318
3319 * c-common.c (c_common_nodes_and_builtins): Do not set
3320 size_type_node or call set_sizetype.
3321
0e9a4c01 33222011-06-07 Dodji Seketeli <dodji@redhat.com>
3323
3324 PR debug/49130
3325 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3326 type when using pointer comparison to compare types.
0e9a4c01 3327
90b40725 33282011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3329
3330 * c.opt: Add -Wdelete-non-virtual-dtor.
3331 * c-opts.c (c_common_handle_option): Include it in -Wall.
3332
fc9c9e87 33332011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3334
3335 PR bootstrap/49190
3336
3337 Revert:
3338 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3339
3340 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3341 not tree_common.
3342
d0389adc 33432011-05-27 Jakub Jelinek <jakub@redhat.com>
3344
3345 PR c++/49165
3346 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3347 C++ don't call c_common_truthvalue_conversion on void type arms.
3348
cacfdc02 33492011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3350
3351 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3352 (stmt_list_stack): Define.
3353 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3354 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3355
027fc6ef 33562011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3357
3358 * c-common.c (warning_candidate_p): Check for BLOCKs.
3359
f21317a1 33602011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3361
3362 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3363 not tree_common.
3364
789e953d 33652011-05-25 Jakub Jelinek <jakub@redhat.com>
3366
3367 * c-common.c (def_fn_type): Remove extra va_end.
3368
7f506bca 33692011-05-23 Jason Merrill <jason@redhat.com>
3370
3371 PR c++/48106
3372 * c-common.c (c_common_get_narrower): New.
3373 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3374
774e9d58 33752011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3376
3377 * c-common.h (check_function_arguments): Tweak prototype of
3378 check_function_arguments.
3379 * c-common.c (check_function_arguments): Likewise. Adjust
3380 calls to check_function_nonnull, check_function_format, and
3381 check_function_sentinel.
3382 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3383 separate attributes and typelist arguments. Use
3384 FOREACH_FUNCTION_ARGS to iterate over argument types.
3385
23407dc9 33862011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3387
3388 * c-common.c (c_common_reswords): Reorder.
3389 * c-common.h (rid): Likewise.
3390
3a939d12 33912011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3392
3393 * c-common.c (def_fn_type): Don't call build_function_type, call
3394 build_function_type_array or build_varargs_function_type_array
3395 instead.
3396 (c_common_nodes_and_builtins): Likewise.
3397
b6e3dd65 33982011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3399
3400 * c-common.c (c_add_case_label): Omit the loc argument to
3401 build_case_label.
3402 * c-common.h (build_case_label): Remove.
3403 * c-semantics.c (build_case_label): Remove.
3404
4232a958 34052011-05-05 Joseph Myers <joseph@codesourcery.com>
3406
3407 * c-objc.h (objc_start_method_definition): Update prototype.
3408 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3409
d0af78c5 34102011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3411
3412 * c-common.c (check_main_parameter_types): Reindent. Don't use
3413 TYPE_ARG_TYPES directly.
3414 (handle_nonnull_attribute): Likewise.
3415 (sync_resolve_params): Likewise.
3416 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3417 to check_format_string.
3418 (handle_format_attribute): Likewise.
3419 (check_format_string): Take a function type to examine instead of
3420 a type list. Use a function_arg_iterator to step through argument
3421 types.
3422
ceb7b692 34232011-05-04 Richard Guenther <rguenther@suse.de>
3424
3425 * c-common.c (fix_string_type): Use size_int for index type bounds.
3426 (start_fname_decls): Do not pass NULL to build_int_cst.
3427 (c_init_attributes): Likewise.
3428 * c-lex.c (c_lex_with_flags): Likewise.
3429
c66c81be 34302011-04-27 Jason Merrill <jason@redhat.com>
3431
3432 * c-common.c (make_tree_vector_from_list): New.
3433 * c-common.h: Declare it.
3434
16930c72 34352011-04-26 Richard Guenther <rguenther@suse.de>
3436
3437 PR preprocessor/48248
3438 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3439 for output size with -P.
3440
23407dc9 34412011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3442
3443 * c-common.c (struct c_common_resword): Add __underlying_type.
3444 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3445
dd045aee 34462011-04-20 Jim Meyering <meyering@redhat.com>
3447
3448 * c-format.c (init_dollar_format_checking): Remove useless
3449 if-before-free.
3450
394dd737 34512011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3452
3453 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3454 (objc_detect_field_duplicates): New.
394dd737 3455 * stub-objc.c: Likewise.
23407dc9 3456
a758bf7d 34572011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3458
3459 * stub-objc.c (objc_declare_protocols): Renamed to
3460 objc_declare_protocol.
3461 * c-objc.h: Likewise.
23407dc9 3462
29d7200d 34632011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3464
3465 * stub-objc.c (objc_declare_class): Updated argument name.
3466
9b88d08d 34672011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3468
3469 * c-common.h (c_common_init_ts): Declare.
3470 * c-common.c (c_common_init_ts): Define.
3471
4185cf58 34722011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3473
3474 * c-objc.h (objc_build_message_expr): Updated prototype.
3475 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 3476
5a90471f 34772011-04-12 Martin Jambor <mjambor@suse.cz>
3478
3479 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3480 of cgraph_node.
3481
783bb57e 34822011-04-11 Richard Guenther <rguenther@suse.de>
3483
3484 * c-common.c (complete_array_type): Build a range type of
3485 proper type.
3486
c33080b9 34872011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3488
3489 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3490 (handle_type_generic_attribute): Likewise.
3491
f8913d47 34922011-04-07 Jason Merrill <jason@redhat.com>
3493
3494 PR c++/48450
3495 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3496 conversion from C++0x scoped enum.
3497
c94b1d0e 34982011-04-06 Joseph Myers <joseph@codesourcery.com>
3499
3500 * c-target-def.h: New file.
3501 * c-target.def: New file.
3502 * c-target.h: New file.
3503 * c-common.c (targetcm): Don't define here.
3504 * c-common.h (default_handle_c_option): Declare.
3505 * c-format.c: Include c-target.h instead of target.h.
3506 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3507 include tm.h.
3508 (default_handle_c_option): Move from targhooks.c.
3509
acb10f41 35102011-03-29 Jakub Jelinek <jakub@redhat.com>
3511
3512 PR preprocessor/48248
3513 * c-ppoutput.c (print): Add src_file field.
3514 (init_pp_output): Initialize it.
3515 (maybe_print_line): Don't optimize by adding up to 8 newlines
3516 if map->to_file and print.src_file are different file.
3517 (print_line): Update print.src_file.
3518
82715bcd 35192011-03-25 Kai Tietz <ktietz@redhat.com>
3520
3521 * c-ada-spec.c (compare_comment): Use filename_cmp
3522 instead of strcmp for filename.
3523
451c8e2f 35242011-03-25 Jeff Law <law@redhat.com>
3525
3526 * c-family/c-common.c (def_fn_type): Add missing va_end.
3527
3c47771c 35282011-03-25 Jason Merrill <jason@redhat.com>
3529
3530 * c.opt: Add -std=c++03.
3531
97e6200f 35322011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3533
3534 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3535
ac86af5d 35362011-03-17 Kai Tietz
3537
3538 PR target/12171
ee212425 3539 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3540 Display allowed attributes for function pointer types.
3541 (pp_c_attributes_display): New function to display
3542 attributes having affects_type_identity flag set to true.
3543 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3544
ac86af5d 3545 * c-common.c (c_common_attribute_table):
3546 Add new element.
3547 (c_common_format_attribute_table): Likewise.
3548
914d1151 35492011-03-18 Jason Merrill <jason@redhat.com>
3550
69788bdf 3551 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3552 * c-common.h: Don't declare it here.
3553 * c-common.c: Or define it here.
3554 * c-opts.c (c_common_handle_option): Or set it here.
3555
914d1151 3556 PR c++/35315
3557 * c-common.c (handle_transparent_union_attribute): Don't
3558 make a duplicate type in C++.
3559
54cf6eed 35602011-03-15 Jason Merrill <jason@redhat.com>
3561
3562 * c-common.c (max_constexpr_depth): New.
3563 * c-common.h: Declare it.
3564 * c-opts.c (c_common_handle_option): Set it.
3565 * c.opt (fconstexpr-depth): New option.
3566
02cb1060 35672011-03-11 Jason Merrill <jason@redhat.com>
3568
9bf1c74e 3569 * c-common.c (attribute_takes_identifier_p): Add missing const.
3570
02cb1060 3571 PR c++/46803
3572 * c-common.c (attribute_takes_identifier_p): Assume that an
3573 unknown attribute takes an identifier.
3574
ecf2703d 35752011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3576
3577 PR c/47786
3578 * c-common.c (c_type_hash): Call list_length instead of iterating
3579 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3580
2b19dfe4 35812011-02-19 Jakub Jelinek <jakub@redhat.com>
3582
3583 PR c/47809
3584 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3585
29cf2335 35862011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3587
3588 * c.opt (fobjc-abi-version=) New.
3589 (fobjc-nilcheck): New.
3590
fad3f658 35912011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3592
3593 PR c++/46890
3594 * c-common.h (keyword_is_decl_specifier): Declare.
3595 * c-common.c (keyword_is_decl_specifier): Define.
3596 (keyword_is_function_specifier): New function.
3597
a12319b3 35982011-01-26 Jakub Jelinek <jakub@redhat.com>
3599
3600 PR c/47473
3601 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3602 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3603 REAL_TYPE.
3604
5c128dc8 36052011-01-26 Arnaud Charlet <charlet@adacore.com>
3606
3607 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3608
8d67b0c7 36092011-01-26 Jakub Jelinek <jakub@redhat.com>
3610
3611 PR pch/47430
3612 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3613 after init_c_lex if pch_file is set.
3614
0675168d 36152011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3616
e8911163 3617 PR c++/43601
0675168d 3618 * c.opt (-fkeep-inline-dllexport): New switch.
3619
0725e25c 36202011-01-12 Richard Guenther <rguenther@suse.de>
3621
3622 PR middle-end/32511
3623 * c-common.c (handle_weak_attribute): Warn instead of error
3624 on declaring an inline function weak.
3625
fdd84b77 36262011-01-05 Tom Tromey <tromey@redhat.com>
3627
3628 * c-common.h (lvalue_error): Update.
3629 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3630 not error.
3631
e6e73d14 36322010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3633
d67e8485 3634 PR objc/47075
3635 * c-objc.h (objc_finish_message_expr): Added argument to
3636 prototype.
3637
a36cf284 36382010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3639
3640 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3641 Use prototype_p.
3642
33b3681f 36432010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3644
3645 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3646 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3647
a1f90215 36482010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3649
3650 * c-common.h (readonly_error): Declare.
3651 * c-common.c (readonly_error): Define.
3652
b1bbc8e5 36532010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3654
3655 * c-common.h (invalid_indirection_error): Declare.
3656 * c-common.c (invalid_indirection_error): Define.
3657
b0d55af9 36582010-12-03 Richard Guenther <rguenther@suse.de>
3659
3660 PR c/46745
3661 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3662 (pp_c_unary_expression): Likewise.
3663 (pp_c_expression): Likewise.
3664
d7489d8d 36652010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3666
3667 * c-common.h (objc_finish_function): New.
3668 (objc_non_volatilized_type): Removed.
3669 (objc_type_quals_match): Removed.
3670 * stub-objc.c (objc_finish_function): New.
3671 (objc_non_volatilized_type): Removed.
3672 (objc_type_quals_match): Removed.
19931eea 3673
92468061 36742010-11-30 Joseph Myers <joseph@codesourcery.com>
3675
3676 * c-common.h (parse_optimize_options): Declare.
3677 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3678 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3679
967958e4 36802010-11-29 Joseph Myers <joseph@codesourcery.com>
3681
3682 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3683 GET_ENVIRONMENT.
3684 * c-pch.c (O_BINARY): Don't define here.
3685 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3686
b213bf24 36872010-11-25 Joseph Myers <joseph@codesourcery.com>
3688
3689 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3690 targetm.except_unwind_info.
3691
9faf44d6 36922010-11-23 Joseph Myers <joseph@codesourcery.com>
3693
3694 * c-opts.c (c_common_handle_option): Pass location to
3695 set_struct_debug_option.
3696
79396169 36972010-11-23 Joseph Myers <joseph@codesourcery.com>
3698
3699 * c-common.c (visibility_options): Move from ../opts.c.
3700 * c-common.h (struct visibility_flags, visibility_options):
3701 Declare here.
3702 * c-opts.c (finish_options): Rename to c_finish_options.
3703 (c_common_init): Update call to finish_options.
3704
b4aa4123 37052010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3706
3707 PR objc/34033
3708 * c-lex.c (lex_string): Check that each string in an Objective-C
3709 string concat sequence starts with either one or zero '@', and
3710 that there are no spurious '@' signs at the end.
3711
3e0e49f2 37122010-11-20 Joseph Myers <joseph@codesourcery.com>
3713
3714 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3715 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3716 HANDLE_PRAGMA_VISIBILITY.
3717 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3718 HANDLE_PRAGMA_VISIBILITY): Don't define.
3719 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3720
a9ffdd35 37212010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3722
3723 PR c++/16189
3724 PR c++/36888
3725 PR c++/45331
3726 * c-common.h (keyword_begins_type_specifier): Declare.
3727 (keyword_is_storage_class_specifier): Declare.
3728 (keyword_is_type_qualifier): Declare.
3729 * c-common.c (keyword_begins_type_specifier): New function.
3730 (keyword_is_storage_class_specifier): New function.
3731 (keyword_is_type_qualifier): Declare.
3732
93be21c0 37332010-11-19 Joseph Myers <joseph@codesourcery.com>
3734
3735 PR c/46547
3736 * c-common.c (in_late_binary_op): Define.
3737 (c_common_truthvalue_conversion): Check in_late_binary_op before
3738 calling c_save_expr.
3739 * c-common.h (in_late_binary_op): Declare.
3740
d7175aef 37412010-11-19 Joseph Myers <joseph@codesourcery.com>
3742
3743 * c-opts.c (c_common_handle_option): Update calls to
3744 set_struct_debug_option.
3745
c213e196 37462010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3747
3748 * c-common.h (objc_declare_protocols): Added additional argument.
3749 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 3750
0b5fc5d6 37512010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3752
3753 PR c/33193
3754 * c-common.h (build_real_imag_expr): Declare.
3755 * c-semantics.c (build_real_imag_expr): Define.
3756
b8ba44e7 37572010-11-17 Joseph Myers <joseph@codesourcery.com>
3758
3759 * c-opts.c (c_common_parse_file): Take no arguments.
3760 * c-common.h (c_common_parse_file): Update prototype.
3761
6ef8d12f 37622010-11-16 Jakub Jelinek <jakub@redhat.com>
3763
3764 PR c++/46401
3765 * c-common.c (warning_candidate_p): Don't track non-const calls
3766 or STRING_CSTs.
3767
929d2a90 37682010-11-15 Ian Lance Taylor <iant@google.com>
3769
3770 * c-lex.c (init_c_lex): Set macro debug callbacks if
3771 flag_dump_go_spec is set.
3772
e4a7640a 37732010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3774
3775 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3776 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3777
597d2d81 37782010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3779
3780 PR preprocessor/45038
3781 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3782 dialects.
3783
c123f04d 37842010-11-12 Joseph Myers <joseph@codesourcery.com>
3785
3786 * c-common.h (c_family_lang_mask): Declare.
3787 * c-opts.c (c_family_lang_mask): Make extern.
3788 * c-pragma.c (handle_pragma_diagnostic): Use
3789 control_warning_option.
3790
3c6c0e40 37912010-11-12 Joseph Myers <joseph@codesourcery.com>
3792
3793 * c-common.c (parse_optimize_options): Update call to
3794 decode_options.
3795 * c-common.h (c_common_handle_option): Update prototype.
3796 * c-opts.c (c_common_handle_option): Take location_t parameter and
3797 pass it to other functions.
3798
19ec5c9e 37992010-11-11 Joseph Myers <joseph@codesourcery.com>
3800
3801 * c-opts.c (warning_as_error_callback): Remove.
3802 (c_common_initialize_diagnostics): Don't call
3803 register_warning_as_error_callback.
3804 (c_common_handle_option): Handle -Werror=normalized= here.
3805
bf776685 38062010-11-10 Joseph Myers <joseph@codesourcery.com>
3807
3808 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3809 in diagnostic.
3810 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3811 letter.
3812 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3813 Remove trailing '.' from diagnostics.
3814 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3815
6bd9d862 38162010-11-10 Joseph Myers <joseph@codesourcery.com>
3817
3818 * c-common.c (parse_optimize_options): Pass global_dc to
3819 decode_options.
3820 * c-opts.c (c_common_handle_option): Pass &global_options to
3821 set_Wstrict_aliasing.
3822 * c.opt (v): Don't mark Common or document here.
3823
1f6616ee 38242010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3825
3826 PR target/44981
3827 * c-format.c (format_type): New type gcc_objc_string_format_type.
3828 (valid_stringptr_type_p): New.
3829 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 3830 (check_format_string): Pass expected type, use
1f6616ee 3831 valid_stringptr_type_p (), check that the format string types are
3832 consistent with the format specification.
3833 (decode_format_attr): Warn if NSString is used outside objective-c.
3834 (format_types_orig): Add NSString.
3835 (format_name): New.
3836 (format_flags): New.
3837 (check_format_arg): Handle format strings requiring an external parser.
3838 first_target_format_type: New variable.
3839 (handle_format_attribute): Set up first_target_format_type, pass the
3840 expected format arg string type to check_format_string().
3841 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3842 * stub-objc.c (objc_string_ref_type_p): New.
3843 (objc_check_format_arg): New.
3844
b0d0931f 38452010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3846
19931eea 3847 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 3848 * c-common.h (objc_build_class_component_ref): New.
3849 * stub-objc.c (objc_build_class_component_ref): New.
3850
f26877d5 38512010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3852
3853 * c.opt (Wproperty-assign-default): New option.
3854
1ef143b6 38552010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3856
3857 Implemented -fobjc-std=objc1 flag.
3858 * c.opt (fobjc-std=objc1): New option.
3859
8c582e4f 38602010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3861
3862 Implemented format and noreturn attributes for Objective-C methods.
3863 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3864 attribute for Objective-C methods.
3865
8637f1db 38662010-10-31 Jason Merrill <jason@redhat.com>
3867
3868 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3869 EXPR_LOC_OR_HERE.
3870
9d9f5bb3 38712010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3872
3873 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3874 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3875 (objc_add_property_declaration): Removed arguments for copies and
3876 ivar.
3877 (objc_build_getter_call): Renamed to
3878 objc_maybe_build_component_ref.
3879 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3880 (objc_is_property_ref): New.
3881 * c-common.c (c_common_reswords): Removed copies and ivar.
3882 * stub-objc.c (objc_add_property_declaration): Removed arguments
3883 for copies and ivar.
3884 (objc_build_getter_call): Renamed to
3885 objc_maybe_build_component_ref.
3886 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3887 (objc_is_property_ref): New.
19931eea 3888
56f907a0 38892010-10-29 Arnaud Charlet <charlet@adacore.com>
3890 Matthew Gingell <gingell@adacore.com>
3891
3892 * c-ada-spec.c (separate_class_package): New function.
3893 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3894 name of their enclosing package.
3895 (print_ada_declaration): Use separate_class_package.
3896
b5fa273e 38972010-10-27 Jason Merrill <jason@redhat.com>
3898
5290e253 3899 * c-common.c (c_common_reswords): Add __is_literal_type.
3900 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3901
b5fa273e 3902 * c-common.c (check_case_value): Remove special C++ code.
3903
7590f0e5 39042010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3905
3906 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3907 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3908 and RID_LAST_PATTR.
3909 (objc_add_property_declaration): Added additional arguments.
3910 (objc_property_attribute_kind): Removed.
3911 (objc_set_property_attr): Removed.
3912 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3913 copy and nonatomic.
3914 * stub-objc.c (objc_add_property_declaration): Added additional
3915 arguments.
3916 (objc_set_property_attr): Removed.
19931eea 3917
1d894bcf 39182010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3919
3920 * c-common.h (objc_add_property_variable): Renamed to
3921 objc_add_property_declaration. Added location argument.
3922 * stub-objc.c (objc_add_property_variable): Same change.
3923
e23bf1fb 39242010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3925
3926 * c-common.h (objc_maybe_printable_name): New.
3927 * stub-objc.c (objc_maybe_printable_name): New.
3928
93426222 39292010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3930 Andrew Pinski <pinskia@gmail.com>
3931
3932 * c-common.h (c_common_mark_addressable_vec): Declare.
3933 * c-common.c (c_common_mark_addressable_vec): New function.
3934
45b2b110 39352010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3936
3937 * c-common.h (objc_set_method_type): Removed.
3938 (objc_add_method_declaration): Added boolean argument.
3939 (objc_start_method_definition): Same change.
3940 (objc_build_method_signature): Same change.
3941 * stub-objc.c (objc_set_method_type): Removed.
3942 (objc_add_method_declaration): Added boolean argument.
3943 (objc_start_method_definition): Same change.
3944 (objc_build_method_signature): Same change.
3945
64cd9619 39462010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3947
3948 * c-common.h (finish_file): Removed.
3949 (objc_write_global_declarations): New.
3950 * c-opts.c (c_common_parse_file): Do not call finish_file.
3951 * stub-objc.c (objc_write_global_declarations): New.
19931eea 3952
e1f293c0 39532010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3954
3955 Implemented parsing @synthesize and @dynamic for
3956 Objective-C/Objective-C++.
3957 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3958 (objc_add_synthesize_declaration): New.
3959 (objc_add_dynamic_declaration): New.
3960 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3961 * stub-objc.c (objc_add_synthesize_declaration): New.
3962 (objc_add_dynamic_declaration): New.
19931eea 3963
ef97a312 39642010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3965
3966 PR target/46041
3967 * c-cppbuiltin.c (mode_has_fma): Move function here from
3968 builtins.c. Don't use the fma optab, instead just use the
3969 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3970 using -save-temps.
3971
69b07042 39722010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3973
3974 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 3975
69b07042 3976 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3977
19931eea 3978 Radar 4330422
69b07042 3979 * c-common.h (objc_non_volatilized_type): New declaration
3980 * stub-objc.c (objc_non_volatilized_type): New stub.
3981
f15f2e56 39822010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3983
69b07042 3984 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 3985
3986 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3987
19931eea 3988 Radar 4133425
f15f2e56 3989 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 3990 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 3991
4a8875ed 39922010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3993
3994 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3995 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3996 (objc_ivar_visibility_kind): New enum.
3997 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 3998 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 3999 visibility enum.
4000
7e0713b1 40012010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4002
4003 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4004 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4005 has the appropriate fma builtins.
4006 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4007
86c110ac 40082010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4009
7e0713b1 4010 merge from FSF apple 'trunk' branch.
86c110ac 4011 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 4012
86c110ac 4013 Radars 4436866, 4505126, 4506903, 4517826
4014 * c-common.c (c_common_resword): Define @property and its attributes.
4015 * c-common.h: Define property attribute enum entries.
4016 (OBJC_IS_PATTR_KEYWORD): New.
4017 (objc_property_attribute_kind): New enum.
4018 Declare objc_set_property_attr (), objc_add_property_variable (),
4019 objc_build_getter_call () and objc_build_setter_call ().
4020 * stub-objc.c (objc_set_property_attr): New stub.
4021 (objc_add_property_variable): Likewise.
4022 (objc_build_getter_call): Likewise.
4023 (objc_build_setter_call) Likewise.
7e0713b1 4024
40c8d1dd 40252010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4026
7e0713b1 4027 merge from FSF apple 'trunk' branch.
40c8d1dd 4028 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4029
4030 Radar 3803157 (method attributes)
4031 * c-common.c (handle_deprecated_attribute): Recognize
4032 objc methods as valid declarations.
4033 * c-common.h: Declare objc_method_decl ().
7e0713b1 4034 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 4035
f3f006ad 40362010-10-08 Joseph Myers <joseph@codesourcery.com>
4037
4038 * c-common.c (parse_optimize_options): Call
4039 decode_cmdline_options_to_array_default_mask before
4040 decode_options. Update arguments to decode_options.
4041 * c-common.h (c_common_init_options_struct): Declare.
4042 * c-opts.c (c_common_init_options_struct): New. Split out from
4043 c_common_init_options.
4044
0a65c3bb 40452010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4046
4047 Implemented fast enumeration for Objective-C.
4048 * c-common.h (objc_finish_foreach_loop): New.
4049 * stub-objc.c (objc_finish_foreach_loop): New.
4050
24ca3b4e 40512010-10-05 Joseph Myers <joseph@codesourcery.com>
4052
4053 * c-common.h (struct diagnostic_context): Don't declare here.
4054 (c_common_initialize_diagnostics): Declare using
4055 diagnostic_context typedef.
4056 * c-opts.c (c_common_handle_option): Pass global_dc to
4057 handle_generated_option.
4058
f83b64ca 40592010-10-04 Joseph Myers <joseph@codesourcery.com>
4060
4061 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4062 handle_generated_option.
4063
2fdec027 40642010-10-03 Ian Lance Taylor <iant@google.com>
4065
4066 * c.opt (-fplan9-extensions): New option.
4067
41acdfa4 40682010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4069
4070 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4071 Remove.
4072 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4073 of duplicating code.
4074
069761fb 40752010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4076
4077 * c-common.c: Add two new entries for @optional
4078 and @required keywords.
4079
4080 merge from FSF 'apple/trunk' branch.
4081 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4082
4083 Radar 4386773
4084 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4085 objective-c keywords.
4086 (objc_set_method_opt): New declaration.
4087 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 4088
2c5d2e39 40892010-09-30 Joseph Myers <joseph@codesourcery.com>
4090
4091 * c-common.c (handle_optimize_attribute): Pass &global_options to
4092 cl_optimization_save and cl_optimization_restore.
4093 * c-opts.c (c_common_handle_option): Pass &global_options to
4094 handle_generated_option.
4095 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4096 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4097 &global_options to cl_optimization_restore.
4098
e5c75ac3 40992010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4100
4101 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4102 Objective-C/Objective-C++ keywords.
4103
3511333e 41042010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 4105
19931eea 4106 Merge from 'apple/trunk' branch on FSF servers.
4107
e147d6aa 4108 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4109
4110 Radar 4281748
4111 * c-common.h (objc_check_global_decl): New declaration.
4112 * stub-objc.c (objc_check_global_decl): New stub.
4113
5461e683 41142010-09-29 Joseph Myers <joseph@codesourcery.com>
4115
4116 * c.opt: Don't use VarExists.
4117
5ae82d58 41182010-09-29 Joseph Myers <joseph@codesourcery.com>
4119
4120 * c-common.c (c_cpp_error): Update names of diagnostic_context
4121 members.
4122 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4123 cl_optimization members.
4124 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4125 sanitize_cpp_opts, finish_options): Update names of cpp_options
4126 members.
4127
b27e241e 41282010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4129
4130 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4131 (objc_is_reserved_word): Removed.
4132 * c-common.c: Updated comments.
4133 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4134 objc_is_reserved_word.
4135 * stub-objc.c (objc_is_reserved_word): Removed.
4136
03fc2271 41372010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4138
19931eea 4139 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 4140 include attributes.
4141 (objc_start_method_definition): Likewise.
4142 (objc_build_keyword_decl): Likewise.
4143 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4144 (objc_start_method_definition): Likewise.
4145 (objc_build_keyword_decl): Likewise.
4146
a336eb4b 41472010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4148
4149 * c-common.h (objc_start_class_interface): Adjust prototype.
4150 (objc_start_category_interface): Likewise.
4151 (objc_start_protocol): Likewise.
4152 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4153 (objc_start_class_interface): Likewise.
4154 (objc_start_category_interface): Likewise.
4155
48b14f50 41562010-09-27 Ian Lance Taylor <iant@google.com>
4157
4158 * c-common.c (c_common_attribute_table): Add no_split_stack.
4159 (handle_no_split_stack_attribute): New static function.
4160
4abfc532 41612010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4162
19931eea 4163 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 4164
4165 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4166
19931eea 4167 Radar 4229905
4abfc532 4168 * c-common.h (objc_have_common_type): New declaration.
4169 * stub-objc.c (objc_have_common_type): New stub.
4170
4171 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4172
4173 Radar 4154928
4174 * c-common.h (objc_common_type): New prototype.
19931eea 4175 * stub-objc.c (objc_common_type): New stub.
4abfc532 4176
7bd95dfd 41772010-09-24 Jan Hubicka <jh@suse.cz>
4178
4179 * c-common.c (handle_leaf_attribute): New function.
4180 (struct attribute_spec c_common_att): Add leaf.
4181
5789e05b 41822010-09-22 Joseph Myers <joseph@codesourcery.com>
4183
4184 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4185 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4186 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4187 -include-barrier, -include-directory, -include-directory=,
4188 -include-directory-after, -include-directory-after=,
4189 -include-prefix, -include-prefix=, -include-with-prefix,
4190 -include-with-prefix=, -include-with-prefix-after,
4191 -include-with-prefix-after=, -include-with-prefix-before,
4192 -include-with-prefix-before=, -no-integrated-cpp,
4193 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4194 -output=, -pedantic, -pedantic-errors, -preprocess,
4195 -print-missing-file-dependencies, -trace-includes, -traditional,
4196 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4197 -user-dependencies, -verbose, -write-dependencies,
4198 -write-user-dependencies, no-integrated-cpp, traditional): New.
4199
e6fb54ba 42002010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4201
4202 PR objc/23710
9b60f3b0 4203 * c-common.h (objc_start_method_definition): Return bool instead
4204 of void.
4205 * stub-objc.c (objc_start_method_definition): Return bool instead
4206 of void.
4207
42082010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4209
4210 PR objc/25965
4211 * c-common.h (objc_get_interface_ivars): New declaration.
4212 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4213
e44b0a1f 42142010-09-15 Ian Lance Taylor <iant@google.com>
4215
4216 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4217 messages. Remove period at end of warning message.
e44b0a1f 4218
85c0a25c 42192010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4220
4221 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4222 (handle_alias_attribute): ... here.
4223 (handle_ifunc_attribute): New.
4224
5ba33bf4 42252010-09-06 Mark Mitchell <mark@codesourcery.com>
4226
4227 * c-common.h (do_warn_double_promotion): Declare.
4228 * c-common.c (do_warn_double_promotion): Define.
4229
c920faa3 42302010-09-05 Mark Mitchell <mark@codesourcery.com>
4231
4232 * c.opt (Wdouble-promotion): New.
4233
9604e070 42342010-09-02 Joseph Myers <joseph@codesourcery.com>
4235
4236 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4237 fvtable-thunks, fxref): Mark no longer supported in help text.
4238
3b0273a1 42392010-09-02 Joseph Myers <joseph@codesourcery.com>
4240
4241 * c.opt (Wimport, fall-virtual, falt-external-templates,
4242 fdefault-inline, fenum-int-equiv, fexternal-templates,
4243 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4244 fname-mangling-version-, fnew-abi, fnonnull-objects,
4245 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4246 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4247 applicable.
4248 (fhandle-exceptions): Mark with Alias and Warn.
4249 * c-opts.c (c_common_handle_option): Don't handle options marked
4250 as ignored.
4251
67089c6b 42522010-09-02 Joseph Myers <joseph@codesourcery.com>
4253
4254 * c.opt (Wcomments, Werror-implicit-function-declaration,
4255 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4256 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4257 aliases.
4258 * c-common.c (option_codes): Use OPT_Wcomment instead of
4259 OPT_Wcomments.
4260 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4261 Don't handle options marked as aliases.
4262
2af087f2 42632010-08-25 Richard Guenther <rguenther@suse.de>
4264
4265 * c-common.c (c_common_get_alias_set): Remove special
4266 handling for pointers.
4267
48148244 42682010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4269
4270 * c-common.c: Use FOR_EACH_VEC_ELT.
4271 * c-gimplify.c: Likewise.
4272 * c-pragma.c: Likewise.
4273
89c69892 42742010-08-16 Joseph Myers <joseph@codesourcery.com>
4275
4276 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4277 RejectDriver.
4278 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4279 RejectDriver.
4280 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4281 instead of OPT_MDX and OPT_MMDX.
4282
e28aa114 42832010-08-16 Joseph Myers <joseph@codesourcery.com>
4284
4285 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4286
99b66d21 42872010-08-12 Joseph Myers <joseph@codesourcery.com>
4288
4289 * c.opt (MD, MMD): Change to MDX and MMDX.
4290 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4291
666f4bf0 42922010-08-11 Joseph Myers <joseph@codesourcery.com>
4293
4294 * c-opts.c (c_common_handle_option): Call handle_generated_option
4295 instead of handle_option.
4296
5ec815f6 42972010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4298
4299 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4300 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4301
d13143cf 43022010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4303
4304 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4305 (pending_redefine_extname): Change type to a VEC.
4306 (add_to_renaming_pragma_list): Update for new type of
4307 pending_redefine_extname.
5ec815f6 4308 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4309
2008c983 43102010-08-04 Arnaud Charlet <charlet@adacore.com>
4311
4312 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4313 visited.
4314 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4315 decide whether a type has already been declared/seen.
4316 Do not go to the original type.
4317 (dump_nested_types): New parameter forward.
4318 Generate forward declaration if needed and mark type as visited.
4319 (print_ada_declaration): Call dump_nested_types if not already done.
4320 Mark types as visited.
4321
9b091a73 43222010-08-03 Joseph Myers <joseph@codesourcery.com>
4323
4324 * c.opt (-print-pch-checksum): Remove option.
4325 * c-opts.c (c_common_handle_option): Don't handle
4326 OPT_print_pch_checksum.
4327
b78351e5 43282010-07-27 Joseph Myers <joseph@codesourcery.com>
4329
4330 * c-common.h (c_common_handle_option): Update prototype and return
4331 value type.
4332 * c-opts.c (c_common_handle_option): Update prototype and return
4333 value type. Update calls to handle_option and
4334 enable_warning_as_error.
4335
34416a90 43362010-07-27 Jakub Jelinek <jakub@redhat.com>
4337
4338 PR c/45079
4339 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4340
fecf9011 43412010-07-27 Joseph Myers <joseph@codesourcery.com>
4342
4343 * c-common.h (c_common_missing_argument): Remove.
4344 * c-opts.c (c_common_missing_argument): Remove.
4345 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4346 idirafter, imacros, include, isysroot, isystem, iquote): Add
4347 MissingArgError.
4348 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4349
e88d34f6 43502010-07-27 Joseph Myers <joseph@codesourcery.com>
4351
4352 * c-common.h (c_common_option_lang_mask,
4353 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4354 New.
4355 (c_common_init_options): Update prototype.
4356 * c-opts.c (c_common_option_lang_mask): New.
4357 (c_common_initialize_diagnostics): Split out of
4358 c_common_init_options.
4359 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4360 New.
4361 (c_common_init_options): Update prototype. Use decoded options in
4362 search for -lang-asm.
4363
1767a056 43642010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4365
4366 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4367 * c-format.c: Likewise.
4368
0b205f4c 43692010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4370
4371 * c-common.h: Include diagnostic-core.h. Error if already
4372 included.
4373 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4374
1c58e3f1 43752010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4376
4377 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
4378 Do not include expr.h
4379 (vector_mode_valid_p): Move here.
4380
33cc157c 43812010-06-21 DJ Delorie <dj@redhat.com>
4382
4383 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4384 allow these pragmas anywhere.
4385
43862010-06-14 Jakub Jelinek <jakub@redhat.com>
4387
4388 PR bootstrap/44509
4389 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4390 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4391 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4392 ggc_strdup instead of xstrdup.
4393
43942010-06-10 Jakub Jelinek <jakub@redhat.com>
4395
4396 * c-cppbuiltin.c: Include cpp-id-data.h.
4397 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4398 (lazy_hex_fp_value): New function.
4399 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4400
9b40bfbf 44012010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4402
4403 * c-gimplify.c: Do not include tree-flow.h
4404
202d6e5f 44052010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4406
4407 PR other/44034
4408 * c-common.c: Rename targetm member:
4409 targetm.enum_va_list -> targetm.enum_va_list_p
4410
d3237426 44112010-06-28 Anatoly Sokolov <aesok@post.ru>
4412
4413 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4414
596981c8 44152010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4416
4417 * c-cppbuiltin.c: Do not include except.h.
4418
b9bdfa0b 44192010-06-24 Andi Kleen <ak@linux.intel.com>
4420
19931eea 4421 * c-common.c (warn_for_omitted_condop): New.
4422 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4423
55ad092d 44242010-06-21 Joseph Myers <joseph@codesourcery.com>
4425
4426 * c.opt (lang-objc): Remove.
4427 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4428
9e7c2572 44292010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4430
4431 * c-opts.c: Include "tm_p.h".
4432
615ef0bb 44332010-06-20 Joseph Myers <joseph@codesourcery.com>
4434
4435 * c-common.c (parse_optimize_options): Update call to
4436 decode_options.
4437
aef48c9a 44382010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4439
4440 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4441 new type of types_used_by_cur_var_decl.
4442
d74003b4 44432010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4444
4445 PR bootstrap/44512
4446 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4447 for C++ standard compliance.
4448
1194d077 44492010-06-16 Jason Merrill <jason@redhat.com>
4450
4451 * c.opt: Add -Wnoexcept.
4452
d473d901 44532010-06-16 Richard Guenther <rguenther@suse.de>
4454
4455 PR c/44555
4456 * c-common.c (c_common_truthvalue_conversion): Remove
4457 premature and wrong optimization concering ADDR_EXPRs.
4458
b62dbfd3 44592010-06-15 Arnaud Charlet <charlet@adacore.com>
4460
4461 * c-ada-spec.c (dump_sloc): Remove column info.
4462 (is_simple_enum): New function.
4463 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4464 enum types when relevant.
4465
200dd99c 44662010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4467
19931eea 4468 * c-common.c (conversion_warning): Warn at expression
200dd99c 4469 location.
4470
abf6a617 44712010-06-10 Joseph Myers <joseph@codesourcery.com>
4472
4473 * c-opts.c (c_common_handle_option): Don't handle
4474 OPT_fshow_column.
4475
ba72912a 44762010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4477
4478 * c-pragma.c (push_alignment): Use typed GC allocation.
4479 (handle_pragma_push_options): Likewise.
4480
4481 * c-common.c (parse_optimize_options): Likewise.
4482
4483 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4484 option.
4485
4aafe913 44862010-06-07 Joseph Myers <joseph@codesourcery.com>
4487
4488 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4489 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4490 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4491 flag_signed_bitfields, warn_strict_null_sentinel,
4492 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4493 flag_gen_declaration, flag_no_gnu_keywords,
4494 flag_implement_inlines, flag_implicit_templates,
4495 flag_implicit_inline_templates, flag_optional_diags,
4496 flag_elide_constructors, flag_default_inline, flag_rtti,
4497 flag_conserve_space, flag_access_control, flag_check_new,
4498 flag_new_for_scope, flag_weak, flag_working_directory,
4499 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4500 flag_enforce_eh_specs, flag_threadsafe_statics,
4501 flag_pretty_templates): Remove.
4502 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4503 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4504 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4505 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4506 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4507 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4508 flag_no_gnu_keywords, flag_implement_inlines,
4509 flag_implicit_templates, flag_implicit_inline_templates,
4510 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4511 flag_rtti, flag_conserve_space, flag_access_control,
4512 flag_check_new, flag_new_for_scope, flag_weak,
4513 flag_working_directory, flag_use_cxa_atexit,
4514 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4515 flag_threadsafe_statics, flag_pretty_templates,
4516 warn_strict_null_sentinel): Remove.
4517 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4518 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4519 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4520 fimplicit-inline-templates, fimplicit-templates,
4521 flax-vector-conversions, fms-extensions, fnil-receivers,
4522 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4523 frtti, fshort-double, fshort-enums, fshort-wchar,
4524 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4525 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4526 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4527 gen-decls, undef): Use Var.
4528 (fdefault-inline, foptional-diags): Document as doing nothing.
4529 * c-opts.c (c_common_handle_option): Remove cases for options now
4530 using Var. Mark ignored options as such.
4531
7bedc3a0 45322010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4533
19931eea 4534 * c-common.c: Moved to here from parent directory.
7bedc3a0 4535 * c-common.def: Likewise.
4536 * c-common.h: Likewise.
4537 * c-cppbuiltin.c: Likewise.
4538 * c-dump.c: Likewise.
4539 * c-format.c: Likewise.
4540 * c-format.h : Likewise.
4541 * c-gimplify.c: Likewise.
4542 * c-lex.c: Likewise.
4543 * c-omp.c: Likewise.
4544 * c.opt: Likewise.
4545 * c-opts.c: Likewise.
4546 * c-pch.c: Likewise.
4547 * c-ppoutput.c: Likewise.
4548 * c-pragma.c: Likewise.
4549 * c-pragma.h: Likewise.
4550 * c-pretty-print.c: Likewise.
4551 * c-pretty-print.h: Likewise.
4552 * c-semantics.c: Likewise.
4553 * stub-objc.c: Likewise.
4554
4555 * c-common.c: Include gt-c-family-c-common.h.
4556 * c-pragma.c: Include gt-c-family-c-pragma.h.
4557\f
d353bf18 4558Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 4559
4560Copying and distribution of this file, with or without modification,
4561are permitted in any medium without royalty provided the copyright
4562notice and this notice are preserved.