]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
gcc/
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
92b63884 12015-01-05 Marek Polacek <polacek@redhat.com>
2
3 PR c/64423
4 * c-common.c (warn_array_subscript_with_type_char): Add location_t
5 parameter. Use it.
6 * c-common.h (warn_array_subscript_with_type_char): Update
7 declaration.
8
83715bc4 92014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
10
11 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
12 Control macro with flag_sized_deallocation.
13
8a8211df 142014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
15
16 * c.opt (Wdiscarded-array-qualifiers): New option.
17
33058239 182014-12-19 Jakub Jelinek <jakub@redhat.com>
19
20 PR preprocessor/63831
21 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
22 and __has_cpp_attribute here.
23 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
24 c_common_has_attribute.
25 * c-common.h (c_common_has_attribute): New prototype.
26 * c-lex.c (init_c_lex): Set cb->has_attribute to
27 c_common_has_attribute instead of cb_has_attribute.
28 (get_token_no_padding): New function.
29 (cb_has_attribute): Renamed to ...
30 (c_common_has_attribute): ... this. No longer static. Use
31 get_token_no_padding, require ()s, don't build TREE_LIST
32 unnecessarily, fix up formatting, adjust diagnostics, call
33 init_attributes.
34
d1856d2c 352014-12-15 Jason Merrill <jason@redhat.com>
36
37 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
38 (-Wsized-deallocation): New.
39 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
40 to on in C++14 and up.
41
4972ed5d 422014-12-11 Jason Merrill <jason@redhat.com>
43
7d7fa964 44 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
45
4972ed5d 46 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
47 we aren't complaining about VLAs.
48
5ebccf71 492014-12-06 Marek Polacek <polacek@redhat.com>
50
51 PR tree-optimization/64183
52 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
53 shift-expression if it is integer_type_node. Use types_compatible_p.
54
f9e245b2 552014-11-29 Jakub Jelinek <jakub@redhat.com>
56
57 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
58 last argument from create_tmp_var_raw and create_tmp_var calls.
59 * cilk.c (gimplify_cilk_spawn): Likewise.
60 * c-omp.c (c_finish_omp_atomic): Likewise.
61
d2f60593 622014-11-28 Marek Polacek <polacek@redhat.com>
63
64 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
65 instead of unsigned_type_node.
66
fce2dbd1 672014-11-28 Marek Polacek <polacek@redhat.com>
68
69 PR c/63862
70 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
71 to op1_utype.
72 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
73 expression to unsigned_type_node.
74
3a4a2292 752014-11-20 Mark Wielaard <mjw@redhat.com>
76
77 PR debug/38757
78 * c-opts.c (set_std_c89): Set lang_hooks.name.
79 (set_std_c99): Likewise.
80 (set_std_c11): Likewise.
81 (set_std_cxx98): Likewise.
82 (set_std_cxx11): Likewise.
83 (set_std_cxx14): Likewise.
84 (set_std_cxx1z): Likewise.
85
c61ef207 862014-11-21 Jakub Jelinek <jakub@redhat.com>
87
88 PR target/63764
89 * c-common.h (convert_vector_to_pointer_for_subscript): Change
90 return type to bool.
c9ed79de 91 * c-common.c: Include gimple-expr.h.
c61ef207 92 (convert_vector_to_pointer_for_subscript): Change return type to
93 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
94 and copy it into a TARGET_EXPR and use that instead of *vecp
95 directly.
96
1a91d914 972014-11-19 David Malcolm <dmalcolm@redhat.com>
98
99 Merger of git branch "gimple-classes-v2-option-3".
100 * ChangeLog.gimple-classes: New.
101 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
102 from being just a vec<gimple> to a vec<gbind *>.
103
f8fc8b8e 1042014-11-18 Jakub Jelinek <jakub@redhat.com>
105
106 PR sanitizer/63813
107 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
108 argument to ptype, set type to TREE_TYPE (ptype). Don't call
109 get_pointer_alignment for non-pointers. Use ptype, or if it is
110 reference type, corresponding pointer type, as type of kind
111 argument.
112 (ubsan_maybe_instrument_reference,
113 ubsan_maybe_instrument_member_call): Adjust callers.
114
8315e35e 1152014-11-15 Marek Polacek <polacek@redhat.com>
116
117 PR middle-end/63884
118 * array-notation-common.c (is_sec_implicit_index_fn): Return false
119 for NULL fndecl.
120 (extract_array_notation_exprs): Return for NULL node.
121
86b9f14b 1222014-11-12 Joseph Myers <joseph@codesourcery.com>
123
124 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
125 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
126
0c93c8a9 1272014-11-12 Jakub Jelinek <jakub@redhat.com>
128
129 PR c/59708
130 * c-common.c (check_builtin_function_arguments): Handle
131 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
132
fdd735a7 1332014-11-10 Andi Kleen <ak@linux.intel.com>
134
135 PR c/60804
136 * c-common.h (check_no_cilk): Declare.
137 * cilk.c (get_error_location): New function.
138 (check_no_cilk): Dito.
139
5cb678b4 1402014-11-10 Andi Kleen <ak@linux.intel.com>
141
142 * cilk.c (recognize_spawn): Use expression location
143 for error message.
144
0feb4de1 1452014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
146
147 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
148
3aa2fa44 1492014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
150
151 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
152 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
153 (__cpp_range_based_for, __cpp_initializer_lists,
154 __cpp_delegating_constructors, __cpp_nsdmi,
155 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
156 for C++11; (__cpp_attribute_deprecated): Remove in favor of
157 __has_cpp_attribute.
158 * c-lex.c (cb_has_attribute): New callback CPP function;
159 (init_c_lex): Set has_attribute callback.
160
7fd22aae 1612014-11-04 Richard Biener <rguenther@suse.de>
162
163 * c-common.c (shorten_compare): Do not shorten mixed
164 DFP and non-DFP compares.
165
4af203ac 1662014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
167
168 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
169 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
170 Commentary and rearrangement of tests.
171 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
172 Commentary and rearrangement of tests.
173 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
174 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
175
3754d046 1762014-10-29 Richard Sandiford <richard.sandiford@arm.com>
177
178 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
179 enum from machine_mode.
180
1140c305 1812014-10-28 Andrew MacLeod <amacleod@redhat.com>
182
183 * c-family/c-common.c: Adjust include files.
184 * c-family/c-gimplify.c: Ditto.
185 * c-family/cilk.c: Ditto.
186 * c-family/c-pragma.c: Ditto.
187 * c-family/c-ubsan.c: Ditto.
188
94ea8568 1892014-10-27 Andrew MacLeod <amacleod@redhat.com>
190
191 * c-gimplify.c: Adjust include files.
192
32ecf960 1932014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
194
195 PR c++/53061
196 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
197 c_common_initialize_diagnostics.
198 * c-common.h: Likewise.
199
85fecbe2 2002014-10-24 Marek Polacek <polacek@redhat.com>
201
202 PR c/56980
203 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
204 print "struct"/"union"/"enum" for typedefed names.
205
e7ec033a 2062014-10-23 Marek Polacek <polacek@redhat.com>
207
208 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
209 in unsigned type.
210
c2598081 2112014-10-22 Jakub Jelinek <jakub@redhat.com>
212 Yury Gribov <y.gribov@samsung.com>
213
214 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
215 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
216 instead of flag_sanitize_recover as bool flag.
217
acebb7e2 2182014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
219
220 * cilk.c: Revert previous change.
221
6115016c 2222014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
223
224 PR c/63307
225 * cilk.c: Include vec.h.
226 (struct cilk_decls): New structure.
227 (wrapper_parm_cb): Split this function to...
228 (fill_decls_vec): ...this...
229 (create_parm_list): ...and this.
230 (compare_decls): New function.
231 (for_local_cb): Remove.
232 (wrapper_local_cb): Ditto.
233 (build_wrapper_type): For now first traverse and fill vector of
234 declarations then sort it and then deal with sorted vector.
235 (cilk_outline): Ditto.
236 (declare_one_free_variable): Ditto.
237
e610d2b2 2382014-10-17 Marek Polacek <polacek@redhat.com>
239
240 * c-opts.c (c_common_post_options): Set warn_implicit_int.
241 * c.opt (Wimplicit-int): Initialize to -1.
242
a3020f2f 2432014-10-16 Andrew MacLeod <amacleod@redhat.com>
244
245 * c-pragma.c: Adjust include files.
246 * c-semantics.c: Likewise.
247
926ddd2c 2482014-10-16 DJ Delorie <dj@redhat.com>
249
250 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
251 multiples of bytes.
252
b0542e7c 2532014-10-14 Jason Merrill <jason@redhat.com>
254
255 PR c++/63455
256 * c-common.h (CPP_PREPARSED_EXPR): New.
257 (N_CP_TTYPES): Adjust.
258
b2601928 2592014-10-15 Marek Polacek <polacek@redhat.com>
260
261 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
262
9f75f026 2632014-10-14 DJ Delorie <dj@redhat.com>
264
265 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
266 types, not just __int128.
267 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
268 types, not just __int128.
269 (cpp_atomic_builtins): Round pointer sizes up.
270 (type_suffix): Use type precision, not specific types.
271 * c-common.c (c_common_reswords): Remove __int128 special case.
272 (c_common_type_for_size): Check for all __intN types, not just
273 __int128.
274 (c_common_type_for_mode): Likewise.
275 (c_common_signed_or_unsigned_type): Likewise.
276 (c_build_bitfield_integer_type): Likewise.
277 (c_common_nodes_and_builtins): Likewise.
278 (keyword_begins_type_specifier): Likewise.
279 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
280 __intN variants.
281
2ef51f0e 2822014-10-12 Trevor Saunders <tsaunders@mozilla.com>
283
284 * c-common.c: Use hash_table instead of hashtab.
285
5b8257e3 2862014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
287
288 * c-family/c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
289 C++11 section.
290
5e84569c 2912014-10-03 Marc Glisse <marc.glisse@inria.fr>
292
293 PR c++/54427
294 PR c++/57198
295 PR c++/58845
296 * c-common.c (warn_logical_operator): Punt for vectors.
297
f6751ff2 2982014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
299
300 Implement SD-6: SG10 Feature Test Recommendations
301 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
302 macros and the __has_header macro.
303
c33e051d 3042014-09-30 Jason Merrill <jason@redhat.com>
305
f76a9aa8 306 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
307 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
308 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
309
717e52f9 310 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
311 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
312
c33e051d 313 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
314 * c-common.c (c_common_reswords): Remove __is_convertible_to.
315
5213d6c9 3162014-09-24 Marek Polacek <polacek@redhat.com>
317
318 PR c/61405
319 PR c/53874
320 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
321
6b722052 3222014-09-23 Andi Kleen <ak@linux.intel.com>
323
324 * c-common.c (handle_no_reorder_attribute): New function.
325 (c_common_attribute_table): Add no_reorder attribute.
326
0cb69d12 3272014-09-22 Joseph Myers <joseph@codesourcery.com>
328
329 * c-cppbuiltin.c (c_cpp_builtins): Define
330 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
331 modes.
332
168dfbf0 3332014-09-18 Joseph Myers <joseph@codesourcery.com>
334
335 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
336 for supported floating-point modes.
337
b83705f4 3382014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
339
340 * c.opt (Wpsabi): Use LangEnabledBy.
341 * c-opts.c (c_common_handle_option): Do not handle here.
342
d5957f0d 3432014-09-12 Joseph Myers <joseph@codesourcery.com>
344
345 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
346 macros for floating-point modes.
347
bae6edff 3482014-09-11 Marc Glisse <marc.glisse@inria.fr>
349
350 PR target/58757
351 * c-cppbuiltin.c (builtin_define_float_constants): Correct
352 __*_DENORM_MIN__ without denormals.
353
73a69d02 3542014-09-10 Jakub Jelinek <jakub@redhat.com>
355
356 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
357 ubsan_instrument_vla, ubsan_instrument_return): Adjust
358 ubsan_create_data callers.
359 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
360 index is constant or BIT_AND_EXPR with constant mask and is
361 small enough for the bound.
362 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
363 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
364
7ff8db31 3652014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
366
367 * c.opt: Add CppReason to various flags.
368 (Wdate-time): Re-sort.
369 * c-common.c: Include c-common.h earlier.
370 (struct reason_option_codes_t): Delete.
371 (c_option_controlling_cpp_error): Prefix global type and struct
372 with cpp_.
373
bcc1f37e 3742014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
375
376 * c.opt (Wnormalized): New.
377 (Wnormalized=): Use Enum and Reject Negative.
378 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
379
b660d3c6 3802014-09-08 Joseph Myers <joseph@codesourcery.com>
381
382 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
383 digits of floating-point modes if -fbuilding-libgcc.
384
325b8c3c 3852014-09-05 Joseph Myers <joseph@codesourcery.com>
386
387 * c-cppbuiltin.c (c_cpp_builtins): Also define
388 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
389 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
390 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
391 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
392 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
393 __LIBGCC_STACK_GROWS_DOWNWARD__,
394 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
395 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
396 __LIBGCC_DWARF_FRAME_REGISTERS__,
397 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
398 __LIBGCC_STACK_POINTER_REGNUM__ and
399 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
400 (builtin_define_with_value): Handle backslash-escaping in string
401 macro values.
402
1e074e77 4032014-09-05 Richard Biener <rguenther@suse.de>
404
405 PR middle-end/63148
406 * c-format.c (check_format_arg): Properly handle
407 effectively signed POINTER_PLUS_EXPR offset.
408
04afd878 4092014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
410
411 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
412 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
413 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
414 and Init.
415 * c-opts.c (c_common_handle_option): Do not handle here.
416 (sanitize_cpp_opts): Likewise.
417 * c-common.c (struct reason_option_codes_t): Handle
418 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
419
a3f448f0 4202014-09-03 Marek Polacek <polacek@redhat.com>
421
422 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
423
40750995 4242014-09-02 Jakub Jelinek <jakub@redhat.com>
425 Balaji V. Iyer <balaji.v.iyer@intel.com>
426 Igor Zamyatin <igor.zamyatin@intel.com>
427
428 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
429 * c-common.c (c_common_reswords): Added _Cilk_for.
430 * c-common.h (enum rid): Added RID_CILK_FOR.
431 (cilk_for_number_of_iterations): Add declaration.
432 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
433 CILK_FOR.
434 * c-pragma.c (init_pragma): Register "grainsize" pragma.
435 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
436
f0fbe519 4372014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
438
439 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
440 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
441 Wundef): Use CPP, Var and Init.
442 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
443
a7d2e480 4442014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
445
446 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
447 * c-opts.c (c_common_handle_option): Do not handle here.
448
c35e53f1 4492014-08-25 Jason Merrill <jason@redhat.com>
450
451 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
452 -std=c++14 and -std=gnu++14, rather than the reverse.
453 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
454 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
455 * c-common.h (cxx_dialect): Remove cxx1y.
456
4e454776 4572014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
458
459 * c-common.h (enum cxx_dialect): Add cxx14.
460 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
461 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
462 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
463
af1a80f2 4642014-08-22 Jason Merrill <jason@redhat.com>
465
466 * c.opt (std=gnu++17): Fix alias.
467
dc6229e8 4682014-08-22 Marek Polacek <polacek@redhat.com>
469
470 PR c++/62199
471 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
472 check for vector types. Drop LHS argument.
473 * c-common.h (warn_logical_not_parentheses): Adjust.
474
ba7f7c88 4752014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
476
477 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
478 (Wmultichar): Likewise.
479 (Wdate-time): Use C-family languages instead of Common. Use CPP
480 and Var.
481 * c-opts.c (c_common_handle_option): Do not handle the above
482 options here.
483 (sanitize_cpp_opts): Likewise.
484
399d4f80 4852014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
486
487 PR fortran/44054
488 * c-opts.c: Include tree-diagnostics.h.
489 (c_diagnostic_finalizer): New.
490 (c_common_initialize_diagnostics): Use it.
491
1babed5f 4922014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
493
494 PR preprocessor/51303
495 * c-common.c (struct reason_option_codes_t option_codes):
496 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
497
3636964b 4982014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
499
500 PR c/60975
501 PR c/53063
502 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
503 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
504 (c_common_post_options): Call init_global_opts_from_cpp.
505 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
506
78bf4156 5072014-08-19 Marek Polacek <polacek@redhat.com>
508
509 PR c++/62153
510 * c-common.c (maybe_warn_bool_compare): New function.
511 * c-common.h (maybe_warn_bool_compare): Declare.
512 * c.opt (Wbool-compare): New option.
513
508ea33a 5142014-08-19 Marek Polacek <polacek@redhat.com>
515
516 * c.opt (Wc99-c11-compat): New option.
517
806fe15e 5182014-08-19 Marek Polacek <polacek@redhat.com>
519
520 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
521 to warn_c90_c99_compat.
522 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
523 to -1.
524
6c867de1 5252014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
526 Steven Bosscher <steven@gcc.gnu.org>
527
528 PR c/52952
529 * c-format.c: Add extra_arg_loc and format_string_loc to struct
530 format_check_results.
531 (check_function_format): Use true and add comment for boolean
532 argument.
533 (finish_dollar_format_checking): Use explicit location when warning.
534 (check_format_info): Likewise.
535 (check_format_arg): Set extra_arg_loc and format_string_loc.
536 (check_format_info_main): Use explicit location when warning.
537 (check_format_types): Pass explicit location.
538 (format_type_warning): Likewise.
539
dc8078a3 5402014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
541
542 PR fortran/44054
543 * c-format.c: Handle Fortran flags.
544
d271ec7e 5452014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
546
547 PR other/61962
548 * array-notation-common.c (find_rank): Added handling for other
549 types of references.
550
890c2e2f 5512014-08-10 Marek Polacek <polacek@redhat.com>
552
553 PR c/51849
554 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
555 * c.opt (Wc90-c99-compat): Add option.
556
7149db5f 5572014-08-07 Trevor Saunders <tsaunders@mozilla.com>
558
559 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
560
2d2f6a15 5612014-08-03 Marek Polacek <polacek@redhat.com>
562
563 * c-common.c (check_case_value): Add location_t parameter. Use it.
564 (c_add_case_label): Pass loc to check_case_value.
565
06ecf488 5662014-08-02 Trevor Saunders <tsaunders@mozilla.com>
567
568 * cilk.c: Use hash_map instead of pointer_map.
569
431205b7 5702014-08-02 Trevor Saunders <tsaunders@mozilla.com>
571
572 * c-gimplify.c: Use hash_set instead of pointer_set.
573
3394c80c 5742014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
575
576 PR middle-end/61455
577 * array-notation-common.c (extract_array_notation_exprs): Handling
578 of DECL_EXPR added.
579
392dee1e 5802014-08-01 Jakub Jelinek <jakub@redhat.com>
581
582 * c-common.h (min_align_of_type): Removed prototype.
583 * c-common.c (min_align_of_type): Removed.
584 * c-ubsan.h (ubsan_maybe_instrument_reference,
585 ubsan_maybe_instrument_member_call): New prototypes.
586 * c-ubsan.c: Include stor-layout.h and builtins.h.
587 (ubsan_maybe_instrument_reference_or_call,
588 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
589 functions.
590
f22a2cb7 5912014-07-31 Marc Glisse <marc.glisse@inria.fr>
592
593 PR c++/60517
594 * c.opt (-Wreturn-local-addr): Move to common.opt.
595
87b0198f 5962014-07-30 Jason Merrill <jason@redhat.com>
597
598 PR c++/61659
599 PR c++/61687
600 Revert:
601 * c.opt (-fuse-all-virtuals): New.
602
74691f46 6032014-07-30 Tom Tromey <tromey@redhat.com>
604
605 PR c/59855
606 * c.opt (Wdesignated-init): New option.
607 * c-common.c (c_common_attribute_table): Add "designated_init".
608 (handle_designated_init): New function.
609
9140d56f 6102014-07-24 Marek Polacek <polacek@redhat.com>
611
612 PR c/57653
613 * c-opts.c (c_finish_options): If -imacros is in effect, return.
614
a09c5cc2 6152014-07-16 Dodji Seketeli <dodji@redhat.com>
616
617 PR preprocessor/60723 - missing system-ness marks for macro tokens
618 * c-ppoutput.c (struct print::prev_was_system_token): New data
619 member.
620 (init_pp_output): Initialize it.
621 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
622 (do_line_change): Return a flag saying if a line marker was
623 emitted or not.
624 (scan_translation_unit): Detect if the system-ness of the token we
625 are about to emit is different from the one of the previously
626 emitted token. If so, emit a line marker. Avoid emitting useless
627 adjacent line markers. Avoid emitting line markers for tokens
628 originating from the expansion of built-in macros.
629 (scan_translation_unit_directives_only): Adjust.
630
2b25b62f 6312014-07-15 Marek Polacek <polacek@redhat.com>
632
633 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
634 TYPE_MAX_VALUE is NULL.
635
305d96bc 6362014-07-14 Jakub Jelinek <jakub@redhat.com>
637
638 PR middle-end/61294
639 * c.opt (Wmemset-transposed-args): New warning.
640
8ea4660d 6412014-07-10 Jason Merrill <jason@redhat.com>
642
643 PR c++/61659
644 PR c++/61687
645 * c.opt (-fuse-all-virtuals): New.
646
cd480f3d 6472014-07-09 Richard Biener <rguenther@suse.de>
648
649 PR c-family/61741
650 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
651 using unsigned arithmetic if overflow does not wrap instead of
652 if overflow is undefined.
653
87d59e72 6542014-07-06 Marek Polacek <polacek@redhat.com>
655
656 PR c/6940
657 * c.opt (Wsizeof-array-argument): New option.
658
d69521d8 6592014-07-03 Jakub Jelinek <jakub@redhat.com>
660
661 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
662 comments->count <= 1, as comments->entries might be NULL.
663
1207866e 6642014-07-01 Marek Polacek <polacek@redhat.com>
665
666 * c.opt (Wint-conversion): New option.
667
7a6bbb76 6682014-07-01 Marek Polacek <polacek@redhat.com>
669
670 PR c/58286
671 * c.opt (Wincompatible-pointer-types): New option.
672
9d4eeb52 6732014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
674
675 PR c++/51400
676 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
677 Do not discard TYPE_QUALS of type.
678
4b53bc0f 6792014-06-26 Jason Merrill <jason@redhat.com>
680
681 * c-common.h (enum cxx_dialect): Add cxx1z.
682 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
683 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
684
a8a8d4ea 6852014-06-26 Teresa Johnson <tejohnson@google.com>
686
687 * c-common.h (get_dump_info): Declare.
688 * c-gimplify.c (c_genericize): Use saved dump files.
689 * c-opts.c (c_common_parse_file): Begin and end dumps
690 once around parsing invocation.
691 (get_dump_info): New function.
692
1f6be080 6932014-06-23 Marek Polacek <polacek@redhat.com>
694 Andrew MacLeod <amacleod@redhat.com>
695
696 PR c/61553
697 * c-common.c (get_atomic_generic_size): Don't segfault if the
698 type doesn't have a size.
699
5ef6b660 7002014-06-20 Marek Polacek <polacek@redhat.com>
701
702 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
703 (ubsan_walk_array_refs_r): New function.
704 (c_genericize): Instrument array bounds.
705 * c-ubsan.c: Include "internal-fn.h".
706 (ubsan_instrument_division): Mark instrumented arrays as having
707 side effects. Adjust ubsan_type_descriptor call.
708 (ubsan_instrument_shift): Likewise.
709 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
710 (ubsan_instrument_bounds): New function.
711 (ubsan_array_ref_instrumented_p): New function.
712 (ubsan_maybe_instrument_array_ref): New function.
713 * c-ubsan.h (ubsan_instrument_bounds): Declare.
714 (ubsan_array_ref_instrumented_p): Declare.
715 (ubsan_maybe_instrument_array_ref): Declare.
716
7172014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 718
719 PR lto/61123
720 * c.opt (fshort-enums): Add to LTO.
721 * c.opt (fshort-wchar): Likewise.
722
78438f31 7232014-06-16 Marek Polacek <polacek@redhat.com>
724
725 PR c/60439
726 * c.opt (Wswitch-bool): Add Var.
727
5fddcf34 7282014-06-12 Jakub Jelinek <jakub@redhat.com>
729
730 PR middle-end/61486
731 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
732 #pragma omp target teams or
733 #pragma omp {,target }teams distribute simd.
734
74b777e5 7352014-06-12 Jason Merrill <jason@redhat.com>
736
737 * c.opt (Wabi=, fabi-compat-version): New.
738 * c-opts.c (c_common_handle_option): Handle -Wabi=.
739 (c_common_post_options): Handle flag_abi_compat_version default.
740 Disallow -fabi-compat-version=1.
741 * c-common.h (abi_version_crosses): New.
742
738a6bda 7432014-06-11 Jan Hubicka <hubicka@ucw.cz>
744
745 * c-family/c-common.c (handle_section_attribute): Update handling for
746 section names that are no longer trees.
747
cf5f881f 7482014-06-10 Jakub Jelinek <jakub@redhat.com>
749
750 PR fortran/60928
751 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
752 (omp_pragmas): ... back here.
753
32dc1512 7542014-06-05 Marek Polacek <polacek@redhat.com>
755
756 PR c/49706
757 * c-common.c (warn_logical_not_parentheses): New function.
758 * c-common.h (warn_logical_not_parentheses): Declare.
759 * c.opt (Wlogical-not-parentheses): New option.
760
f61a9bc2 7612014-06-04 Marek Polacek <polacek@redhat.com>
762
763 PR c/30020
764 * c-common.c (check_case_bounds): Add location parameter.
765 Use it.
766 (c_add_case_label): Pass loc to check_case_bounds.
767
c69ec07d 7682014-06-03 Marek Polacek <polacek@redhat.com>
769
770 PR c/60439
771 * c.opt (Wswitch-bool): New option.
772
3c77ca67 7732014-05-22 Thomas Schwinge <thomas@codesourcery.com>
774
68a2c870 775 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
776 Remove prototypes.
777 (record_types_used_by_current_var_decl): Move prototype to where
778 it belongs.
779
3c77ca67 780 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
781 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
782 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
783
3ab4693e 7842014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
785
786 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
787 * c-common.c (c_common_nodes_and_builtins): Don't initialize
788 void_zero_node.
789 * c-pretty-print.c (pp_c_void_constant): New function.
790 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
791 (c_pretty_printer::expression): Handle VOID_CST.
792 * cilk.c (extract_free_variables): Likewise.
793 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
794 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
795
25a27413 7962014-05-17 Trevor Saunders <tsaunders@mozilla.com>
797
798 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
799 * c-pragma.c (push_alignment): Adjust.
800 (handle_pragma_push_options): Likewise.
801
3e5a8b00 8022014-05-09 Marek Polacek <polacek@redhat.com>
803
804 PR c/50459
805 * c-common.c (check_user_alignment): Return -1 if alignment is error
806 node.
807 (handle_aligned_attribute): Don't call default_conversion on
808 FUNCTION_DECLs.
809 (handle_vector_size_attribute): Likewise.
810 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
811 (handle_sentinel_attribute): Call default_conversion and allow even
812 integral types as an argument.
813
c2c4ae8d 8142014-05-08 Marek Polacek <polacek@redhat.com>
815
816 PR c/61053
817 * c-common.c (min_align_of_type): New function factored out from...
818 (c_sizeof_or_alignof_type): ...here.
819 * c-common.h (min_align_of_type): Declare.
820
2026249a 8212014-05-08 Marek Polacek <polacek@redhat.com>
822
823 PR c/61077
824 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
825 parameter type of main.
826
33c8dcfe 8272014-05-07 DJ Delorie <dj@redhat.com>
828
829 * c-cppbuiltin.c (print_bits_of_hex): New.
830 (builtin_define_type_minmax): Print values using hex so as not to
831 require a pre-computed list of string values.
832
960d5a55 8332014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
834 Mike Stump <mikestump@comcast.net>
835 Richard Sandiford <rdsandiford@googlemail.com>
836
837 * c-ada-spec.c: Include wide-int.h.
838 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
839 (dump_generic_ada_node): Use wide-int interfaces.
840 * c-common.c: Include wide-int-print.h.
841 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
842 (pointer_int_sum): Use wide-int interfaces.
843 (c_common_nodes_and_builtins): Use make_int_cst.
844 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
845 (handle_alloc_size_attribute): Use wide-int interfaces.
846 (get_nonnull_operand): Likewise.
847 * c-format.c (get_constant): Use tree_fits_uhwi_p.
848 * c-lex.c: Include wide-int.h.
849 (narrowest_unsigned_type): Take a widest_int rather than two
850 HOST_WIDE_INTs.
851 (narrowest_signed_type): Likewise.
852 (interpret_integer): Update accordingly. Use wide-int interfaces.
853 (lex_charconst): Use wide-int interfaces.
854 * c-pretty-print.c: Include wide-int.h.
855 (pp_c_integer_constant): Use wide-int interfaces.
856 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
857 INT_CST_LT_UNSIGNED.
858
bbb88b31 8592014-05-06 Richard Biener <rguenther@suse.de>
860
861 * c-opts.c (c_common_post_options): For -freestanding,
862 -fno-hosted and -fno-builtin disable pattern recognition
863 if not enabled explicitely.
864
022d4718 8652014-05-02 Marek Polacek <polacek@redhat.com>
866
867 * c.opt (Wsizeof-pointer-memaccess): Describe option.
868
e4ab2ef3 8692014-05-01 Marek Polacek <polacek@redhat.com>
870
871 PR c/43245
872 * c.opt (Wdiscarded-qualifiers): Add.
873
52cc0072 8742014-04-30 Marek Polacek <polacek@redhat.com>
875
876 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
877 INT_MIN / -1 sanitization only for integer types.
878
4a026b48 8792014-04-25 Marek Polacek <polacek@redhat.com>
880
881 PR c/18079
882 * c-common.c (handle_noinline_attribute): Warn if the attribute
883 conflicts with always_inline attribute.
884 (handle_always_inline_attribute): Warn if the attribute conflicts
885 with noinline attribute.
886
90e645fa 8872014-04-25 Marek Polacek <polacek@redhat.com>
888
889 PR c/60156
890 * c-common.c (check_main_parameter_types): Warn about variadic main.
891
db103ea4 8922014-04-24 Mike Stump <mikestump@comcast.net>
893
894 * c.opt (Wshadow-ivar): Default to on.
895
06511efd 8962014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
897
898 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
899
cdf34fca 9002014-04-23 Marek Polacek <polacek@redhat.com>
901
902 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
903
7311d7c1 9042014-04-22 Jakub Jelinek <jakub@redhat.com>
905
906 PR sanitizer/60275
907 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
908 if flag_sanitize_undefined_trap_on_error.
909 (ubsan_instrument_division, ubsan_instrument_shift,
910 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
911 if !flag_sanitize_recover.
912
c1917557 9132014-04-22 Marc Glisse <marc.glisse@inria.fr>
914
915 PR libstdc++/43622
916 * c-common.c (registered_builtin_types): Make non-static.
917 * c-common.h (registered_builtin_types): Declare.
918
b2ca6510 9192014-04-14 Richard Biener <rguenther@suse.de>
920 Marc Glisse <marc.glisse@inria.fr>
921
922 PR c/60819
923 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
924 apply may-alias the scalar pointer type when applicable.
925
855372a3 9262014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
927
928 PR middle-end/60467
929 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
930 as possible argument for Cilk_spawn.
931
4012a986 9322014-04-11 Tobias Burnus <burnus@net-b.de>
933
934 PR c/60194
935 * c.opt (Wformat-signedness): Add
936 * c-format.c(check_format_types): Use it.
937
0d284870 9382014-04-11 Jason Merrill <jason@redhat.com>
939
940 PR c++/57926
941 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
942 default_conversion for an array argument.
943
a34c1231 9442014-04-08 Marek Polacek <polacek@redhat.com>
945
946 PR sanitizer/60745
947 * c-ubsan.c: Include asan.h.
948 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
949
a35a8e18 9502014-04-03 Nathan Sidwell <nathan@codesourcery.com>
951
952 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
953
b23e42b6 9542014-04-02 Marek Polacek <polacek@redhat.com>
955
956 * c-common.h (c_expand_expr): Remove declaration.
957
5a672e62 9582014-03-28 Jakub Jelinek <jakub@redhat.com>
959
960 PR c++/60689
961 * c-common.c (add_atomic_size_parameter): When creating new
962 params vector, push the size argument first.
963
d4d068c0 9642014-03-26 Jakub Jelinek <jakub@redhat.com>
965
966 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
967 ubsan_instrument_vla, ubsan_instrument_return): Adjust
968 ubsan_create_data callers.
969
446bdf5f 9702014-03-22 Jakub Jelinek <jakub@redhat.com>
971
972 PR debug/60603
973 * c-opts.c (c_finish_options): Restore cb_file_change call to
974 <built-in>.
975
8895f0a3 9762014-03-13 Jakub Jelinek <jakub@redhat.com>
977
978 PR middle-end/36282
979 * c-pragma.c (apply_pragma_weak): Only look at
980 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
981 DECL_ASSEMBLER_NAME_SET_P (decl).
982 (maybe_apply_pending_pragma_weaks): Exit early if
983 vec_safe_is_empty (pending_weaks) rather than only when
984 !pending_weaks.
985 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
986 set assembler name back to NULL afterwards.
987
7a5da2cd 9882014-03-11 Jason Merrill <jason@redhat.com>
989
990 * c.opt: Add -std=gnu++14.
991
95093889 9922014-03-11 Ian Bolton <ian.bolton@arm.com>
993
994 * c-opts.c (c_common_post_options): Don't override
995 -ffp-contract=fast if unsafe-math-optimizations is on.
996
c9a24b37 9972014-03-08 Paulo Matos <paulo@matos-sorge.com>
998
999 * c.opt: Enable LTO FE for fshort-double.
1000
3f6dba6e 10012014-03-07 Jason Merrill <jason@redhat.com>
1002
1003 * c.opt: Add -std=c++14.
1004
3bfdc94f 10052014-03-06 Marek Polacek <polacek@redhat.com>
1006
1007 PR c/60197
1008 * cilk.c (contains_cilk_spawn_stmt): New function.
1009 (contains_cilk_spawn_stmt_walker): Likewise.
1010 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1011 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1012
8b3a6a4c 10132014-03-03 Jakub Jelinek <jakub@redhat.com>
1014
1015 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1016 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1017 even when flag_preprocess_only.
1018
734ec290 10192014-02-26 Jason Merrill <jason@redhat.com>
1020
1021 PR c++/59231
1022 PR c++/11586
1023 * c-common.c (shorten_compare): Don't check
1024 c_inhibit_evaluation_warnings.
1025
81aec8b8 10262014-02-19 Jakub Jelinek <jakub@redhat.com>
1027
d1081017 1028 PR c/37743
1029 * c-common.c (c_common_nodes_and_builtins): When initializing
1030 c_uint{16,32,64}_type_node, also set corresponding
1031 uint{16,32,64}_type_node to the same value.
1032
81aec8b8 1033 PR c++/60267
1034 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1035 for PRAGMA_IVDEP if flag_preprocess_only.
1036
312243bb 10372014-02-12 Jakub Jelinek <jakub@redhat.com>
1038
1039 PR c/60101
1040 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1041 if false, add ADD itself, rather than vice versa.
1042 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1043 copy. For SAVE_EXPR, only call merge_tlist once.
1044
237e78b1 10452014-02-08 Jakub Jelinek <jakub@redhat.com>
1046
1047 PR middle-end/60092
1048 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1049 and tree_to_uhwi.
1050 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1051 functions.
1052 (c_common_attribute_table): Add alloc_align and assume_aligned
1053 attributes.
1054
76fdceeb 10552014-02-06 Marek Polacek <polacek@redhat.com>
1056
1057 PR c/60087
1058 * c-common.c (warn_for_sign_compare): Call warning_at with location
1059 instead of warning.
1060
4a4dea42 10612014-02-05 Marek Polacek <polacek@redhat.com>
1062
1063 PR c/53123
1064 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1065 statement.
1066
ec704957 10672014-02-04 Marek Polacek <polacek@redhat.com>
1068
1069 PR c/60036
1070 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1071 SAVE_EXPR.
1072
caf62483 10732014-02-03 Marc Glisse <marc.glisse@inria.fr>
1074
1075 PR c++/53017
1076 PR c++/59211
1077 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1078 handle_vector_size_attribute, handle_nonnull_attribute): Call
1079 default_conversion on the attribute argument.
1080 (handle_nonnull_attribute): Increment the argument number.
1081
ec761d5a 10822014-01-31 Marek Polacek <polacek@redhat.com>
1083
1084 PR c/59963
1085 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1086 build_function_call_vec.
1087 (resolve_overloaded_builtin): Likewise.
1088 * c-common.h (build_function_call_vec): Adjust declaration.
1089
22a75734 10902014-01-30 Marek Polacek <polacek@redhat.com>
1091
1092 PR c/59940
1093 * c-common.h (unsafe_conversion_p): Adjust declaration.
1094 (warnings_for_convert_and_check): Likewise.
1095 (convert_and_check): Likewise.
1096 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1097 expansion_point_location_if_in_system_header on it.
1098 (warnings_for_convert_and_check): Add location parameter. Call
1099 expansion_point_location_if_in_system_header on it. Use it.
1100 (convert_and_check): Add location parameter. Use it.
1101 (conversion_warning): Likewise.
1102 (c_add_case_label): Adjust convert_and_check calls.
1103 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1104
a89e6c15 11052014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1106
1107 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1108 flag_cilkplus.
1109 * c-pragma.c (init_pragma): Likewise.
1110 * c.opt: Likewise.
1111
2623625f 11122014-01-23 Marek Polacek <polacek@redhat.com>
1113
1114 PR c/59846
1115 * c-common.c (shorten_compare): Add location_t parameter.
1116 * c-common.h (shorten_binary_op): Adjust declaration.
1117
46da3601 11182014-01-23 Marek Polacek <polacek@redhat.com>
1119
1120 PR c/58346
1121 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1122 * c-common.h: Declare it.
1123
c9743c6a 11242014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1125
1126 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1127 * c-ada-spec.c (dump_ads): Likewise.
1128 (cpp_check): Likewise.
1129 (dump_ada_specs): Likewise.
1130
11312014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 1132
1133 PR c++/49718
1134 * c-common.c (handle_no_instrument_function_attribute): Allow
1135 no_instrument_function attribute in class member
1136 definition/declaration.
1137
1248c663 11382014-01-15 Jakub Jelinek <jakub@redhat.com>
1139
1140 PR c/58943
1141 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1142 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1143 being COMPOUND_EXPR.
1144 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1145 operand a SAVE_EXPR and second MODIFY_EXPR.
1146
6e5c480b 11472014-01-09 Jakub Jelinek <jakub@redhat.com>
1148
1149 PR target/58115
1150 * c-pch.c (c_common_write_pch): Call
1151 prepare_target_option_nodes_for_pch.
1152
3aea1f79 11532014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1154
1155 Update copyright years
1156
e4f22041 11572014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1158
1159 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1160 the copyright notice.
1161
7fb0fe24 11622013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1163
1164 * c-ada-spec.c (print_constructor): New function.
1165 (print_destructor): Retrieve the origin of the destructor.
1166 (print_ada_declaration): Revamp handling of constructors/destructors.
1167
468088ac 11682013-12-23 Stuart Hastings <stuart@apple.com>
1169 Bill Maddox <maddox@google.com>
1170 Jason Merrill <jason@redhat.com>
1171
1172 * c.opt: Add -fdeclone-ctor-dtor.
1173 * c-opts.c (c_common_post_options): Default to on iff -Os.
1174
74acc703 11752013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1176
1177 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1178 attribute.
1179 * c-pragma.h (enum pragma_cilk_clause): Remove.
1180 (enum pragma_omp_clause): Added the following fields:
1181 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1182 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1183 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1184 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1185 PRAGMA_CILK_CLAUSE_UNIFORM.
1186
1187
433e804e 11882013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1189
1190 * cilk.c (cilk_outline): Made this function non-static.
1191 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1192 (create_cilk_wrapper): Added a new parameter: a function pointer.
1193 (c_install_body_w_frame_cleanup): Remove
1194 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1195 * c-common.h (cilk_outline): New prototype.
1196 (gimplify_cilk_spawn): Removed two parameters.
1197 (cilk_install_body_with_frame_cleanup): New prototype.
1198 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1199 CILK_SPAWN_STMT case.
1200
5bcc7e60 12012013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1202
e66325ea 1203 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1204
5bcc7e60 1205 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1206 (int_array_type_node): Remove.
1207 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1208
0b26ec77 12092013-12-05 Marek Polacek <polacek@redhat.com>
1210
1211 PR c/52023
1212 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1213 [ADJUST_FIELD_ALIGN].
1214
a179a7dc 12152013-12-04 Joseph Myers <joseph@codesourcery.com>
1216
1217 PR c/52023
1218 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1219 and check field alignment if set.
1220 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1221 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1222
137559b2 12232013-12-04 Jakub Jelinek <jakub@redhat.com>
1224 Marek Polacek <polacek@redhat.com>
1225
1226 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1227 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1228
648fd348 12292013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1230
1231 PR c/59309
1232 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1233 arguments.
1234
253e1cae 12352013-11-29 Jakub Jelinek <jakub@redhat.com>
1236
1237 PR c/59280
1238 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1239 goto invalid. If it is error_mark_node, don't issue further
1240 diagnostics.
1241
3e398f5b 12422013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1243
1244 * c.opt (Wopenmp-simd): New.
1245
020bc656 12462013-11-22 Jakub Jelinek <jakub@redhat.com>
1247
1248 * c-ubsan.h (ubsan_instrument_return): New prototype.
1249 * c-ubsan.c (ubsan_instrument_return): New function.
1250
bc61cadb 12512013-11-22 Andrew MacLeod <amacleod@redhat.com>
1252
1253 * c-common.c: Add required include files from gimple.h.
1254 * c-gimplify.c: Likewise
1255 * cilk.c: Likewise
1256
3df42822 12572013-11-22 David Malcolm <dmalcolm@redhat.com>
1258
1259 * c-common.c (unsafe_conversion_p): Remove use of
1260 EXPR_LOC_OR_HERE macro.
1261 (conversion_warning): Likewise.
1262 (warnings_for_convert_and_check): Likewise.
1263 (warn_for_collisions_1): Likewise.
1264 (shorten_compare): Likewise, and remove use of in_system_header
1265 macro, using the location from the former.
1266 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1267 (cb_def_pragma): Remove use of in_system_header macro.
1268 (lex_string): Likewise.
1269 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1270
8c53c46c 12712013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1272 Mike Stump <mikestump@comcast.net>
1273 Richard Sandiford <rdsandiford@googlemail.com>
1274
1275 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1276 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1277 tree_fits_shwi_p or tree_fits_uhwi_p.
1278 (dump_generic_ada_node): Likewise.
1279 * c-format.c (check_format_arg): Likewise.
1280 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1281
5200ef07 12822013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1283
1284 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1285
ca9d7d74 12862013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1287
1288 PR c/53001
1289 * c-common.c (unsafe_conversion_p): Make this function
1290 return an enumeration with more detail.
1291 (conversion_warning): Use the new return type of
1292 unsafe_conversion_p to separately warn either about conversions
1293 that lower floating point number precision or about the other
1294 kinds of conversions.
1295 * c-common.h (enum conversion_safety): New enumeration.
1296 (unsafe_conversion_p): switching return type to
1297 conversion_safety enumeration.
1298 * c.opt: Adding new warning -Wfloat-conversion and
1299 enabling it with -Wconversion.
1300
0391a567 13012013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1302
1303 * c-opts.c: Include plugin.h.
1304 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1305
19b928d9 13062013-11-19 Marek Polacek <polacek@redhat.com>
1307
1308 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1309 call.
1310 (ubsan_instrument_shift): Likewise.
1311 (ubsan_instrument_vla): Likewise.
1312
aa59f000 13132013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1314
1315 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1316 cast to unsigned type.
1317
08f817b3 13182013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1319
1320 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1321 tree_low_cst.
1322 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1323 rather than tree_low_cst.
1324
6a0712d4 13252013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1326
1327 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1328 tree_to_uhwi throughout.
1329
fcb97e84 13302013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1331
1332 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1333 tree_low_cst (..., 0) with tree_to_shwi throughout.
1334
cd4547bf 13352013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1336
1337 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1338 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1339
35ec552a 13402013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1341
1342 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1343 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1344
f2697631 13452013-11-15 Aldy Hernandez <aldyh@redhat.com>
1346
1347 * c-cilkplus.c: New file.
1348 * c-common.c (readonly_error): Add location argument.
1349 * c-common.h (readonly_error): Same.
1350 (c_finish_cilk_clauses): Protoize.
1351 (c_check_cilk_loop): Same.
1352 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1353 Do not fail on error_mark_node.
1354 Abstract increment canonicalization to here...
1355 (c_omp_for_incr_canonicalize_ptr): New.
1356 c-pragma.c (init_pragma): Register "simd" pragma.
1357 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1358 (enum pragma_cilk_clause): New.
1359
0aa8c34e 13602013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1361
1362 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1363 wchar_type and host_integerp checks.
1364
e795d6e1 13652013-11-14 Andrew MacLeod <amacleod@redhat.com>
1366
1367 * c-common.c: Likewise.
1368 * c-gimplify.c: Likewise.
1369 * cilk.c: Likewise.
1370
9ed99284 13712013-11-14 Diego Novillo <dnovillo@google.com>
1372
1373 * c-common.c: Include fold-const.h.
1374 Include stor-layout.h.
1375 Include calls.h.
1376 Include stringpool.h.
1377 Include attribs.h.
1378 Include varasm.h.
1379 Include trans-mem.h.
1380 * c-cppbuiltin.c: Include stor-layout.h.
1381 Include stringpool.h.
1382 * c-format.c: Include stringpool.h.
1383 * c-lex.c: Include stringpool.h.
1384 Include stor-layout.h.
1385 * c-pragma.c: Include stringpool.h.
1386 Include attribs.h.
1387 Include varasm.h.
1388 Include gcc-symtab.h.
1389 * c-pretty-print.c: Include stor-layout.h.
1390 Include attribs.h.
1391 * cilk.c: Include stringpool.h.
1392 Include calls.h.
1393
4fba5eb9 13942013-11-13 Joseph Myers <joseph@codesourcery.com>
1395
1396 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1397 * c-common.c (c_common_reswords): Add __auto_type.
1398 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1399
a8783bee 14002013-11-12 Andrew MacLeod <amacleod@redhat.com>
1401
e795d6e1 1402 * c-common.c: Include gimplify.h.
1403 * c-gimplify.c: Likewise.
1404 * cilk.c: Likewise.
1405 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1406 * c-ubsan.c: Don't include gimple.h.
a8783bee 1407
d184e0c0 14082013-11-12 Joseph Myers <joseph@codesourcery.com>
1409
1410 * c-common.c (c_common_reswords): Add _Thread_local.
1411
a056826c 14122013-11-09 Joseph Myers <joseph@codesourcery.com>
1413
1414 * c-common.c (atomic_size_supported_p): New function.
1415 (resolve_overloaded_atomic_exchange)
1416 (resolve_overloaded_atomic_compare_exchange)
1417 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1418 Use it instead of comparing size with a local list of sizes.
1419
b560fabd 14202013-11-07 Andrew MacLeod <amacleod@redhat.com>
1421 Joseph Myers <joseph@codesourcery.com>
1422
1423 * c-common.h (enum rid): Add RID_ATOMIC.
1424 * c-common.c (c_common_reswords): Add _Atomic.
1425 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1426 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1427 * c-format.c (check_format_types): Check for extra _Atomic
1428 qualifiers in format argument.
1429 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1430 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1431
5b1a0622 14322013-11-06 Tobias Burnus <burnus@net-b.de>
1433
1434 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1435
4f8f4cb8 14362013-11-06 Joseph Myers <joseph@codesourcery.com>
1437
1438 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1439 standards modes.
1440 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1441 to mean lack of IEEE 754 support.
1442
9148bda3 14432013-11-05 Tobias Burnus <burnus@net-b.de>
1444
1445 * c.opt (-Wdate-time): New option
1446 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1447
08c5f4d5 14482013-11-05 Joseph Myers <joseph@codesourcery.com>
1449
1450 * c-cppbuiltin.c (cpp_iec_559_value): Test
1451 flag_excess_precision_cmdline not flag_excess_precision.
1452
c630ef93 14532013-11-05 Tobias Burnus <burnus@net-b.de>
1454
1455 * c.opt (fopenmp-simd): New option.
1456 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1457 (omp_pragmas): ... this new struct.
1458 (c_pp_lookup_pragma): Also walk omp_pragmas.
1459 (init_pragma): Init pragmas for -fopenmp-simd.
1460
7354a89b 14612013-11-04 Marek Polacek <polacek@redhat.com>
1462
1463 PR c++/58979
1464 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1465
4c866b9b 14662013-11-04 Joseph Myers <joseph@codesourcery.com>
1467
1468 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1469 New functions.
1470 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1471
e2a6a333 14722013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1473
1474 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1475 (dump_ada_specs): Adjust prototype of second callback.
1476 * c-ada-spec.c (cpp_check): New global variable.
1477 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1478 (print_generic_ada_decl): Likewise.
1479 (has_static_fields): Change return type to bool and add guard.
1480 (has_nontrivial_methods): New predicate.
1481 (is_tagged_type): Change return type to bool.
1482 (separate_class_package): Call has_nontrivial_methods.
1483 (pp_ada_tree_identifier): Minor tweaks.
1484 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1485 (dump_ada_array_domains): Likewise.
1486 (dump_ada_array_type): Likewise.
1487 (dump_template_types): Remove cpp_check parameter and do not pass it to
1488 dump_generic_ada_node.
1489 (dump_ada_template): Likewise.
1490 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1491 recursively.
1492 (print_ada_methods): Change return type to integer. Remove cpp_check
1493 parameter and do not pass it down.
1494 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1495 dump_generic_ada_node.
1496 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1497 accessing methods.
1498 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1499 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1500 value of print_ada_methods.
1501 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1502 Set cpp_check to it before invoking dump_ada_nodes.
1503 (dump_ada_specs): Likewise.
1504
2c4c3477 15052013-11-03 Marek Polacek <polacek@redhat.com>
1506
1507 * c-ubsan.c: Don't include hash-table.h.
1508 (ubsan_instrument_vla): New function.
1509 * c-ubsan.h: Declare it.
1510
452659af 15112013-10-31 David Malcolm <dmalcolm@redhat.com>
1512
1513 Automated part of renaming of symtab_node_base to symtab_node.
1514
1515 Patch autogenerated by rename_symtab.py from
1516 https://github.com/davidmalcolm/gcc-refactoring-scripts
1517 revision 58bb219cc090b2f4516a9297d868c245495ee622
1518
1519 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1520 symtab_node_base to symtab_node.
1521
4d6f7dd4 15222013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1523
1524 Implement C++14 digit separators.
1525 * c-lex.c (interpret_float): Remove digit separators from scratch string
1526 before building real literal.
1527
06cfe805 15282013-10-30 Jakub Jelinek <jakub@redhat.com>
1529
1530 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1531
d037099f 15322013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1533
1534 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1535 fields.
1536 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1537 enabled.
1538 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1539 (insert_cilk_frame): New prototype.
1540 (cilk_init_builtins): Likewise.
1541 (gimplify_cilk_spawn): Likewise.
1542 (c_cilk_install_body_w_frame_cleanup): Likewise.
1543 (cilk_detect_spawn_and_unwrap): Likewise.
1544 (cilk_set_spawn_marker): Likewise.
1545 (build_cilk_sync): Likewise.
1546 (build_cilk_spawn): Likewise.
1547 * cilk.c: New file.
1548
02774f2d 15492013-10-29 David Malcolm <dmalcolm@redhat.com>
1550
1551 Patch autogenerated by refactor_symtab.py from
1552 https://github.com/davidmalcolm/gcc-refactoring-scripts
1553 revision 58bb219cc090b2f4516a9297d868c245495ee622
1554
1555 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1556 to a true class hierarchy.
1557 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1558
31fe10fd 15592013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1560
1561 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1562
b1c06ff9 15632013-10-26 Jeff Law <law@redhat.com>
1564
1565 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1566 * c-family/c.opt: Ignore and warn for mudflap options.
1567
48a972c8 15682013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1569
1570 PR other/33426
1571 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1572 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1573
546a04b1 15742013-10-23 Jason Merrill <jason@redhat.com>
1575
1576 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1577
bc7bff74 15782013-10-11 Jakub Jelinek <jakub@redhat.com>
1579
d62c713e 1580 * c-common.h (omp_clause_mask::operator !=): New method.
1581 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1582 instead of if (mask & something) tests everywhere.
1583
bc7bff74 1584 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1585 201307 instead of 201107.
1586 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1587 (c_common_attribute_table): Add "omp declare target" and
1588 "omp declare simd" attributes.
1589 (handle_omp_declare_target_attribute,
1590 handle_omp_declare_simd_attribute): New functions.
1591 * c-omp.c: Include c-pragma.h.
1592 (c_finish_omp_taskgroup): New function.
1593 (c_finish_omp_atomic): Add swapped argument, if true,
1594 build the operation first with rhs, lhs arguments and use NOP_EXPR
1595 build_modify_expr.
1596 (c_finish_omp_for): Add code argument, pass it down to make_code.
1597 (c_omp_split_clauses): New function.
1598 (c_split_parallel_clauses): Removed.
1599 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1600 c_omp_declare_simd_clauses_to_decls): New functions.
1601 * c-common.h (omp_clause_mask): New type.
1602 (OMP_CLAUSE_MASK_1): Define.
1603 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1604 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1605 omp_clause_mask::operator |, omp_clause_mask::operator &,
1606 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1607 omp_clause_mask::operator ==): New methods.
1608 (enum c_omp_clause_split): New.
1609 (c_finish_omp_taskgroup): New prototype.
1610 (c_finish_omp_atomic): Add swapped argument.
1611 (c_finish_omp_for): Add code argument.
1612 (c_omp_split_clauses): New prototype.
1613 (c_split_parallel_clauses): Removed.
1614 (c_omp_declare_simd_clauses_to_numbers,
1615 c_omp_declare_simd_clauses_to_decls): New prototypes.
1616 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1617 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1618 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1619 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1620 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1621 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1622 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1623 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1624 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1625 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1626 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1627 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1628 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1629 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1630 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1631 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1632 PRAGMA_OMP_CLAUSE_UNIFORM.
1633
d7dcba40 16342013-10-09 Marc Glisse <marc.glisse@inria.fr>
1635
1636 PR tree-optimization/20318
1637 * c-common.c (handle_returns_nonnull_attribute): New function.
1638 (c_common_attribute_table): Add returns_nonnull.
1639
0b7282f1 16402013-10-03 Marc Glisse <marc.glisse@inria.fr>
1641
1642 PR c++/19476
1643 * c.opt (fcheck-new): Move to common.opt.
1644
51f553af 16452013-09-25 Marek Polacek <polacek@redhat.com>
1646 Jakub Jelinek <jakub@redhat.com>
1647
1648 PR sanitizer/58413
1649 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1650 an expression if we can prove it is correct.
1651 (ubsan_instrument_division): Likewise. Remove unnecessary
1652 check.
1653
05f893e1 16542013-09-18 Marek Polacek <polacek@redhat.com>
1655
1656 PR sanitizer/58411
1657 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1658 Declare it.
1659 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1660
236ce1d1 16612013-09-14 Iain Sandoe <iain@codesourcery.com>
1662
1663 PR target/48094
1664 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1665 fobjc-gc, freplace-objc-classes): Accept for LTO.
1666
f9f68d35 16672013-09-13 Jacek Caban <jacek@codeweavers.com>
1668
1669 * c-target.def: New hook
1670
ba2f764e 16712013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1672
1673 PR c++/43452
1674 * c.opt (Wdelete-incomplete): Add.
1675
73437615 16762013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1677
1678 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1679 (vector_types_compatible_elements_p): New function.
1680 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1681 declaration.
1682 (vector_types_compatible_elements_p): Declare.
1683
95af4c75 16842013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1685
1686 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1687 a virtual member function.
1688 (pp_simple_type_specifier): Remove.
1689 (pp_c_type_specifier): Likewise.
1690 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1691 Rename from pp_c_type_specifier. Adjust.
1692 (c_pretty_printer::c_pretty_printer): Do not assign to
1693 simple_type_specifier.
1694
eaab24b9 16952013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1696
1697 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1698 member function.
1699 (c_pretty_printer::storage_class_specifier): Likewise.
1700 (c_pretty_printer::initializer): Likewise.
1701 (pp_declaration): Remove.
1702 (pp_declaration_specifiers): Likewise.
1703 (pp_abstract_declarator): Likewise.
1704 (pp_declarator): Likewise.
1705 (pp_type_id): Likewise.
1706 (pp_statement): Likewise.
1707 (pp_constant): Likewise.
1708 (pp_id_expression): Likewise.
1709 (pp_primary_expression): Likewise.
1710 (pp_unary_expression): Likewise.
1711 (pp_multiplicative_expression): Likewise.
1712 (pp_conditional_expression): Likewise.
1713 (pp_assignment_expression): Likewise.
1714 (pp_expression): Likewise.
1715 (pp_c_type_id): Likewise.
1716 (pp_c_storage_class_specifier): Likewise.
1717 * c-pretty-print.c (pp_c_type_cast): Tidy.
1718 (pp_c_pointer): Likewise.
1719 (pp_c_type_specifier): Likewise.
1720 (pp_c_parameter_type_list): Likewise.
1721 (pp_c_function_definition): Likewise.
1722 (pp_c_init_declarator): Likewise.
1723 (pp_c_initializer_list): Likewise.
1724 (pp_c_constructor_elts): Likewise.
1725 (c_pretty_printer::direct_abstract_declarator): Likewise.
1726 (c_pretty_printer::declaration_specifiers): Likewise.
1727 (c_pretty_printer::primary_expression): Likewise.
1728 (c_pretty_printer::postfix_expression): Likewise.
1729 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1730 (c_pretty_printer::storage_class_specifier): Rename from
1731 pp_c_storage_class_specifier.
1732 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1733 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1734 storage_class_specifier, initializer, offset_list, flags.
1735
9e46467d 17362013-08-30 Marek Polacek <polacek@redhat.com>
1737
1738 * c-ubsan.c: New file.
1739 * c-ubsan.h: New file.
1740
36a8d9b9 17412013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1742
1743 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1744 member function.
1745 (c_pretty_printer::declaration_specifiers): Likewise.
1746 (c_pretty_printer::declarator): Likewise.
1747 (c_pretty_printer::abstract_declarator): Likewise.
1748 (c_pretty_printer::direct_abstract_declarator): Likewise.
1749 (c_pretty_printer::direct_declarator): Likewise.
1750 (c_pretty_printer::function_specifier): Likewise.
1751 (pp_declaration): Adjust.
1752 (pp_declaration_specifiers): Likewise.
1753 (pp_abstract_declarator): Likewise.
1754 (pp_direct_declarator): Likewise.
1755 (pp_function_specifier): Likewise.
1756 (pp_direct_abstract_declarator): Remove as unused.
1757 (pp_c_declaration): Remove.
1758 (pp_c_declaration_specifiers): Likewise.
1759 (pp_c_declarator): Likewise.
1760 (pp_c_direct_declarator): Likewise.
1761 (pp_c_function_specifier): Likewise.
1762 (pp_c_direct_abstract_declarator): Likewise.
1763 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1764 from pp_c_abstract_declarator. Adjust.
1765 (c_pretty_printer::direct_abstract_declarator): Rename from
1766 pp_c_direct_abstract_declarator. Adjust.
1767 (c_pretty_printer::function_specifier): Rename from
1768 pp_c_function_specifier. Adjust.
1769 (c_pretty_printer::declaration_specifiers): Rename from
1770 pp_c_declaration_specifiers. Adjust.
1771 (c_pretty_printer::direct_declarator): Rename from
1772 pp_c_direct_declarator. Adjust.
1773 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1774 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1775 (c_pretty_printer::c_pretty_printer): Do not assign to
1776 declaration, declaration_specifiers, declarator,
1777 direct_declarator, direct_abstract_declarator, function_specifier.
1778
30635c2e 17792013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1780
1781 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1782 virtual member function.
1783 (c_pretty_printer::multiplicative_expression): Likewise.
1784 (c_pretty_printer::conditional_expression): Likewise.
1785 (c_pretty_printer::assignment_expression): Likewise.
1786 (c_pretty_printer::expression): Likewise.
1787 (pp_unary_expression): Adjust.
1788 (pp_multiplicative_expression): Likewise.
1789 (pp_assignment_expression): Likewise.
1790 (pp_conditional_expression): Likewise.
1791 (pp_expression): Likewise.
1792 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1793 from pp_c_unary_expression. Adjust.
1794 (c_pretty_printer::multiplicative_expression): Rename from
1795 pp_c_multiplicative_expression. Adjust.
1796 (c_pretty_printer::conditional_expression): Rename from
1797 pp_c_conditional_expression. Adjust.
1798 (c_pretty_printer::assignment_expression): Rename from
1799 pp_c_assignment_expression. Adjust.
1800 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1801 (c_pretty_printer::c_pretty_printer): Do not assign to
1802 unary_expression, multiplicative_expression,
1803 conditional_expression, expression.
1804
027d08ed 18052013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1806
1807 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1808 virtual member function.
1809 (pp_postfix_expression): Adjust.
1810 (pp_c_postfix_expression): Remove.
1811 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1812 from pp_c_postfix_expression. Adjust.
1813 (c_pretty_printer::c_pretty_printer): Do not assign to
1814 postfix_expression.
1815
f873303a 18162013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1817
1818 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1819 virtua member function.
1820 (pp_primary_expression): Adjust.
1821 (pp_c_primary_expression): Remove.
1822 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1823 from pp_c_primary_expression. Adjust.
1824 (pp_c_initializer_list): Use pp_primary_expression.
1825 (c_pretty_printer::c_pretty_printer): Do not assign to
1826 primary_expression.
1827
08e3e481 18282013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1829
1830 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1831 * c-pretty-print.c (M_): Remove.
1832 (c_pretty_printer::translate_string): Define.
1833 (pp_c_type_specifier): Use it.
1834 (pp_c_primary_expression): Likewise.
1835 (pp_c_expression): Likewise.
1836
1fc4a87f 18372013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1838
1839 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1840 virtual function.
1841 (pp_c_id_expression): Remove.
1842 (pp_id_expression): Adjust.
1843 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1844 pp_c_id_expression. Adjust.
1845 (pp_c_postfix_expression): Use pp_id_expression.
1846 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1847
a6cb161b 18482013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1849
1850 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1851 member function.
1852 (pp_constant): Adjust.
1853 (pp_c_constant): Remove.
1854 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1855 pp_c_constant. Adjust.
1856 (pp_c_constant)
1857 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1858 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1859
eed6bc21 18602013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1861
1862 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1863 (c_pretty_printer::c_pretty_printer): Declare.
1864 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1865 c_pretty_printer_init. Adjust.
1866 (print_c_tree): Do not call c_pretty_printer_init.
1867 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1868
df558d2e 18692013-08-09 Arnaud Charlet <charlet@adacore.com>
1870
1871 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1872
42f9a786 18732013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1874
1875 PR c++/58080
1876 * c-common.c (pointer_int_sum): Add bool parameter.
1877 * c-common.h (pointer_int_sum): Adjust declaration.
1878
f874ddad 18792013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1880
1881 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1882 c_pretty_printer variable.
1883
a94db6b0 18842013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1885
1886 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1887 (pp_base): Remove.
1888 (pp_c_base): Likewise. Adjust users.
1889 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1890 (pp_c_whitespace): Do not call pp_base.
1891 (pp_c_left_paren): Likewise.
1892 (pp_c_right_paren): Likewise.
1893 (pp_c_left_brace): Likewise.
1894 (pp_c_right_brace): Likewise.
1895 (pp_c_left_bracket): Likewise.
1896 (pp_c_right_bracket): Likewise.
1897 (pp_c_dot): Likewise.
1898 (pp_c_ampersand): Likewise.
1899 (pp_c_star): Likewise.
1900 (pp_c_arrow): Likewise.
1901 (pp_c_semicolon): Likewise.
1902 (pp_c_complement): Likewise.
1903 (pp_c_exclamation): Likewise.
1904 (pp_c_direct_declarator): Likewise.
1905 (pp_c_ws_string): Likewise.
1906 (pp_c_identifier): Likewise.
1907 (pp_c_statement): Likewise.
1908 (print_c_tree): Likewise.
1909
1898176c 19102013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1911
1912 PR c++/58072
1913 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1914 provide useful error strings.
1915
70d60d1d 19162013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1917
1918 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1919 printer functions instead of pp_string or operators and punctuators.
1920 (dump_generic_ada_node): Likewise.
1921 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1922 (pp_c_relational_expression): Likewise.
1923 (pp_c_logical_or_expression): Likewise.
1924
dda4f0ec 19252013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1926
1927 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1928 functions instead of pp_character.
1929 (pp_ada_tree_identifier): Likewise.
1930 (dump_ada_double_name): Likewise.
1931 (dump_ada_function_declaration): Likewise.
1932 (dump_ada_array_domains): Likewise.
1933 (dump_template_types): Likewise.
1934 (dump_generic_ada_node): Likewise.
1935 (print_ada_declaration): Likewise.
1936 (print_ada_struct_decl): Likewise.
1937 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1938
7aa04c8d 19392013-07-23 Tom Tromey <tromey@redhat.com>
1940
1941 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1942 * c-common.c (c_common_reswords): Add _Generic.
1943
a04e8d62 19442013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1945
1946 * c-common.c: Fix typos.
1947 * c-common.h: Likewise.
1948
a96c3cc1 19492013-07-13 Lubos Lunak <l.lunak@suse.cz>
1950
1951 PR c++/55203
1952 * c-common.c (c_common_attribute_table): Add warn_unused.
1953 (handle_warn_unused_attribute): New.
1954
da31536d 19552013-07-10 Jakub Jelinek <jakub@redhat.com>
1956
1957 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1958 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1959
839f2f70 19602013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1961
1962 PR c++/57869
1963 * c.opt: Add Wconditionally-supported.
1964
73f353d0 19652013-07-08 Graham Stott <graham.stott@btinternet.com>
1966
1967 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1968 unused variables l_length and l_node.
1969
21ebaa24 19702013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 1971
1972 PR c/57821
1973 * c-common.c (complete_array_type): Delay folding first index
1974 like other indices. When folding, check for index overflow.
1975
68ea4406 19762013-06-27 Marc Glisse <marc.glisse@inria.fr>
1977
1978 PR c++/57509
1979 * c-common.h (c_build_vec_perm_expr): New complain argument.
1980 * c-common.c (c_build_vec_perm_expr): Likewise.
1981 Use save_expr also in C++.
1982
60777f69 19832013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1984
1985 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1986 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1987 * c-opts.c (c_common_post_options): Likewise.
1988
839f2f70 19892013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 1990
1991 * array-notation-common.c (length_mismatch_in_expr): Changed the
1992 parameter type's from a dynamic array to a vec_tree. Also removed
1993 the size parameters.
1994 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1995 the change above.
1996
e9331eab 19972013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1998
1999 * c-common.h (struct cilkplus_an_parts): New structure.
2000 (struct cilkplus_an_loop_parts): Likewise.
2001 (cilkplus_extract_an_triplets): New prototype.
2002 (fix_sec_implicit_args): Likewise.
2003 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2004 (fix_sec_implicit_args): Likewise.
60777f69 2005
a9c99fc4 20062013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2007
2008 * array-notation-common.c (find_inv_trees): Removed an unwanted
2009 typecasting.
2010 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2011 enum rid to enum tree_code.
2012
f2526cce 20132013-06-11 Jan Hubicka <jh@suse.cz>
2014
2015 * c-common.c (handle_alias_ifunc_attribute): Do not set
2016 DECL_EXTERNAL for weakref variables.
2017 * c-pragma.c (handle_pragma_weak): Make sure aliases
2018 are not declared as external.
2019
09970d67 20202013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2021
2022 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2023 function from c/c-array-notation.c.
2024 (is_cilkplus_reduce_builtin): Likewise.
2025 (find_rank): Likewise.
2026 (extract_array_notation_exprs): Likewise.
2027 (replace_array_notations): Likewise.
2028 (find_inv_trees): Likewise.
2029 (replace_inv_trees): Likewise.
2030 (contains_array_notation_expr): Likewise.
2031 (find_correct_array_notation_type): Likewise.
2032 * c-common.h (struct inv_list): Moved this struct from the file
2033 c/c-array-notation.c and added a new field called additional tcodes.
2034 (length_mismatch_in_expr_p): New prototype.
2035 (is_cilkplus_reduce_builtin): Likewise.
2036 (find_rank): Likewise.
2037 (extract_array_notation_exprs): Likewise.
2038 (replace_array_notation): Likewise.
2039 (find_inv_trees): Likewise.
2040 (replace_inv_trees): Likewise.
2041 (find_correct_array_notation_type): Likewise.
839f2f70 2042
3c6d4197 20432013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2044
2045 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2046 function array_notation_init_builtins is called.
2047 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2048 * c-common.def (ARRAY_NOTATION_REF): New tree.
2049 * c-common.h (build_array_notation_expr): New function declaration.
2050 (build_array_notation_ref): Likewise.
2051 (extract_sec_implicit_index_arg): New extern declaration.
2052 (is_sec_implicit_index_fn): Likewise.
2053 (ARRAY_NOTATION_CHECK): New define.
2054 (ARRAY_NOTATION_ARRAY): Likewise.
2055 (ARRAY_NOTATION_START): Likewise.
2056 (ARRAY_NOTATION_LENGTH): Likewise.
2057 (ARRAY_NOTATION_STRIDE): Likewise.
2058 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2059 ARRAY_NOTATION_REF.
2060 (pp_c_expression): Likewise.
2061 * c.opt (flag_enable_cilkplus): New flag.
2062 * array-notation-common.c: New file.
2063
8e71dad2 20642013-05-14 Jakub Jelinek <jakub@redhat.com>
2065
2066 PR c++/57274
2067 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2068
432dd330 20692013-05-10 Marc Glisse <marc.glisse@inria.fr>
2070
2071 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2072 vectors.
2073
b156ec37 20742013-05-07 Han Shen <shenhan@google.com>
2075
2076 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2077
1a087624 20782013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2079
2080 * c-common.c (check_user_alignment): Emit error for negative values.
2081
1638c736 20822013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2083
2084 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2085
949dbf93 20862013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2087
2088 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2089 __GXX_EXPERIMENTAL_CXX1Y__.
2090
9205a6cc 20912013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2092 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2093
2094 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2095 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2096 to simply use OPT_Wpointer_arith.
2097 (c_sizeof_or_alignof_type): Likewise.
2098
05d0bce1 20992013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2100
2101 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2102
41609f8b 21032013-04-12 Jakub Jelinek <jakub@redhat.com>
2104
2105 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2106 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2107 specifiers.
2108
c671dc4f 21092013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2110
2111 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2112
ba125576 21132013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2114
2115 * c-common.c (pointer_int_sum): Remove dead code.
2116
9d3fa937 21172013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2118
2119 PR middle-end/56524
2120 * c-common.c (handle_optimize_attribute): Don't call
2121 save_optabs_if_changed.
2122
5ceebb21 21232013-03-05 Jakub Jelinek <jakub@redhat.com>
2124
2125 PR middle-end/56461
2126 * c-pch.c (pch_init): Free target_validity at the end.
2127
18eeed2b 21282013-03-04 Jakub Jelinek <jakub@redhat.com>
2129
2130 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2131
a9196da9 21322013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2133 Jakub Jelinek <jakub@redhat.com>
2134
2135 PR sanitizer/56454
2136 * c-common.c (handle_no_sanitize_address_attribute): New function.
2137 (c_common_attribute_table): Add no_sanitize_address attribute.
2138 (handle_no_address_safety_analysis_attribute): Add
2139 no_sanitize_address attribute, not no_address_safety_analysis
2140 attribute.
2141
15c27dda 21422013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 2143
2144 PR target/52555
2145 * c-common.c (handle_optimize_attribute): Call
2146 save_optabs_if_changed.
2147
19426fe1 21482013-02-18 Jakub Jelinek <jakub@redhat.com>
2149 Steven Bosscher <steven@gcc.gnu.org>
2150
2151 PR pch/54117
2152 * c-opts.c (c_common_post_options): If debug info is enabled
2153 and non-dwarf*, refuse to load PCH files and when writing PCH
2154 file warn.
2155
df936998 21562013-02-05 Jakub Jelinek <jakub@redhat.com>
2157
2158 PR middle-end/56167
2159 * c-common.c (handle_error_attribute): Fix condition.
2160
ae0c3984 21612013-01-30 Jakub Jelinek <jakub@redhat.com>
2162
2163 PR c++/55742
2164 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2165
1c4973d7 21662013-01-18 Jason Merrill <jason@redhat.com>
2167
2168 PR target/54908
2169 * c.opt (-fextern-tls-init): New.
2170 * c-opts.c (c_common_post_options): Handle it.
2171
7c834436 21722013-01-09 Jakub Jelinek <jakub@redhat.com>
2173
2174 PR c/48418
2175 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2176 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2177 and is either negative or bigger or equal to type precision
2178 of the first operand.
2179
5abaa10a 21802012-12-03 Marek Polacek <polacek@redhat.com>
2181
2182 PR c/55570
2183 * c-common.c (check_user_alignment): Swap order of tests,
2184 check TREE_CODE first.
2185
324ca377 21862012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2187
2188 PR c++/52654
2189 * c-common.h (overflow_type): New enum.
2190 (build_userdef_literal): Add overflow_type argument.
2191 (tree_userdef_literal): Add overflow_type.
2192 (USERDEF_LITERAL_OVERFLOW): New access macro.
2193 * c-common.c (build_userdef_literal): Add overflow_type
2194 argument.
2195 * c-lex.c (c_lex_with_flags): Add overflow_type to
2196 build_userdef_literal calls.
2197 (interpret_integer, interpret_float): Add overflow_type argument.
2198
b4c4a429 21992012-11-28 Richard Biener <rguenther@suse.de>
2200
2201 PR c/35634
2202 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2203 here and use a type with proper overflow behavior for types that would
2204 need to be promoted for the arithmetic.
2205
d413ffdd 22062012-11-23 Jakub Jelinek <jakub@redhat.com>
2207
2208 PR sanitizer/55435
2209 * c-common.c (handle_no_address_safety_analysis_attribute): New
2210 function.
2211 (c_common_attribute_table): Add no_address_safety_analysis.
2212
52bc861d 22132012-11-16 Simon Baldwin <simonb@google.com>
2214
2215 * c.opt: Add f[no-]canonical-system-headers.
2216 * c-opts.c (c_common_handle_option): Handle
2217 OPT_fcanonical_system_headers.
2218
2dd00636 22192012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2220
2221 PR c++/54413
2222 * c-opts.c (c_common_handle_option): Set new flags.
2223 * c.opt: Describe new flags.
2224
d4701f6c 22252012-11-09 Jason Merrill <jason@redhat.com>
2226
2227 * c.opt (Wabi-tag): New.
2228
72d65da9 22292012-11-09 Andi Kleen <ak@linux.intel.com>
2230
2231 PR 55139
2232 * c-common.c (get_atomic_generic_size): Mask with
2233 MEMMODEL_MASK
2234
77a357e3 22352012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2236
2237 PR c/53063
2238 * c.opt (Wformat): Make it Alias Wformat=1.
2239 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2240 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2241 LangEnabledBy.
2242 (Wformat=): RejectNegative. Use LangEnabledBy.
2243 (Wnonnull): Use LangEnabledBy.
2244 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2245 * c-format.c (set_Wformat): Delete.
2246 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2247 (maybe_read_dollar_number): Likewise.
2248 (avoid_dollar_number): Likewise.
2249 (finish_dollar_format_checking): Likewise.
2250 (check_format_info): Likewise.
2251 (check_format_info_main): Likewise.
2252 (check_format_types): Likewise.
2253 (format_type_warning): Likewise.
2254 * c-common.c (int): Likewise.
2255 (check_function_sentinel): Likewise.
2256 * c-common.h (warn_format,set_Wformat): Do not declare here.
2257
45efa6b9 22582012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2259
2260 PR c/53063
2261 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2262 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2263 Use LangEnabledBy.
2264 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2265 common.opt.
2266 (Wvariadic-macros): Init(1).
2267 * c-opts.c (c_common_handle_option): Do not handle them
2268 explicitly.
2269 (c_common_post_options): Likewise.
2270 (sanitize_cpp_opts): warn_unused_macros is now
2271 cpp_warn_unused_macros.
2272 (push_command_line_include): Likewise.
2273 * c-common.c (warn_unknown_pragmas): Do not define.
2274 * c-common.h (warn_unknown_pragmas): Do not declare.
2275
0e4e775a 22762012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2277
2278 PR c/51294
2279 * c-common.c (conversion_warning): Handle conditional expressions.
2280
8b447d3f 22812012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2282
2283 PR c++/54930
2284 * c.opt (Wreturn_local_addr): Define new option.
2285
f4a61754 22862012-10-25 Jason Merrill <jason@redhat.com>
2287
ecb10e6a 2288 * c.opt (Wvirtual-move-assign): New.
2289
f4a61754 2290 * c.opt (Winherited-variadic-ctor): New.
2291
7b463b19 22922012-10-25 Marc Glisse <marc.glisse@inria.fr>
2293
2294 PR c++/54427
2295 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2296
6adc88f8 22972012-10-23 Joseph Myers <joseph@codesourcery.com>
2298
2299 * c-common.h (pch_cpp_save_state): Declare.
2300 * c-target.def (c_preinclude): New hook.
2301 * c-opts.c (done_preinclude): New.
2302 (push_command_line_include): Handle default preincluded header.
2303 (cb_file_change): Call pch_cpp_save_state when calling
2304 push_command_line_include.
2305 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2306 (pch_cpp_save_state): New.
2307 (pch_init): Call pch_cpp_save_state conditionally, instead of
2308 calling cpp_save_state.
2309
fa816b0b 23102012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2311
2312 PR c/53063
2313 PR c/40989
2314 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2315 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2316 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2317 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2318 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2319 * c-opts.c (c_common_handle_option): Remove explicit handling from
2320 here.
2321 (c_common_post_options): Likewise.
2322
d214ccee 23232012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2324
2325 * c-ada-spec.c (LOCATION_COL): Delete.
2326 (compare_location): New function.
2327 (compare_node): Use it.
2328 (compare_comment): Likewise.
2329
77b27208 23302012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2331
2332 PR c/53063
2333 PR c/40989
2334 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2335 * c-opts.c (c_common_handle_option): Do not set them here. Add
2336 comment.
2337 (c_common_post_options): Likewise.
2338
cc02ca4d 23392012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2340
2341 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2342 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2343 Remove POINTER_TYPE handling, add large unsigned handling and use
2344 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2345
57f872a2 23462012-10-12 Jakub Jelinek <jakub@redhat.com>
2347
2348 PR c/54381
2349 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2350 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2351 locs and array of 3 trees instead of just single loc and single
2352 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2353 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2354 For *cmp* builtins that take two sources strings report warnings
2355 about first and second source, not about destination and source.
2356
7354ad2e 23572012-10-12 Marc Glisse <marc.glisse@inria.fr>
2358
2359 PR c++/53055
2360 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2361
1ac7f120 23622012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2363
2364 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2365 declaring something coming from another file.
2366
1e0cc9e3 23672012-10-10 Arnaud Charlet <charlet@adacore.com>
2368
1ac7f120 2369 PR ada/54845
1e0cc9e3 2370 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2371
b0e7825e 23722012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2373
2374 PR c++/54194
2375 * c-common.c (warn_about_parentheses): Add location_t parameter;
2376 use EXPR_LOC_OR_LOC.
2377 * c-common.h: Update declaration.
2378
41ed701a 23792012-10-09 Marc Glisse <marc.glisse@inria.fr>
2380
2381 PR c++/54427
2382 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2383 more operations. Make error messages optional.
2384 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2385 (scalar_to_vector): Declare.
2386
3740094c 23872012-10-08 Jason Merrill <jason@redhat.com>
2388
2389 * c-common.c (c_common_reswords): Add thread_local.
2390
ffcdbf9c 23912012-10-08 Dodji Seketeli <dodji@redhat.com>
2392
2393 PR c++/53528 C++11 attribute support
2394 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2395 new functions.
2396 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2397 static function.
2398 (handle_aligned_attribute): In choose strictest alignment
2399 among many. Use new check_cxx_fundamental_alignment_constraints.
2400 (handle_transparent_union_attribute): In c++11 attribute syntax,
2401 don't look through typedefs.
2402
ef34afc1 24032012-10-04 Arnaud Charlet <charlet@adacore.com>
2404
2405 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2406 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2407 out of dumpfile.h.
2408
f1ff4562 24092012-09-25 Dehao Chen <dehao@google.com>
2410
2411 PR middle-end/54645
ef34afc1 2412 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2413 map when read in the pch.
2414
735538a1 24152012-09-18 Arnaud Charlet <charlet@adacore.com>
2416
2417 * c-ada-spec.c: Style fixes.
2418
9120cdc8 24192012-09-18 Thomas Quinot <quinot@adacore.com>
2420
2421 * c.opt (-fada-spec-parent): Define new command line switch.
2422 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2423 is specified, generate binding spec as a child of the specified unit.
2424
8eba82c2 24252012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2426 Manuel López-Ibáñez <manu@gcc.gnu.org>
2427
2428 PR c++/53210
2429 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2430
38682990 24312012-08-23 Arnaud Charlet <charlet@adacore.com>
2432
2433 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2434 for pointers, and add missing Convention C pragma.
2435 (print_ada_struct_decl): Add missing aliased keyword.
2436 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2437
f003f5dc 24382012-08-17 Jakub Jelinek <jakub@redhat.com>
2439
2440 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2441 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2442 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2443 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2444 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2445
ec11736b 24462012-08-10 Richard Guenther <rguenther@suse.de>
2447
2448 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2449
5f7f600e 24502012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2451
2452 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2453 instead of separate pp_newline and pp_flush.
2454 (print_c_tree): Likewise.
2455
758a38ab 24562012-07-26 Richard Henderson <rth@redhat.com>
2457
2458 * c-common.c (handle_hot_attribute): Allow labels.
2459 (handle_cold_attribute): Likewise.
2460
9ca77b08 24612012-07-20 Jakub Jelinek <jakub@redhat.com>
2462
2463 PR c++/28656
2464 * c-common.c (check_function_nonnull): Handle multiple nonnull
2465 attributes properly.
2466
b9ed1410 24672012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2468
2469 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2470 * c-ada-spec.c: Likewise.
2471 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2472
c2a65b90 24732012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2474
2475 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2476 Remove code conditional on it.
2477
88c5a1d1 24782012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2479
2480 * c-gimplify.c: Do not include basic-block.h.
2481 * c-common.c: Do not include linfuncs.h.
2482
4a020a8c 24832012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2484
2485 * c-common.h: Include tree.h.
2486
c28ddc97 24872012-07-02 Jason Merrill <jason@redhat.com>
2488
2489 PR c++/53524
2490 * c-common.c (get_priority): Call default_conversion.
2491
405ed67f 24922012-07-01 Uros Bizjak <ubizjak@gmail.com>
2493
2494 * c-pch.c (c_common_write_pch): Remove unused variables.
2495
e53d55e7 24962012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2497
2498 * cppspec.c: Moved from gcc/ to here.
2499
3d9c25ec 25002012-06-27 Kai Tietz <ktietz@redhat.com>
2501
2502 PR preprocessor/37215
2503 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2504
3169c57a 25052012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2506
2507 * c-common.h (c_common_print_pch_checksum): Remove.
2508 * c-pch.c: Do not include output.h.
2509 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2510 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2511 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2512 (struct c_pch_header): Remove.
2513 (get_ident): Update gpch version.
2514 (pch_init): Do not print executable_checksum to asm_out_file.
2515 Do not fail if there is no asm_out_file to read back from. Set
2516 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2517 (c_common_write_pch): Verify that nothing was written to asm_out_file
2518 since pch_init was called. Do not write a c_pch_header, and do not
2519 copy from asm_out_file to the PCH.
2520 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2521 the content of asm_out_file from the PCH.
2522 (c_common_print_pch_checksum): Remove.
2523 * c-opts.c (c_common_init): Print out executable_checksum directly.
2524
ff6624bc 25252012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2526
2527 * c-target.def (objc_declare_unresolved_class_reference,
2528 objc_declare_class_definition): Add new hooks.
2529
367b1459 25302012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2531
2532 * c-lex.c: Do not include output.h.
2533 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2534 Remove uses of ASM_OUTPUT_IDENT.
2535
bf0cb017 25362012-06-15 Marc Glisse <marc.glisse@inria.fr>
2537
2538 PR c++/51033
2539 * c-common.h (c_build_vec_perm_expr): Move decl here.
2540 * c-common.c (c_build_vec_perm_expr): Move definition
2541 here.
2542
b37a3600 25432012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2544
2545 * c.opt (fconserve-space): Turn into a no-op.
2546
19931eea 25472012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 2548
2549 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2550 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2551 both the start and end of the function.
2552
dff12c10 25532012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2554
2555 * c-common.c: Do not include output.h.
2556 * c-pragma.c: Likewise.
2557
5f9e7dd5 25582012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2559
2560 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2561 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2562 (lang_decl_name): Handle namespace decls.
2563
b5369b7d 25642012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2565
2566 * c-ada-spec.c: Do not include output.h.
2567 * c-semantics.c: Likewise.
2568
8032877c 25692012-05-29 Joseph Myers <joseph@codesourcery.com>
2570
2571 * c-common.c: Fix typo.
2572
7843e4bc 25732012-05-29 Michael Matz <matz@suse.de>
2574
2575 * c-common.h (c_expand_decl): Remove prototype.
2576
8cf857d4 25772012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2578
2579 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2580 * c-opts.c (c_common_handle_option): Remove code handling
2581 warn_missing_braces.
2582
8b64dc3c 25832012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2584
2585 PR c++/25137
2586 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2587 -Wmissing_braces.
2588
43cbde16 25892012-05-22 Dodji Seketeli <dodji@redhat.com>
2590
2591 PR c++/53322
2592 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2593
db490cb6 25942012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2595
2596 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2597 * c-opts.c (c_common_handle_option): Do not handle explicitly
2598 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2599
a60f3e81 26002012-05-16 Dodji Seketeli <dodji@redhat.com>
2601
2602 PR preprocessor/7263
2603 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2604 to cpp_classify_number. For diagnostics, use the precise location
2605 instead of the global input_location.
2606
82e6ef7c 26072012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2608
cd4797ff 2609 PR c++/11856
82e6ef7c 2610 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2611
258a168d 26122012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2613
82e6ef7c 2614 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2615
d3b7ee7c 26162012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2617
2618 PR 53063
2619 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2620 Wreorder): Use LangEnabledBy.
2621 * c-opts.c (c_common_handle_option): Do not enable them
2622 explicitly. Call lang-specific generated functions.
2623 (c_common_post_options): Do not set them here.
2624
70059cea 26252012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2626
2627 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2628 Wmissing-field-initializers,Wmissing-parameter-type,
2629 Wold-style-declaration,Woverride-init): Use EnabledBy.
2630 * c-opts.c (c_common_post_options): Do not set here explicitly.
2631
fbb6fbd8 26322012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2633
2634 PR 53063
2635 * c-opts.c (c_common_handle_option): Use handle_generated_option
2636 to enable sub-options.
2637
61f69bc9 26382012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2639
2640 PR c++/53158
2641 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2642
5a1fe2db 26432012-05-10 Richard Guenther <rguenther@suse.de>
2644
2645 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2646 adjust commentary about TYPE_IS_SIZETYPE types.
2647
d42e7c5a 26482012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2649
2650 PR c++/53261
2651 * c-common.c (warn_logical_operator): Check that argument of
2652 integer_zerop is not NULL.
2653
686369e8 26542012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2655
2656 PR c/43772
2657 * c-common.c (warn_logical_operator): Do not warn if either side
2658 is already true or false.
2659
03fe1dc2 26602012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2661
2662 PR c/51712
2663 * c-common.c (expr_original_type): New.
2664 (shorten_compare): Do not warn for enumeration types.
2665
bba5a206 26662012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2667
2668 * c.opt (fpermissive): Add Var(flag_permissive).
2669
7059d45d 26702012-04-30 Marc Glisse <marc.glisse@inria.fr>
2671
2672 PR c++/51033
2673 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2674 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2675
7edb1062 26762012-04-30 Dodji Seketeli <dodji@redhat.com>
2677
2678 Add -Wvarargs option
2679 * c.opt (Wvarargs): Define new option.
2680
068bea1e 26812012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2682
2683 * c-common.c (check_function_arguments): Replace
2684 Wmissing-format-attribute with Wsuggest-attribute=format.
2685
b86527d8 26862012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2687
2688 * c.opt (Wsuggest-attribute=format): New. Alias of
2689 Wmissing-format-attribute.
2690 * c-format.c (decode_format_type): Replace
2691 Wmissing-format-attribute with Wsuggest-attribute=format.
2692 (check_function_format): Likewise.
2693
19931eea 26942012-04-27 Ollie Wild <aaw@google.com>
76d340ac 2695
2696 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2697 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2698 * c.opt: Add Wliteral-suffix.
2699
29438999 27002012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2701
2702 PR c/44774
2703 * c.opt (Wpedantic): New.
2704 (pedantic): Alias Wpedantic.
2705 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2706 (c_common_post_options): Likewise.
2707 (sanitize_cpp_opts): Likewise.
2708 * c-lex.c (interpret_float): Likewise.
2709 * c-format.c (check_format_types): Likewise.
2710 * c-common.c (pointer_int_sum): Likewise.
2711 (c_sizeof_or_alignof_type): Likewise.
2712 (c_add_case_label): Likewise.
2713 (c_do_switch_warnings): Likewise.
2714 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2715
4f9d6b8b 27162012-04-15 Jason Merrill <jason@redhat.com>
2717
2718 PR c++/52818
2719 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2720 (C_STD_NAME): Distinguish between C++98 and C++11.
2721
74bdbe96 27222012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2723
2724 PR target/52624
2725 * c-common.h (uint16_type_node): Rename into...
2726 (c_uint16_type_node): ...this.
2727 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2728 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2729
3d177e8c 27302012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2731
2732 * c-common.c (warn_if_unused_value): Move definition to here.
2733 * c-common.h (warn_if_unused_value): Move declaration to here.
2734
6a9a958f 27352012-03-23 William Bader <williambader@hotmail.com>
2736
2737 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2738
543efdbe 27392012-03-20 Jason Merrill <jason@redhat.com>
2740
2741 * c-common.h (enum cxx_dialect): Add cxx1y.
2742 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2743 test.
2744 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2745 * c-opts.c (c_common_post_options): Likewise.
2746 (set_std_cxx1y): New.
2747 (c_common_handle_option): Call it.
2748 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2749
62206d34 27502012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2751
2752 PR c++/14710
2753 * c.opt ([Wuseless-cast]): Add.
2754
fadf62f4 27552012-03-16 Richard Guenther <rguenther@suse.de>
2756
2757 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2758
249faa35 27592012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2760
2761 PR c++/44783
2762 * c.opt (ftemplate-backtrace-limit) Add.
2763
126b6848 27642012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2765
2766 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2767 handling.
2768 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2769 (init_pragma): Don't register extern_prefix.
2770
a51edb4c 27712012-03-12 Richard Guenther <rguenther@suse.de>
2772
2773 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2774 (builtin_type_for_size): Likewise.
2775
0f6a7cb7 27762012-02-13 Jakub Jelinek <jakub@redhat.com>
2777
2778 PR c++/52215
2779 * c-common.c (sync_resolve_params): Don't decide whether to convert
2780 or not based on TYPE_SIZE comparison, convert whenever arg_type
2781 is unsigned INTEGER_TYPE.
2782
0779e32c 27832012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2784
2785 PR c/52118
2786 * c.opt ([Wunused-local-typedefs]): Fix description.
2787
baec58e1 27882012-01-24 Mike Stump <mikestump@comcast.net>
2789
2790 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2791 exactly.
2792
c779d8cc 27932012-01-18 Richard Guenther <rguenther@suse.de>
2794
2795 * c-opts.c (c_common_post_options): Reset LTO flags if
2796 we are about to generate a PCH.
2797
ee917d24 27982012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2799
2800 PR c++/51777
2801 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2802 use pp_unsigned_wide_integer.
2803
90e2341f 28042012-01-10 Richard Guenther <rguenther@suse.de>
2805
2806 PR middle-end/51806
2807 * c-opts.c (c_common_handle_option): Move -Werror handling
2808 to language independent code.
2809
9ea022ce 28102012-01-05 Richard Guenther <rguenther@suse.de>
2811
2812 PR middle-end/51764
2813 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2814 from common.opt.
2815
3df19e1b 28162011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2817
2818 PR c++/51316
2819 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2820 of array types with an unknown bound.
2821
32074525 28222011-12-20 Joseph Myers <joseph@codesourcery.com>
2823
2824 * c-common.c (flag_isoc99): Update comment to refer to C11.
2825 (flag_isoc1x): Change to flag_isoc11.
2826 * c-common.h (flag_isoc99): Update comment to refer to C11.
2827 (flag_isoc1x): Change to flag_isoc11.
2828 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2829 C11.
2830 * c-opts.c (set_std_c1x): Change to set_std_c11.
2831 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2832 Call set_std_c11.
2833 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2834 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2835 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2836 standard.
2837 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2838 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2839 (std=gnu1x): Make alias of std=gnu11.
2840
fca86134 28412011-12-19 Jason Merrill <jason@redhat.com>
2842
2843 PR c++/51228
2844 * c-common.c (handle_transparent_union_attribute): Check the first
2845 field if the type is complete.
2846
aa4313eb 28472011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2848
2849 PR libstdc++/51365
2850 * c-common.c (RID_IS_FINAL): Add.
2851 * c-common.h (RID_IS_FINAL): Add.
2852
3f3d5ad4 28532011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2854
2855 * c.opt (fgnu-runtime): Provide full description.
2856 (fnext-runtime): Likewise.
2857 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2858
c4606d19 28592011-11-28 Andrew MacLeod <amacleod@redhat.com>
2860
2861 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2862 predefines in one place. Add LOCK_FREE predefines.
2863 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2864 new func.
2865
1d581089 28662011-11-24 Andrew MacLeod <amacleod@redhat.com>
2867
2868 PR c/51256
19931eea 2869 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 2870 conditions
19931eea 2871 (resolve_overloaded_atomic_exchange,
2872 resolve_overloaded_atomic_compare_exchange,
1d581089 2873 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2874 error_mark_node for error conditions.
19931eea 2875
6aa221fa 28762011-11-08 Richard Guenther <rguenther@suse.de>
2877
2878 PR middle-end/51010
2879 c-family/
2880
4c0315d0 28812011-11-07 Richard Henderson <rth@redhat.com>
2882 Aldy Hernandez <aldyh@redhat.com>
2883 Torvald Riegel <triegel@redhat.com>
2884
2885 Merged from transactional-memory.
2886
2887 * c-common.c (handle_tm_wrap_attribute,
2888 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2889 (struct c_common_reswords): Added __transaction* keywords.
2890 (struct c_common_attribute_table): Added transaction* and tm_regparm
2891 attributes.
2892 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2893 masks.
2894 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2895 find_tm_attribute): Declare.
2896
920f5a70 28972011-11-07 Jason Merrill <jason@redhat.com>
2898
2899 PR c++/35688
2900 * c-common.c, c-common.h: Revert yesterday's changes.
2901
b4f861b4 29022011-11-06 Jason Merrill <jason@redhat.com>
2903
2904 PR c++/35688
2905 * c-common.c (decl_has_visibility_attr): Split out from...
2906 (c_determine_visibility): ...here.
2907 * c-common.h: Declare it.
2908
83e25171 29092011-11-06 Joseph Myers <joseph@codesourcery.com>
2910
2911 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2912 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2913 type.
2914 (check_user_alignment): New. Split out of
2915 handle_aligned_attribute. Disallow integer constants with
2916 noninteger types. Conditionally allow zero.
2917 (handle_aligned_attribute): Use check_user_alignment.
2918 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2919
1cd6e20d 29202011-11-06 Andrew MacLeod <amacleod@redhat.com>
2921 Richard Henderson <rth@redhat.com>
2922
2923 Merged from cxx-mem-model.
2924
2925 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 2926 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 2927 parameters that are the same type size.
2928 (get_atomic_generic_size): New. Find size of generic
2929 atomic function parameters and do typechecking.
2930 (add_atomic_size_parameter): New. Insert size into parameter list.
2931 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2932 either __atomic_exchange_n or external library call.
19931eea 2933 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 2934 __atomic_compare_exchange to either _n variant or external library call.
19931eea 2935 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 2936 __atomic_load_n or an external library call.
2937 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2938 __atomic_store_n or an external library call.
2939 (resolve_overloaded_builtin): Handle new __atomic builtins.
2940
7549df0d 29412011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2942
2943 PR c++/50608
2944 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2945 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2946 <INDIRECT_REF>: Return the argument.
2947 <ARRAY_REF>: Remove special code for negative offset.
2948 Call fold_build_pointer_plus instead of size_binop.
2949 (fold_offsetof): Remove STOP_REF argument and adjust.
2950 * c-common.h (fold_offsetof_1): Declare.
2951 (fold_offsetof): Remove STOP_REF argument.
2952
7e783eb3 29532011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2954
2955 PR c++/50810
2956 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2957 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2958 Wnarrowing for C++0x and C++98.
2959 * c.opt ([Wnarrowing]): Update.
2960
8fe701f5 29612011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2962
2963 PR c++/44277
2964 * c.opt: Add Wzero-as-null-pointer-constant.
2965
0d84dc2d 29662011-10-31 Jason Merrill <jason@redhat.com>
2967
67031f52 2968 * c.opt (-fdeduce-init-list): Off by default.
2969
0d84dc2d 2970 PR c++/50920
2971 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2972 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2973 and -Wc++11-compat.
2974 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2975
66f24c41 29762011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2977
2978 PR c++/30066
2979 * c.opt (fvisibility-inlines-hidden): Description change.
2980
244db24d 29812011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
2982
2983 Implement C++11 user-defined literals.
2984 * c-common.c (build_userdef_literal): New.
2985 * c-common.def: New tree code.
2986 * c-common.h (tree_userdef_literal): New tree struct and accessors.
2987 * c-lex.c (interpret_float): Add suffix parm.
2988 (c_lex_with_flags): Build literal tokens.
2989
235be70f 29902011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2991
2992 PR c++/50841
2993 Revert:
2994 2011-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
4fe0fb1c 30022011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3003
3004 PR c++/50810
3005 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3006 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3007 Wnarrowing for C++0x and C++98.
3008 * c.opt ([Wnarrowing]): Update.
3009
5f7504f9 30102011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3011
3012 PR c++/45385
3013 * c-common.c (conversion_warning): Remove code looking for
3014 artificial operands.
3015
2a688977 30162011-10-18 Dodji Seketeli <dodji@redhat.com>
3017
3018 PR bootstrap/50760
3019 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 3020 !NO_IMPLICIT_EXTERN_C.
2a688977 3021
326e3391 30222011-10-17 Michael Spertus <mike_spertus@symantec.com>
3023
3024 * c-common.c (c_common_reswords): Add __bases,
3025 __direct_bases.
3026 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3027
30282011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3029
3030 PR c++/50757
3031 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3032
62db153a 30332011-10-15 Tom Tromey <tromey@redhat.com>
3034 Dodji Seketeli <dodji@redhat.com>
3035
3036 * c.opt (fdebug-cpp): New option.
3037 * c-opts.c (c_common_handle_option): Handle the option.
3038 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3039 output stream in parameter. Factorized from ...
3040 (maybe_print_line): ... this. Dump location debug information when
3041 -fdebug-cpp is in effect.
3042 (print_line_1): New static function. Takes an output stream in
3043 parameter. Factorized from ...
3044 (print_line): ... here. Dump location information when -fdebug-cpp
3045 is in effect.
3046 (scan_translation_unit): Dump location information when
3047 -fdebug-cpp is in effect.
3048
ce70f433 30492011-10-15 Tom Tromey <tromey@redhat.com>
3050 Dodji Seketeli <dodji@redhat.com>
3051
3052 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3053 without argument.
3054 * c-opts.c (c_common_handle_option)<case
3055 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3056 cases. Handle -ftrack-macro-expansion with and without argument.
3057
97bfb9ef 30582011-10-15 Tom Tromey <tromey@redhat.com>
3059 Dodji Seketeli <dodji@redhat.com>
3060
3061 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3062 (print_line, cb_define, do_line_change): Adjust to avoid touching
3063 the internals of struct line_map. Use the public API instead.
3064 * c-pch.c (c_common_read_pch): Likewise.
3065 * c-lex.c (fe_file_change): Likewise.
3066
326e3391 30672011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3068
3069 PR c++/17212
3070 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3071
30722011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3073
3074 PR c++/33067
3075 * c-pretty-print.c (pp_c_floating_constant): Output
3076 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3077
b9a16870 30782011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3079
3080 * c-common.c (def_builtin_1): Delete old interface with two
3081 parallel arrays to hold standard builtin declarations, and replace
3082 it with a function based interface that can support creating
3083 builtins on the fly in the future. Change all uses, and poison
3084 the old names. Make sure 0 is not a legitimate builtin index.
3085 * c-omp.c (c_finish_omp_barrier): Ditto.
3086 (c_finish_omp_taskwait): Ditto.
3087 (c_finish_omp_flush): Ditto.
3088
c7964868 30892011-10-11 Tristan Gingold <gingold@adacore.com>
3090
3091 * c.opt: (fallow-parameterless-variadic-functions): New.
3092
a4e3ffad 30932011-09-08 Dodji Seketeli <dodji@redhat.com>
3094
3095 PR c++/33255 - Support -Wunused-local-typedefs warning
3096 * c-common.h (struct c_language_function::local_typedefs): New
3097 field.
19931eea 3098 (record_locally_defined_typedef, maybe_record_typedef_use)
3099 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 3100 * c-common.c (record_locally_defined_typedef)
19931eea 3101 (maybe_record_typedef_use)
3102 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 3103 * c.opt: Declare new -Wunused-local-typedefs flag.
3104
737a23cc 31052011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3106
3107 PR middle-end/50266
3108 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3109 computations.
3110
7542c3b4 31112011-09-05 Richard Guenther <rguenther@suse.de>
3112
3113 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3114 of integer_minus_one_node for empty array upper bounds.
3115
1dc92c59 31162011-08-28 Dodji Seketeli <dodji@redhat.com>
3117
3118 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3119 it's the first time it's being called on this main TU.
3120
2bdf2b6e 31212011-08-24 Richard Guenther <rguenther@suse.de>
3122
3123 PR c/49396
3124 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3125
31262011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 3127
3128 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3129 defined in cpp_init_builtins and c_cpp_builtins.
3130
bff4ad11 31312011-08-19 Joseph Myers <joseph@codesourcery.com>
3132
3133 * c-common.c (c_common_reswords): Add __builtin_complex.
3134 * c-common.h (RID_BUILTIN_COMPLEX): New.
3135
985c6e3a 31362011-08-18 Joseph Myers <joseph@codesourcery.com>
3137
3138 * c-common.c (c_common_reswords): Add _Noreturn.
3139 (keyword_is_function_specifier): Handle RID_NORETURN.
3140 * c-common.h (RID_NORETURN): New.
3141
7dfa155b 31422011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3143
3144 * c-common.c (unsafe_conversion_p): New function. Check if it is
3145 unsafe to convert an expression to the type.
3146 (conversion_warning): Adjust, use unsafe_conversion_p.
3147 * c-common.h (unsafe_conversion_p): New function declaration.
3148
2169f33b 31492011-08-02 Jakub Jelinek <jakub@redhat.com>
3150
3151 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3152 (c_finish_omp_taskyield): New prototype.
3153 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3154 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3155 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3156 or RHS1 have side-effects, evaluate those too in the right spot,
3157 if it is a decl and LHS is also a decl, error out if they
3158 aren't the same.
3159 (c_finish_omp_taskyield): New function.
3160 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3161 * c-pragma.c (omp_pragmas): Add taskyield.
3162 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3163 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3164 PRAGMA_OMP_CLAUSE_MERGEABLE.
3165
ab77850e 31662011-07-25 Dodji Seketeli <dodji@redhat.com>
3167
3168 * c-common.h (set_underlying_type): Remove parm name from
3169 declaration.
3170
6ee97920 31712011-07-25 Romain Geissler <romain.geissler@gmail.com>
3172
3173 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3174
dc251364 31752011-07-22 Jason Merrill <jason@redhat.com>
3176
1a2a35f0 3177 PR c++/49793
3178 * c.opt (Wnarrowing): New.
3179
27282252 3180 PR c++/30112
3181 * c-common.h: Declare c_linkage_bindings.
3182 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3183
dc251364 3184 PR c++/49813
3185 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3186 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3187 as flag_isoc99 for 'restrict'.
3188 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3189
fc501191 31902011-07-21 Ian Lance Taylor <iant@google.com>
3191
3192 PR middle-end/49705
3193 * c-common.c (c_disable_warnings): New static function.
3194 (c_enable_warnings): New static function.
3195 (c_fully_fold_internal): Change local unused_p to bool. Call
3196 c_disable_warnings and c_enable_warnings rather than change
3197 c_inhibit_evaluation_warnings.
3198
07b8f133 31992011-07-20 Jason Merrill <jason@redhat.com>
3200
3201 PR c++/6709 (DR 743)
3202 PR c++/42603 (DR 950)
3203 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3204 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3205 (CPP_DECLTYPE): New.
3206 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3207
2cc66f2a 32082011-07-19 Richard Guenther <rguenther@suse.de>
3209
3210 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3211 * c-omp.c (c_finish_omp_for): Likewise.
3212
3c802a1e 32132011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3214
3215 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3216 body on the next line.
3217
98a33d9f 32182011-07-08 Jason Merrill <jason@redhat.com>
3219
3115bda0 3220 PR c++/45437
3221 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3222
98a33d9f 3223 PR c++/49673
3224 * c-common.c (c_apply_type_quals_to_decl): Don't check
3225 TYPE_NEEDS_CONSTRUCTING.
3226
c38a75b7 32272011-07-06 Richard Guenther <rguenther@suse.de>
3228
3229 * c-common.c (c_common_nodes_and_builtins):
3230 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3231
e593356b 32322011-07-05 Richard Guenther <rguenther@suse.de>
3233
3234 * c-common.c (c_common_nodes_and_builtins): Build all common
3235 tree nodes first.
3236
fca0886c 32372011-06-27 Jakub Jelinek <jakub@redhat.com>
3238
a68f7a8d 3239 * c-common.h (c_tree_chain_next): New static inline function.
3240
fca0886c 3241 * c-common.c (check_builtin_function_arguments): Handle
3242 BUILT_IN_ASSUME_ALIGNED.
3243
2797f13a 32442011-06-21 Andrew MacLeod <amacleod@redhat.com>
3245
3246 * c-common.c: Add sync_ or SYNC__ to builtin names.
3247 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3248
32492011-06-20 Pierre Vittet <piervit@pvittet.com>
3250
3251 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3252 handler.
3253 (gen_pragma_handler): New union.
3254 (internal_pragma_handler): New type.
3255 (c_register_pragma_with_data)
3256 (c_register_pragma_with_expansion_and_data): New functions.
3257
3258 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3259 (c_register_pragma, c_register_pragma_with_expansion)
3260 (c_invoke_pragma_handler): Changed to work with
3261 internal_pragma_handler.
3262 (c_register_pragma_with_data)
3263 (c_register_pragma_with_expansion_and_data): New functions.
3264
218e3e4e 32652011-06-14 Joseph Myers <joseph@codesourcery.com>
3266
3267 * c-common.c: Include common/common-target.h.
3268 (handle_section_attribute): Use
3269 targetm_common.have_named_sections.
3270 * c-cppbuiltin.c: Include common/common-target.h.
3271 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3272
41e53ed2 32732011-06-10 Richard Guenther <rguenther@suse.de>
3274
3275 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3276 to print a IDENTIFIER_NODE.
3277
a6f06169 32782011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3279 Joseph Myers <joseph@codesourcery.com>
3280
3281 * c.opt (fbuilding-libgcc): New option.
3282 * c-cppbuiltin.c (c_cpp_builtins): Define
3283 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3284
1ea9269b 32852011-06-07 Jason Merrill <jason@redhat.com>
3286
8ce59854 3287 * c-common.c (max_tinst_depth): Lower default to 900.
3288
1ea9269b 3289 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3290
1af0124d 32912011-06-07 Richard Guenther <rguenther@suse.de>
3292
3293 * c-common.c (c_common_nodes_and_builtins): Do not set
3294 size_type_node or call set_sizetype.
3295
0e9a4c01 32962011-06-07 Dodji Seketeli <dodji@redhat.com>
3297
3298 PR debug/49130
3299 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3300 type when using pointer comparison to compare types.
0e9a4c01 3301
90b40725 33022011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3303
3304 * c.opt: Add -Wdelete-non-virtual-dtor.
3305 * c-opts.c (c_common_handle_option): Include it in -Wall.
3306
fc9c9e87 33072011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3308
3309 PR bootstrap/49190
3310
3311 Revert:
3312 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3313
3314 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3315 not tree_common.
3316
d0389adc 33172011-05-27 Jakub Jelinek <jakub@redhat.com>
3318
3319 PR c++/49165
3320 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3321 C++ don't call c_common_truthvalue_conversion on void type arms.
3322
cacfdc02 33232011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3324
3325 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3326 (stmt_list_stack): Define.
3327 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3328 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3329
027fc6ef 33302011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3331
3332 * c-common.c (warning_candidate_p): Check for BLOCKs.
3333
f21317a1 33342011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3335
3336 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3337 not tree_common.
3338
789e953d 33392011-05-25 Jakub Jelinek <jakub@redhat.com>
3340
3341 * c-common.c (def_fn_type): Remove extra va_end.
3342
7f506bca 33432011-05-23 Jason Merrill <jason@redhat.com>
3344
3345 PR c++/48106
3346 * c-common.c (c_common_get_narrower): New.
3347 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3348
774e9d58 33492011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3350
3351 * c-common.h (check_function_arguments): Tweak prototype of
3352 check_function_arguments.
3353 * c-common.c (check_function_arguments): Likewise. Adjust
3354 calls to check_function_nonnull, check_function_format, and
3355 check_function_sentinel.
3356 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3357 separate attributes and typelist arguments. Use
3358 FOREACH_FUNCTION_ARGS to iterate over argument types.
3359
23407dc9 33602011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3361
3362 * c-common.c (c_common_reswords): Reorder.
3363 * c-common.h (rid): Likewise.
3364
3a939d12 33652011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3366
3367 * c-common.c (def_fn_type): Don't call build_function_type, call
3368 build_function_type_array or build_varargs_function_type_array
3369 instead.
3370 (c_common_nodes_and_builtins): Likewise.
3371
b6e3dd65 33722011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3373
3374 * c-common.c (c_add_case_label): Omit the loc argument to
3375 build_case_label.
3376 * c-common.h (build_case_label): Remove.
3377 * c-semantics.c (build_case_label): Remove.
3378
4232a958 33792011-05-05 Joseph Myers <joseph@codesourcery.com>
3380
3381 * c-objc.h (objc_start_method_definition): Update prototype.
3382 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3383
d0af78c5 33842011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3385
3386 * c-common.c (check_main_parameter_types): Reindent. Don't use
3387 TYPE_ARG_TYPES directly.
3388 (handle_nonnull_attribute): Likewise.
3389 (sync_resolve_params): Likewise.
3390 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3391 to check_format_string.
3392 (handle_format_attribute): Likewise.
3393 (check_format_string): Take a function type to examine instead of
3394 a type list. Use a function_arg_iterator to step through argument
3395 types.
3396
ceb7b692 33972011-05-04 Richard Guenther <rguenther@suse.de>
3398
3399 * c-common.c (fix_string_type): Use size_int for index type bounds.
3400 (start_fname_decls): Do not pass NULL to build_int_cst.
3401 (c_init_attributes): Likewise.
3402 * c-lex.c (c_lex_with_flags): Likewise.
3403
c66c81be 34042011-04-27 Jason Merrill <jason@redhat.com>
3405
3406 * c-common.c (make_tree_vector_from_list): New.
3407 * c-common.h: Declare it.
3408
16930c72 34092011-04-26 Richard Guenther <rguenther@suse.de>
3410
3411 PR preprocessor/48248
3412 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3413 for output size with -P.
3414
23407dc9 34152011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3416
3417 * c-common.c (struct c_common_resword): Add __underlying_type.
3418 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3419
dd045aee 34202011-04-20 Jim Meyering <meyering@redhat.com>
3421
3422 * c-format.c (init_dollar_format_checking): Remove useless
3423 if-before-free.
3424
394dd737 34252011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3426
3427 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3428 (objc_detect_field_duplicates): New.
394dd737 3429 * stub-objc.c: Likewise.
23407dc9 3430
a758bf7d 34312011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3432
3433 * stub-objc.c (objc_declare_protocols): Renamed to
3434 objc_declare_protocol.
3435 * c-objc.h: Likewise.
23407dc9 3436
29d7200d 34372011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3438
3439 * stub-objc.c (objc_declare_class): Updated argument name.
3440
9b88d08d 34412011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3442
3443 * c-common.h (c_common_init_ts): Declare.
3444 * c-common.c (c_common_init_ts): Define.
3445
4185cf58 34462011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3447
3448 * c-objc.h (objc_build_message_expr): Updated prototype.
3449 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 3450
5a90471f 34512011-04-12 Martin Jambor <mjambor@suse.cz>
3452
3453 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3454 of cgraph_node.
3455
783bb57e 34562011-04-11 Richard Guenther <rguenther@suse.de>
3457
3458 * c-common.c (complete_array_type): Build a range type of
3459 proper type.
3460
c33080b9 34612011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3462
3463 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3464 (handle_type_generic_attribute): Likewise.
3465
f8913d47 34662011-04-07 Jason Merrill <jason@redhat.com>
3467
3468 PR c++/48450
3469 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3470 conversion from C++0x scoped enum.
3471
c94b1d0e 34722011-04-06 Joseph Myers <joseph@codesourcery.com>
3473
3474 * c-target-def.h: New file.
3475 * c-target.def: New file.
3476 * c-target.h: New file.
3477 * c-common.c (targetcm): Don't define here.
3478 * c-common.h (default_handle_c_option): Declare.
3479 * c-format.c: Include c-target.h instead of target.h.
3480 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3481 include tm.h.
3482 (default_handle_c_option): Move from targhooks.c.
3483
acb10f41 34842011-03-29 Jakub Jelinek <jakub@redhat.com>
3485
3486 PR preprocessor/48248
3487 * c-ppoutput.c (print): Add src_file field.
3488 (init_pp_output): Initialize it.
3489 (maybe_print_line): Don't optimize by adding up to 8 newlines
3490 if map->to_file and print.src_file are different file.
3491 (print_line): Update print.src_file.
3492
82715bcd 34932011-03-25 Kai Tietz <ktietz@redhat.com>
3494
3495 * c-ada-spec.c (compare_comment): Use filename_cmp
3496 instead of strcmp for filename.
3497
451c8e2f 34982011-03-25 Jeff Law <law@redhat.com>
3499
3500 * c-family/c-common.c (def_fn_type): Add missing va_end.
3501
3c47771c 35022011-03-25 Jason Merrill <jason@redhat.com>
3503
3504 * c.opt: Add -std=c++03.
3505
97e6200f 35062011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3507
3508 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3509
ac86af5d 35102011-03-17 Kai Tietz
3511
3512 PR target/12171
ee212425 3513 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3514 Display allowed attributes for function pointer types.
3515 (pp_c_attributes_display): New function to display
3516 attributes having affects_type_identity flag set to true.
3517 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3518
ac86af5d 3519 * c-common.c (c_common_attribute_table):
3520 Add new element.
3521 (c_common_format_attribute_table): Likewise.
3522
914d1151 35232011-03-18 Jason Merrill <jason@redhat.com>
3524
69788bdf 3525 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3526 * c-common.h: Don't declare it here.
3527 * c-common.c: Or define it here.
3528 * c-opts.c (c_common_handle_option): Or set it here.
3529
914d1151 3530 PR c++/35315
3531 * c-common.c (handle_transparent_union_attribute): Don't
3532 make a duplicate type in C++.
3533
54cf6eed 35342011-03-15 Jason Merrill <jason@redhat.com>
3535
3536 * c-common.c (max_constexpr_depth): New.
3537 * c-common.h: Declare it.
3538 * c-opts.c (c_common_handle_option): Set it.
3539 * c.opt (fconstexpr-depth): New option.
3540
02cb1060 35412011-03-11 Jason Merrill <jason@redhat.com>
3542
9bf1c74e 3543 * c-common.c (attribute_takes_identifier_p): Add missing const.
3544
02cb1060 3545 PR c++/46803
3546 * c-common.c (attribute_takes_identifier_p): Assume that an
3547 unknown attribute takes an identifier.
3548
ecf2703d 35492011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3550
3551 PR c/47786
3552 * c-common.c (c_type_hash): Call list_length instead of iterating
3553 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3554
2b19dfe4 35552011-02-19 Jakub Jelinek <jakub@redhat.com>
3556
3557 PR c/47809
3558 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3559
29cf2335 35602011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3561
3562 * c.opt (fobjc-abi-version=) New.
3563 (fobjc-nilcheck): New.
3564
fad3f658 35652011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3566
3567 PR c++/46890
3568 * c-common.h (keyword_is_decl_specifier): Declare.
3569 * c-common.c (keyword_is_decl_specifier): Define.
3570 (keyword_is_function_specifier): New function.
3571
a12319b3 35722011-01-26 Jakub Jelinek <jakub@redhat.com>
3573
3574 PR c/47473
3575 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3576 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3577 REAL_TYPE.
3578
5c128dc8 35792011-01-26 Arnaud Charlet <charlet@adacore.com>
3580
3581 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3582
8d67b0c7 35832011-01-26 Jakub Jelinek <jakub@redhat.com>
3584
3585 PR pch/47430
3586 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3587 after init_c_lex if pch_file is set.
3588
0675168d 35892011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3590
e8911163 3591 PR c++/43601
0675168d 3592 * c.opt (-fkeep-inline-dllexport): New switch.
3593
0725e25c 35942011-01-12 Richard Guenther <rguenther@suse.de>
3595
3596 PR middle-end/32511
3597 * c-common.c (handle_weak_attribute): Warn instead of error
3598 on declaring an inline function weak.
3599
fdd84b77 36002011-01-05 Tom Tromey <tromey@redhat.com>
3601
3602 * c-common.h (lvalue_error): Update.
3603 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3604 not error.
3605
e6e73d14 36062010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3607
d67e8485 3608 PR objc/47075
3609 * c-objc.h (objc_finish_message_expr): Added argument to
3610 prototype.
3611
a36cf284 36122010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3613
3614 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3615 Use prototype_p.
3616
33b3681f 36172010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3618
3619 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3620 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3621
a1f90215 36222010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3623
3624 * c-common.h (readonly_error): Declare.
3625 * c-common.c (readonly_error): Define.
3626
b1bbc8e5 36272010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3628
3629 * c-common.h (invalid_indirection_error): Declare.
3630 * c-common.c (invalid_indirection_error): Define.
3631
b0d55af9 36322010-12-03 Richard Guenther <rguenther@suse.de>
3633
3634 PR c/46745
3635 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3636 (pp_c_unary_expression): Likewise.
3637 (pp_c_expression): Likewise.
3638
d7489d8d 36392010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3640
3641 * c-common.h (objc_finish_function): New.
3642 (objc_non_volatilized_type): Removed.
3643 (objc_type_quals_match): Removed.
3644 * stub-objc.c (objc_finish_function): New.
3645 (objc_non_volatilized_type): Removed.
3646 (objc_type_quals_match): Removed.
19931eea 3647
92468061 36482010-11-30 Joseph Myers <joseph@codesourcery.com>
3649
3650 * c-common.h (parse_optimize_options): Declare.
3651 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3652 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3653
967958e4 36542010-11-29 Joseph Myers <joseph@codesourcery.com>
3655
3656 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3657 GET_ENVIRONMENT.
3658 * c-pch.c (O_BINARY): Don't define here.
3659 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3660
b213bf24 36612010-11-25 Joseph Myers <joseph@codesourcery.com>
3662
3663 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3664 targetm.except_unwind_info.
3665
9faf44d6 36662010-11-23 Joseph Myers <joseph@codesourcery.com>
3667
3668 * c-opts.c (c_common_handle_option): Pass location to
3669 set_struct_debug_option.
3670
79396169 36712010-11-23 Joseph Myers <joseph@codesourcery.com>
3672
3673 * c-common.c (visibility_options): Move from ../opts.c.
3674 * c-common.h (struct visibility_flags, visibility_options):
3675 Declare here.
3676 * c-opts.c (finish_options): Rename to c_finish_options.
3677 (c_common_init): Update call to finish_options.
3678
b4aa4123 36792010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3680
3681 PR objc/34033
3682 * c-lex.c (lex_string): Check that each string in an Objective-C
3683 string concat sequence starts with either one or zero '@', and
3684 that there are no spurious '@' signs at the end.
3685
3e0e49f2 36862010-11-20 Joseph Myers <joseph@codesourcery.com>
3687
3688 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3689 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3690 HANDLE_PRAGMA_VISIBILITY.
3691 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3692 HANDLE_PRAGMA_VISIBILITY): Don't define.
3693 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3694
a9ffdd35 36952010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3696
3697 PR c++/16189
3698 PR c++/36888
3699 PR c++/45331
3700 * c-common.h (keyword_begins_type_specifier): Declare.
3701 (keyword_is_storage_class_specifier): Declare.
3702 (keyword_is_type_qualifier): Declare.
3703 * c-common.c (keyword_begins_type_specifier): New function.
3704 (keyword_is_storage_class_specifier): New function.
3705 (keyword_is_type_qualifier): Declare.
3706
93be21c0 37072010-11-19 Joseph Myers <joseph@codesourcery.com>
3708
3709 PR c/46547
3710 * c-common.c (in_late_binary_op): Define.
3711 (c_common_truthvalue_conversion): Check in_late_binary_op before
3712 calling c_save_expr.
3713 * c-common.h (in_late_binary_op): Declare.
3714
d7175aef 37152010-11-19 Joseph Myers <joseph@codesourcery.com>
3716
3717 * c-opts.c (c_common_handle_option): Update calls to
3718 set_struct_debug_option.
3719
c213e196 37202010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3721
3722 * c-common.h (objc_declare_protocols): Added additional argument.
3723 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 3724
0b5fc5d6 37252010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3726
3727 PR c/33193
3728 * c-common.h (build_real_imag_expr): Declare.
3729 * c-semantics.c (build_real_imag_expr): Define.
3730
b8ba44e7 37312010-11-17 Joseph Myers <joseph@codesourcery.com>
3732
3733 * c-opts.c (c_common_parse_file): Take no arguments.
3734 * c-common.h (c_common_parse_file): Update prototype.
3735
6ef8d12f 37362010-11-16 Jakub Jelinek <jakub@redhat.com>
3737
3738 PR c++/46401
3739 * c-common.c (warning_candidate_p): Don't track non-const calls
3740 or STRING_CSTs.
3741
929d2a90 37422010-11-15 Ian Lance Taylor <iant@google.com>
3743
3744 * c-lex.c (init_c_lex): Set macro debug callbacks if
3745 flag_dump_go_spec is set.
3746
e4a7640a 37472010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3748
3749 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3750 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3751
597d2d81 37522010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3753
3754 PR preprocessor/45038
3755 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3756 dialects.
3757
c123f04d 37582010-11-12 Joseph Myers <joseph@codesourcery.com>
3759
3760 * c-common.h (c_family_lang_mask): Declare.
3761 * c-opts.c (c_family_lang_mask): Make extern.
3762 * c-pragma.c (handle_pragma_diagnostic): Use
3763 control_warning_option.
3764
3c6c0e40 37652010-11-12 Joseph Myers <joseph@codesourcery.com>
3766
3767 * c-common.c (parse_optimize_options): Update call to
3768 decode_options.
3769 * c-common.h (c_common_handle_option): Update prototype.
3770 * c-opts.c (c_common_handle_option): Take location_t parameter and
3771 pass it to other functions.
3772
19ec5c9e 37732010-11-11 Joseph Myers <joseph@codesourcery.com>
3774
3775 * c-opts.c (warning_as_error_callback): Remove.
3776 (c_common_initialize_diagnostics): Don't call
3777 register_warning_as_error_callback.
3778 (c_common_handle_option): Handle -Werror=normalized= here.
3779
bf776685 37802010-11-10 Joseph Myers <joseph@codesourcery.com>
3781
3782 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3783 in diagnostic.
3784 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3785 letter.
3786 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3787 Remove trailing '.' from diagnostics.
3788 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3789
6bd9d862 37902010-11-10 Joseph Myers <joseph@codesourcery.com>
3791
3792 * c-common.c (parse_optimize_options): Pass global_dc to
3793 decode_options.
3794 * c-opts.c (c_common_handle_option): Pass &global_options to
3795 set_Wstrict_aliasing.
3796 * c.opt (v): Don't mark Common or document here.
3797
1f6616ee 37982010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3799
3800 PR target/44981
3801 * c-format.c (format_type): New type gcc_objc_string_format_type.
3802 (valid_stringptr_type_p): New.
3803 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 3804 (check_format_string): Pass expected type, use
1f6616ee 3805 valid_stringptr_type_p (), check that the format string types are
3806 consistent with the format specification.
3807 (decode_format_attr): Warn if NSString is used outside objective-c.
3808 (format_types_orig): Add NSString.
3809 (format_name): New.
3810 (format_flags): New.
3811 (check_format_arg): Handle format strings requiring an external parser.
3812 first_target_format_type: New variable.
3813 (handle_format_attribute): Set up first_target_format_type, pass the
3814 expected format arg string type to check_format_string().
3815 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3816 * stub-objc.c (objc_string_ref_type_p): New.
3817 (objc_check_format_arg): New.
3818
b0d0931f 38192010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3820
19931eea 3821 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 3822 * c-common.h (objc_build_class_component_ref): New.
3823 * stub-objc.c (objc_build_class_component_ref): New.
3824
f26877d5 38252010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3826
3827 * c.opt (Wproperty-assign-default): New option.
3828
1ef143b6 38292010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3830
3831 Implemented -fobjc-std=objc1 flag.
3832 * c.opt (fobjc-std=objc1): New option.
3833
8c582e4f 38342010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3835
3836 Implemented format and noreturn attributes for Objective-C methods.
3837 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3838 attribute for Objective-C methods.
3839
8637f1db 38402010-10-31 Jason Merrill <jason@redhat.com>
3841
3842 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3843 EXPR_LOC_OR_HERE.
3844
9d9f5bb3 38452010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3846
3847 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3848 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3849 (objc_add_property_declaration): Removed arguments for copies and
3850 ivar.
3851 (objc_build_getter_call): Renamed to
3852 objc_maybe_build_component_ref.
3853 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3854 (objc_is_property_ref): New.
3855 * c-common.c (c_common_reswords): Removed copies and ivar.
3856 * stub-objc.c (objc_add_property_declaration): Removed arguments
3857 for copies and ivar.
3858 (objc_build_getter_call): Renamed to
3859 objc_maybe_build_component_ref.
3860 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3861 (objc_is_property_ref): New.
19931eea 3862
56f907a0 38632010-10-29 Arnaud Charlet <charlet@adacore.com>
3864 Matthew Gingell <gingell@adacore.com>
3865
3866 * c-ada-spec.c (separate_class_package): New function.
3867 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3868 name of their enclosing package.
3869 (print_ada_declaration): Use separate_class_package.
3870
b5fa273e 38712010-10-27 Jason Merrill <jason@redhat.com>
3872
5290e253 3873 * c-common.c (c_common_reswords): Add __is_literal_type.
3874 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3875
b5fa273e 3876 * c-common.c (check_case_value): Remove special C++ code.
3877
7590f0e5 38782010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3879
3880 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3881 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3882 and RID_LAST_PATTR.
3883 (objc_add_property_declaration): Added additional arguments.
3884 (objc_property_attribute_kind): Removed.
3885 (objc_set_property_attr): Removed.
3886 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3887 copy and nonatomic.
3888 * stub-objc.c (objc_add_property_declaration): Added additional
3889 arguments.
3890 (objc_set_property_attr): Removed.
19931eea 3891
1d894bcf 38922010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3893
3894 * c-common.h (objc_add_property_variable): Renamed to
3895 objc_add_property_declaration. Added location argument.
3896 * stub-objc.c (objc_add_property_variable): Same change.
3897
e23bf1fb 38982010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3899
3900 * c-common.h (objc_maybe_printable_name): New.
3901 * stub-objc.c (objc_maybe_printable_name): New.
3902
93426222 39032010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3904 Andrew Pinski <pinskia@gmail.com>
3905
3906 * c-common.h (c_common_mark_addressable_vec): Declare.
3907 * c-common.c (c_common_mark_addressable_vec): New function.
3908
45b2b110 39092010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3910
3911 * c-common.h (objc_set_method_type): Removed.
3912 (objc_add_method_declaration): Added boolean argument.
3913 (objc_start_method_definition): Same change.
3914 (objc_build_method_signature): Same change.
3915 * stub-objc.c (objc_set_method_type): Removed.
3916 (objc_add_method_declaration): Added boolean argument.
3917 (objc_start_method_definition): Same change.
3918 (objc_build_method_signature): Same change.
3919
64cd9619 39202010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3921
3922 * c-common.h (finish_file): Removed.
3923 (objc_write_global_declarations): New.
3924 * c-opts.c (c_common_parse_file): Do not call finish_file.
3925 * stub-objc.c (objc_write_global_declarations): New.
19931eea 3926
e1f293c0 39272010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3928
3929 Implemented parsing @synthesize and @dynamic for
3930 Objective-C/Objective-C++.
3931 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3932 (objc_add_synthesize_declaration): New.
3933 (objc_add_dynamic_declaration): New.
3934 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3935 * stub-objc.c (objc_add_synthesize_declaration): New.
3936 (objc_add_dynamic_declaration): New.
19931eea 3937
ef97a312 39382010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3939
3940 PR target/46041
3941 * c-cppbuiltin.c (mode_has_fma): Move function here from
3942 builtins.c. Don't use the fma optab, instead just use the
3943 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3944 using -save-temps.
3945
69b07042 39462010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3947
3948 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 3949
69b07042 3950 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3951
19931eea 3952 Radar 4330422
69b07042 3953 * c-common.h (objc_non_volatilized_type): New declaration
3954 * stub-objc.c (objc_non_volatilized_type): New stub.
3955
f15f2e56 39562010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3957
69b07042 3958 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 3959
3960 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3961
19931eea 3962 Radar 4133425
f15f2e56 3963 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 3964 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 3965
4a8875ed 39662010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3967
3968 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3969 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3970 (objc_ivar_visibility_kind): New enum.
3971 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 3972 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 3973 visibility enum.
3974
7e0713b1 39752010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3976
3977 * c-cppbuiltin.c (builtin_define_float_constants): Emit
3978 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3979 has the appropriate fma builtins.
3980 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3981
86c110ac 39822010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3983
7e0713b1 3984 merge from FSF apple 'trunk' branch.
86c110ac 3985 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 3986
86c110ac 3987 Radars 4436866, 4505126, 4506903, 4517826
3988 * c-common.c (c_common_resword): Define @property and its attributes.
3989 * c-common.h: Define property attribute enum entries.
3990 (OBJC_IS_PATTR_KEYWORD): New.
3991 (objc_property_attribute_kind): New enum.
3992 Declare objc_set_property_attr (), objc_add_property_variable (),
3993 objc_build_getter_call () and objc_build_setter_call ().
3994 * stub-objc.c (objc_set_property_attr): New stub.
3995 (objc_add_property_variable): Likewise.
3996 (objc_build_getter_call): Likewise.
3997 (objc_build_setter_call) Likewise.
7e0713b1 3998
40c8d1dd 39992010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4000
7e0713b1 4001 merge from FSF apple 'trunk' branch.
40c8d1dd 4002 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4003
4004 Radar 3803157 (method attributes)
4005 * c-common.c (handle_deprecated_attribute): Recognize
4006 objc methods as valid declarations.
4007 * c-common.h: Declare objc_method_decl ().
7e0713b1 4008 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 4009
f3f006ad 40102010-10-08 Joseph Myers <joseph@codesourcery.com>
4011
4012 * c-common.c (parse_optimize_options): Call
4013 decode_cmdline_options_to_array_default_mask before
4014 decode_options. Update arguments to decode_options.
4015 * c-common.h (c_common_init_options_struct): Declare.
4016 * c-opts.c (c_common_init_options_struct): New. Split out from
4017 c_common_init_options.
4018
0a65c3bb 40192010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4020
4021 Implemented fast enumeration for Objective-C.
4022 * c-common.h (objc_finish_foreach_loop): New.
4023 * stub-objc.c (objc_finish_foreach_loop): New.
4024
24ca3b4e 40252010-10-05 Joseph Myers <joseph@codesourcery.com>
4026
4027 * c-common.h (struct diagnostic_context): Don't declare here.
4028 (c_common_initialize_diagnostics): Declare using
4029 diagnostic_context typedef.
4030 * c-opts.c (c_common_handle_option): Pass global_dc to
4031 handle_generated_option.
4032
f83b64ca 40332010-10-04 Joseph Myers <joseph@codesourcery.com>
4034
4035 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4036 handle_generated_option.
4037
2fdec027 40382010-10-03 Ian Lance Taylor <iant@google.com>
4039
4040 * c.opt (-fplan9-extensions): New option.
4041
41acdfa4 40422010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4043
4044 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4045 Remove.
4046 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4047 of duplicating code.
4048
069761fb 40492010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4050
4051 * c-common.c: Add two new entries for @optional
4052 and @required keywords.
4053
4054 merge from FSF 'apple/trunk' branch.
4055 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4056
4057 Radar 4386773
4058 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4059 objective-c keywords.
4060 (objc_set_method_opt): New declaration.
4061 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 4062
2c5d2e39 40632010-09-30 Joseph Myers <joseph@codesourcery.com>
4064
4065 * c-common.c (handle_optimize_attribute): Pass &global_options to
4066 cl_optimization_save and cl_optimization_restore.
4067 * c-opts.c (c_common_handle_option): Pass &global_options to
4068 handle_generated_option.
4069 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4070 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4071 &global_options to cl_optimization_restore.
4072
e5c75ac3 40732010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4074
4075 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4076 Objective-C/Objective-C++ keywords.
4077
3511333e 40782010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 4079
19931eea 4080 Merge from 'apple/trunk' branch on FSF servers.
4081
e147d6aa 4082 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4083
4084 Radar 4281748
4085 * c-common.h (objc_check_global_decl): New declaration.
4086 * stub-objc.c (objc_check_global_decl): New stub.
4087
5461e683 40882010-09-29 Joseph Myers <joseph@codesourcery.com>
4089
4090 * c.opt: Don't use VarExists.
4091
5ae82d58 40922010-09-29 Joseph Myers <joseph@codesourcery.com>
4093
4094 * c-common.c (c_cpp_error): Update names of diagnostic_context
4095 members.
4096 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4097 cl_optimization members.
4098 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4099 sanitize_cpp_opts, finish_options): Update names of cpp_options
4100 members.
4101
b27e241e 41022010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4103
4104 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4105 (objc_is_reserved_word): Removed.
4106 * c-common.c: Updated comments.
4107 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4108 objc_is_reserved_word.
4109 * stub-objc.c (objc_is_reserved_word): Removed.
4110
03fc2271 41112010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4112
19931eea 4113 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 4114 include attributes.
4115 (objc_start_method_definition): Likewise.
4116 (objc_build_keyword_decl): Likewise.
4117 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4118 (objc_start_method_definition): Likewise.
4119 (objc_build_keyword_decl): Likewise.
4120
a336eb4b 41212010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4122
4123 * c-common.h (objc_start_class_interface): Adjust prototype.
4124 (objc_start_category_interface): Likewise.
4125 (objc_start_protocol): Likewise.
4126 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4127 (objc_start_class_interface): Likewise.
4128 (objc_start_category_interface): Likewise.
4129
48b14f50 41302010-09-27 Ian Lance Taylor <iant@google.com>
4131
4132 * c-common.c (c_common_attribute_table): Add no_split_stack.
4133 (handle_no_split_stack_attribute): New static function.
4134
4abfc532 41352010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4136
19931eea 4137 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 4138
4139 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4140
19931eea 4141 Radar 4229905
4abfc532 4142 * c-common.h (objc_have_common_type): New declaration.
4143 * stub-objc.c (objc_have_common_type): New stub.
4144
4145 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4146
4147 Radar 4154928
4148 * c-common.h (objc_common_type): New prototype.
19931eea 4149 * stub-objc.c (objc_common_type): New stub.
4abfc532 4150
7bd95dfd 41512010-09-24 Jan Hubicka <jh@suse.cz>
4152
4153 * c-common.c (handle_leaf_attribute): New function.
4154 (struct attribute_spec c_common_att): Add leaf.
4155
5789e05b 41562010-09-22 Joseph Myers <joseph@codesourcery.com>
4157
4158 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4159 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4160 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4161 -include-barrier, -include-directory, -include-directory=,
4162 -include-directory-after, -include-directory-after=,
4163 -include-prefix, -include-prefix=, -include-with-prefix,
4164 -include-with-prefix=, -include-with-prefix-after,
4165 -include-with-prefix-after=, -include-with-prefix-before,
4166 -include-with-prefix-before=, -no-integrated-cpp,
4167 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4168 -output=, -pedantic, -pedantic-errors, -preprocess,
4169 -print-missing-file-dependencies, -trace-includes, -traditional,
4170 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4171 -user-dependencies, -verbose, -write-dependencies,
4172 -write-user-dependencies, no-integrated-cpp, traditional): New.
4173
e6fb54ba 41742010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4175
4176 PR objc/23710
9b60f3b0 4177 * c-common.h (objc_start_method_definition): Return bool instead
4178 of void.
4179 * stub-objc.c (objc_start_method_definition): Return bool instead
4180 of void.
4181
41822010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4183
4184 PR objc/25965
4185 * c-common.h (objc_get_interface_ivars): New declaration.
4186 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4187
e44b0a1f 41882010-09-15 Ian Lance Taylor <iant@google.com>
4189
4190 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4191 messages. Remove period at end of warning message.
e44b0a1f 4192
85c0a25c 41932010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4194
4195 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4196 (handle_alias_attribute): ... here.
4197 (handle_ifunc_attribute): New.
4198
5ba33bf4 41992010-09-06 Mark Mitchell <mark@codesourcery.com>
4200
4201 * c-common.h (do_warn_double_promotion): Declare.
4202 * c-common.c (do_warn_double_promotion): Define.
4203
c920faa3 42042010-09-05 Mark Mitchell <mark@codesourcery.com>
4205
4206 * c.opt (Wdouble-promotion): New.
4207
9604e070 42082010-09-02 Joseph Myers <joseph@codesourcery.com>
4209
4210 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4211 fvtable-thunks, fxref): Mark no longer supported in help text.
4212
3b0273a1 42132010-09-02 Joseph Myers <joseph@codesourcery.com>
4214
4215 * c.opt (Wimport, fall-virtual, falt-external-templates,
4216 fdefault-inline, fenum-int-equiv, fexternal-templates,
4217 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4218 fname-mangling-version-, fnew-abi, fnonnull-objects,
4219 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4220 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4221 applicable.
4222 (fhandle-exceptions): Mark with Alias and Warn.
4223 * c-opts.c (c_common_handle_option): Don't handle options marked
4224 as ignored.
4225
67089c6b 42262010-09-02 Joseph Myers <joseph@codesourcery.com>
4227
4228 * c.opt (Wcomments, Werror-implicit-function-declaration,
4229 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4230 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4231 aliases.
4232 * c-common.c (option_codes): Use OPT_Wcomment instead of
4233 OPT_Wcomments.
4234 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4235 Don't handle options marked as aliases.
4236
2af087f2 42372010-08-25 Richard Guenther <rguenther@suse.de>
4238
4239 * c-common.c (c_common_get_alias_set): Remove special
4240 handling for pointers.
4241
48148244 42422010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4243
4244 * c-common.c: Use FOR_EACH_VEC_ELT.
4245 * c-gimplify.c: Likewise.
4246 * c-pragma.c: Likewise.
4247
89c69892 42482010-08-16 Joseph Myers <joseph@codesourcery.com>
4249
4250 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4251 RejectDriver.
4252 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4253 RejectDriver.
4254 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4255 instead of OPT_MDX and OPT_MMDX.
4256
e28aa114 42572010-08-16 Joseph Myers <joseph@codesourcery.com>
4258
4259 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4260
99b66d21 42612010-08-12 Joseph Myers <joseph@codesourcery.com>
4262
4263 * c.opt (MD, MMD): Change to MDX and MMDX.
4264 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4265
666f4bf0 42662010-08-11 Joseph Myers <joseph@codesourcery.com>
4267
4268 * c-opts.c (c_common_handle_option): Call handle_generated_option
4269 instead of handle_option.
4270
5ec815f6 42712010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4272
4273 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4274 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4275
d13143cf 42762010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4277
4278 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4279 (pending_redefine_extname): Change type to a VEC.
4280 (add_to_renaming_pragma_list): Update for new type of
4281 pending_redefine_extname.
5ec815f6 4282 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4283
2008c983 42842010-08-04 Arnaud Charlet <charlet@adacore.com>
4285
4286 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4287 visited.
4288 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4289 decide whether a type has already been declared/seen.
4290 Do not go to the original type.
4291 (dump_nested_types): New parameter forward.
4292 Generate forward declaration if needed and mark type as visited.
4293 (print_ada_declaration): Call dump_nested_types if not already done.
4294 Mark types as visited.
4295
9b091a73 42962010-08-03 Joseph Myers <joseph@codesourcery.com>
4297
4298 * c.opt (-print-pch-checksum): Remove option.
4299 * c-opts.c (c_common_handle_option): Don't handle
4300 OPT_print_pch_checksum.
4301
b78351e5 43022010-07-27 Joseph Myers <joseph@codesourcery.com>
4303
4304 * c-common.h (c_common_handle_option): Update prototype and return
4305 value type.
4306 * c-opts.c (c_common_handle_option): Update prototype and return
4307 value type. Update calls to handle_option and
4308 enable_warning_as_error.
4309
34416a90 43102010-07-27 Jakub Jelinek <jakub@redhat.com>
4311
4312 PR c/45079
4313 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4314
fecf9011 43152010-07-27 Joseph Myers <joseph@codesourcery.com>
4316
4317 * c-common.h (c_common_missing_argument): Remove.
4318 * c-opts.c (c_common_missing_argument): Remove.
4319 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4320 idirafter, imacros, include, isysroot, isystem, iquote): Add
4321 MissingArgError.
4322 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4323
e88d34f6 43242010-07-27 Joseph Myers <joseph@codesourcery.com>
4325
4326 * c-common.h (c_common_option_lang_mask,
4327 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4328 New.
4329 (c_common_init_options): Update prototype.
4330 * c-opts.c (c_common_option_lang_mask): New.
4331 (c_common_initialize_diagnostics): Split out of
4332 c_common_init_options.
4333 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4334 New.
4335 (c_common_init_options): Update prototype. Use decoded options in
4336 search for -lang-asm.
4337
1767a056 43382010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4339
4340 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4341 * c-format.c: Likewise.
4342
0b205f4c 43432010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4344
4345 * c-common.h: Include diagnostic-core.h. Error if already
4346 included.
4347 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4348
1c58e3f1 43492010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4350
4351 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
4352 Do not include expr.h
4353 (vector_mode_valid_p): Move here.
4354
33cc157c 43552010-06-21 DJ Delorie <dj@redhat.com>
4356
4357 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4358 allow these pragmas anywhere.
4359
43602010-06-14 Jakub Jelinek <jakub@redhat.com>
4361
4362 PR bootstrap/44509
4363 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4364 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4365 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4366 ggc_strdup instead of xstrdup.
4367
43682010-06-10 Jakub Jelinek <jakub@redhat.com>
4369
4370 * c-cppbuiltin.c: Include cpp-id-data.h.
4371 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4372 (lazy_hex_fp_value): New function.
4373 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4374
9b40bfbf 43752010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4376
4377 * c-gimplify.c: Do not include tree-flow.h
4378
202d6e5f 43792010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4380
4381 PR other/44034
4382 * c-common.c: Rename targetm member:
4383 targetm.enum_va_list -> targetm.enum_va_list_p
4384
d3237426 43852010-06-28 Anatoly Sokolov <aesok@post.ru>
4386
4387 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4388
596981c8 43892010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4390
4391 * c-cppbuiltin.c: Do not include except.h.
4392
b9bdfa0b 43932010-06-24 Andi Kleen <ak@linux.intel.com>
4394
19931eea 4395 * c-common.c (warn_for_omitted_condop): New.
4396 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4397
55ad092d 43982010-06-21 Joseph Myers <joseph@codesourcery.com>
4399
4400 * c.opt (lang-objc): Remove.
4401 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4402
9e7c2572 44032010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4404
4405 * c-opts.c: Include "tm_p.h".
4406
615ef0bb 44072010-06-20 Joseph Myers <joseph@codesourcery.com>
4408
4409 * c-common.c (parse_optimize_options): Update call to
4410 decode_options.
4411
aef48c9a 44122010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4413
4414 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4415 new type of types_used_by_cur_var_decl.
4416
d74003b4 44172010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4418
4419 PR bootstrap/44512
4420 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4421 for C++ standard compliance.
4422
1194d077 44232010-06-16 Jason Merrill <jason@redhat.com>
4424
4425 * c.opt: Add -Wnoexcept.
4426
d473d901 44272010-06-16 Richard Guenther <rguenther@suse.de>
4428
4429 PR c/44555
4430 * c-common.c (c_common_truthvalue_conversion): Remove
4431 premature and wrong optimization concering ADDR_EXPRs.
4432
b62dbfd3 44332010-06-15 Arnaud Charlet <charlet@adacore.com>
4434
4435 * c-ada-spec.c (dump_sloc): Remove column info.
4436 (is_simple_enum): New function.
4437 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4438 enum types when relevant.
4439
200dd99c 44402010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4441
19931eea 4442 * c-common.c (conversion_warning): Warn at expression
200dd99c 4443 location.
4444
abf6a617 44452010-06-10 Joseph Myers <joseph@codesourcery.com>
4446
4447 * c-opts.c (c_common_handle_option): Don't handle
4448 OPT_fshow_column.
4449
ba72912a 44502010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4451
4452 * c-pragma.c (push_alignment): Use typed GC allocation.
4453 (handle_pragma_push_options): Likewise.
4454
4455 * c-common.c (parse_optimize_options): Likewise.
4456
4457 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4458 option.
4459
4aafe913 44602010-06-07 Joseph Myers <joseph@codesourcery.com>
4461
4462 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4463 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4464 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4465 flag_signed_bitfields, warn_strict_null_sentinel,
4466 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4467 flag_gen_declaration, flag_no_gnu_keywords,
4468 flag_implement_inlines, flag_implicit_templates,
4469 flag_implicit_inline_templates, flag_optional_diags,
4470 flag_elide_constructors, flag_default_inline, flag_rtti,
4471 flag_conserve_space, flag_access_control, flag_check_new,
4472 flag_new_for_scope, flag_weak, flag_working_directory,
4473 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4474 flag_enforce_eh_specs, flag_threadsafe_statics,
4475 flag_pretty_templates): Remove.
4476 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4477 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4478 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4479 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4480 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4481 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4482 flag_no_gnu_keywords, flag_implement_inlines,
4483 flag_implicit_templates, flag_implicit_inline_templates,
4484 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4485 flag_rtti, flag_conserve_space, flag_access_control,
4486 flag_check_new, flag_new_for_scope, flag_weak,
4487 flag_working_directory, flag_use_cxa_atexit,
4488 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4489 flag_threadsafe_statics, flag_pretty_templates,
4490 warn_strict_null_sentinel): Remove.
4491 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4492 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4493 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4494 fimplicit-inline-templates, fimplicit-templates,
4495 flax-vector-conversions, fms-extensions, fnil-receivers,
4496 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4497 frtti, fshort-double, fshort-enums, fshort-wchar,
4498 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4499 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4500 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4501 gen-decls, undef): Use Var.
4502 (fdefault-inline, foptional-diags): Document as doing nothing.
4503 * c-opts.c (c_common_handle_option): Remove cases for options now
4504 using Var. Mark ignored options as such.
4505
7bedc3a0 45062010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4507
19931eea 4508 * c-common.c: Moved to here from parent directory.
7bedc3a0 4509 * c-common.def: Likewise.
4510 * c-common.h: Likewise.
4511 * c-cppbuiltin.c: Likewise.
4512 * c-dump.c: Likewise.
4513 * c-format.c: Likewise.
4514 * c-format.h : Likewise.
4515 * c-gimplify.c: Likewise.
4516 * c-lex.c: Likewise.
4517 * c-omp.c: Likewise.
4518 * c.opt: Likewise.
4519 * c-opts.c: Likewise.
4520 * c-pch.c: Likewise.
4521 * c-ppoutput.c: Likewise.
4522 * c-pragma.c: Likewise.
4523 * c-pragma.h: Likewise.
4524 * c-pretty-print.c: Likewise.
4525 * c-pretty-print.h: Likewise.
4526 * c-semantics.c: Likewise.
4527 * stub-objc.c: Likewise.
4528
4529 * c-common.c: Include gt-c-family-c-common.h.
4530 * c-pragma.c: Include gt-c-family-c-pragma.h.
4531\f
3aea1f79 4532Copyright (C) 2010-2014 Free Software Foundation, Inc.
7bedc3a0 4533
4534Copying and distribution of this file, with or without modification,
4535are permitted in any medium without royalty provided the copyright
4536notice and this notice are preserved.