]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
* auto-profile.c, auto-profile.h: Fix up Copyright line.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
83715bc4 12014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
2
3 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
4 Control macro with flag_sized_deallocation.
5
8a8211df 62014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
7
8 * c.opt (Wdiscarded-array-qualifiers): New option.
9
33058239 102014-12-19 Jakub Jelinek <jakub@redhat.com>
11
12 PR preprocessor/63831
13 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
14 and __has_cpp_attribute here.
15 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
16 c_common_has_attribute.
17 * c-common.h (c_common_has_attribute): New prototype.
18 * c-lex.c (init_c_lex): Set cb->has_attribute to
19 c_common_has_attribute instead of cb_has_attribute.
20 (get_token_no_padding): New function.
21 (cb_has_attribute): Renamed to ...
22 (c_common_has_attribute): ... this. No longer static. Use
23 get_token_no_padding, require ()s, don't build TREE_LIST
24 unnecessarily, fix up formatting, adjust diagnostics, call
25 init_attributes.
26
d1856d2c 272014-12-15 Jason Merrill <jason@redhat.com>
28
29 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
30 (-Wsized-deallocation): New.
31 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
32 to on in C++14 and up.
33
4972ed5d 342014-12-11 Jason Merrill <jason@redhat.com>
35
7d7fa964 36 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
37
4972ed5d 38 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
39 we aren't complaining about VLAs.
40
5ebccf71 412014-12-06 Marek Polacek <polacek@redhat.com>
42
43 PR tree-optimization/64183
44 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
45 shift-expression if it is integer_type_node. Use types_compatible_p.
46
f9e245b2 472014-11-29 Jakub Jelinek <jakub@redhat.com>
48
49 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
50 last argument from create_tmp_var_raw and create_tmp_var calls.
51 * cilk.c (gimplify_cilk_spawn): Likewise.
52 * c-omp.c (c_finish_omp_atomic): Likewise.
53
d2f60593 542014-11-28 Marek Polacek <polacek@redhat.com>
55
56 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
57 instead of unsigned_type_node.
58
fce2dbd1 592014-11-28 Marek Polacek <polacek@redhat.com>
60
61 PR c/63862
62 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
63 to op1_utype.
64 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
65 expression to unsigned_type_node.
66
3a4a2292 672014-11-20 Mark Wielaard <mjw@redhat.com>
68
69 PR debug/38757
70 * c-opts.c (set_std_c89): Set lang_hooks.name.
71 (set_std_c99): Likewise.
72 (set_std_c11): Likewise.
73 (set_std_cxx98): Likewise.
74 (set_std_cxx11): Likewise.
75 (set_std_cxx14): Likewise.
76 (set_std_cxx1z): Likewise.
77
c61ef207 782014-11-21 Jakub Jelinek <jakub@redhat.com>
79
80 PR target/63764
81 * c-common.h (convert_vector_to_pointer_for_subscript): Change
82 return type to bool.
c9ed79de 83 * c-common.c: Include gimple-expr.h.
c61ef207 84 (convert_vector_to_pointer_for_subscript): Change return type to
85 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
86 and copy it into a TARGET_EXPR and use that instead of *vecp
87 directly.
88
1a91d914 892014-11-19 David Malcolm <dmalcolm@redhat.com>
90
91 Merger of git branch "gimple-classes-v2-option-3".
92 * ChangeLog.gimple-classes: New.
93 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
94 from being just a vec<gimple> to a vec<gbind *>.
95
f8fc8b8e 962014-11-18 Jakub Jelinek <jakub@redhat.com>
97
98 PR sanitizer/63813
99 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
100 argument to ptype, set type to TREE_TYPE (ptype). Don't call
101 get_pointer_alignment for non-pointers. Use ptype, or if it is
102 reference type, corresponding pointer type, as type of kind
103 argument.
104 (ubsan_maybe_instrument_reference,
105 ubsan_maybe_instrument_member_call): Adjust callers.
106
8315e35e 1072014-11-15 Marek Polacek <polacek@redhat.com>
108
109 PR middle-end/63884
110 * array-notation-common.c (is_sec_implicit_index_fn): Return false
111 for NULL fndecl.
112 (extract_array_notation_exprs): Return for NULL node.
113
86b9f14b 1142014-11-12 Joseph Myers <joseph@codesourcery.com>
115
116 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
117 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
118
0c93c8a9 1192014-11-12 Jakub Jelinek <jakub@redhat.com>
120
121 PR c/59708
122 * c-common.c (check_builtin_function_arguments): Handle
123 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
124
fdd735a7 1252014-11-10 Andi Kleen <ak@linux.intel.com>
126
127 PR c/60804
128 * c-common.h (check_no_cilk): Declare.
129 * cilk.c (get_error_location): New function.
130 (check_no_cilk): Dito.
131
5cb678b4 1322014-11-10 Andi Kleen <ak@linux.intel.com>
133
134 * cilk.c (recognize_spawn): Use expression location
135 for error message.
136
0feb4de1 1372014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
138
139 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
140
3aa2fa44 1412014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
142
143 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
144 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
145 (__cpp_range_based_for, __cpp_initializer_lists,
146 __cpp_delegating_constructors, __cpp_nsdmi,
147 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
148 for C++11; (__cpp_attribute_deprecated): Remove in favor of
149 __has_cpp_attribute.
150 * c-lex.c (cb_has_attribute): New callback CPP function;
151 (init_c_lex): Set has_attribute callback.
152
7fd22aae 1532014-11-04 Richard Biener <rguenther@suse.de>
154
155 * c-common.c (shorten_compare): Do not shorten mixed
156 DFP and non-DFP compares.
157
4af203ac 1582014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
159
160 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
161 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
162 Commentary and rearrangement of tests.
163 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
164 Commentary and rearrangement of tests.
165 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
166 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
167
3754d046 1682014-10-29 Richard Sandiford <richard.sandiford@arm.com>
169
170 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
171 enum from machine_mode.
172
1140c305 1732014-10-28 Andrew MacLeod <amacleod@redhat.com>
174
175 * c-family/c-common.c: Adjust include files.
176 * c-family/c-gimplify.c: Ditto.
177 * c-family/cilk.c: Ditto.
178 * c-family/c-pragma.c: Ditto.
179 * c-family/c-ubsan.c: Ditto.
180
94ea8568 1812014-10-27 Andrew MacLeod <amacleod@redhat.com>
182
183 * c-gimplify.c: Adjust include files.
184
32ecf960 1852014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
186
187 PR c++/53061
188 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
189 c_common_initialize_diagnostics.
190 * c-common.h: Likewise.
191
85fecbe2 1922014-10-24 Marek Polacek <polacek@redhat.com>
193
194 PR c/56980
195 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
196 print "struct"/"union"/"enum" for typedefed names.
197
e7ec033a 1982014-10-23 Marek Polacek <polacek@redhat.com>
199
200 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
201 in unsigned type.
202
c2598081 2032014-10-22 Jakub Jelinek <jakub@redhat.com>
204 Yury Gribov <y.gribov@samsung.com>
205
206 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
207 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
208 instead of flag_sanitize_recover as bool flag.
209
acebb7e2 2102014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
211
212 * cilk.c: Revert previous change.
213
6115016c 2142014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
215
216 PR c/63307
217 * cilk.c: Include vec.h.
218 (struct cilk_decls): New structure.
219 (wrapper_parm_cb): Split this function to...
220 (fill_decls_vec): ...this...
221 (create_parm_list): ...and this.
222 (compare_decls): New function.
223 (for_local_cb): Remove.
224 (wrapper_local_cb): Ditto.
225 (build_wrapper_type): For now first traverse and fill vector of
226 declarations then sort it and then deal with sorted vector.
227 (cilk_outline): Ditto.
228 (declare_one_free_variable): Ditto.
229
e610d2b2 2302014-10-17 Marek Polacek <polacek@redhat.com>
231
232 * c-opts.c (c_common_post_options): Set warn_implicit_int.
233 * c.opt (Wimplicit-int): Initialize to -1.
234
a3020f2f 2352014-10-16 Andrew MacLeod <amacleod@redhat.com>
236
237 * c-pragma.c: Adjust include files.
238 * c-semantics.c: Likewise.
239
926ddd2c 2402014-10-16 DJ Delorie <dj@redhat.com>
241
242 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
243 multiples of bytes.
244
b0542e7c 2452014-10-14 Jason Merrill <jason@redhat.com>
246
247 PR c++/63455
248 * c-common.h (CPP_PREPARSED_EXPR): New.
249 (N_CP_TTYPES): Adjust.
250
b2601928 2512014-10-15 Marek Polacek <polacek@redhat.com>
252
253 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
254
9f75f026 2552014-10-14 DJ Delorie <dj@redhat.com>
256
257 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
258 types, not just __int128.
259 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
260 types, not just __int128.
261 (cpp_atomic_builtins): Round pointer sizes up.
262 (type_suffix): Use type precision, not specific types.
263 * c-common.c (c_common_reswords): Remove __int128 special case.
264 (c_common_type_for_size): Check for all __intN types, not just
265 __int128.
266 (c_common_type_for_mode): Likewise.
267 (c_common_signed_or_unsigned_type): Likewise.
268 (c_build_bitfield_integer_type): Likewise.
269 (c_common_nodes_and_builtins): Likewise.
270 (keyword_begins_type_specifier): Likewise.
271 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
272 __intN variants.
273
2ef51f0e 2742014-10-12 Trevor Saunders <tsaunders@mozilla.com>
275
276 * c-common.c: Use hash_table instead of hashtab.
277
5b8257e3 2782014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
279
280 * c-family/c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
281 C++11 section.
282
5e84569c 2832014-10-03 Marc Glisse <marc.glisse@inria.fr>
284
285 PR c++/54427
286 PR c++/57198
287 PR c++/58845
288 * c-common.c (warn_logical_operator): Punt for vectors.
289
f6751ff2 2902014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
291
292 Implement SD-6: SG10 Feature Test Recommendations
293 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
294 macros and the __has_header macro.
295
c33e051d 2962014-09-30 Jason Merrill <jason@redhat.com>
297
f76a9aa8 298 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
299 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
300 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
301
717e52f9 302 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
303 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
304
c33e051d 305 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
306 * c-common.c (c_common_reswords): Remove __is_convertible_to.
307
5213d6c9 3082014-09-24 Marek Polacek <polacek@redhat.com>
309
310 PR c/61405
311 PR c/53874
312 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
313
6b722052 3142014-09-23 Andi Kleen <ak@linux.intel.com>
315
316 * c-common.c (handle_no_reorder_attribute): New function.
317 (c_common_attribute_table): Add no_reorder attribute.
318
0cb69d12 3192014-09-22 Joseph Myers <joseph@codesourcery.com>
320
321 * c-cppbuiltin.c (c_cpp_builtins): Define
322 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
323 modes.
324
168dfbf0 3252014-09-18 Joseph Myers <joseph@codesourcery.com>
326
327 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
328 for supported floating-point modes.
329
b83705f4 3302014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
331
332 * c.opt (Wpsabi): Use LangEnabledBy.
333 * c-opts.c (c_common_handle_option): Do not handle here.
334
d5957f0d 3352014-09-12 Joseph Myers <joseph@codesourcery.com>
336
337 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
338 macros for floating-point modes.
339
bae6edff 3402014-09-11 Marc Glisse <marc.glisse@inria.fr>
341
342 PR target/58757
343 * c-cppbuiltin.c (builtin_define_float_constants): Correct
344 __*_DENORM_MIN__ without denormals.
345
73a69d02 3462014-09-10 Jakub Jelinek <jakub@redhat.com>
347
348 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
349 ubsan_instrument_vla, ubsan_instrument_return): Adjust
350 ubsan_create_data callers.
351 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
352 index is constant or BIT_AND_EXPR with constant mask and is
353 small enough for the bound.
354 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
355 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
356
7ff8db31 3572014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
358
359 * c.opt: Add CppReason to various flags.
360 (Wdate-time): Re-sort.
361 * c-common.c: Include c-common.h earlier.
362 (struct reason_option_codes_t): Delete.
363 (c_option_controlling_cpp_error): Prefix global type and struct
364 with cpp_.
365
bcc1f37e 3662014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
367
368 * c.opt (Wnormalized): New.
369 (Wnormalized=): Use Enum and Reject Negative.
370 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
371
b660d3c6 3722014-09-08 Joseph Myers <joseph@codesourcery.com>
373
374 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
375 digits of floating-point modes if -fbuilding-libgcc.
376
325b8c3c 3772014-09-05 Joseph Myers <joseph@codesourcery.com>
378
379 * c-cppbuiltin.c (c_cpp_builtins): Also define
380 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
381 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
382 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
383 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
384 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
385 __LIBGCC_STACK_GROWS_DOWNWARD__,
386 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
387 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
388 __LIBGCC_DWARF_FRAME_REGISTERS__,
389 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
390 __LIBGCC_STACK_POINTER_REGNUM__ and
391 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
392 (builtin_define_with_value): Handle backslash-escaping in string
393 macro values.
394
1e074e77 3952014-09-05 Richard Biener <rguenther@suse.de>
396
397 PR middle-end/63148
398 * c-format.c (check_format_arg): Properly handle
399 effectively signed POINTER_PLUS_EXPR offset.
400
04afd878 4012014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
402
403 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
404 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
405 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
406 and Init.
407 * c-opts.c (c_common_handle_option): Do not handle here.
408 (sanitize_cpp_opts): Likewise.
409 * c-common.c (struct reason_option_codes_t): Handle
410 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
411
a3f448f0 4122014-09-03 Marek Polacek <polacek@redhat.com>
413
414 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
415
40750995 4162014-09-02 Jakub Jelinek <jakub@redhat.com>
417 Balaji V. Iyer <balaji.v.iyer@intel.com>
418 Igor Zamyatin <igor.zamyatin@intel.com>
419
420 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
421 * c-common.c (c_common_reswords): Added _Cilk_for.
422 * c-common.h (enum rid): Added RID_CILK_FOR.
423 (cilk_for_number_of_iterations): Add declaration.
424 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
425 CILK_FOR.
426 * c-pragma.c (init_pragma): Register "grainsize" pragma.
427 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
428
f0fbe519 4292014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
430
431 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
432 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
433 Wundef): Use CPP, Var and Init.
434 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
435
a7d2e480 4362014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
437
438 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
439 * c-opts.c (c_common_handle_option): Do not handle here.
440
c35e53f1 4412014-08-25 Jason Merrill <jason@redhat.com>
442
443 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
444 -std=c++14 and -std=gnu++14, rather than the reverse.
445 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
446 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
447 * c-common.h (cxx_dialect): Remove cxx1y.
448
4e454776 4492014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
450
451 * c-common.h (enum cxx_dialect): Add cxx14.
452 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
453 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
454 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
455
af1a80f2 4562014-08-22 Jason Merrill <jason@redhat.com>
457
458 * c.opt (std=gnu++17): Fix alias.
459
dc6229e8 4602014-08-22 Marek Polacek <polacek@redhat.com>
461
462 PR c++/62199
463 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
464 check for vector types. Drop LHS argument.
465 * c-common.h (warn_logical_not_parentheses): Adjust.
466
ba7f7c88 4672014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
468
469 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
470 (Wmultichar): Likewise.
471 (Wdate-time): Use C-family languages instead of Common. Use CPP
472 and Var.
473 * c-opts.c (c_common_handle_option): Do not handle the above
474 options here.
475 (sanitize_cpp_opts): Likewise.
476
399d4f80 4772014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
478
479 PR fortran/44054
480 * c-opts.c: Include tree-diagnostics.h.
481 (c_diagnostic_finalizer): New.
482 (c_common_initialize_diagnostics): Use it.
483
1babed5f 4842014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
485
486 PR preprocessor/51303
487 * c-common.c (struct reason_option_codes_t option_codes):
488 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
489
3636964b 4902014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
491
492 PR c/60975
493 PR c/53063
494 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
495 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
496 (c_common_post_options): Call init_global_opts_from_cpp.
497 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
498
78bf4156 4992014-08-19 Marek Polacek <polacek@redhat.com>
500
501 PR c++/62153
502 * c-common.c (maybe_warn_bool_compare): New function.
503 * c-common.h (maybe_warn_bool_compare): Declare.
504 * c.opt (Wbool-compare): New option.
505
508ea33a 5062014-08-19 Marek Polacek <polacek@redhat.com>
507
508 * c.opt (Wc99-c11-compat): New option.
509
806fe15e 5102014-08-19 Marek Polacek <polacek@redhat.com>
511
512 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
513 to warn_c90_c99_compat.
514 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
515 to -1.
516
6c867de1 5172014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
518 Steven Bosscher <steven@gcc.gnu.org>
519
520 PR c/52952
521 * c-format.c: Add extra_arg_loc and format_string_loc to struct
522 format_check_results.
523 (check_function_format): Use true and add comment for boolean
524 argument.
525 (finish_dollar_format_checking): Use explicit location when warning.
526 (check_format_info): Likewise.
527 (check_format_arg): Set extra_arg_loc and format_string_loc.
528 (check_format_info_main): Use explicit location when warning.
529 (check_format_types): Pass explicit location.
530 (format_type_warning): Likewise.
531
dc8078a3 5322014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
533
534 PR fortran/44054
535 * c-format.c: Handle Fortran flags.
536
d271ec7e 5372014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
538
539 PR other/61962
540 * array-notation-common.c (find_rank): Added handling for other
541 types of references.
542
890c2e2f 5432014-08-10 Marek Polacek <polacek@redhat.com>
544
545 PR c/51849
546 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
547 * c.opt (Wc90-c99-compat): Add option.
548
7149db5f 5492014-08-07 Trevor Saunders <tsaunders@mozilla.com>
550
551 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
552
2d2f6a15 5532014-08-03 Marek Polacek <polacek@redhat.com>
554
555 * c-common.c (check_case_value): Add location_t parameter. Use it.
556 (c_add_case_label): Pass loc to check_case_value.
557
06ecf488 5582014-08-02 Trevor Saunders <tsaunders@mozilla.com>
559
560 * cilk.c: Use hash_map instead of pointer_map.
561
431205b7 5622014-08-02 Trevor Saunders <tsaunders@mozilla.com>
563
564 * c-gimplify.c: Use hash_set instead of pointer_set.
565
3394c80c 5662014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
567
568 PR middle-end/61455
569 * array-notation-common.c (extract_array_notation_exprs): Handling
570 of DECL_EXPR added.
571
392dee1e 5722014-08-01 Jakub Jelinek <jakub@redhat.com>
573
574 * c-common.h (min_align_of_type): Removed prototype.
575 * c-common.c (min_align_of_type): Removed.
576 * c-ubsan.h (ubsan_maybe_instrument_reference,
577 ubsan_maybe_instrument_member_call): New prototypes.
578 * c-ubsan.c: Include stor-layout.h and builtins.h.
579 (ubsan_maybe_instrument_reference_or_call,
580 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
581 functions.
582
f22a2cb7 5832014-07-31 Marc Glisse <marc.glisse@inria.fr>
584
585 PR c++/60517
586 * c.opt (-Wreturn-local-addr): Move to common.opt.
587
87b0198f 5882014-07-30 Jason Merrill <jason@redhat.com>
589
590 PR c++/61659
591 PR c++/61687
592 Revert:
593 * c.opt (-fuse-all-virtuals): New.
594
74691f46 5952014-07-30 Tom Tromey <tromey@redhat.com>
596
597 PR c/59855
598 * c.opt (Wdesignated-init): New option.
599 * c-common.c (c_common_attribute_table): Add "designated_init".
600 (handle_designated_init): New function.
601
9140d56f 6022014-07-24 Marek Polacek <polacek@redhat.com>
603
604 PR c/57653
605 * c-opts.c (c_finish_options): If -imacros is in effect, return.
606
a09c5cc2 6072014-07-16 Dodji Seketeli <dodji@redhat.com>
608
609 PR preprocessor/60723 - missing system-ness marks for macro tokens
610 * c-ppoutput.c (struct print::prev_was_system_token): New data
611 member.
612 (init_pp_output): Initialize it.
613 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
614 (do_line_change): Return a flag saying if a line marker was
615 emitted or not.
616 (scan_translation_unit): Detect if the system-ness of the token we
617 are about to emit is different from the one of the previously
618 emitted token. If so, emit a line marker. Avoid emitting useless
619 adjacent line markers. Avoid emitting line markers for tokens
620 originating from the expansion of built-in macros.
621 (scan_translation_unit_directives_only): Adjust.
622
2b25b62f 6232014-07-15 Marek Polacek <polacek@redhat.com>
624
625 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
626 TYPE_MAX_VALUE is NULL.
627
305d96bc 6282014-07-14 Jakub Jelinek <jakub@redhat.com>
629
630 PR middle-end/61294
631 * c.opt (Wmemset-transposed-args): New warning.
632
8ea4660d 6332014-07-10 Jason Merrill <jason@redhat.com>
634
635 PR c++/61659
636 PR c++/61687
637 * c.opt (-fuse-all-virtuals): New.
638
cd480f3d 6392014-07-09 Richard Biener <rguenther@suse.de>
640
641 PR c-family/61741
642 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
643 using unsigned arithmetic if overflow does not wrap instead of
644 if overflow is undefined.
645
87d59e72 6462014-07-06 Marek Polacek <polacek@redhat.com>
647
648 PR c/6940
649 * c.opt (Wsizeof-array-argument): New option.
650
d69521d8 6512014-07-03 Jakub Jelinek <jakub@redhat.com>
652
653 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
654 comments->count <= 1, as comments->entries might be NULL.
655
1207866e 6562014-07-01 Marek Polacek <polacek@redhat.com>
657
658 * c.opt (Wint-conversion): New option.
659
7a6bbb76 6602014-07-01 Marek Polacek <polacek@redhat.com>
661
662 PR c/58286
663 * c.opt (Wincompatible-pointer-types): New option.
664
9d4eeb52 6652014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
666
667 PR c++/51400
668 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
669 Do not discard TYPE_QUALS of type.
670
4b53bc0f 6712014-06-26 Jason Merrill <jason@redhat.com>
672
673 * c-common.h (enum cxx_dialect): Add cxx1z.
674 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
675 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
676
a8a8d4ea 6772014-06-26 Teresa Johnson <tejohnson@google.com>
678
679 * c-common.h (get_dump_info): Declare.
680 * c-gimplify.c (c_genericize): Use saved dump files.
681 * c-opts.c (c_common_parse_file): Begin and end dumps
682 once around parsing invocation.
683 (get_dump_info): New function.
684
1f6be080 6852014-06-23 Marek Polacek <polacek@redhat.com>
686 Andrew MacLeod <amacleod@redhat.com>
687
688 PR c/61553
689 * c-common.c (get_atomic_generic_size): Don't segfault if the
690 type doesn't have a size.
691
5ef6b660 6922014-06-20 Marek Polacek <polacek@redhat.com>
693
694 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
695 (ubsan_walk_array_refs_r): New function.
696 (c_genericize): Instrument array bounds.
697 * c-ubsan.c: Include "internal-fn.h".
698 (ubsan_instrument_division): Mark instrumented arrays as having
699 side effects. Adjust ubsan_type_descriptor call.
700 (ubsan_instrument_shift): Likewise.
701 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
702 (ubsan_instrument_bounds): New function.
703 (ubsan_array_ref_instrumented_p): New function.
704 (ubsan_maybe_instrument_array_ref): New function.
705 * c-ubsan.h (ubsan_instrument_bounds): Declare.
706 (ubsan_array_ref_instrumented_p): Declare.
707 (ubsan_maybe_instrument_array_ref): Declare.
708
7092014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 710
711 PR lto/61123
712 * c.opt (fshort-enums): Add to LTO.
713 * c.opt (fshort-wchar): Likewise.
714
78438f31 7152014-06-16 Marek Polacek <polacek@redhat.com>
716
717 PR c/60439
718 * c.opt (Wswitch-bool): Add Var.
719
5fddcf34 7202014-06-12 Jakub Jelinek <jakub@redhat.com>
721
722 PR middle-end/61486
723 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
724 #pragma omp target teams or
725 #pragma omp {,target }teams distribute simd.
726
74b777e5 7272014-06-12 Jason Merrill <jason@redhat.com>
728
729 * c.opt (Wabi=, fabi-compat-version): New.
730 * c-opts.c (c_common_handle_option): Handle -Wabi=.
731 (c_common_post_options): Handle flag_abi_compat_version default.
732 Disallow -fabi-compat-version=1.
733 * c-common.h (abi_version_crosses): New.
734
738a6bda 7352014-06-11 Jan Hubicka <hubicka@ucw.cz>
736
737 * c-family/c-common.c (handle_section_attribute): Update handling for
738 section names that are no longer trees.
739
cf5f881f 7402014-06-10 Jakub Jelinek <jakub@redhat.com>
741
742 PR fortran/60928
743 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
744 (omp_pragmas): ... back here.
745
32dc1512 7462014-06-05 Marek Polacek <polacek@redhat.com>
747
748 PR c/49706
749 * c-common.c (warn_logical_not_parentheses): New function.
750 * c-common.h (warn_logical_not_parentheses): Declare.
751 * c.opt (Wlogical-not-parentheses): New option.
752
f61a9bc2 7532014-06-04 Marek Polacek <polacek@redhat.com>
754
755 PR c/30020
756 * c-common.c (check_case_bounds): Add location parameter.
757 Use it.
758 (c_add_case_label): Pass loc to check_case_bounds.
759
c69ec07d 7602014-06-03 Marek Polacek <polacek@redhat.com>
761
762 PR c/60439
763 * c.opt (Wswitch-bool): New option.
764
3c77ca67 7652014-05-22 Thomas Schwinge <thomas@codesourcery.com>
766
68a2c870 767 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
768 Remove prototypes.
769 (record_types_used_by_current_var_decl): Move prototype to where
770 it belongs.
771
3c77ca67 772 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
773 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
774 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
775
3ab4693e 7762014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
777
778 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
779 * c-common.c (c_common_nodes_and_builtins): Don't initialize
780 void_zero_node.
781 * c-pretty-print.c (pp_c_void_constant): New function.
782 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
783 (c_pretty_printer::expression): Handle VOID_CST.
784 * cilk.c (extract_free_variables): Likewise.
785 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
786 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
787
25a27413 7882014-05-17 Trevor Saunders <tsaunders@mozilla.com>
789
790 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
791 * c-pragma.c (push_alignment): Adjust.
792 (handle_pragma_push_options): Likewise.
793
3e5a8b00 7942014-05-09 Marek Polacek <polacek@redhat.com>
795
796 PR c/50459
797 * c-common.c (check_user_alignment): Return -1 if alignment is error
798 node.
799 (handle_aligned_attribute): Don't call default_conversion on
800 FUNCTION_DECLs.
801 (handle_vector_size_attribute): Likewise.
802 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
803 (handle_sentinel_attribute): Call default_conversion and allow even
804 integral types as an argument.
805
c2c4ae8d 8062014-05-08 Marek Polacek <polacek@redhat.com>
807
808 PR c/61053
809 * c-common.c (min_align_of_type): New function factored out from...
810 (c_sizeof_or_alignof_type): ...here.
811 * c-common.h (min_align_of_type): Declare.
812
2026249a 8132014-05-08 Marek Polacek <polacek@redhat.com>
814
815 PR c/61077
816 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
817 parameter type of main.
818
33c8dcfe 8192014-05-07 DJ Delorie <dj@redhat.com>
820
821 * c-cppbuiltin.c (print_bits_of_hex): New.
822 (builtin_define_type_minmax): Print values using hex so as not to
823 require a pre-computed list of string values.
824
960d5a55 8252014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
826 Mike Stump <mikestump@comcast.net>
827 Richard Sandiford <rdsandiford@googlemail.com>
828
829 * c-ada-spec.c: Include wide-int.h.
830 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
831 (dump_generic_ada_node): Use wide-int interfaces.
832 * c-common.c: Include wide-int-print.h.
833 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
834 (pointer_int_sum): Use wide-int interfaces.
835 (c_common_nodes_and_builtins): Use make_int_cst.
836 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
837 (handle_alloc_size_attribute): Use wide-int interfaces.
838 (get_nonnull_operand): Likewise.
839 * c-format.c (get_constant): Use tree_fits_uhwi_p.
840 * c-lex.c: Include wide-int.h.
841 (narrowest_unsigned_type): Take a widest_int rather than two
842 HOST_WIDE_INTs.
843 (narrowest_signed_type): Likewise.
844 (interpret_integer): Update accordingly. Use wide-int interfaces.
845 (lex_charconst): Use wide-int interfaces.
846 * c-pretty-print.c: Include wide-int.h.
847 (pp_c_integer_constant): Use wide-int interfaces.
848 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
849 INT_CST_LT_UNSIGNED.
850
bbb88b31 8512014-05-06 Richard Biener <rguenther@suse.de>
852
853 * c-opts.c (c_common_post_options): For -freestanding,
854 -fno-hosted and -fno-builtin disable pattern recognition
855 if not enabled explicitely.
856
022d4718 8572014-05-02 Marek Polacek <polacek@redhat.com>
858
859 * c.opt (Wsizeof-pointer-memaccess): Describe option.
860
e4ab2ef3 8612014-05-01 Marek Polacek <polacek@redhat.com>
862
863 PR c/43245
864 * c.opt (Wdiscarded-qualifiers): Add.
865
52cc0072 8662014-04-30 Marek Polacek <polacek@redhat.com>
867
868 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
869 INT_MIN / -1 sanitization only for integer types.
870
4a026b48 8712014-04-25 Marek Polacek <polacek@redhat.com>
872
873 PR c/18079
874 * c-common.c (handle_noinline_attribute): Warn if the attribute
875 conflicts with always_inline attribute.
876 (handle_always_inline_attribute): Warn if the attribute conflicts
877 with noinline attribute.
878
90e645fa 8792014-04-25 Marek Polacek <polacek@redhat.com>
880
881 PR c/60156
882 * c-common.c (check_main_parameter_types): Warn about variadic main.
883
db103ea4 8842014-04-24 Mike Stump <mikestump@comcast.net>
885
886 * c.opt (Wshadow-ivar): Default to on.
887
06511efd 8882014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
889
890 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
891
cdf34fca 8922014-04-23 Marek Polacek <polacek@redhat.com>
893
894 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
895
7311d7c1 8962014-04-22 Jakub Jelinek <jakub@redhat.com>
897
898 PR sanitizer/60275
899 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
900 if flag_sanitize_undefined_trap_on_error.
901 (ubsan_instrument_division, ubsan_instrument_shift,
902 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
903 if !flag_sanitize_recover.
904
c1917557 9052014-04-22 Marc Glisse <marc.glisse@inria.fr>
906
907 PR libstdc++/43622
908 * c-common.c (registered_builtin_types): Make non-static.
909 * c-common.h (registered_builtin_types): Declare.
910
b2ca6510 9112014-04-14 Richard Biener <rguenther@suse.de>
912 Marc Glisse <marc.glisse@inria.fr>
913
914 PR c/60819
915 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
916 apply may-alias the scalar pointer type when applicable.
917
855372a3 9182014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
919
920 PR middle-end/60467
921 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
922 as possible argument for Cilk_spawn.
923
4012a986 9242014-04-11 Tobias Burnus <burnus@net-b.de>
925
926 PR c/60194
927 * c.opt (Wformat-signedness): Add
928 * c-format.c(check_format_types): Use it.
929
0d284870 9302014-04-11 Jason Merrill <jason@redhat.com>
931
932 PR c++/57926
933 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
934 default_conversion for an array argument.
935
a34c1231 9362014-04-08 Marek Polacek <polacek@redhat.com>
937
938 PR sanitizer/60745
939 * c-ubsan.c: Include asan.h.
940 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
941
a35a8e18 9422014-04-03 Nathan Sidwell <nathan@codesourcery.com>
943
944 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
945
b23e42b6 9462014-04-02 Marek Polacek <polacek@redhat.com>
947
948 * c-common.h (c_expand_expr): Remove declaration.
949
5a672e62 9502014-03-28 Jakub Jelinek <jakub@redhat.com>
951
952 PR c++/60689
953 * c-common.c (add_atomic_size_parameter): When creating new
954 params vector, push the size argument first.
955
d4d068c0 9562014-03-26 Jakub Jelinek <jakub@redhat.com>
957
958 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
959 ubsan_instrument_vla, ubsan_instrument_return): Adjust
960 ubsan_create_data callers.
961
446bdf5f 9622014-03-22 Jakub Jelinek <jakub@redhat.com>
963
964 PR debug/60603
965 * c-opts.c (c_finish_options): Restore cb_file_change call to
966 <built-in>.
967
8895f0a3 9682014-03-13 Jakub Jelinek <jakub@redhat.com>
969
970 PR middle-end/36282
971 * c-pragma.c (apply_pragma_weak): Only look at
972 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
973 DECL_ASSEMBLER_NAME_SET_P (decl).
974 (maybe_apply_pending_pragma_weaks): Exit early if
975 vec_safe_is_empty (pending_weaks) rather than only when
976 !pending_weaks.
977 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
978 set assembler name back to NULL afterwards.
979
7a5da2cd 9802014-03-11 Jason Merrill <jason@redhat.com>
981
982 * c.opt: Add -std=gnu++14.
983
95093889 9842014-03-11 Ian Bolton <ian.bolton@arm.com>
985
986 * c-opts.c (c_common_post_options): Don't override
987 -ffp-contract=fast if unsafe-math-optimizations is on.
988
c9a24b37 9892014-03-08 Paulo Matos <paulo@matos-sorge.com>
990
991 * c.opt: Enable LTO FE for fshort-double.
992
3f6dba6e 9932014-03-07 Jason Merrill <jason@redhat.com>
994
995 * c.opt: Add -std=c++14.
996
3bfdc94f 9972014-03-06 Marek Polacek <polacek@redhat.com>
998
999 PR c/60197
1000 * cilk.c (contains_cilk_spawn_stmt): New function.
1001 (contains_cilk_spawn_stmt_walker): Likewise.
1002 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1003 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1004
8b3a6a4c 10052014-03-03 Jakub Jelinek <jakub@redhat.com>
1006
1007 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1008 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1009 even when flag_preprocess_only.
1010
734ec290 10112014-02-26 Jason Merrill <jason@redhat.com>
1012
1013 PR c++/59231
1014 PR c++/11586
1015 * c-common.c (shorten_compare): Don't check
1016 c_inhibit_evaluation_warnings.
1017
81aec8b8 10182014-02-19 Jakub Jelinek <jakub@redhat.com>
1019
d1081017 1020 PR c/37743
1021 * c-common.c (c_common_nodes_and_builtins): When initializing
1022 c_uint{16,32,64}_type_node, also set corresponding
1023 uint{16,32,64}_type_node to the same value.
1024
81aec8b8 1025 PR c++/60267
1026 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1027 for PRAGMA_IVDEP if flag_preprocess_only.
1028
312243bb 10292014-02-12 Jakub Jelinek <jakub@redhat.com>
1030
1031 PR c/60101
1032 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1033 if false, add ADD itself, rather than vice versa.
1034 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1035 copy. For SAVE_EXPR, only call merge_tlist once.
1036
237e78b1 10372014-02-08 Jakub Jelinek <jakub@redhat.com>
1038
1039 PR middle-end/60092
1040 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1041 and tree_to_uhwi.
1042 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1043 functions.
1044 (c_common_attribute_table): Add alloc_align and assume_aligned
1045 attributes.
1046
76fdceeb 10472014-02-06 Marek Polacek <polacek@redhat.com>
1048
1049 PR c/60087
1050 * c-common.c (warn_for_sign_compare): Call warning_at with location
1051 instead of warning.
1052
4a4dea42 10532014-02-05 Marek Polacek <polacek@redhat.com>
1054
1055 PR c/53123
1056 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1057 statement.
1058
ec704957 10592014-02-04 Marek Polacek <polacek@redhat.com>
1060
1061 PR c/60036
1062 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1063 SAVE_EXPR.
1064
caf62483 10652014-02-03 Marc Glisse <marc.glisse@inria.fr>
1066
1067 PR c++/53017
1068 PR c++/59211
1069 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1070 handle_vector_size_attribute, handle_nonnull_attribute): Call
1071 default_conversion on the attribute argument.
1072 (handle_nonnull_attribute): Increment the argument number.
1073
ec761d5a 10742014-01-31 Marek Polacek <polacek@redhat.com>
1075
1076 PR c/59963
1077 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1078 build_function_call_vec.
1079 (resolve_overloaded_builtin): Likewise.
1080 * c-common.h (build_function_call_vec): Adjust declaration.
1081
22a75734 10822014-01-30 Marek Polacek <polacek@redhat.com>
1083
1084 PR c/59940
1085 * c-common.h (unsafe_conversion_p): Adjust declaration.
1086 (warnings_for_convert_and_check): Likewise.
1087 (convert_and_check): Likewise.
1088 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1089 expansion_point_location_if_in_system_header on it.
1090 (warnings_for_convert_and_check): Add location parameter. Call
1091 expansion_point_location_if_in_system_header on it. Use it.
1092 (convert_and_check): Add location parameter. Use it.
1093 (conversion_warning): Likewise.
1094 (c_add_case_label): Adjust convert_and_check calls.
1095 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1096
a89e6c15 10972014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1098
1099 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1100 flag_cilkplus.
1101 * c-pragma.c (init_pragma): Likewise.
1102 * c.opt: Likewise.
1103
2623625f 11042014-01-23 Marek Polacek <polacek@redhat.com>
1105
1106 PR c/59846
1107 * c-common.c (shorten_compare): Add location_t parameter.
1108 * c-common.h (shorten_binary_op): Adjust declaration.
1109
46da3601 11102014-01-23 Marek Polacek <polacek@redhat.com>
1111
1112 PR c/58346
1113 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1114 * c-common.h: Declare it.
1115
c9743c6a 11162014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1117
1118 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1119 * c-ada-spec.c (dump_ads): Likewise.
1120 (cpp_check): Likewise.
1121 (dump_ada_specs): Likewise.
1122
11232014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 1124
1125 PR c++/49718
1126 * c-common.c (handle_no_instrument_function_attribute): Allow
1127 no_instrument_function attribute in class member
1128 definition/declaration.
1129
1248c663 11302014-01-15 Jakub Jelinek <jakub@redhat.com>
1131
1132 PR c/58943
1133 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1134 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1135 being COMPOUND_EXPR.
1136 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1137 operand a SAVE_EXPR and second MODIFY_EXPR.
1138
6e5c480b 11392014-01-09 Jakub Jelinek <jakub@redhat.com>
1140
1141 PR target/58115
1142 * c-pch.c (c_common_write_pch): Call
1143 prepare_target_option_nodes_for_pch.
1144
3aea1f79 11452014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1146
1147 Update copyright years
1148
e4f22041 11492014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1150
1151 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1152 the copyright notice.
1153
7fb0fe24 11542013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1155
1156 * c-ada-spec.c (print_constructor): New function.
1157 (print_destructor): Retrieve the origin of the destructor.
1158 (print_ada_declaration): Revamp handling of constructors/destructors.
1159
468088ac 11602013-12-23 Stuart Hastings <stuart@apple.com>
1161 Bill Maddox <maddox@google.com>
1162 Jason Merrill <jason@redhat.com>
1163
1164 * c.opt: Add -fdeclone-ctor-dtor.
1165 * c-opts.c (c_common_post_options): Default to on iff -Os.
1166
74acc703 11672013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1168
1169 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1170 attribute.
1171 * c-pragma.h (enum pragma_cilk_clause): Remove.
1172 (enum pragma_omp_clause): Added the following fields:
1173 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1174 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1175 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1176 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1177 PRAGMA_CILK_CLAUSE_UNIFORM.
1178
1179
433e804e 11802013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1181
1182 * cilk.c (cilk_outline): Made this function non-static.
1183 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1184 (create_cilk_wrapper): Added a new parameter: a function pointer.
1185 (c_install_body_w_frame_cleanup): Remove
1186 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1187 * c-common.h (cilk_outline): New prototype.
1188 (gimplify_cilk_spawn): Removed two parameters.
1189 (cilk_install_body_with_frame_cleanup): New prototype.
1190 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1191 CILK_SPAWN_STMT case.
1192
5bcc7e60 11932013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1194
e66325ea 1195 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1196
5bcc7e60 1197 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1198 (int_array_type_node): Remove.
1199 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1200
0b26ec77 12012013-12-05 Marek Polacek <polacek@redhat.com>
1202
1203 PR c/52023
1204 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1205 [ADJUST_FIELD_ALIGN].
1206
a179a7dc 12072013-12-04 Joseph Myers <joseph@codesourcery.com>
1208
1209 PR c/52023
1210 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1211 and check field alignment if set.
1212 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1213 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1214
137559b2 12152013-12-04 Jakub Jelinek <jakub@redhat.com>
1216 Marek Polacek <polacek@redhat.com>
1217
1218 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1219 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1220
648fd348 12212013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1222
1223 PR c/59309
1224 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1225 arguments.
1226
253e1cae 12272013-11-29 Jakub Jelinek <jakub@redhat.com>
1228
1229 PR c/59280
1230 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1231 goto invalid. If it is error_mark_node, don't issue further
1232 diagnostics.
1233
3e398f5b 12342013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1235
1236 * c.opt (Wopenmp-simd): New.
1237
020bc656 12382013-11-22 Jakub Jelinek <jakub@redhat.com>
1239
1240 * c-ubsan.h (ubsan_instrument_return): New prototype.
1241 * c-ubsan.c (ubsan_instrument_return): New function.
1242
bc61cadb 12432013-11-22 Andrew MacLeod <amacleod@redhat.com>
1244
1245 * c-common.c: Add required include files from gimple.h.
1246 * c-gimplify.c: Likewise
1247 * cilk.c: Likewise
1248
3df42822 12492013-11-22 David Malcolm <dmalcolm@redhat.com>
1250
1251 * c-common.c (unsafe_conversion_p): Remove use of
1252 EXPR_LOC_OR_HERE macro.
1253 (conversion_warning): Likewise.
1254 (warnings_for_convert_and_check): Likewise.
1255 (warn_for_collisions_1): Likewise.
1256 (shorten_compare): Likewise, and remove use of in_system_header
1257 macro, using the location from the former.
1258 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1259 (cb_def_pragma): Remove use of in_system_header macro.
1260 (lex_string): Likewise.
1261 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1262
8c53c46c 12632013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1264 Mike Stump <mikestump@comcast.net>
1265 Richard Sandiford <rdsandiford@googlemail.com>
1266
1267 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1268 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1269 tree_fits_shwi_p or tree_fits_uhwi_p.
1270 (dump_generic_ada_node): Likewise.
1271 * c-format.c (check_format_arg): Likewise.
1272 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1273
5200ef07 12742013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1275
1276 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1277
ca9d7d74 12782013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1279
1280 PR c/53001
1281 * c-common.c (unsafe_conversion_p): Make this function
1282 return an enumeration with more detail.
1283 (conversion_warning): Use the new return type of
1284 unsafe_conversion_p to separately warn either about conversions
1285 that lower floating point number precision or about the other
1286 kinds of conversions.
1287 * c-common.h (enum conversion_safety): New enumeration.
1288 (unsafe_conversion_p): switching return type to
1289 conversion_safety enumeration.
1290 * c.opt: Adding new warning -Wfloat-conversion and
1291 enabling it with -Wconversion.
1292
0391a567 12932013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1294
1295 * c-opts.c: Include plugin.h.
1296 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1297
19b928d9 12982013-11-19 Marek Polacek <polacek@redhat.com>
1299
1300 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1301 call.
1302 (ubsan_instrument_shift): Likewise.
1303 (ubsan_instrument_vla): Likewise.
1304
aa59f000 13052013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1306
1307 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1308 cast to unsigned type.
1309
08f817b3 13102013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1311
1312 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1313 tree_low_cst.
1314 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1315 rather than tree_low_cst.
1316
6a0712d4 13172013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1318
1319 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1320 tree_to_uhwi throughout.
1321
fcb97e84 13222013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1323
1324 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1325 tree_low_cst (..., 0) with tree_to_shwi throughout.
1326
cd4547bf 13272013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1328
1329 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1330 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1331
35ec552a 13322013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1333
1334 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1335 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1336
f2697631 13372013-11-15 Aldy Hernandez <aldyh@redhat.com>
1338
1339 * c-cilkplus.c: New file.
1340 * c-common.c (readonly_error): Add location argument.
1341 * c-common.h (readonly_error): Same.
1342 (c_finish_cilk_clauses): Protoize.
1343 (c_check_cilk_loop): Same.
1344 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1345 Do not fail on error_mark_node.
1346 Abstract increment canonicalization to here...
1347 (c_omp_for_incr_canonicalize_ptr): New.
1348 c-pragma.c (init_pragma): Register "simd" pragma.
1349 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1350 (enum pragma_cilk_clause): New.
1351
0aa8c34e 13522013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1353
1354 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1355 wchar_type and host_integerp checks.
1356
e795d6e1 13572013-11-14 Andrew MacLeod <amacleod@redhat.com>
1358
1359 * c-common.c: Likewise.
1360 * c-gimplify.c: Likewise.
1361 * cilk.c: Likewise.
1362
9ed99284 13632013-11-14 Diego Novillo <dnovillo@google.com>
1364
1365 * c-common.c: Include fold-const.h.
1366 Include stor-layout.h.
1367 Include calls.h.
1368 Include stringpool.h.
1369 Include attribs.h.
1370 Include varasm.h.
1371 Include trans-mem.h.
1372 * c-cppbuiltin.c: Include stor-layout.h.
1373 Include stringpool.h.
1374 * c-format.c: Include stringpool.h.
1375 * c-lex.c: Include stringpool.h.
1376 Include stor-layout.h.
1377 * c-pragma.c: Include stringpool.h.
1378 Include attribs.h.
1379 Include varasm.h.
1380 Include gcc-symtab.h.
1381 * c-pretty-print.c: Include stor-layout.h.
1382 Include attribs.h.
1383 * cilk.c: Include stringpool.h.
1384 Include calls.h.
1385
4fba5eb9 13862013-11-13 Joseph Myers <joseph@codesourcery.com>
1387
1388 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1389 * c-common.c (c_common_reswords): Add __auto_type.
1390 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1391
a8783bee 13922013-11-12 Andrew MacLeod <amacleod@redhat.com>
1393
e795d6e1 1394 * c-common.c: Include gimplify.h.
1395 * c-gimplify.c: Likewise.
1396 * cilk.c: Likewise.
1397 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1398 * c-ubsan.c: Don't include gimple.h.
a8783bee 1399
d184e0c0 14002013-11-12 Joseph Myers <joseph@codesourcery.com>
1401
1402 * c-common.c (c_common_reswords): Add _Thread_local.
1403
a056826c 14042013-11-09 Joseph Myers <joseph@codesourcery.com>
1405
1406 * c-common.c (atomic_size_supported_p): New function.
1407 (resolve_overloaded_atomic_exchange)
1408 (resolve_overloaded_atomic_compare_exchange)
1409 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1410 Use it instead of comparing size with a local list of sizes.
1411
b560fabd 14122013-11-07 Andrew MacLeod <amacleod@redhat.com>
1413 Joseph Myers <joseph@codesourcery.com>
1414
1415 * c-common.h (enum rid): Add RID_ATOMIC.
1416 * c-common.c (c_common_reswords): Add _Atomic.
1417 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1418 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1419 * c-format.c (check_format_types): Check for extra _Atomic
1420 qualifiers in format argument.
1421 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1422 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1423
5b1a0622 14242013-11-06 Tobias Burnus <burnus@net-b.de>
1425
1426 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1427
4f8f4cb8 14282013-11-06 Joseph Myers <joseph@codesourcery.com>
1429
1430 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1431 standards modes.
1432 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1433 to mean lack of IEEE 754 support.
1434
9148bda3 14352013-11-05 Tobias Burnus <burnus@net-b.de>
1436
1437 * c.opt (-Wdate-time): New option
1438 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1439
08c5f4d5 14402013-11-05 Joseph Myers <joseph@codesourcery.com>
1441
1442 * c-cppbuiltin.c (cpp_iec_559_value): Test
1443 flag_excess_precision_cmdline not flag_excess_precision.
1444
c630ef93 14452013-11-05 Tobias Burnus <burnus@net-b.de>
1446
1447 * c.opt (fopenmp-simd): New option.
1448 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1449 (omp_pragmas): ... this new struct.
1450 (c_pp_lookup_pragma): Also walk omp_pragmas.
1451 (init_pragma): Init pragmas for -fopenmp-simd.
1452
7354a89b 14532013-11-04 Marek Polacek <polacek@redhat.com>
1454
1455 PR c++/58979
1456 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1457
4c866b9b 14582013-11-04 Joseph Myers <joseph@codesourcery.com>
1459
1460 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1461 New functions.
1462 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1463
e2a6a333 14642013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1465
1466 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1467 (dump_ada_specs): Adjust prototype of second callback.
1468 * c-ada-spec.c (cpp_check): New global variable.
1469 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1470 (print_generic_ada_decl): Likewise.
1471 (has_static_fields): Change return type to bool and add guard.
1472 (has_nontrivial_methods): New predicate.
1473 (is_tagged_type): Change return type to bool.
1474 (separate_class_package): Call has_nontrivial_methods.
1475 (pp_ada_tree_identifier): Minor tweaks.
1476 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1477 (dump_ada_array_domains): Likewise.
1478 (dump_ada_array_type): Likewise.
1479 (dump_template_types): Remove cpp_check parameter and do not pass it to
1480 dump_generic_ada_node.
1481 (dump_ada_template): Likewise.
1482 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1483 recursively.
1484 (print_ada_methods): Change return type to integer. Remove cpp_check
1485 parameter and do not pass it down.
1486 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1487 dump_generic_ada_node.
1488 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1489 accessing methods.
1490 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1491 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1492 value of print_ada_methods.
1493 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1494 Set cpp_check to it before invoking dump_ada_nodes.
1495 (dump_ada_specs): Likewise.
1496
2c4c3477 14972013-11-03 Marek Polacek <polacek@redhat.com>
1498
1499 * c-ubsan.c: Don't include hash-table.h.
1500 (ubsan_instrument_vla): New function.
1501 * c-ubsan.h: Declare it.
1502
452659af 15032013-10-31 David Malcolm <dmalcolm@redhat.com>
1504
1505 Automated part of renaming of symtab_node_base to symtab_node.
1506
1507 Patch autogenerated by rename_symtab.py from
1508 https://github.com/davidmalcolm/gcc-refactoring-scripts
1509 revision 58bb219cc090b2f4516a9297d868c245495ee622
1510
1511 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1512 symtab_node_base to symtab_node.
1513
4d6f7dd4 15142013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1515
1516 Implement C++14 digit separators.
1517 * c-lex.c (interpret_float): Remove digit separators from scratch string
1518 before building real literal.
1519
06cfe805 15202013-10-30 Jakub Jelinek <jakub@redhat.com>
1521
1522 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1523
d037099f 15242013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1525
1526 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1527 fields.
1528 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1529 enabled.
1530 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1531 (insert_cilk_frame): New prototype.
1532 (cilk_init_builtins): Likewise.
1533 (gimplify_cilk_spawn): Likewise.
1534 (c_cilk_install_body_w_frame_cleanup): Likewise.
1535 (cilk_detect_spawn_and_unwrap): Likewise.
1536 (cilk_set_spawn_marker): Likewise.
1537 (build_cilk_sync): Likewise.
1538 (build_cilk_spawn): Likewise.
1539 * cilk.c: New file.
1540
02774f2d 15412013-10-29 David Malcolm <dmalcolm@redhat.com>
1542
1543 Patch autogenerated by refactor_symtab.py from
1544 https://github.com/davidmalcolm/gcc-refactoring-scripts
1545 revision 58bb219cc090b2f4516a9297d868c245495ee622
1546
1547 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1548 to a true class hierarchy.
1549 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1550
31fe10fd 15512013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1552
1553 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1554
b1c06ff9 15552013-10-26 Jeff Law <law@redhat.com>
1556
1557 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1558 * c-family/c.opt: Ignore and warn for mudflap options.
1559
48a972c8 15602013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1561
1562 PR other/33426
1563 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1564 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1565
546a04b1 15662013-10-23 Jason Merrill <jason@redhat.com>
1567
1568 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1569
bc7bff74 15702013-10-11 Jakub Jelinek <jakub@redhat.com>
1571
d62c713e 1572 * c-common.h (omp_clause_mask::operator !=): New method.
1573 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1574 instead of if (mask & something) tests everywhere.
1575
bc7bff74 1576 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1577 201307 instead of 201107.
1578 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1579 (c_common_attribute_table): Add "omp declare target" and
1580 "omp declare simd" attributes.
1581 (handle_omp_declare_target_attribute,
1582 handle_omp_declare_simd_attribute): New functions.
1583 * c-omp.c: Include c-pragma.h.
1584 (c_finish_omp_taskgroup): New function.
1585 (c_finish_omp_atomic): Add swapped argument, if true,
1586 build the operation first with rhs, lhs arguments and use NOP_EXPR
1587 build_modify_expr.
1588 (c_finish_omp_for): Add code argument, pass it down to make_code.
1589 (c_omp_split_clauses): New function.
1590 (c_split_parallel_clauses): Removed.
1591 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1592 c_omp_declare_simd_clauses_to_decls): New functions.
1593 * c-common.h (omp_clause_mask): New type.
1594 (OMP_CLAUSE_MASK_1): Define.
1595 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1596 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1597 omp_clause_mask::operator |, omp_clause_mask::operator &,
1598 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1599 omp_clause_mask::operator ==): New methods.
1600 (enum c_omp_clause_split): New.
1601 (c_finish_omp_taskgroup): New prototype.
1602 (c_finish_omp_atomic): Add swapped argument.
1603 (c_finish_omp_for): Add code argument.
1604 (c_omp_split_clauses): New prototype.
1605 (c_split_parallel_clauses): Removed.
1606 (c_omp_declare_simd_clauses_to_numbers,
1607 c_omp_declare_simd_clauses_to_decls): New prototypes.
1608 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1609 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1610 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1611 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1612 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1613 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1614 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1615 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1616 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1617 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1618 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1619 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1620 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1621 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1622 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1623 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1624 PRAGMA_OMP_CLAUSE_UNIFORM.
1625
d7dcba40 16262013-10-09 Marc Glisse <marc.glisse@inria.fr>
1627
1628 PR tree-optimization/20318
1629 * c-common.c (handle_returns_nonnull_attribute): New function.
1630 (c_common_attribute_table): Add returns_nonnull.
1631
0b7282f1 16322013-10-03 Marc Glisse <marc.glisse@inria.fr>
1633
1634 PR c++/19476
1635 * c.opt (fcheck-new): Move to common.opt.
1636
51f553af 16372013-09-25 Marek Polacek <polacek@redhat.com>
1638 Jakub Jelinek <jakub@redhat.com>
1639
1640 PR sanitizer/58413
1641 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1642 an expression if we can prove it is correct.
1643 (ubsan_instrument_division): Likewise. Remove unnecessary
1644 check.
1645
05f893e1 16462013-09-18 Marek Polacek <polacek@redhat.com>
1647
1648 PR sanitizer/58411
1649 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1650 Declare it.
1651 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1652
236ce1d1 16532013-09-14 Iain Sandoe <iain@codesourcery.com>
1654
1655 PR target/48094
1656 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1657 fobjc-gc, freplace-objc-classes): Accept for LTO.
1658
f9f68d35 16592013-09-13 Jacek Caban <jacek@codeweavers.com>
1660
1661 * c-target.def: New hook
1662
ba2f764e 16632013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1664
1665 PR c++/43452
1666 * c.opt (Wdelete-incomplete): Add.
1667
73437615 16682013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1669
1670 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1671 (vector_types_compatible_elements_p): New function.
1672 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1673 declaration.
1674 (vector_types_compatible_elements_p): Declare.
1675
95af4c75 16762013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1677
1678 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1679 a virtual member function.
1680 (pp_simple_type_specifier): Remove.
1681 (pp_c_type_specifier): Likewise.
1682 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1683 Rename from pp_c_type_specifier. Adjust.
1684 (c_pretty_printer::c_pretty_printer): Do not assign to
1685 simple_type_specifier.
1686
eaab24b9 16872013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1688
1689 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1690 member function.
1691 (c_pretty_printer::storage_class_specifier): Likewise.
1692 (c_pretty_printer::initializer): Likewise.
1693 (pp_declaration): Remove.
1694 (pp_declaration_specifiers): Likewise.
1695 (pp_abstract_declarator): Likewise.
1696 (pp_declarator): Likewise.
1697 (pp_type_id): Likewise.
1698 (pp_statement): Likewise.
1699 (pp_constant): Likewise.
1700 (pp_id_expression): Likewise.
1701 (pp_primary_expression): Likewise.
1702 (pp_unary_expression): Likewise.
1703 (pp_multiplicative_expression): Likewise.
1704 (pp_conditional_expression): Likewise.
1705 (pp_assignment_expression): Likewise.
1706 (pp_expression): Likewise.
1707 (pp_c_type_id): Likewise.
1708 (pp_c_storage_class_specifier): Likewise.
1709 * c-pretty-print.c (pp_c_type_cast): Tidy.
1710 (pp_c_pointer): Likewise.
1711 (pp_c_type_specifier): Likewise.
1712 (pp_c_parameter_type_list): Likewise.
1713 (pp_c_function_definition): Likewise.
1714 (pp_c_init_declarator): Likewise.
1715 (pp_c_initializer_list): Likewise.
1716 (pp_c_constructor_elts): Likewise.
1717 (c_pretty_printer::direct_abstract_declarator): Likewise.
1718 (c_pretty_printer::declaration_specifiers): Likewise.
1719 (c_pretty_printer::primary_expression): Likewise.
1720 (c_pretty_printer::postfix_expression): Likewise.
1721 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1722 (c_pretty_printer::storage_class_specifier): Rename from
1723 pp_c_storage_class_specifier.
1724 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1725 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1726 storage_class_specifier, initializer, offset_list, flags.
1727
9e46467d 17282013-08-30 Marek Polacek <polacek@redhat.com>
1729
1730 * c-ubsan.c: New file.
1731 * c-ubsan.h: New file.
1732
36a8d9b9 17332013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1734
1735 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1736 member function.
1737 (c_pretty_printer::declaration_specifiers): Likewise.
1738 (c_pretty_printer::declarator): Likewise.
1739 (c_pretty_printer::abstract_declarator): Likewise.
1740 (c_pretty_printer::direct_abstract_declarator): Likewise.
1741 (c_pretty_printer::direct_declarator): Likewise.
1742 (c_pretty_printer::function_specifier): Likewise.
1743 (pp_declaration): Adjust.
1744 (pp_declaration_specifiers): Likewise.
1745 (pp_abstract_declarator): Likewise.
1746 (pp_direct_declarator): Likewise.
1747 (pp_function_specifier): Likewise.
1748 (pp_direct_abstract_declarator): Remove as unused.
1749 (pp_c_declaration): Remove.
1750 (pp_c_declaration_specifiers): Likewise.
1751 (pp_c_declarator): Likewise.
1752 (pp_c_direct_declarator): Likewise.
1753 (pp_c_function_specifier): Likewise.
1754 (pp_c_direct_abstract_declarator): Likewise.
1755 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1756 from pp_c_abstract_declarator. Adjust.
1757 (c_pretty_printer::direct_abstract_declarator): Rename from
1758 pp_c_direct_abstract_declarator. Adjust.
1759 (c_pretty_printer::function_specifier): Rename from
1760 pp_c_function_specifier. Adjust.
1761 (c_pretty_printer::declaration_specifiers): Rename from
1762 pp_c_declaration_specifiers. Adjust.
1763 (c_pretty_printer::direct_declarator): Rename from
1764 pp_c_direct_declarator. Adjust.
1765 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1766 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1767 (c_pretty_printer::c_pretty_printer): Do not assign to
1768 declaration, declaration_specifiers, declarator,
1769 direct_declarator, direct_abstract_declarator, function_specifier.
1770
30635c2e 17712013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1772
1773 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1774 virtual member function.
1775 (c_pretty_printer::multiplicative_expression): Likewise.
1776 (c_pretty_printer::conditional_expression): Likewise.
1777 (c_pretty_printer::assignment_expression): Likewise.
1778 (c_pretty_printer::expression): Likewise.
1779 (pp_unary_expression): Adjust.
1780 (pp_multiplicative_expression): Likewise.
1781 (pp_assignment_expression): Likewise.
1782 (pp_conditional_expression): Likewise.
1783 (pp_expression): Likewise.
1784 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1785 from pp_c_unary_expression. Adjust.
1786 (c_pretty_printer::multiplicative_expression): Rename from
1787 pp_c_multiplicative_expression. Adjust.
1788 (c_pretty_printer::conditional_expression): Rename from
1789 pp_c_conditional_expression. Adjust.
1790 (c_pretty_printer::assignment_expression): Rename from
1791 pp_c_assignment_expression. Adjust.
1792 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1793 (c_pretty_printer::c_pretty_printer): Do not assign to
1794 unary_expression, multiplicative_expression,
1795 conditional_expression, expression.
1796
027d08ed 17972013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1798
1799 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1800 virtual member function.
1801 (pp_postfix_expression): Adjust.
1802 (pp_c_postfix_expression): Remove.
1803 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1804 from pp_c_postfix_expression. Adjust.
1805 (c_pretty_printer::c_pretty_printer): Do not assign to
1806 postfix_expression.
1807
f873303a 18082013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1809
1810 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1811 virtua member function.
1812 (pp_primary_expression): Adjust.
1813 (pp_c_primary_expression): Remove.
1814 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1815 from pp_c_primary_expression. Adjust.
1816 (pp_c_initializer_list): Use pp_primary_expression.
1817 (c_pretty_printer::c_pretty_printer): Do not assign to
1818 primary_expression.
1819
08e3e481 18202013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1821
1822 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1823 * c-pretty-print.c (M_): Remove.
1824 (c_pretty_printer::translate_string): Define.
1825 (pp_c_type_specifier): Use it.
1826 (pp_c_primary_expression): Likewise.
1827 (pp_c_expression): Likewise.
1828
1fc4a87f 18292013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1830
1831 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1832 virtual function.
1833 (pp_c_id_expression): Remove.
1834 (pp_id_expression): Adjust.
1835 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1836 pp_c_id_expression. Adjust.
1837 (pp_c_postfix_expression): Use pp_id_expression.
1838 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1839
a6cb161b 18402013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1841
1842 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1843 member function.
1844 (pp_constant): Adjust.
1845 (pp_c_constant): Remove.
1846 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1847 pp_c_constant. Adjust.
1848 (pp_c_constant)
1849 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1850 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1851
eed6bc21 18522013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1853
1854 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1855 (c_pretty_printer::c_pretty_printer): Declare.
1856 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1857 c_pretty_printer_init. Adjust.
1858 (print_c_tree): Do not call c_pretty_printer_init.
1859 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1860
df558d2e 18612013-08-09 Arnaud Charlet <charlet@adacore.com>
1862
1863 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1864
42f9a786 18652013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1866
1867 PR c++/58080
1868 * c-common.c (pointer_int_sum): Add bool parameter.
1869 * c-common.h (pointer_int_sum): Adjust declaration.
1870
f874ddad 18712013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1872
1873 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1874 c_pretty_printer variable.
1875
a94db6b0 18762013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1877
1878 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1879 (pp_base): Remove.
1880 (pp_c_base): Likewise. Adjust users.
1881 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1882 (pp_c_whitespace): Do not call pp_base.
1883 (pp_c_left_paren): Likewise.
1884 (pp_c_right_paren): Likewise.
1885 (pp_c_left_brace): Likewise.
1886 (pp_c_right_brace): Likewise.
1887 (pp_c_left_bracket): Likewise.
1888 (pp_c_right_bracket): Likewise.
1889 (pp_c_dot): Likewise.
1890 (pp_c_ampersand): Likewise.
1891 (pp_c_star): Likewise.
1892 (pp_c_arrow): Likewise.
1893 (pp_c_semicolon): Likewise.
1894 (pp_c_complement): Likewise.
1895 (pp_c_exclamation): Likewise.
1896 (pp_c_direct_declarator): Likewise.
1897 (pp_c_ws_string): Likewise.
1898 (pp_c_identifier): Likewise.
1899 (pp_c_statement): Likewise.
1900 (print_c_tree): Likewise.
1901
1898176c 19022013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1903
1904 PR c++/58072
1905 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1906 provide useful error strings.
1907
70d60d1d 19082013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1909
1910 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1911 printer functions instead of pp_string or operators and punctuators.
1912 (dump_generic_ada_node): Likewise.
1913 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1914 (pp_c_relational_expression): Likewise.
1915 (pp_c_logical_or_expression): Likewise.
1916
dda4f0ec 19172013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1918
1919 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1920 functions instead of pp_character.
1921 (pp_ada_tree_identifier): Likewise.
1922 (dump_ada_double_name): Likewise.
1923 (dump_ada_function_declaration): Likewise.
1924 (dump_ada_array_domains): Likewise.
1925 (dump_template_types): Likewise.
1926 (dump_generic_ada_node): Likewise.
1927 (print_ada_declaration): Likewise.
1928 (print_ada_struct_decl): Likewise.
1929 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1930
7aa04c8d 19312013-07-23 Tom Tromey <tromey@redhat.com>
1932
1933 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1934 * c-common.c (c_common_reswords): Add _Generic.
1935
a04e8d62 19362013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1937
1938 * c-common.c: Fix typos.
1939 * c-common.h: Likewise.
1940
a96c3cc1 19412013-07-13 Lubos Lunak <l.lunak@suse.cz>
1942
1943 PR c++/55203
1944 * c-common.c (c_common_attribute_table): Add warn_unused.
1945 (handle_warn_unused_attribute): New.
1946
da31536d 19472013-07-10 Jakub Jelinek <jakub@redhat.com>
1948
1949 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1950 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1951
839f2f70 19522013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1953
1954 PR c++/57869
1955 * c.opt: Add Wconditionally-supported.
1956
73f353d0 19572013-07-08 Graham Stott <graham.stott@btinternet.com>
1958
1959 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1960 unused variables l_length and l_node.
1961
21ebaa24 19622013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 1963
1964 PR c/57821
1965 * c-common.c (complete_array_type): Delay folding first index
1966 like other indices. When folding, check for index overflow.
1967
68ea4406 19682013-06-27 Marc Glisse <marc.glisse@inria.fr>
1969
1970 PR c++/57509
1971 * c-common.h (c_build_vec_perm_expr): New complain argument.
1972 * c-common.c (c_build_vec_perm_expr): Likewise.
1973 Use save_expr also in C++.
1974
60777f69 19752013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1976
1977 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1978 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1979 * c-opts.c (c_common_post_options): Likewise.
1980
839f2f70 19812013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 1982
1983 * array-notation-common.c (length_mismatch_in_expr): Changed the
1984 parameter type's from a dynamic array to a vec_tree. Also removed
1985 the size parameters.
1986 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1987 the change above.
1988
e9331eab 19892013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1990
1991 * c-common.h (struct cilkplus_an_parts): New structure.
1992 (struct cilkplus_an_loop_parts): Likewise.
1993 (cilkplus_extract_an_triplets): New prototype.
1994 (fix_sec_implicit_args): Likewise.
1995 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1996 (fix_sec_implicit_args): Likewise.
60777f69 1997
a9c99fc4 19982013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
1999
2000 * array-notation-common.c (find_inv_trees): Removed an unwanted
2001 typecasting.
2002 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2003 enum rid to enum tree_code.
2004
f2526cce 20052013-06-11 Jan Hubicka <jh@suse.cz>
2006
2007 * c-common.c (handle_alias_ifunc_attribute): Do not set
2008 DECL_EXTERNAL for weakref variables.
2009 * c-pragma.c (handle_pragma_weak): Make sure aliases
2010 are not declared as external.
2011
09970d67 20122013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2013
2014 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2015 function from c/c-array-notation.c.
2016 (is_cilkplus_reduce_builtin): Likewise.
2017 (find_rank): Likewise.
2018 (extract_array_notation_exprs): Likewise.
2019 (replace_array_notations): Likewise.
2020 (find_inv_trees): Likewise.
2021 (replace_inv_trees): Likewise.
2022 (contains_array_notation_expr): Likewise.
2023 (find_correct_array_notation_type): Likewise.
2024 * c-common.h (struct inv_list): Moved this struct from the file
2025 c/c-array-notation.c and added a new field called additional tcodes.
2026 (length_mismatch_in_expr_p): New prototype.
2027 (is_cilkplus_reduce_builtin): Likewise.
2028 (find_rank): Likewise.
2029 (extract_array_notation_exprs): Likewise.
2030 (replace_array_notation): Likewise.
2031 (find_inv_trees): Likewise.
2032 (replace_inv_trees): Likewise.
2033 (find_correct_array_notation_type): Likewise.
839f2f70 2034
3c6d4197 20352013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2036
2037 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2038 function array_notation_init_builtins is called.
2039 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2040 * c-common.def (ARRAY_NOTATION_REF): New tree.
2041 * c-common.h (build_array_notation_expr): New function declaration.
2042 (build_array_notation_ref): Likewise.
2043 (extract_sec_implicit_index_arg): New extern declaration.
2044 (is_sec_implicit_index_fn): Likewise.
2045 (ARRAY_NOTATION_CHECK): New define.
2046 (ARRAY_NOTATION_ARRAY): Likewise.
2047 (ARRAY_NOTATION_START): Likewise.
2048 (ARRAY_NOTATION_LENGTH): Likewise.
2049 (ARRAY_NOTATION_STRIDE): Likewise.
2050 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2051 ARRAY_NOTATION_REF.
2052 (pp_c_expression): Likewise.
2053 * c.opt (flag_enable_cilkplus): New flag.
2054 * array-notation-common.c: New file.
2055
8e71dad2 20562013-05-14 Jakub Jelinek <jakub@redhat.com>
2057
2058 PR c++/57274
2059 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2060
432dd330 20612013-05-10 Marc Glisse <marc.glisse@inria.fr>
2062
2063 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2064 vectors.
2065
b156ec37 20662013-05-07 Han Shen <shenhan@google.com>
2067
2068 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2069
1a087624 20702013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2071
2072 * c-common.c (check_user_alignment): Emit error for negative values.
2073
1638c736 20742013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2075
2076 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2077
949dbf93 20782013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2079
2080 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2081 __GXX_EXPERIMENTAL_CXX1Y__.
2082
9205a6cc 20832013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2084 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2085
2086 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2087 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2088 to simply use OPT_Wpointer_arith.
2089 (c_sizeof_or_alignof_type): Likewise.
2090
05d0bce1 20912013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2092
2093 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2094
41609f8b 20952013-04-12 Jakub Jelinek <jakub@redhat.com>
2096
2097 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2098 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2099 specifiers.
2100
c671dc4f 21012013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2102
2103 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2104
ba125576 21052013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2106
2107 * c-common.c (pointer_int_sum): Remove dead code.
2108
9d3fa937 21092013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2110
2111 PR middle-end/56524
2112 * c-common.c (handle_optimize_attribute): Don't call
2113 save_optabs_if_changed.
2114
5ceebb21 21152013-03-05 Jakub Jelinek <jakub@redhat.com>
2116
2117 PR middle-end/56461
2118 * c-pch.c (pch_init): Free target_validity at the end.
2119
18eeed2b 21202013-03-04 Jakub Jelinek <jakub@redhat.com>
2121
2122 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2123
a9196da9 21242013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2125 Jakub Jelinek <jakub@redhat.com>
2126
2127 PR sanitizer/56454
2128 * c-common.c (handle_no_sanitize_address_attribute): New function.
2129 (c_common_attribute_table): Add no_sanitize_address attribute.
2130 (handle_no_address_safety_analysis_attribute): Add
2131 no_sanitize_address attribute, not no_address_safety_analysis
2132 attribute.
2133
15c27dda 21342013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 2135
2136 PR target/52555
2137 * c-common.c (handle_optimize_attribute): Call
2138 save_optabs_if_changed.
2139
19426fe1 21402013-02-18 Jakub Jelinek <jakub@redhat.com>
2141 Steven Bosscher <steven@gcc.gnu.org>
2142
2143 PR pch/54117
2144 * c-opts.c (c_common_post_options): If debug info is enabled
2145 and non-dwarf*, refuse to load PCH files and when writing PCH
2146 file warn.
2147
df936998 21482013-02-05 Jakub Jelinek <jakub@redhat.com>
2149
2150 PR middle-end/56167
2151 * c-common.c (handle_error_attribute): Fix condition.
2152
ae0c3984 21532013-01-30 Jakub Jelinek <jakub@redhat.com>
2154
2155 PR c++/55742
2156 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2157
1c4973d7 21582013-01-18 Jason Merrill <jason@redhat.com>
2159
2160 PR target/54908
2161 * c.opt (-fextern-tls-init): New.
2162 * c-opts.c (c_common_post_options): Handle it.
2163
7c834436 21642013-01-09 Jakub Jelinek <jakub@redhat.com>
2165
2166 PR c/48418
2167 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2168 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2169 and is either negative or bigger or equal to type precision
2170 of the first operand.
2171
5abaa10a 21722012-12-03 Marek Polacek <polacek@redhat.com>
2173
2174 PR c/55570
2175 * c-common.c (check_user_alignment): Swap order of tests,
2176 check TREE_CODE first.
2177
324ca377 21782012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2179
2180 PR c++/52654
2181 * c-common.h (overflow_type): New enum.
2182 (build_userdef_literal): Add overflow_type argument.
2183 (tree_userdef_literal): Add overflow_type.
2184 (USERDEF_LITERAL_OVERFLOW): New access macro.
2185 * c-common.c (build_userdef_literal): Add overflow_type
2186 argument.
2187 * c-lex.c (c_lex_with_flags): Add overflow_type to
2188 build_userdef_literal calls.
2189 (interpret_integer, interpret_float): Add overflow_type argument.
2190
b4c4a429 21912012-11-28 Richard Biener <rguenther@suse.de>
2192
2193 PR c/35634
2194 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2195 here and use a type with proper overflow behavior for types that would
2196 need to be promoted for the arithmetic.
2197
d413ffdd 21982012-11-23 Jakub Jelinek <jakub@redhat.com>
2199
2200 PR sanitizer/55435
2201 * c-common.c (handle_no_address_safety_analysis_attribute): New
2202 function.
2203 (c_common_attribute_table): Add no_address_safety_analysis.
2204
52bc861d 22052012-11-16 Simon Baldwin <simonb@google.com>
2206
2207 * c.opt: Add f[no-]canonical-system-headers.
2208 * c-opts.c (c_common_handle_option): Handle
2209 OPT_fcanonical_system_headers.
2210
2dd00636 22112012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2212
2213 PR c++/54413
2214 * c-opts.c (c_common_handle_option): Set new flags.
2215 * c.opt: Describe new flags.
2216
d4701f6c 22172012-11-09 Jason Merrill <jason@redhat.com>
2218
2219 * c.opt (Wabi-tag): New.
2220
72d65da9 22212012-11-09 Andi Kleen <ak@linux.intel.com>
2222
2223 PR 55139
2224 * c-common.c (get_atomic_generic_size): Mask with
2225 MEMMODEL_MASK
2226
77a357e3 22272012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2228
2229 PR c/53063
2230 * c.opt (Wformat): Make it Alias Wformat=1.
2231 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2232 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2233 LangEnabledBy.
2234 (Wformat=): RejectNegative. Use LangEnabledBy.
2235 (Wnonnull): Use LangEnabledBy.
2236 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2237 * c-format.c (set_Wformat): Delete.
2238 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2239 (maybe_read_dollar_number): Likewise.
2240 (avoid_dollar_number): Likewise.
2241 (finish_dollar_format_checking): Likewise.
2242 (check_format_info): Likewise.
2243 (check_format_info_main): Likewise.
2244 (check_format_types): Likewise.
2245 (format_type_warning): Likewise.
2246 * c-common.c (int): Likewise.
2247 (check_function_sentinel): Likewise.
2248 * c-common.h (warn_format,set_Wformat): Do not declare here.
2249
45efa6b9 22502012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2251
2252 PR c/53063
2253 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2254 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2255 Use LangEnabledBy.
2256 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2257 common.opt.
2258 (Wvariadic-macros): Init(1).
2259 * c-opts.c (c_common_handle_option): Do not handle them
2260 explicitly.
2261 (c_common_post_options): Likewise.
2262 (sanitize_cpp_opts): warn_unused_macros is now
2263 cpp_warn_unused_macros.
2264 (push_command_line_include): Likewise.
2265 * c-common.c (warn_unknown_pragmas): Do not define.
2266 * c-common.h (warn_unknown_pragmas): Do not declare.
2267
0e4e775a 22682012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2269
2270 PR c/51294
2271 * c-common.c (conversion_warning): Handle conditional expressions.
2272
8b447d3f 22732012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2274
2275 PR c++/54930
2276 * c.opt (Wreturn_local_addr): Define new option.
2277
f4a61754 22782012-10-25 Jason Merrill <jason@redhat.com>
2279
ecb10e6a 2280 * c.opt (Wvirtual-move-assign): New.
2281
f4a61754 2282 * c.opt (Winherited-variadic-ctor): New.
2283
7b463b19 22842012-10-25 Marc Glisse <marc.glisse@inria.fr>
2285
2286 PR c++/54427
2287 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2288
6adc88f8 22892012-10-23 Joseph Myers <joseph@codesourcery.com>
2290
2291 * c-common.h (pch_cpp_save_state): Declare.
2292 * c-target.def (c_preinclude): New hook.
2293 * c-opts.c (done_preinclude): New.
2294 (push_command_line_include): Handle default preincluded header.
2295 (cb_file_change): Call pch_cpp_save_state when calling
2296 push_command_line_include.
2297 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2298 (pch_cpp_save_state): New.
2299 (pch_init): Call pch_cpp_save_state conditionally, instead of
2300 calling cpp_save_state.
2301
fa816b0b 23022012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2303
2304 PR c/53063
2305 PR c/40989
2306 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2307 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2308 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2309 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2310 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2311 * c-opts.c (c_common_handle_option): Remove explicit handling from
2312 here.
2313 (c_common_post_options): Likewise.
2314
d214ccee 23152012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2316
2317 * c-ada-spec.c (LOCATION_COL): Delete.
2318 (compare_location): New function.
2319 (compare_node): Use it.
2320 (compare_comment): Likewise.
2321
77b27208 23222012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2323
2324 PR c/53063
2325 PR c/40989
2326 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2327 * c-opts.c (c_common_handle_option): Do not set them here. Add
2328 comment.
2329 (c_common_post_options): Likewise.
2330
cc02ca4d 23312012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2332
2333 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2334 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2335 Remove POINTER_TYPE handling, add large unsigned handling and use
2336 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2337
57f872a2 23382012-10-12 Jakub Jelinek <jakub@redhat.com>
2339
2340 PR c/54381
2341 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2342 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2343 locs and array of 3 trees instead of just single loc and single
2344 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2345 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2346 For *cmp* builtins that take two sources strings report warnings
2347 about first and second source, not about destination and source.
2348
7354ad2e 23492012-10-12 Marc Glisse <marc.glisse@inria.fr>
2350
2351 PR c++/53055
2352 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2353
1ac7f120 23542012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2355
2356 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2357 declaring something coming from another file.
2358
1e0cc9e3 23592012-10-10 Arnaud Charlet <charlet@adacore.com>
2360
1ac7f120 2361 PR ada/54845
1e0cc9e3 2362 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2363
b0e7825e 23642012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2365
2366 PR c++/54194
2367 * c-common.c (warn_about_parentheses): Add location_t parameter;
2368 use EXPR_LOC_OR_LOC.
2369 * c-common.h: Update declaration.
2370
41ed701a 23712012-10-09 Marc Glisse <marc.glisse@inria.fr>
2372
2373 PR c++/54427
2374 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2375 more operations. Make error messages optional.
2376 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2377 (scalar_to_vector): Declare.
2378
3740094c 23792012-10-08 Jason Merrill <jason@redhat.com>
2380
2381 * c-common.c (c_common_reswords): Add thread_local.
2382
ffcdbf9c 23832012-10-08 Dodji Seketeli <dodji@redhat.com>
2384
2385 PR c++/53528 C++11 attribute support
2386 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2387 new functions.
2388 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2389 static function.
2390 (handle_aligned_attribute): In choose strictest alignment
2391 among many. Use new check_cxx_fundamental_alignment_constraints.
2392 (handle_transparent_union_attribute): In c++11 attribute syntax,
2393 don't look through typedefs.
2394
ef34afc1 23952012-10-04 Arnaud Charlet <charlet@adacore.com>
2396
2397 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2398 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2399 out of dumpfile.h.
2400
f1ff4562 24012012-09-25 Dehao Chen <dehao@google.com>
2402
2403 PR middle-end/54645
ef34afc1 2404 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2405 map when read in the pch.
2406
735538a1 24072012-09-18 Arnaud Charlet <charlet@adacore.com>
2408
2409 * c-ada-spec.c: Style fixes.
2410
9120cdc8 24112012-09-18 Thomas Quinot <quinot@adacore.com>
2412
2413 * c.opt (-fada-spec-parent): Define new command line switch.
2414 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2415 is specified, generate binding spec as a child of the specified unit.
2416
8eba82c2 24172012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2418 Manuel López-Ibáñez <manu@gcc.gnu.org>
2419
2420 PR c++/53210
2421 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2422
38682990 24232012-08-23 Arnaud Charlet <charlet@adacore.com>
2424
2425 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2426 for pointers, and add missing Convention C pragma.
2427 (print_ada_struct_decl): Add missing aliased keyword.
2428 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2429
f003f5dc 24302012-08-17 Jakub Jelinek <jakub@redhat.com>
2431
2432 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2433 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2434 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2435 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2436 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2437
ec11736b 24382012-08-10 Richard Guenther <rguenther@suse.de>
2439
2440 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2441
5f7f600e 24422012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2443
2444 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2445 instead of separate pp_newline and pp_flush.
2446 (print_c_tree): Likewise.
2447
758a38ab 24482012-07-26 Richard Henderson <rth@redhat.com>
2449
2450 * c-common.c (handle_hot_attribute): Allow labels.
2451 (handle_cold_attribute): Likewise.
2452
9ca77b08 24532012-07-20 Jakub Jelinek <jakub@redhat.com>
2454
2455 PR c++/28656
2456 * c-common.c (check_function_nonnull): Handle multiple nonnull
2457 attributes properly.
2458
b9ed1410 24592012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2460
2461 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2462 * c-ada-spec.c: Likewise.
2463 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2464
c2a65b90 24652012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2466
2467 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2468 Remove code conditional on it.
2469
88c5a1d1 24702012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2471
2472 * c-gimplify.c: Do not include basic-block.h.
2473 * c-common.c: Do not include linfuncs.h.
2474
4a020a8c 24752012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2476
2477 * c-common.h: Include tree.h.
2478
c28ddc97 24792012-07-02 Jason Merrill <jason@redhat.com>
2480
2481 PR c++/53524
2482 * c-common.c (get_priority): Call default_conversion.
2483
405ed67f 24842012-07-01 Uros Bizjak <ubizjak@gmail.com>
2485
2486 * c-pch.c (c_common_write_pch): Remove unused variables.
2487
e53d55e7 24882012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2489
2490 * cppspec.c: Moved from gcc/ to here.
2491
3d9c25ec 24922012-06-27 Kai Tietz <ktietz@redhat.com>
2493
2494 PR preprocessor/37215
2495 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2496
3169c57a 24972012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2498
2499 * c-common.h (c_common_print_pch_checksum): Remove.
2500 * c-pch.c: Do not include output.h.
2501 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2502 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2503 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2504 (struct c_pch_header): Remove.
2505 (get_ident): Update gpch version.
2506 (pch_init): Do not print executable_checksum to asm_out_file.
2507 Do not fail if there is no asm_out_file to read back from. Set
2508 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2509 (c_common_write_pch): Verify that nothing was written to asm_out_file
2510 since pch_init was called. Do not write a c_pch_header, and do not
2511 copy from asm_out_file to the PCH.
2512 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2513 the content of asm_out_file from the PCH.
2514 (c_common_print_pch_checksum): Remove.
2515 * c-opts.c (c_common_init): Print out executable_checksum directly.
2516
ff6624bc 25172012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2518
2519 * c-target.def (objc_declare_unresolved_class_reference,
2520 objc_declare_class_definition): Add new hooks.
2521
367b1459 25222012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2523
2524 * c-lex.c: Do not include output.h.
2525 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2526 Remove uses of ASM_OUTPUT_IDENT.
2527
bf0cb017 25282012-06-15 Marc Glisse <marc.glisse@inria.fr>
2529
2530 PR c++/51033
2531 * c-common.h (c_build_vec_perm_expr): Move decl here.
2532 * c-common.c (c_build_vec_perm_expr): Move definition
2533 here.
2534
b37a3600 25352012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2536
2537 * c.opt (fconserve-space): Turn into a no-op.
2538
19931eea 25392012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 2540
2541 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2542 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2543 both the start and end of the function.
2544
dff12c10 25452012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2546
2547 * c-common.c: Do not include output.h.
2548 * c-pragma.c: Likewise.
2549
5f9e7dd5 25502012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2551
2552 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2553 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2554 (lang_decl_name): Handle namespace decls.
2555
b5369b7d 25562012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2557
2558 * c-ada-spec.c: Do not include output.h.
2559 * c-semantics.c: Likewise.
2560
8032877c 25612012-05-29 Joseph Myers <joseph@codesourcery.com>
2562
2563 * c-common.c: Fix typo.
2564
7843e4bc 25652012-05-29 Michael Matz <matz@suse.de>
2566
2567 * c-common.h (c_expand_decl): Remove prototype.
2568
8cf857d4 25692012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2570
2571 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2572 * c-opts.c (c_common_handle_option): Remove code handling
2573 warn_missing_braces.
2574
8b64dc3c 25752012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2576
2577 PR c++/25137
2578 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2579 -Wmissing_braces.
2580
43cbde16 25812012-05-22 Dodji Seketeli <dodji@redhat.com>
2582
2583 PR c++/53322
2584 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2585
db490cb6 25862012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2587
2588 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2589 * c-opts.c (c_common_handle_option): Do not handle explicitly
2590 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2591
a60f3e81 25922012-05-16 Dodji Seketeli <dodji@redhat.com>
2593
2594 PR preprocessor/7263
2595 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2596 to cpp_classify_number. For diagnostics, use the precise location
2597 instead of the global input_location.
2598
82e6ef7c 25992012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2600
cd4797ff 2601 PR c++/11856
82e6ef7c 2602 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2603
258a168d 26042012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2605
82e6ef7c 2606 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2607
d3b7ee7c 26082012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2609
2610 PR 53063
2611 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2612 Wreorder): Use LangEnabledBy.
2613 * c-opts.c (c_common_handle_option): Do not enable them
2614 explicitly. Call lang-specific generated functions.
2615 (c_common_post_options): Do not set them here.
2616
70059cea 26172012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2618
2619 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2620 Wmissing-field-initializers,Wmissing-parameter-type,
2621 Wold-style-declaration,Woverride-init): Use EnabledBy.
2622 * c-opts.c (c_common_post_options): Do not set here explicitly.
2623
fbb6fbd8 26242012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2625
2626 PR 53063
2627 * c-opts.c (c_common_handle_option): Use handle_generated_option
2628 to enable sub-options.
2629
61f69bc9 26302012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2631
2632 PR c++/53158
2633 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2634
5a1fe2db 26352012-05-10 Richard Guenther <rguenther@suse.de>
2636
2637 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2638 adjust commentary about TYPE_IS_SIZETYPE types.
2639
d42e7c5a 26402012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2641
2642 PR c++/53261
2643 * c-common.c (warn_logical_operator): Check that argument of
2644 integer_zerop is not NULL.
2645
686369e8 26462012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2647
2648 PR c/43772
2649 * c-common.c (warn_logical_operator): Do not warn if either side
2650 is already true or false.
2651
03fe1dc2 26522012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2653
2654 PR c/51712
2655 * c-common.c (expr_original_type): New.
2656 (shorten_compare): Do not warn for enumeration types.
2657
bba5a206 26582012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2659
2660 * c.opt (fpermissive): Add Var(flag_permissive).
2661
7059d45d 26622012-04-30 Marc Glisse <marc.glisse@inria.fr>
2663
2664 PR c++/51033
2665 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2666 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2667
7edb1062 26682012-04-30 Dodji Seketeli <dodji@redhat.com>
2669
2670 Add -Wvarargs option
2671 * c.opt (Wvarargs): Define new option.
2672
068bea1e 26732012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2674
2675 * c-common.c (check_function_arguments): Replace
2676 Wmissing-format-attribute with Wsuggest-attribute=format.
2677
b86527d8 26782012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2679
2680 * c.opt (Wsuggest-attribute=format): New. Alias of
2681 Wmissing-format-attribute.
2682 * c-format.c (decode_format_type): Replace
2683 Wmissing-format-attribute with Wsuggest-attribute=format.
2684 (check_function_format): Likewise.
2685
19931eea 26862012-04-27 Ollie Wild <aaw@google.com>
76d340ac 2687
2688 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2689 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2690 * c.opt: Add Wliteral-suffix.
2691
29438999 26922012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2693
2694 PR c/44774
2695 * c.opt (Wpedantic): New.
2696 (pedantic): Alias Wpedantic.
2697 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2698 (c_common_post_options): Likewise.
2699 (sanitize_cpp_opts): Likewise.
2700 * c-lex.c (interpret_float): Likewise.
2701 * c-format.c (check_format_types): Likewise.
2702 * c-common.c (pointer_int_sum): Likewise.
2703 (c_sizeof_or_alignof_type): Likewise.
2704 (c_add_case_label): Likewise.
2705 (c_do_switch_warnings): Likewise.
2706 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2707
4f9d6b8b 27082012-04-15 Jason Merrill <jason@redhat.com>
2709
2710 PR c++/52818
2711 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2712 (C_STD_NAME): Distinguish between C++98 and C++11.
2713
74bdbe96 27142012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2715
2716 PR target/52624
2717 * c-common.h (uint16_type_node): Rename into...
2718 (c_uint16_type_node): ...this.
2719 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2720 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2721
3d177e8c 27222012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2723
2724 * c-common.c (warn_if_unused_value): Move definition to here.
2725 * c-common.h (warn_if_unused_value): Move declaration to here.
2726
6a9a958f 27272012-03-23 William Bader <williambader@hotmail.com>
2728
2729 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2730
543efdbe 27312012-03-20 Jason Merrill <jason@redhat.com>
2732
2733 * c-common.h (enum cxx_dialect): Add cxx1y.
2734 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2735 test.
2736 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2737 * c-opts.c (c_common_post_options): Likewise.
2738 (set_std_cxx1y): New.
2739 (c_common_handle_option): Call it.
2740 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2741
62206d34 27422012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2743
2744 PR c++/14710
2745 * c.opt ([Wuseless-cast]): Add.
2746
fadf62f4 27472012-03-16 Richard Guenther <rguenther@suse.de>
2748
2749 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2750
249faa35 27512012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2752
2753 PR c++/44783
2754 * c.opt (ftemplate-backtrace-limit) Add.
2755
126b6848 27562012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2757
2758 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2759 handling.
2760 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2761 (init_pragma): Don't register extern_prefix.
2762
a51edb4c 27632012-03-12 Richard Guenther <rguenther@suse.de>
2764
2765 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2766 (builtin_type_for_size): Likewise.
2767
0f6a7cb7 27682012-02-13 Jakub Jelinek <jakub@redhat.com>
2769
2770 PR c++/52215
2771 * c-common.c (sync_resolve_params): Don't decide whether to convert
2772 or not based on TYPE_SIZE comparison, convert whenever arg_type
2773 is unsigned INTEGER_TYPE.
2774
0779e32c 27752012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2776
2777 PR c/52118
2778 * c.opt ([Wunused-local-typedefs]): Fix description.
2779
baec58e1 27802012-01-24 Mike Stump <mikestump@comcast.net>
2781
2782 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2783 exactly.
2784
c779d8cc 27852012-01-18 Richard Guenther <rguenther@suse.de>
2786
2787 * c-opts.c (c_common_post_options): Reset LTO flags if
2788 we are about to generate a PCH.
2789
ee917d24 27902012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2791
2792 PR c++/51777
2793 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2794 use pp_unsigned_wide_integer.
2795
90e2341f 27962012-01-10 Richard Guenther <rguenther@suse.de>
2797
2798 PR middle-end/51806
2799 * c-opts.c (c_common_handle_option): Move -Werror handling
2800 to language independent code.
2801
9ea022ce 28022012-01-05 Richard Guenther <rguenther@suse.de>
2803
2804 PR middle-end/51764
2805 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2806 from common.opt.
2807
3df19e1b 28082011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2809
2810 PR c++/51316
2811 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2812 of array types with an unknown bound.
2813
32074525 28142011-12-20 Joseph Myers <joseph@codesourcery.com>
2815
2816 * c-common.c (flag_isoc99): Update comment to refer to C11.
2817 (flag_isoc1x): Change to flag_isoc11.
2818 * c-common.h (flag_isoc99): Update comment to refer to C11.
2819 (flag_isoc1x): Change to flag_isoc11.
2820 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2821 C11.
2822 * c-opts.c (set_std_c1x): Change to set_std_c11.
2823 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2824 Call set_std_c11.
2825 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2826 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2827 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2828 standard.
2829 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2830 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2831 (std=gnu1x): Make alias of std=gnu11.
2832
fca86134 28332011-12-19 Jason Merrill <jason@redhat.com>
2834
2835 PR c++/51228
2836 * c-common.c (handle_transparent_union_attribute): Check the first
2837 field if the type is complete.
2838
aa4313eb 28392011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2840
2841 PR libstdc++/51365
2842 * c-common.c (RID_IS_FINAL): Add.
2843 * c-common.h (RID_IS_FINAL): Add.
2844
3f3d5ad4 28452011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2846
2847 * c.opt (fgnu-runtime): Provide full description.
2848 (fnext-runtime): Likewise.
2849 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2850
c4606d19 28512011-11-28 Andrew MacLeod <amacleod@redhat.com>
2852
2853 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2854 predefines in one place. Add LOCK_FREE predefines.
2855 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2856 new func.
2857
1d581089 28582011-11-24 Andrew MacLeod <amacleod@redhat.com>
2859
2860 PR c/51256
19931eea 2861 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 2862 conditions
19931eea 2863 (resolve_overloaded_atomic_exchange,
2864 resolve_overloaded_atomic_compare_exchange,
1d581089 2865 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2866 error_mark_node for error conditions.
19931eea 2867
6aa221fa 28682011-11-08 Richard Guenther <rguenther@suse.de>
2869
2870 PR middle-end/51010
2871 c-family/
2872
4c0315d0 28732011-11-07 Richard Henderson <rth@redhat.com>
2874 Aldy Hernandez <aldyh@redhat.com>
2875 Torvald Riegel <triegel@redhat.com>
2876
2877 Merged from transactional-memory.
2878
2879 * c-common.c (handle_tm_wrap_attribute,
2880 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2881 (struct c_common_reswords): Added __transaction* keywords.
2882 (struct c_common_attribute_table): Added transaction* and tm_regparm
2883 attributes.
2884 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2885 masks.
2886 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2887 find_tm_attribute): Declare.
2888
920f5a70 28892011-11-07 Jason Merrill <jason@redhat.com>
2890
2891 PR c++/35688
2892 * c-common.c, c-common.h: Revert yesterday's changes.
2893
b4f861b4 28942011-11-06 Jason Merrill <jason@redhat.com>
2895
2896 PR c++/35688
2897 * c-common.c (decl_has_visibility_attr): Split out from...
2898 (c_determine_visibility): ...here.
2899 * c-common.h: Declare it.
2900
83e25171 29012011-11-06 Joseph Myers <joseph@codesourcery.com>
2902
2903 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2904 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2905 type.
2906 (check_user_alignment): New. Split out of
2907 handle_aligned_attribute. Disallow integer constants with
2908 noninteger types. Conditionally allow zero.
2909 (handle_aligned_attribute): Use check_user_alignment.
2910 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2911
1cd6e20d 29122011-11-06 Andrew MacLeod <amacleod@redhat.com>
2913 Richard Henderson <rth@redhat.com>
2914
2915 Merged from cxx-mem-model.
2916
2917 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 2918 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 2919 parameters that are the same type size.
2920 (get_atomic_generic_size): New. Find size of generic
2921 atomic function parameters and do typechecking.
2922 (add_atomic_size_parameter): New. Insert size into parameter list.
2923 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2924 either __atomic_exchange_n or external library call.
19931eea 2925 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 2926 __atomic_compare_exchange to either _n variant or external library call.
19931eea 2927 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 2928 __atomic_load_n or an external library call.
2929 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2930 __atomic_store_n or an external library call.
2931 (resolve_overloaded_builtin): Handle new __atomic builtins.
2932
7549df0d 29332011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2934
2935 PR c++/50608
2936 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2937 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2938 <INDIRECT_REF>: Return the argument.
2939 <ARRAY_REF>: Remove special code for negative offset.
2940 Call fold_build_pointer_plus instead of size_binop.
2941 (fold_offsetof): Remove STOP_REF argument and adjust.
2942 * c-common.h (fold_offsetof_1): Declare.
2943 (fold_offsetof): Remove STOP_REF argument.
2944
7e783eb3 29452011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2946
2947 PR c++/50810
2948 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2949 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2950 Wnarrowing for C++0x and C++98.
2951 * c.opt ([Wnarrowing]): Update.
2952
8fe701f5 29532011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2954
2955 PR c++/44277
2956 * c.opt: Add Wzero-as-null-pointer-constant.
2957
0d84dc2d 29582011-10-31 Jason Merrill <jason@redhat.com>
2959
67031f52 2960 * c.opt (-fdeduce-init-list): Off by default.
2961
0d84dc2d 2962 PR c++/50920
2963 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2964 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2965 and -Wc++11-compat.
2966 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2967
66f24c41 29682011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2969
2970 PR c++/30066
2971 * c.opt (fvisibility-inlines-hidden): Description change.
2972
244db24d 29732011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
2974
2975 Implement C++11 user-defined literals.
2976 * c-common.c (build_userdef_literal): New.
2977 * c-common.def: New tree code.
2978 * c-common.h (tree_userdef_literal): New tree struct and accessors.
2979 * c-lex.c (interpret_float): Add suffix parm.
2980 (c_lex_with_flags): Build literal tokens.
2981
235be70f 29822011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2983
2984 PR c++/50841
2985 Revert:
2986 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2987
2988 PR c++/50810
2989 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2990 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2991 Wnarrowing for C++0x and C++98.
2992 * c.opt ([Wnarrowing]): Update.
2993
4fe0fb1c 29942011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2995
2996 PR c++/50810
2997 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2998 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2999 Wnarrowing for C++0x and C++98.
3000 * c.opt ([Wnarrowing]): Update.
3001
5f7504f9 30022011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3003
3004 PR c++/45385
3005 * c-common.c (conversion_warning): Remove code looking for
3006 artificial operands.
3007
2a688977 30082011-10-18 Dodji Seketeli <dodji@redhat.com>
3009
3010 PR bootstrap/50760
3011 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 3012 !NO_IMPLICIT_EXTERN_C.
2a688977 3013
326e3391 30142011-10-17 Michael Spertus <mike_spertus@symantec.com>
3015
3016 * c-common.c (c_common_reswords): Add __bases,
3017 __direct_bases.
3018 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3019
30202011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3021
3022 PR c++/50757
3023 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3024
62db153a 30252011-10-15 Tom Tromey <tromey@redhat.com>
3026 Dodji Seketeli <dodji@redhat.com>
3027
3028 * c.opt (fdebug-cpp): New option.
3029 * c-opts.c (c_common_handle_option): Handle the option.
3030 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3031 output stream in parameter. Factorized from ...
3032 (maybe_print_line): ... this. Dump location debug information when
3033 -fdebug-cpp is in effect.
3034 (print_line_1): New static function. Takes an output stream in
3035 parameter. Factorized from ...
3036 (print_line): ... here. Dump location information when -fdebug-cpp
3037 is in effect.
3038 (scan_translation_unit): Dump location information when
3039 -fdebug-cpp is in effect.
3040
ce70f433 30412011-10-15 Tom Tromey <tromey@redhat.com>
3042 Dodji Seketeli <dodji@redhat.com>
3043
3044 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3045 without argument.
3046 * c-opts.c (c_common_handle_option)<case
3047 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3048 cases. Handle -ftrack-macro-expansion with and without argument.
3049
97bfb9ef 30502011-10-15 Tom Tromey <tromey@redhat.com>
3051 Dodji Seketeli <dodji@redhat.com>
3052
3053 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3054 (print_line, cb_define, do_line_change): Adjust to avoid touching
3055 the internals of struct line_map. Use the public API instead.
3056 * c-pch.c (c_common_read_pch): Likewise.
3057 * c-lex.c (fe_file_change): Likewise.
3058
326e3391 30592011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3060
3061 PR c++/17212
3062 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3063
30642011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3065
3066 PR c++/33067
3067 * c-pretty-print.c (pp_c_floating_constant): Output
3068 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3069
b9a16870 30702011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3071
3072 * c-common.c (def_builtin_1): Delete old interface with two
3073 parallel arrays to hold standard builtin declarations, and replace
3074 it with a function based interface that can support creating
3075 builtins on the fly in the future. Change all uses, and poison
3076 the old names. Make sure 0 is not a legitimate builtin index.
3077 * c-omp.c (c_finish_omp_barrier): Ditto.
3078 (c_finish_omp_taskwait): Ditto.
3079 (c_finish_omp_flush): Ditto.
3080
c7964868 30812011-10-11 Tristan Gingold <gingold@adacore.com>
3082
3083 * c.opt: (fallow-parameterless-variadic-functions): New.
3084
a4e3ffad 30852011-09-08 Dodji Seketeli <dodji@redhat.com>
3086
3087 PR c++/33255 - Support -Wunused-local-typedefs warning
3088 * c-common.h (struct c_language_function::local_typedefs): New
3089 field.
19931eea 3090 (record_locally_defined_typedef, maybe_record_typedef_use)
3091 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 3092 * c-common.c (record_locally_defined_typedef)
19931eea 3093 (maybe_record_typedef_use)
3094 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 3095 * c.opt: Declare new -Wunused-local-typedefs flag.
3096
737a23cc 30972011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3098
3099 PR middle-end/50266
3100 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3101 computations.
3102
7542c3b4 31032011-09-05 Richard Guenther <rguenther@suse.de>
3104
3105 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3106 of integer_minus_one_node for empty array upper bounds.
3107
1dc92c59 31082011-08-28 Dodji Seketeli <dodji@redhat.com>
3109
3110 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3111 it's the first time it's being called on this main TU.
3112
2bdf2b6e 31132011-08-24 Richard Guenther <rguenther@suse.de>
3114
3115 PR c/49396
3116 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3117
31182011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 3119
3120 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3121 defined in cpp_init_builtins and c_cpp_builtins.
3122
bff4ad11 31232011-08-19 Joseph Myers <joseph@codesourcery.com>
3124
3125 * c-common.c (c_common_reswords): Add __builtin_complex.
3126 * c-common.h (RID_BUILTIN_COMPLEX): New.
3127
985c6e3a 31282011-08-18 Joseph Myers <joseph@codesourcery.com>
3129
3130 * c-common.c (c_common_reswords): Add _Noreturn.
3131 (keyword_is_function_specifier): Handle RID_NORETURN.
3132 * c-common.h (RID_NORETURN): New.
3133
7dfa155b 31342011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3135
3136 * c-common.c (unsafe_conversion_p): New function. Check if it is
3137 unsafe to convert an expression to the type.
3138 (conversion_warning): Adjust, use unsafe_conversion_p.
3139 * c-common.h (unsafe_conversion_p): New function declaration.
3140
2169f33b 31412011-08-02 Jakub Jelinek <jakub@redhat.com>
3142
3143 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3144 (c_finish_omp_taskyield): New prototype.
3145 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3146 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3147 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3148 or RHS1 have side-effects, evaluate those too in the right spot,
3149 if it is a decl and LHS is also a decl, error out if they
3150 aren't the same.
3151 (c_finish_omp_taskyield): New function.
3152 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3153 * c-pragma.c (omp_pragmas): Add taskyield.
3154 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3155 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3156 PRAGMA_OMP_CLAUSE_MERGEABLE.
3157
ab77850e 31582011-07-25 Dodji Seketeli <dodji@redhat.com>
3159
3160 * c-common.h (set_underlying_type): Remove parm name from
3161 declaration.
3162
6ee97920 31632011-07-25 Romain Geissler <romain.geissler@gmail.com>
3164
3165 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3166
dc251364 31672011-07-22 Jason Merrill <jason@redhat.com>
3168
1a2a35f0 3169 PR c++/49793
3170 * c.opt (Wnarrowing): New.
3171
27282252 3172 PR c++/30112
3173 * c-common.h: Declare c_linkage_bindings.
3174 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3175
dc251364 3176 PR c++/49813
3177 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3178 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3179 as flag_isoc99 for 'restrict'.
3180 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3181
fc501191 31822011-07-21 Ian Lance Taylor <iant@google.com>
3183
3184 PR middle-end/49705
3185 * c-common.c (c_disable_warnings): New static function.
3186 (c_enable_warnings): New static function.
3187 (c_fully_fold_internal): Change local unused_p to bool. Call
3188 c_disable_warnings and c_enable_warnings rather than change
3189 c_inhibit_evaluation_warnings.
3190
07b8f133 31912011-07-20 Jason Merrill <jason@redhat.com>
3192
3193 PR c++/6709 (DR 743)
3194 PR c++/42603 (DR 950)
3195 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3196 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3197 (CPP_DECLTYPE): New.
3198 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3199
2cc66f2a 32002011-07-19 Richard Guenther <rguenther@suse.de>
3201
3202 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3203 * c-omp.c (c_finish_omp_for): Likewise.
3204
3c802a1e 32052011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3206
3207 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3208 body on the next line.
3209
98a33d9f 32102011-07-08 Jason Merrill <jason@redhat.com>
3211
3115bda0 3212 PR c++/45437
3213 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3214
98a33d9f 3215 PR c++/49673
3216 * c-common.c (c_apply_type_quals_to_decl): Don't check
3217 TYPE_NEEDS_CONSTRUCTING.
3218
c38a75b7 32192011-07-06 Richard Guenther <rguenther@suse.de>
3220
3221 * c-common.c (c_common_nodes_and_builtins):
3222 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3223
e593356b 32242011-07-05 Richard Guenther <rguenther@suse.de>
3225
3226 * c-common.c (c_common_nodes_and_builtins): Build all common
3227 tree nodes first.
3228
fca0886c 32292011-06-27 Jakub Jelinek <jakub@redhat.com>
3230
a68f7a8d 3231 * c-common.h (c_tree_chain_next): New static inline function.
3232
fca0886c 3233 * c-common.c (check_builtin_function_arguments): Handle
3234 BUILT_IN_ASSUME_ALIGNED.
3235
2797f13a 32362011-06-21 Andrew MacLeod <amacleod@redhat.com>
3237
3238 * c-common.c: Add sync_ or SYNC__ to builtin names.
3239 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3240
32412011-06-20 Pierre Vittet <piervit@pvittet.com>
3242
3243 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3244 handler.
3245 (gen_pragma_handler): New union.
3246 (internal_pragma_handler): New type.
3247 (c_register_pragma_with_data)
3248 (c_register_pragma_with_expansion_and_data): New functions.
3249
3250 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3251 (c_register_pragma, c_register_pragma_with_expansion)
3252 (c_invoke_pragma_handler): Changed to work with
3253 internal_pragma_handler.
3254 (c_register_pragma_with_data)
3255 (c_register_pragma_with_expansion_and_data): New functions.
3256
218e3e4e 32572011-06-14 Joseph Myers <joseph@codesourcery.com>
3258
3259 * c-common.c: Include common/common-target.h.
3260 (handle_section_attribute): Use
3261 targetm_common.have_named_sections.
3262 * c-cppbuiltin.c: Include common/common-target.h.
3263 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3264
41e53ed2 32652011-06-10 Richard Guenther <rguenther@suse.de>
3266
3267 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3268 to print a IDENTIFIER_NODE.
3269
a6f06169 32702011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3271 Joseph Myers <joseph@codesourcery.com>
3272
3273 * c.opt (fbuilding-libgcc): New option.
3274 * c-cppbuiltin.c (c_cpp_builtins): Define
3275 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3276
1ea9269b 32772011-06-07 Jason Merrill <jason@redhat.com>
3278
8ce59854 3279 * c-common.c (max_tinst_depth): Lower default to 900.
3280
1ea9269b 3281 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3282
1af0124d 32832011-06-07 Richard Guenther <rguenther@suse.de>
3284
3285 * c-common.c (c_common_nodes_and_builtins): Do not set
3286 size_type_node or call set_sizetype.
3287
0e9a4c01 32882011-06-07 Dodji Seketeli <dodji@redhat.com>
3289
3290 PR debug/49130
3291 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3292 type when using pointer comparison to compare types.
0e9a4c01 3293
90b40725 32942011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3295
3296 * c.opt: Add -Wdelete-non-virtual-dtor.
3297 * c-opts.c (c_common_handle_option): Include it in -Wall.
3298
fc9c9e87 32992011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3300
3301 PR bootstrap/49190
3302
3303 Revert:
3304 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3305
3306 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3307 not tree_common.
3308
d0389adc 33092011-05-27 Jakub Jelinek <jakub@redhat.com>
3310
3311 PR c++/49165
3312 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3313 C++ don't call c_common_truthvalue_conversion on void type arms.
3314
cacfdc02 33152011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3316
3317 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3318 (stmt_list_stack): Define.
3319 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3320 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3321
027fc6ef 33222011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3323
3324 * c-common.c (warning_candidate_p): Check for BLOCKs.
3325
f21317a1 33262011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3327
3328 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3329 not tree_common.
3330
789e953d 33312011-05-25 Jakub Jelinek <jakub@redhat.com>
3332
3333 * c-common.c (def_fn_type): Remove extra va_end.
3334
7f506bca 33352011-05-23 Jason Merrill <jason@redhat.com>
3336
3337 PR c++/48106
3338 * c-common.c (c_common_get_narrower): New.
3339 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3340
774e9d58 33412011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3342
3343 * c-common.h (check_function_arguments): Tweak prototype of
3344 check_function_arguments.
3345 * c-common.c (check_function_arguments): Likewise. Adjust
3346 calls to check_function_nonnull, check_function_format, and
3347 check_function_sentinel.
3348 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3349 separate attributes and typelist arguments. Use
3350 FOREACH_FUNCTION_ARGS to iterate over argument types.
3351
23407dc9 33522011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3353
3354 * c-common.c (c_common_reswords): Reorder.
3355 * c-common.h (rid): Likewise.
3356
3a939d12 33572011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3358
3359 * c-common.c (def_fn_type): Don't call build_function_type, call
3360 build_function_type_array or build_varargs_function_type_array
3361 instead.
3362 (c_common_nodes_and_builtins): Likewise.
3363
b6e3dd65 33642011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3365
3366 * c-common.c (c_add_case_label): Omit the loc argument to
3367 build_case_label.
3368 * c-common.h (build_case_label): Remove.
3369 * c-semantics.c (build_case_label): Remove.
3370
4232a958 33712011-05-05 Joseph Myers <joseph@codesourcery.com>
3372
3373 * c-objc.h (objc_start_method_definition): Update prototype.
3374 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3375
d0af78c5 33762011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3377
3378 * c-common.c (check_main_parameter_types): Reindent. Don't use
3379 TYPE_ARG_TYPES directly.
3380 (handle_nonnull_attribute): Likewise.
3381 (sync_resolve_params): Likewise.
3382 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3383 to check_format_string.
3384 (handle_format_attribute): Likewise.
3385 (check_format_string): Take a function type to examine instead of
3386 a type list. Use a function_arg_iterator to step through argument
3387 types.
3388
ceb7b692 33892011-05-04 Richard Guenther <rguenther@suse.de>
3390
3391 * c-common.c (fix_string_type): Use size_int for index type bounds.
3392 (start_fname_decls): Do not pass NULL to build_int_cst.
3393 (c_init_attributes): Likewise.
3394 * c-lex.c (c_lex_with_flags): Likewise.
3395
c66c81be 33962011-04-27 Jason Merrill <jason@redhat.com>
3397
3398 * c-common.c (make_tree_vector_from_list): New.
3399 * c-common.h: Declare it.
3400
16930c72 34012011-04-26 Richard Guenther <rguenther@suse.de>
3402
3403 PR preprocessor/48248
3404 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3405 for output size with -P.
3406
23407dc9 34072011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3408
3409 * c-common.c (struct c_common_resword): Add __underlying_type.
3410 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3411
dd045aee 34122011-04-20 Jim Meyering <meyering@redhat.com>
3413
3414 * c-format.c (init_dollar_format_checking): Remove useless
3415 if-before-free.
3416
394dd737 34172011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3418
3419 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3420 (objc_detect_field_duplicates): New.
394dd737 3421 * stub-objc.c: Likewise.
23407dc9 3422
a758bf7d 34232011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3424
3425 * stub-objc.c (objc_declare_protocols): Renamed to
3426 objc_declare_protocol.
3427 * c-objc.h: Likewise.
23407dc9 3428
29d7200d 34292011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3430
3431 * stub-objc.c (objc_declare_class): Updated argument name.
3432
9b88d08d 34332011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3434
3435 * c-common.h (c_common_init_ts): Declare.
3436 * c-common.c (c_common_init_ts): Define.
3437
4185cf58 34382011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3439
3440 * c-objc.h (objc_build_message_expr): Updated prototype.
3441 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 3442
5a90471f 34432011-04-12 Martin Jambor <mjambor@suse.cz>
3444
3445 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3446 of cgraph_node.
3447
783bb57e 34482011-04-11 Richard Guenther <rguenther@suse.de>
3449
3450 * c-common.c (complete_array_type): Build a range type of
3451 proper type.
3452
c33080b9 34532011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3454
3455 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3456 (handle_type_generic_attribute): Likewise.
3457
f8913d47 34582011-04-07 Jason Merrill <jason@redhat.com>
3459
3460 PR c++/48450
3461 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3462 conversion from C++0x scoped enum.
3463
c94b1d0e 34642011-04-06 Joseph Myers <joseph@codesourcery.com>
3465
3466 * c-target-def.h: New file.
3467 * c-target.def: New file.
3468 * c-target.h: New file.
3469 * c-common.c (targetcm): Don't define here.
3470 * c-common.h (default_handle_c_option): Declare.
3471 * c-format.c: Include c-target.h instead of target.h.
3472 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3473 include tm.h.
3474 (default_handle_c_option): Move from targhooks.c.
3475
acb10f41 34762011-03-29 Jakub Jelinek <jakub@redhat.com>
3477
3478 PR preprocessor/48248
3479 * c-ppoutput.c (print): Add src_file field.
3480 (init_pp_output): Initialize it.
3481 (maybe_print_line): Don't optimize by adding up to 8 newlines
3482 if map->to_file and print.src_file are different file.
3483 (print_line): Update print.src_file.
3484
82715bcd 34852011-03-25 Kai Tietz <ktietz@redhat.com>
3486
3487 * c-ada-spec.c (compare_comment): Use filename_cmp
3488 instead of strcmp for filename.
3489
451c8e2f 34902011-03-25 Jeff Law <law@redhat.com>
3491
3492 * c-family/c-common.c (def_fn_type): Add missing va_end.
3493
3c47771c 34942011-03-25 Jason Merrill <jason@redhat.com>
3495
3496 * c.opt: Add -std=c++03.
3497
97e6200f 34982011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3499
3500 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3501
ac86af5d 35022011-03-17 Kai Tietz
3503
3504 PR target/12171
ee212425 3505 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3506 Display allowed attributes for function pointer types.
3507 (pp_c_attributes_display): New function to display
3508 attributes having affects_type_identity flag set to true.
3509 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3510
ac86af5d 3511 * c-common.c (c_common_attribute_table):
3512 Add new element.
3513 (c_common_format_attribute_table): Likewise.
3514
914d1151 35152011-03-18 Jason Merrill <jason@redhat.com>
3516
69788bdf 3517 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3518 * c-common.h: Don't declare it here.
3519 * c-common.c: Or define it here.
3520 * c-opts.c (c_common_handle_option): Or set it here.
3521
914d1151 3522 PR c++/35315
3523 * c-common.c (handle_transparent_union_attribute): Don't
3524 make a duplicate type in C++.
3525
54cf6eed 35262011-03-15 Jason Merrill <jason@redhat.com>
3527
3528 * c-common.c (max_constexpr_depth): New.
3529 * c-common.h: Declare it.
3530 * c-opts.c (c_common_handle_option): Set it.
3531 * c.opt (fconstexpr-depth): New option.
3532
02cb1060 35332011-03-11 Jason Merrill <jason@redhat.com>
3534
9bf1c74e 3535 * c-common.c (attribute_takes_identifier_p): Add missing const.
3536
02cb1060 3537 PR c++/46803
3538 * c-common.c (attribute_takes_identifier_p): Assume that an
3539 unknown attribute takes an identifier.
3540
ecf2703d 35412011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3542
3543 PR c/47786
3544 * c-common.c (c_type_hash): Call list_length instead of iterating
3545 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3546
2b19dfe4 35472011-02-19 Jakub Jelinek <jakub@redhat.com>
3548
3549 PR c/47809
3550 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3551
29cf2335 35522011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3553
3554 * c.opt (fobjc-abi-version=) New.
3555 (fobjc-nilcheck): New.
3556
fad3f658 35572011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3558
3559 PR c++/46890
3560 * c-common.h (keyword_is_decl_specifier): Declare.
3561 * c-common.c (keyword_is_decl_specifier): Define.
3562 (keyword_is_function_specifier): New function.
3563
a12319b3 35642011-01-26 Jakub Jelinek <jakub@redhat.com>
3565
3566 PR c/47473
3567 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3568 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3569 REAL_TYPE.
3570
5c128dc8 35712011-01-26 Arnaud Charlet <charlet@adacore.com>
3572
3573 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3574
8d67b0c7 35752011-01-26 Jakub Jelinek <jakub@redhat.com>
3576
3577 PR pch/47430
3578 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3579 after init_c_lex if pch_file is set.
3580
0675168d 35812011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3582
e8911163 3583 PR c++/43601
0675168d 3584 * c.opt (-fkeep-inline-dllexport): New switch.
3585
0725e25c 35862011-01-12 Richard Guenther <rguenther@suse.de>
3587
3588 PR middle-end/32511
3589 * c-common.c (handle_weak_attribute): Warn instead of error
3590 on declaring an inline function weak.
3591
fdd84b77 35922011-01-05 Tom Tromey <tromey@redhat.com>
3593
3594 * c-common.h (lvalue_error): Update.
3595 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3596 not error.
3597
e6e73d14 35982010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3599
d67e8485 3600 PR objc/47075
3601 * c-objc.h (objc_finish_message_expr): Added argument to
3602 prototype.
3603
a36cf284 36042010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3605
3606 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3607 Use prototype_p.
3608
33b3681f 36092010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3610
3611 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3612 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3613
a1f90215 36142010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3615
3616 * c-common.h (readonly_error): Declare.
3617 * c-common.c (readonly_error): Define.
3618
b1bbc8e5 36192010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3620
3621 * c-common.h (invalid_indirection_error): Declare.
3622 * c-common.c (invalid_indirection_error): Define.
3623
b0d55af9 36242010-12-03 Richard Guenther <rguenther@suse.de>
3625
3626 PR c/46745
3627 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3628 (pp_c_unary_expression): Likewise.
3629 (pp_c_expression): Likewise.
3630
d7489d8d 36312010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3632
3633 * c-common.h (objc_finish_function): New.
3634 (objc_non_volatilized_type): Removed.
3635 (objc_type_quals_match): Removed.
3636 * stub-objc.c (objc_finish_function): New.
3637 (objc_non_volatilized_type): Removed.
3638 (objc_type_quals_match): Removed.
19931eea 3639
92468061 36402010-11-30 Joseph Myers <joseph@codesourcery.com>
3641
3642 * c-common.h (parse_optimize_options): Declare.
3643 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3644 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3645
967958e4 36462010-11-29 Joseph Myers <joseph@codesourcery.com>
3647
3648 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3649 GET_ENVIRONMENT.
3650 * c-pch.c (O_BINARY): Don't define here.
3651 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3652
b213bf24 36532010-11-25 Joseph Myers <joseph@codesourcery.com>
3654
3655 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3656 targetm.except_unwind_info.
3657
9faf44d6 36582010-11-23 Joseph Myers <joseph@codesourcery.com>
3659
3660 * c-opts.c (c_common_handle_option): Pass location to
3661 set_struct_debug_option.
3662
79396169 36632010-11-23 Joseph Myers <joseph@codesourcery.com>
3664
3665 * c-common.c (visibility_options): Move from ../opts.c.
3666 * c-common.h (struct visibility_flags, visibility_options):
3667 Declare here.
3668 * c-opts.c (finish_options): Rename to c_finish_options.
3669 (c_common_init): Update call to finish_options.
3670
b4aa4123 36712010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3672
3673 PR objc/34033
3674 * c-lex.c (lex_string): Check that each string in an Objective-C
3675 string concat sequence starts with either one or zero '@', and
3676 that there are no spurious '@' signs at the end.
3677
3e0e49f2 36782010-11-20 Joseph Myers <joseph@codesourcery.com>
3679
3680 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3681 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3682 HANDLE_PRAGMA_VISIBILITY.
3683 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3684 HANDLE_PRAGMA_VISIBILITY): Don't define.
3685 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3686
a9ffdd35 36872010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3688
3689 PR c++/16189
3690 PR c++/36888
3691 PR c++/45331
3692 * c-common.h (keyword_begins_type_specifier): Declare.
3693 (keyword_is_storage_class_specifier): Declare.
3694 (keyword_is_type_qualifier): Declare.
3695 * c-common.c (keyword_begins_type_specifier): New function.
3696 (keyword_is_storage_class_specifier): New function.
3697 (keyword_is_type_qualifier): Declare.
3698
93be21c0 36992010-11-19 Joseph Myers <joseph@codesourcery.com>
3700
3701 PR c/46547
3702 * c-common.c (in_late_binary_op): Define.
3703 (c_common_truthvalue_conversion): Check in_late_binary_op before
3704 calling c_save_expr.
3705 * c-common.h (in_late_binary_op): Declare.
3706
d7175aef 37072010-11-19 Joseph Myers <joseph@codesourcery.com>
3708
3709 * c-opts.c (c_common_handle_option): Update calls to
3710 set_struct_debug_option.
3711
c213e196 37122010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3713
3714 * c-common.h (objc_declare_protocols): Added additional argument.
3715 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 3716
0b5fc5d6 37172010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3718
3719 PR c/33193
3720 * c-common.h (build_real_imag_expr): Declare.
3721 * c-semantics.c (build_real_imag_expr): Define.
3722
b8ba44e7 37232010-11-17 Joseph Myers <joseph@codesourcery.com>
3724
3725 * c-opts.c (c_common_parse_file): Take no arguments.
3726 * c-common.h (c_common_parse_file): Update prototype.
3727
6ef8d12f 37282010-11-16 Jakub Jelinek <jakub@redhat.com>
3729
3730 PR c++/46401
3731 * c-common.c (warning_candidate_p): Don't track non-const calls
3732 or STRING_CSTs.
3733
929d2a90 37342010-11-15 Ian Lance Taylor <iant@google.com>
3735
3736 * c-lex.c (init_c_lex): Set macro debug callbacks if
3737 flag_dump_go_spec is set.
3738
e4a7640a 37392010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3740
3741 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3742 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3743
597d2d81 37442010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3745
3746 PR preprocessor/45038
3747 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3748 dialects.
3749
c123f04d 37502010-11-12 Joseph Myers <joseph@codesourcery.com>
3751
3752 * c-common.h (c_family_lang_mask): Declare.
3753 * c-opts.c (c_family_lang_mask): Make extern.
3754 * c-pragma.c (handle_pragma_diagnostic): Use
3755 control_warning_option.
3756
3c6c0e40 37572010-11-12 Joseph Myers <joseph@codesourcery.com>
3758
3759 * c-common.c (parse_optimize_options): Update call to
3760 decode_options.
3761 * c-common.h (c_common_handle_option): Update prototype.
3762 * c-opts.c (c_common_handle_option): Take location_t parameter and
3763 pass it to other functions.
3764
19ec5c9e 37652010-11-11 Joseph Myers <joseph@codesourcery.com>
3766
3767 * c-opts.c (warning_as_error_callback): Remove.
3768 (c_common_initialize_diagnostics): Don't call
3769 register_warning_as_error_callback.
3770 (c_common_handle_option): Handle -Werror=normalized= here.
3771
bf776685 37722010-11-10 Joseph Myers <joseph@codesourcery.com>
3773
3774 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3775 in diagnostic.
3776 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3777 letter.
3778 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3779 Remove trailing '.' from diagnostics.
3780 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3781
6bd9d862 37822010-11-10 Joseph Myers <joseph@codesourcery.com>
3783
3784 * c-common.c (parse_optimize_options): Pass global_dc to
3785 decode_options.
3786 * c-opts.c (c_common_handle_option): Pass &global_options to
3787 set_Wstrict_aliasing.
3788 * c.opt (v): Don't mark Common or document here.
3789
1f6616ee 37902010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3791
3792 PR target/44981
3793 * c-format.c (format_type): New type gcc_objc_string_format_type.
3794 (valid_stringptr_type_p): New.
3795 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 3796 (check_format_string): Pass expected type, use
1f6616ee 3797 valid_stringptr_type_p (), check that the format string types are
3798 consistent with the format specification.
3799 (decode_format_attr): Warn if NSString is used outside objective-c.
3800 (format_types_orig): Add NSString.
3801 (format_name): New.
3802 (format_flags): New.
3803 (check_format_arg): Handle format strings requiring an external parser.
3804 first_target_format_type: New variable.
3805 (handle_format_attribute): Set up first_target_format_type, pass the
3806 expected format arg string type to check_format_string().
3807 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3808 * stub-objc.c (objc_string_ref_type_p): New.
3809 (objc_check_format_arg): New.
3810
b0d0931f 38112010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3812
19931eea 3813 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 3814 * c-common.h (objc_build_class_component_ref): New.
3815 * stub-objc.c (objc_build_class_component_ref): New.
3816
f26877d5 38172010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3818
3819 * c.opt (Wproperty-assign-default): New option.
3820
1ef143b6 38212010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3822
3823 Implemented -fobjc-std=objc1 flag.
3824 * c.opt (fobjc-std=objc1): New option.
3825
8c582e4f 38262010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3827
3828 Implemented format and noreturn attributes for Objective-C methods.
3829 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3830 attribute for Objective-C methods.
3831
8637f1db 38322010-10-31 Jason Merrill <jason@redhat.com>
3833
3834 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3835 EXPR_LOC_OR_HERE.
3836
9d9f5bb3 38372010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3838
3839 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3840 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3841 (objc_add_property_declaration): Removed arguments for copies and
3842 ivar.
3843 (objc_build_getter_call): Renamed to
3844 objc_maybe_build_component_ref.
3845 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3846 (objc_is_property_ref): New.
3847 * c-common.c (c_common_reswords): Removed copies and ivar.
3848 * stub-objc.c (objc_add_property_declaration): Removed arguments
3849 for copies and ivar.
3850 (objc_build_getter_call): Renamed to
3851 objc_maybe_build_component_ref.
3852 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3853 (objc_is_property_ref): New.
19931eea 3854
56f907a0 38552010-10-29 Arnaud Charlet <charlet@adacore.com>
3856 Matthew Gingell <gingell@adacore.com>
3857
3858 * c-ada-spec.c (separate_class_package): New function.
3859 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3860 name of their enclosing package.
3861 (print_ada_declaration): Use separate_class_package.
3862
b5fa273e 38632010-10-27 Jason Merrill <jason@redhat.com>
3864
5290e253 3865 * c-common.c (c_common_reswords): Add __is_literal_type.
3866 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3867
b5fa273e 3868 * c-common.c (check_case_value): Remove special C++ code.
3869
7590f0e5 38702010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3871
3872 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3873 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3874 and RID_LAST_PATTR.
3875 (objc_add_property_declaration): Added additional arguments.
3876 (objc_property_attribute_kind): Removed.
3877 (objc_set_property_attr): Removed.
3878 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3879 copy and nonatomic.
3880 * stub-objc.c (objc_add_property_declaration): Added additional
3881 arguments.
3882 (objc_set_property_attr): Removed.
19931eea 3883
1d894bcf 38842010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3885
3886 * c-common.h (objc_add_property_variable): Renamed to
3887 objc_add_property_declaration. Added location argument.
3888 * stub-objc.c (objc_add_property_variable): Same change.
3889
e23bf1fb 38902010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3891
3892 * c-common.h (objc_maybe_printable_name): New.
3893 * stub-objc.c (objc_maybe_printable_name): New.
3894
93426222 38952010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3896 Andrew Pinski <pinskia@gmail.com>
3897
3898 * c-common.h (c_common_mark_addressable_vec): Declare.
3899 * c-common.c (c_common_mark_addressable_vec): New function.
3900
45b2b110 39012010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3902
3903 * c-common.h (objc_set_method_type): Removed.
3904 (objc_add_method_declaration): Added boolean argument.
3905 (objc_start_method_definition): Same change.
3906 (objc_build_method_signature): Same change.
3907 * stub-objc.c (objc_set_method_type): Removed.
3908 (objc_add_method_declaration): Added boolean argument.
3909 (objc_start_method_definition): Same change.
3910 (objc_build_method_signature): Same change.
3911
64cd9619 39122010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3913
3914 * c-common.h (finish_file): Removed.
3915 (objc_write_global_declarations): New.
3916 * c-opts.c (c_common_parse_file): Do not call finish_file.
3917 * stub-objc.c (objc_write_global_declarations): New.
19931eea 3918
e1f293c0 39192010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3920
3921 Implemented parsing @synthesize and @dynamic for
3922 Objective-C/Objective-C++.
3923 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3924 (objc_add_synthesize_declaration): New.
3925 (objc_add_dynamic_declaration): New.
3926 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3927 * stub-objc.c (objc_add_synthesize_declaration): New.
3928 (objc_add_dynamic_declaration): New.
19931eea 3929
ef97a312 39302010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3931
3932 PR target/46041
3933 * c-cppbuiltin.c (mode_has_fma): Move function here from
3934 builtins.c. Don't use the fma optab, instead just use the
3935 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3936 using -save-temps.
3937
69b07042 39382010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3939
3940 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 3941
69b07042 3942 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3943
19931eea 3944 Radar 4330422
69b07042 3945 * c-common.h (objc_non_volatilized_type): New declaration
3946 * stub-objc.c (objc_non_volatilized_type): New stub.
3947
f15f2e56 39482010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3949
69b07042 3950 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 3951
3952 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3953
19931eea 3954 Radar 4133425
f15f2e56 3955 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 3956 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 3957
4a8875ed 39582010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3959
3960 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3961 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3962 (objc_ivar_visibility_kind): New enum.
3963 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 3964 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 3965 visibility enum.
3966
7e0713b1 39672010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3968
3969 * c-cppbuiltin.c (builtin_define_float_constants): Emit
3970 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3971 has the appropriate fma builtins.
3972 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3973
86c110ac 39742010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3975
7e0713b1 3976 merge from FSF apple 'trunk' branch.
86c110ac 3977 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 3978
86c110ac 3979 Radars 4436866, 4505126, 4506903, 4517826
3980 * c-common.c (c_common_resword): Define @property and its attributes.
3981 * c-common.h: Define property attribute enum entries.
3982 (OBJC_IS_PATTR_KEYWORD): New.
3983 (objc_property_attribute_kind): New enum.
3984 Declare objc_set_property_attr (), objc_add_property_variable (),
3985 objc_build_getter_call () and objc_build_setter_call ().
3986 * stub-objc.c (objc_set_property_attr): New stub.
3987 (objc_add_property_variable): Likewise.
3988 (objc_build_getter_call): Likewise.
3989 (objc_build_setter_call) Likewise.
7e0713b1 3990
40c8d1dd 39912010-10-13 Iain Sandoe <iains@gcc.gnu.org>
3992
7e0713b1 3993 merge from FSF apple 'trunk' branch.
40c8d1dd 3994 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3995
3996 Radar 3803157 (method attributes)
3997 * c-common.c (handle_deprecated_attribute): Recognize
3998 objc methods as valid declarations.
3999 * c-common.h: Declare objc_method_decl ().
7e0713b1 4000 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 4001
f3f006ad 40022010-10-08 Joseph Myers <joseph@codesourcery.com>
4003
4004 * c-common.c (parse_optimize_options): Call
4005 decode_cmdline_options_to_array_default_mask before
4006 decode_options. Update arguments to decode_options.
4007 * c-common.h (c_common_init_options_struct): Declare.
4008 * c-opts.c (c_common_init_options_struct): New. Split out from
4009 c_common_init_options.
4010
0a65c3bb 40112010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4012
4013 Implemented fast enumeration for Objective-C.
4014 * c-common.h (objc_finish_foreach_loop): New.
4015 * stub-objc.c (objc_finish_foreach_loop): New.
4016
24ca3b4e 40172010-10-05 Joseph Myers <joseph@codesourcery.com>
4018
4019 * c-common.h (struct diagnostic_context): Don't declare here.
4020 (c_common_initialize_diagnostics): Declare using
4021 diagnostic_context typedef.
4022 * c-opts.c (c_common_handle_option): Pass global_dc to
4023 handle_generated_option.
4024
f83b64ca 40252010-10-04 Joseph Myers <joseph@codesourcery.com>
4026
4027 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4028 handle_generated_option.
4029
2fdec027 40302010-10-03 Ian Lance Taylor <iant@google.com>
4031
4032 * c.opt (-fplan9-extensions): New option.
4033
41acdfa4 40342010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4035
4036 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4037 Remove.
4038 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4039 of duplicating code.
4040
069761fb 40412010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4042
4043 * c-common.c: Add two new entries for @optional
4044 and @required keywords.
4045
4046 merge from FSF 'apple/trunk' branch.
4047 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4048
4049 Radar 4386773
4050 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4051 objective-c keywords.
4052 (objc_set_method_opt): New declaration.
4053 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 4054
2c5d2e39 40552010-09-30 Joseph Myers <joseph@codesourcery.com>
4056
4057 * c-common.c (handle_optimize_attribute): Pass &global_options to
4058 cl_optimization_save and cl_optimization_restore.
4059 * c-opts.c (c_common_handle_option): Pass &global_options to
4060 handle_generated_option.
4061 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4062 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4063 &global_options to cl_optimization_restore.
4064
e5c75ac3 40652010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4066
4067 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4068 Objective-C/Objective-C++ keywords.
4069
3511333e 40702010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 4071
19931eea 4072 Merge from 'apple/trunk' branch on FSF servers.
4073
e147d6aa 4074 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4075
4076 Radar 4281748
4077 * c-common.h (objc_check_global_decl): New declaration.
4078 * stub-objc.c (objc_check_global_decl): New stub.
4079
5461e683 40802010-09-29 Joseph Myers <joseph@codesourcery.com>
4081
4082 * c.opt: Don't use VarExists.
4083
5ae82d58 40842010-09-29 Joseph Myers <joseph@codesourcery.com>
4085
4086 * c-common.c (c_cpp_error): Update names of diagnostic_context
4087 members.
4088 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4089 cl_optimization members.
4090 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4091 sanitize_cpp_opts, finish_options): Update names of cpp_options
4092 members.
4093
b27e241e 40942010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4095
4096 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4097 (objc_is_reserved_word): Removed.
4098 * c-common.c: Updated comments.
4099 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4100 objc_is_reserved_word.
4101 * stub-objc.c (objc_is_reserved_word): Removed.
4102
03fc2271 41032010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4104
19931eea 4105 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 4106 include attributes.
4107 (objc_start_method_definition): Likewise.
4108 (objc_build_keyword_decl): Likewise.
4109 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4110 (objc_start_method_definition): Likewise.
4111 (objc_build_keyword_decl): Likewise.
4112
a336eb4b 41132010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4114
4115 * c-common.h (objc_start_class_interface): Adjust prototype.
4116 (objc_start_category_interface): Likewise.
4117 (objc_start_protocol): Likewise.
4118 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4119 (objc_start_class_interface): Likewise.
4120 (objc_start_category_interface): Likewise.
4121
48b14f50 41222010-09-27 Ian Lance Taylor <iant@google.com>
4123
4124 * c-common.c (c_common_attribute_table): Add no_split_stack.
4125 (handle_no_split_stack_attribute): New static function.
4126
4abfc532 41272010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4128
19931eea 4129 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 4130
4131 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4132
19931eea 4133 Radar 4229905
4abfc532 4134 * c-common.h (objc_have_common_type): New declaration.
4135 * stub-objc.c (objc_have_common_type): New stub.
4136
4137 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4138
4139 Radar 4154928
4140 * c-common.h (objc_common_type): New prototype.
19931eea 4141 * stub-objc.c (objc_common_type): New stub.
4abfc532 4142
7bd95dfd 41432010-09-24 Jan Hubicka <jh@suse.cz>
4144
4145 * c-common.c (handle_leaf_attribute): New function.
4146 (struct attribute_spec c_common_att): Add leaf.
4147
5789e05b 41482010-09-22 Joseph Myers <joseph@codesourcery.com>
4149
4150 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4151 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4152 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4153 -include-barrier, -include-directory, -include-directory=,
4154 -include-directory-after, -include-directory-after=,
4155 -include-prefix, -include-prefix=, -include-with-prefix,
4156 -include-with-prefix=, -include-with-prefix-after,
4157 -include-with-prefix-after=, -include-with-prefix-before,
4158 -include-with-prefix-before=, -no-integrated-cpp,
4159 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4160 -output=, -pedantic, -pedantic-errors, -preprocess,
4161 -print-missing-file-dependencies, -trace-includes, -traditional,
4162 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4163 -user-dependencies, -verbose, -write-dependencies,
4164 -write-user-dependencies, no-integrated-cpp, traditional): New.
4165
e6fb54ba 41662010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4167
4168 PR objc/23710
9b60f3b0 4169 * c-common.h (objc_start_method_definition): Return bool instead
4170 of void.
4171 * stub-objc.c (objc_start_method_definition): Return bool instead
4172 of void.
4173
41742010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4175
4176 PR objc/25965
4177 * c-common.h (objc_get_interface_ivars): New declaration.
4178 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4179
e44b0a1f 41802010-09-15 Ian Lance Taylor <iant@google.com>
4181
4182 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4183 messages. Remove period at end of warning message.
e44b0a1f 4184
85c0a25c 41852010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4186
4187 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4188 (handle_alias_attribute): ... here.
4189 (handle_ifunc_attribute): New.
4190
5ba33bf4 41912010-09-06 Mark Mitchell <mark@codesourcery.com>
4192
4193 * c-common.h (do_warn_double_promotion): Declare.
4194 * c-common.c (do_warn_double_promotion): Define.
4195
c920faa3 41962010-09-05 Mark Mitchell <mark@codesourcery.com>
4197
4198 * c.opt (Wdouble-promotion): New.
4199
9604e070 42002010-09-02 Joseph Myers <joseph@codesourcery.com>
4201
4202 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4203 fvtable-thunks, fxref): Mark no longer supported in help text.
4204
3b0273a1 42052010-09-02 Joseph Myers <joseph@codesourcery.com>
4206
4207 * c.opt (Wimport, fall-virtual, falt-external-templates,
4208 fdefault-inline, fenum-int-equiv, fexternal-templates,
4209 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4210 fname-mangling-version-, fnew-abi, fnonnull-objects,
4211 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4212 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4213 applicable.
4214 (fhandle-exceptions): Mark with Alias and Warn.
4215 * c-opts.c (c_common_handle_option): Don't handle options marked
4216 as ignored.
4217
67089c6b 42182010-09-02 Joseph Myers <joseph@codesourcery.com>
4219
4220 * c.opt (Wcomments, Werror-implicit-function-declaration,
4221 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4222 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4223 aliases.
4224 * c-common.c (option_codes): Use OPT_Wcomment instead of
4225 OPT_Wcomments.
4226 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4227 Don't handle options marked as aliases.
4228
2af087f2 42292010-08-25 Richard Guenther <rguenther@suse.de>
4230
4231 * c-common.c (c_common_get_alias_set): Remove special
4232 handling for pointers.
4233
48148244 42342010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4235
4236 * c-common.c: Use FOR_EACH_VEC_ELT.
4237 * c-gimplify.c: Likewise.
4238 * c-pragma.c: Likewise.
4239
89c69892 42402010-08-16 Joseph Myers <joseph@codesourcery.com>
4241
4242 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4243 RejectDriver.
4244 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4245 RejectDriver.
4246 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4247 instead of OPT_MDX and OPT_MMDX.
4248
e28aa114 42492010-08-16 Joseph Myers <joseph@codesourcery.com>
4250
4251 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4252
99b66d21 42532010-08-12 Joseph Myers <joseph@codesourcery.com>
4254
4255 * c.opt (MD, MMD): Change to MDX and MMDX.
4256 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4257
666f4bf0 42582010-08-11 Joseph Myers <joseph@codesourcery.com>
4259
4260 * c-opts.c (c_common_handle_option): Call handle_generated_option
4261 instead of handle_option.
4262
5ec815f6 42632010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4264
4265 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4266 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4267
d13143cf 42682010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4269
4270 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4271 (pending_redefine_extname): Change type to a VEC.
4272 (add_to_renaming_pragma_list): Update for new type of
4273 pending_redefine_extname.
5ec815f6 4274 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4275
2008c983 42762010-08-04 Arnaud Charlet <charlet@adacore.com>
4277
4278 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4279 visited.
4280 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4281 decide whether a type has already been declared/seen.
4282 Do not go to the original type.
4283 (dump_nested_types): New parameter forward.
4284 Generate forward declaration if needed and mark type as visited.
4285 (print_ada_declaration): Call dump_nested_types if not already done.
4286 Mark types as visited.
4287
9b091a73 42882010-08-03 Joseph Myers <joseph@codesourcery.com>
4289
4290 * c.opt (-print-pch-checksum): Remove option.
4291 * c-opts.c (c_common_handle_option): Don't handle
4292 OPT_print_pch_checksum.
4293
b78351e5 42942010-07-27 Joseph Myers <joseph@codesourcery.com>
4295
4296 * c-common.h (c_common_handle_option): Update prototype and return
4297 value type.
4298 * c-opts.c (c_common_handle_option): Update prototype and return
4299 value type. Update calls to handle_option and
4300 enable_warning_as_error.
4301
34416a90 43022010-07-27 Jakub Jelinek <jakub@redhat.com>
4303
4304 PR c/45079
4305 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4306
fecf9011 43072010-07-27 Joseph Myers <joseph@codesourcery.com>
4308
4309 * c-common.h (c_common_missing_argument): Remove.
4310 * c-opts.c (c_common_missing_argument): Remove.
4311 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4312 idirafter, imacros, include, isysroot, isystem, iquote): Add
4313 MissingArgError.
4314 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4315
e88d34f6 43162010-07-27 Joseph Myers <joseph@codesourcery.com>
4317
4318 * c-common.h (c_common_option_lang_mask,
4319 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4320 New.
4321 (c_common_init_options): Update prototype.
4322 * c-opts.c (c_common_option_lang_mask): New.
4323 (c_common_initialize_diagnostics): Split out of
4324 c_common_init_options.
4325 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4326 New.
4327 (c_common_init_options): Update prototype. Use decoded options in
4328 search for -lang-asm.
4329
1767a056 43302010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4331
4332 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4333 * c-format.c: Likewise.
4334
0b205f4c 43352010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4336
4337 * c-common.h: Include diagnostic-core.h. Error if already
4338 included.
4339 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4340
1c58e3f1 43412010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4342
4343 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
4344 Do not include expr.h
4345 (vector_mode_valid_p): Move here.
4346
33cc157c 43472010-06-21 DJ Delorie <dj@redhat.com>
4348
4349 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4350 allow these pragmas anywhere.
4351
43522010-06-14 Jakub Jelinek <jakub@redhat.com>
4353
4354 PR bootstrap/44509
4355 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4356 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4357 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4358 ggc_strdup instead of xstrdup.
4359
43602010-06-10 Jakub Jelinek <jakub@redhat.com>
4361
4362 * c-cppbuiltin.c: Include cpp-id-data.h.
4363 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4364 (lazy_hex_fp_value): New function.
4365 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4366
9b40bfbf 43672010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4368
4369 * c-gimplify.c: Do not include tree-flow.h
4370
202d6e5f 43712010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4372
4373 PR other/44034
4374 * c-common.c: Rename targetm member:
4375 targetm.enum_va_list -> targetm.enum_va_list_p
4376
d3237426 43772010-06-28 Anatoly Sokolov <aesok@post.ru>
4378
4379 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4380
596981c8 43812010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4382
4383 * c-cppbuiltin.c: Do not include except.h.
4384
b9bdfa0b 43852010-06-24 Andi Kleen <ak@linux.intel.com>
4386
19931eea 4387 * c-common.c (warn_for_omitted_condop): New.
4388 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4389
55ad092d 43902010-06-21 Joseph Myers <joseph@codesourcery.com>
4391
4392 * c.opt (lang-objc): Remove.
4393 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4394
9e7c2572 43952010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4396
4397 * c-opts.c: Include "tm_p.h".
4398
615ef0bb 43992010-06-20 Joseph Myers <joseph@codesourcery.com>
4400
4401 * c-common.c (parse_optimize_options): Update call to
4402 decode_options.
4403
aef48c9a 44042010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4405
4406 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4407 new type of types_used_by_cur_var_decl.
4408
d74003b4 44092010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4410
4411 PR bootstrap/44512
4412 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4413 for C++ standard compliance.
4414
1194d077 44152010-06-16 Jason Merrill <jason@redhat.com>
4416
4417 * c.opt: Add -Wnoexcept.
4418
d473d901 44192010-06-16 Richard Guenther <rguenther@suse.de>
4420
4421 PR c/44555
4422 * c-common.c (c_common_truthvalue_conversion): Remove
4423 premature and wrong optimization concering ADDR_EXPRs.
4424
b62dbfd3 44252010-06-15 Arnaud Charlet <charlet@adacore.com>
4426
4427 * c-ada-spec.c (dump_sloc): Remove column info.
4428 (is_simple_enum): New function.
4429 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4430 enum types when relevant.
4431
200dd99c 44322010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4433
19931eea 4434 * c-common.c (conversion_warning): Warn at expression
200dd99c 4435 location.
4436
abf6a617 44372010-06-10 Joseph Myers <joseph@codesourcery.com>
4438
4439 * c-opts.c (c_common_handle_option): Don't handle
4440 OPT_fshow_column.
4441
ba72912a 44422010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4443
4444 * c-pragma.c (push_alignment): Use typed GC allocation.
4445 (handle_pragma_push_options): Likewise.
4446
4447 * c-common.c (parse_optimize_options): Likewise.
4448
4449 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4450 option.
4451
4aafe913 44522010-06-07 Joseph Myers <joseph@codesourcery.com>
4453
4454 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4455 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4456 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4457 flag_signed_bitfields, warn_strict_null_sentinel,
4458 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4459 flag_gen_declaration, flag_no_gnu_keywords,
4460 flag_implement_inlines, flag_implicit_templates,
4461 flag_implicit_inline_templates, flag_optional_diags,
4462 flag_elide_constructors, flag_default_inline, flag_rtti,
4463 flag_conserve_space, flag_access_control, flag_check_new,
4464 flag_new_for_scope, flag_weak, flag_working_directory,
4465 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4466 flag_enforce_eh_specs, flag_threadsafe_statics,
4467 flag_pretty_templates): Remove.
4468 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4469 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4470 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4471 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4472 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4473 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4474 flag_no_gnu_keywords, flag_implement_inlines,
4475 flag_implicit_templates, flag_implicit_inline_templates,
4476 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4477 flag_rtti, flag_conserve_space, flag_access_control,
4478 flag_check_new, flag_new_for_scope, flag_weak,
4479 flag_working_directory, flag_use_cxa_atexit,
4480 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4481 flag_threadsafe_statics, flag_pretty_templates,
4482 warn_strict_null_sentinel): Remove.
4483 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4484 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4485 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4486 fimplicit-inline-templates, fimplicit-templates,
4487 flax-vector-conversions, fms-extensions, fnil-receivers,
4488 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4489 frtti, fshort-double, fshort-enums, fshort-wchar,
4490 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4491 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4492 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4493 gen-decls, undef): Use Var.
4494 (fdefault-inline, foptional-diags): Document as doing nothing.
4495 * c-opts.c (c_common_handle_option): Remove cases for options now
4496 using Var. Mark ignored options as such.
4497
7bedc3a0 44982010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4499
19931eea 4500 * c-common.c: Moved to here from parent directory.
7bedc3a0 4501 * c-common.def: Likewise.
4502 * c-common.h: Likewise.
4503 * c-cppbuiltin.c: Likewise.
4504 * c-dump.c: Likewise.
4505 * c-format.c: Likewise.
4506 * c-format.h : Likewise.
4507 * c-gimplify.c: Likewise.
4508 * c-lex.c: Likewise.
4509 * c-omp.c: Likewise.
4510 * c.opt: Likewise.
4511 * c-opts.c: Likewise.
4512 * c-pch.c: Likewise.
4513 * c-ppoutput.c: Likewise.
4514 * c-pragma.c: Likewise.
4515 * c-pragma.h: Likewise.
4516 * c-pretty-print.c: Likewise.
4517 * c-pretty-print.h: Likewise.
4518 * c-semantics.c: Likewise.
4519 * stub-objc.c: Likewise.
4520
4521 * c-common.c: Include gt-c-family-c-common.h.
4522 * c-pragma.c: Include gt-c-family-c-pragma.h.
4523\f
3aea1f79 4524Copyright (C) 2010-2014 Free Software Foundation, Inc.
7bedc3a0 4525
4526Copying and distribution of this file, with or without modification,
4527are permitted in any medium without royalty provided the copyright
4528notice and this notice are preserved.