]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
2014-11-29 Tobias Burnus <burnus@net-b.de>
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
d2f60593 12014-11-28 Marek Polacek <polacek@redhat.com>
2
3 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
4 instead of unsigned_type_node.
5
fce2dbd1 62014-11-28 Marek Polacek <polacek@redhat.com>
7
8 PR c/63862
9 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
10 to op1_utype.
11 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
12 expression to unsigned_type_node.
13
3a4a2292 142014-11-20 Mark Wielaard <mjw@redhat.com>
15
16 PR debug/38757
17 * c-opts.c (set_std_c89): Set lang_hooks.name.
18 (set_std_c99): Likewise.
19 (set_std_c11): Likewise.
20 (set_std_cxx98): Likewise.
21 (set_std_cxx11): Likewise.
22 (set_std_cxx14): Likewise.
23 (set_std_cxx1z): Likewise.
24
c61ef207 252014-11-21 Jakub Jelinek <jakub@redhat.com>
26
27 PR target/63764
28 * c-common.h (convert_vector_to_pointer_for_subscript): Change
29 return type to bool.
30 * c-common.c: Include gimple-expr.c.
31 (convert_vector_to_pointer_for_subscript): Change return type to
32 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
33 and copy it into a TARGET_EXPR and use that instead of *vecp
34 directly.
35
1a91d914 362014-11-19 David Malcolm <dmalcolm@redhat.com>
37
38 Merger of git branch "gimple-classes-v2-option-3".
39 * ChangeLog.gimple-classes: New.
40 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
41 from being just a vec<gimple> to a vec<gbind *>.
42
f8fc8b8e 432014-11-18 Jakub Jelinek <jakub@redhat.com>
44
45 PR sanitizer/63813
46 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
47 argument to ptype, set type to TREE_TYPE (ptype). Don't call
48 get_pointer_alignment for non-pointers. Use ptype, or if it is
49 reference type, corresponding pointer type, as type of kind
50 argument.
51 (ubsan_maybe_instrument_reference,
52 ubsan_maybe_instrument_member_call): Adjust callers.
53
8315e35e 542014-11-15 Marek Polacek <polacek@redhat.com>
55
56 PR middle-end/63884
57 * array-notation-common.c (is_sec_implicit_index_fn): Return false
58 for NULL fndecl.
59 (extract_array_notation_exprs): Return for NULL node.
60
86b9f14b 612014-11-12 Joseph Myers <joseph@codesourcery.com>
62
63 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
64 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
65
0c93c8a9 662014-11-12 Jakub Jelinek <jakub@redhat.com>
67
68 PR c/59708
69 * c-common.c (check_builtin_function_arguments): Handle
70 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
71
fdd735a7 722014-11-10 Andi Kleen <ak@linux.intel.com>
73
74 PR c/60804
75 * c-common.h (check_no_cilk): Declare.
76 * cilk.c (get_error_location): New function.
77 (check_no_cilk): Dito.
78
5cb678b4 792014-11-10 Andi Kleen <ak@linux.intel.com>
80
81 * cilk.c (recognize_spawn): Use expression location
82 for error message.
83
0feb4de1 842014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
85
86 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
87
3aa2fa44 882014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
89
90 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
91 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
92 (__cpp_range_based_for, __cpp_initializer_lists,
93 __cpp_delegating_constructors, __cpp_nsdmi,
94 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
95 for C++11; (__cpp_attribute_deprecated): Remove in favor of
96 __has_cpp_attribute.
97 * c-lex.c (cb_has_attribute): New callback CPP function;
98 (init_c_lex): Set has_attribute callback.
99
7fd22aae 1002014-11-04 Richard Biener <rguenther@suse.de>
101
102 * c-common.c (shorten_compare): Do not shorten mixed
103 DFP and non-DFP compares.
104
4af203ac 1052014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
106
107 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
108 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
109 Commentary and rearrangement of tests.
110 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
111 Commentary and rearrangement of tests.
112 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
113 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
114
3754d046 1152014-10-29 Richard Sandiford <richard.sandiford@arm.com>
116
117 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
118 enum from machine_mode.
119
1140c305 1202014-10-28 Andrew MacLeod <amacleod@redhat.com>
121
122 * c-family/c-common.c: Adjust include files.
123 * c-family/c-gimplify.c: Ditto.
124 * c-family/cilk.c: Ditto.
125 * c-family/c-pragma.c: Ditto.
126 * c-family/c-ubsan.c: Ditto.
127
94ea8568 1282014-10-27 Andrew MacLeod <amacleod@redhat.com>
129
130 * c-gimplify.c: Adjust include files.
131
32ecf960 1322014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
133
134 PR c++/53061
135 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
136 c_common_initialize_diagnostics.
137 * c-common.h: Likewise.
138
85fecbe2 1392014-10-24 Marek Polacek <polacek@redhat.com>
140
141 PR c/56980
142 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
143 print "struct"/"union"/"enum" for typedefed names.
144
e7ec033a 1452014-10-23 Marek Polacek <polacek@redhat.com>
146
147 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
148 in unsigned type.
149
c2598081 1502014-10-22 Jakub Jelinek <jakub@redhat.com>
151 Yury Gribov <y.gribov@samsung.com>
152
153 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
154 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
155 instead of flag_sanitize_recover as bool flag.
156
acebb7e2 1572014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
158
159 * cilk.c: Revert previous change.
160
6115016c 1612014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
162
163 PR c/63307
164 * cilk.c: Include vec.h.
165 (struct cilk_decls): New structure.
166 (wrapper_parm_cb): Split this function to...
167 (fill_decls_vec): ...this...
168 (create_parm_list): ...and this.
169 (compare_decls): New function.
170 (for_local_cb): Remove.
171 (wrapper_local_cb): Ditto.
172 (build_wrapper_type): For now first traverse and fill vector of
173 declarations then sort it and then deal with sorted vector.
174 (cilk_outline): Ditto.
175 (declare_one_free_variable): Ditto.
176
e610d2b2 1772014-10-17 Marek Polacek <polacek@redhat.com>
178
179 * c-opts.c (c_common_post_options): Set warn_implicit_int.
180 * c.opt (Wimplicit-int): Initialize to -1.
181
a3020f2f 1822014-10-16 Andrew MacLeod <amacleod@redhat.com>
183
184 * c-pragma.c: Adjust include files.
185 * c-semantics.c: Likewise.
186
926ddd2c 1872014-10-16 DJ Delorie <dj@redhat.com>
188
189 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
190 multiples of bytes.
191
b0542e7c 1922014-10-14 Jason Merrill <jason@redhat.com>
193
194 PR c++/63455
195 * c-common.h (CPP_PREPARSED_EXPR): New.
196 (N_CP_TTYPES): Adjust.
197
b2601928 1982014-10-15 Marek Polacek <polacek@redhat.com>
199
200 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
201
9f75f026 2022014-10-14 DJ Delorie <dj@redhat.com>
203
204 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
205 types, not just __int128.
206 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
207 types, not just __int128.
208 (cpp_atomic_builtins): Round pointer sizes up.
209 (type_suffix): Use type precision, not specific types.
210 * c-common.c (c_common_reswords): Remove __int128 special case.
211 (c_common_type_for_size): Check for all __intN types, not just
212 __int128.
213 (c_common_type_for_mode): Likewise.
214 (c_common_signed_or_unsigned_type): Likewise.
215 (c_build_bitfield_integer_type): Likewise.
216 (c_common_nodes_and_builtins): Likewise.
217 (keyword_begins_type_specifier): Likewise.
218 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
219 __intN variants.
220
2ef51f0e 2212014-10-12 Trevor Saunders <tsaunders@mozilla.com>
222
223 * c-common.c: Use hash_table instead of hashtab.
224
5b8257e3 2252014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
226
227 * c-family/c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
228 C++11 section.
229
5e84569c 2302014-10-03 Marc Glisse <marc.glisse@inria.fr>
231
232 PR c++/54427
233 PR c++/57198
234 PR c++/58845
235 * c-common.c (warn_logical_operator): Punt for vectors.
236
f6751ff2 2372014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
238
239 Implement SD-6: SG10 Feature Test Recommendations
240 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
241 macros and the __has_header macro.
242
c33e051d 2432014-09-30 Jason Merrill <jason@redhat.com>
244
f76a9aa8 245 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
246 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
247 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
248
717e52f9 249 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
250 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
251
c33e051d 252 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
253 * c-common.c (c_common_reswords): Remove __is_convertible_to.
254
5213d6c9 2552014-09-24 Marek Polacek <polacek@redhat.com>
256
257 PR c/61405
258 PR c/53874
259 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
260
6b722052 2612014-09-23 Andi Kleen <ak@linux.intel.com>
262
263 * c-common.c (handle_no_reorder_attribute): New function.
264 (c_common_attribute_table): Add no_reorder attribute.
265
0cb69d12 2662014-09-22 Joseph Myers <joseph@codesourcery.com>
267
268 * c-cppbuiltin.c (c_cpp_builtins): Define
269 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
270 modes.
271
168dfbf0 2722014-09-18 Joseph Myers <joseph@codesourcery.com>
273
274 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
275 for supported floating-point modes.
276
b83705f4 2772014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
278
279 * c.opt (Wpsabi): Use LangEnabledBy.
280 * c-opts.c (c_common_handle_option): Do not handle here.
281
d5957f0d 2822014-09-12 Joseph Myers <joseph@codesourcery.com>
283
284 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
285 macros for floating-point modes.
286
bae6edff 2872014-09-11 Marc Glisse <marc.glisse@inria.fr>
288
289 PR target/58757
290 * c-cppbuiltin.c (builtin_define_float_constants): Correct
291 __*_DENORM_MIN__ without denormals.
292
73a69d02 2932014-09-10 Jakub Jelinek <jakub@redhat.com>
294
295 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
296 ubsan_instrument_vla, ubsan_instrument_return): Adjust
297 ubsan_create_data callers.
298 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
299 index is constant or BIT_AND_EXPR with constant mask and is
300 small enough for the bound.
301 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
302 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
303
7ff8db31 3042014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
305
306 * c.opt: Add CppReason to various flags.
307 (Wdate-time): Re-sort.
308 * c-common.c: Include c-common.h earlier.
309 (struct reason_option_codes_t): Delete.
310 (c_option_controlling_cpp_error): Prefix global type and struct
311 with cpp_.
312
bcc1f37e 3132014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
314
315 * c.opt (Wnormalized): New.
316 (Wnormalized=): Use Enum and Reject Negative.
317 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
318
b660d3c6 3192014-09-08 Joseph Myers <joseph@codesourcery.com>
320
321 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
322 digits of floating-point modes if -fbuilding-libgcc.
323
325b8c3c 3242014-09-05 Joseph Myers <joseph@codesourcery.com>
325
326 * c-cppbuiltin.c (c_cpp_builtins): Also define
327 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
328 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
329 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
330 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
331 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
332 __LIBGCC_STACK_GROWS_DOWNWARD__,
333 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
334 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
335 __LIBGCC_DWARF_FRAME_REGISTERS__,
336 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
337 __LIBGCC_STACK_POINTER_REGNUM__ and
338 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
339 (builtin_define_with_value): Handle backslash-escaping in string
340 macro values.
341
1e074e77 3422014-09-05 Richard Biener <rguenther@suse.de>
343
344 PR middle-end/63148
345 * c-format.c (check_format_arg): Properly handle
346 effectively signed POINTER_PLUS_EXPR offset.
347
04afd878 3482014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
349
350 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
351 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
352 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
353 and Init.
354 * c-opts.c (c_common_handle_option): Do not handle here.
355 (sanitize_cpp_opts): Likewise.
356 * c-common.c (struct reason_option_codes_t): Handle
357 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
358
a3f448f0 3592014-09-03 Marek Polacek <polacek@redhat.com>
360
361 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
362
40750995 3632014-09-02 Jakub Jelinek <jakub@redhat.com>
364 Balaji V. Iyer <balaji.v.iyer@intel.com>
365 Igor Zamyatin <igor.zamyatin@intel.com>
366
367 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
368 * c-common.c (c_common_reswords): Added _Cilk_for.
369 * c-common.h (enum rid): Added RID_CILK_FOR.
370 (cilk_for_number_of_iterations): Add declaration.
371 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
372 CILK_FOR.
373 * c-pragma.c (init_pragma): Register "grainsize" pragma.
374 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
375
f0fbe519 3762014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
377
378 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
379 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
380 Wundef): Use CPP, Var and Init.
381 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
382
a7d2e480 3832014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
384
385 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
386 * c-opts.c (c_common_handle_option): Do not handle here.
387
c35e53f1 3882014-08-25 Jason Merrill <jason@redhat.com>
389
390 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
391 -std=c++14 and -std=gnu++14, rather than the reverse.
392 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
393 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
394 * c-common.h (cxx_dialect): Remove cxx1y.
395
4e454776 3962014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
397
398 * c-common.h (enum cxx_dialect): Add cxx14.
399 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
400 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
401 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
402
af1a80f2 4032014-08-22 Jason Merrill <jason@redhat.com>
404
405 * c.opt (std=gnu++17): Fix alias.
406
dc6229e8 4072014-08-22 Marek Polacek <polacek@redhat.com>
408
409 PR c++/62199
410 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
411 check for vector types. Drop LHS argument.
412 * c-common.h (warn_logical_not_parentheses): Adjust.
413
ba7f7c88 4142014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
415
416 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
417 (Wmultichar): Likewise.
418 (Wdate-time): Use C-family languages instead of Common. Use CPP
419 and Var.
420 * c-opts.c (c_common_handle_option): Do not handle the above
421 options here.
422 (sanitize_cpp_opts): Likewise.
423
399d4f80 4242014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
425
426 PR fortran/44054
427 * c-opts.c: Include tree-diagnostics.h.
428 (c_diagnostic_finalizer): New.
429 (c_common_initialize_diagnostics): Use it.
430
1babed5f 4312014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
432
433 PR preprocessor/51303
434 * c-common.c (struct reason_option_codes_t option_codes):
435 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
436
3636964b 4372014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
438
439 PR c/60975
440 PR c/53063
441 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
442 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
443 (c_common_post_options): Call init_global_opts_from_cpp.
444 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
445
78bf4156 4462014-08-19 Marek Polacek <polacek@redhat.com>
447
448 PR c++/62153
449 * c-common.c (maybe_warn_bool_compare): New function.
450 * c-common.h (maybe_warn_bool_compare): Declare.
451 * c.opt (Wbool-compare): New option.
452
508ea33a 4532014-08-19 Marek Polacek <polacek@redhat.com>
454
455 * c.opt (Wc99-c11-compat): New option.
456
806fe15e 4572014-08-19 Marek Polacek <polacek@redhat.com>
458
459 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
460 to warn_c90_c99_compat.
461 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
462 to -1.
463
6c867de1 4642014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
465 Steven Bosscher <steven@gcc.gnu.org>
466
467 PR c/52952
468 * c-format.c: Add extra_arg_loc and format_string_loc to struct
469 format_check_results.
470 (check_function_format): Use true and add comment for boolean
471 argument.
472 (finish_dollar_format_checking): Use explicit location when warning.
473 (check_format_info): Likewise.
474 (check_format_arg): Set extra_arg_loc and format_string_loc.
475 (check_format_info_main): Use explicit location when warning.
476 (check_format_types): Pass explicit location.
477 (format_type_warning): Likewise.
478
dc8078a3 4792014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
480
481 PR fortran/44054
482 * c-format.c: Handle Fortran flags.
483
d271ec7e 4842014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
485
486 PR other/61962
487 * array-notation-common.c (find_rank): Added handling for other
488 types of references.
489
890c2e2f 4902014-08-10 Marek Polacek <polacek@redhat.com>
491
492 PR c/51849
493 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
494 * c.opt (Wc90-c99-compat): Add option.
495
7149db5f 4962014-08-07 Trevor Saunders <tsaunders@mozilla.com>
497
498 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
499
2d2f6a15 5002014-08-03 Marek Polacek <polacek@redhat.com>
501
502 * c-common.c (check_case_value): Add location_t parameter. Use it.
503 (c_add_case_label): Pass loc to check_case_value.
504
06ecf488 5052014-08-02 Trevor Saunders <tsaunders@mozilla.com>
506
507 * cilk.c: Use hash_map instead of pointer_map.
508
431205b7 5092014-08-02 Trevor Saunders <tsaunders@mozilla.com>
510
511 * c-gimplify.c: Use hash_set instead of pointer_set.
512
3394c80c 5132014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
514
515 PR middle-end/61455
516 * array-notation-common.c (extract_array_notation_exprs): Handling
517 of DECL_EXPR added.
518
392dee1e 5192014-08-01 Jakub Jelinek <jakub@redhat.com>
520
521 * c-common.h (min_align_of_type): Removed prototype.
522 * c-common.c (min_align_of_type): Removed.
523 * c-ubsan.h (ubsan_maybe_instrument_reference,
524 ubsan_maybe_instrument_member_call): New prototypes.
525 * c-ubsan.c: Include stor-layout.h and builtins.h.
526 (ubsan_maybe_instrument_reference_or_call,
527 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
528 functions.
529
f22a2cb7 5302014-07-31 Marc Glisse <marc.glisse@inria.fr>
531
532 PR c++/60517
533 * c.opt (-Wreturn-local-addr): Move to common.opt.
534
87b0198f 5352014-07-30 Jason Merrill <jason@redhat.com>
536
537 PR c++/61659
538 PR c++/61687
539 Revert:
540 * c.opt (-fuse-all-virtuals): New.
541
74691f46 5422014-07-30 Tom Tromey <tromey@redhat.com>
543
544 PR c/59855
545 * c.opt (Wdesignated-init): New option.
546 * c-common.c (c_common_attribute_table): Add "designated_init".
547 (handle_designated_init): New function.
548
9140d56f 5492014-07-24 Marek Polacek <polacek@redhat.com>
550
551 PR c/57653
552 * c-opts.c (c_finish_options): If -imacros is in effect, return.
553
a09c5cc2 5542014-07-16 Dodji Seketeli <dodji@redhat.com>
555
556 PR preprocessor/60723 - missing system-ness marks for macro tokens
557 * c-ppoutput.c (struct print::prev_was_system_token): New data
558 member.
559 (init_pp_output): Initialize it.
560 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
561 (do_line_change): Return a flag saying if a line marker was
562 emitted or not.
563 (scan_translation_unit): Detect if the system-ness of the token we
564 are about to emit is different from the one of the previously
565 emitted token. If so, emit a line marker. Avoid emitting useless
566 adjacent line markers. Avoid emitting line markers for tokens
567 originating from the expansion of built-in macros.
568 (scan_translation_unit_directives_only): Adjust.
569
2b25b62f 5702014-07-15 Marek Polacek <polacek@redhat.com>
571
572 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
573 TYPE_MAX_VALUE is NULL.
574
305d96bc 5752014-07-14 Jakub Jelinek <jakub@redhat.com>
576
577 PR middle-end/61294
578 * c.opt (Wmemset-transposed-args): New warning.
579
8ea4660d 5802014-07-10 Jason Merrill <jason@redhat.com>
581
582 PR c++/61659
583 PR c++/61687
584 * c.opt (-fuse-all-virtuals): New.
585
cd480f3d 5862014-07-09 Richard Biener <rguenther@suse.de>
587
588 PR c-family/61741
589 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
590 using unsigned arithmetic if overflow does not wrap instead of
591 if overflow is undefined.
592
87d59e72 5932014-07-06 Marek Polacek <polacek@redhat.com>
594
595 PR c/6940
596 * c.opt (Wsizeof-array-argument): New option.
597
d69521d8 5982014-07-03 Jakub Jelinek <jakub@redhat.com>
599
600 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
601 comments->count <= 1, as comments->entries might be NULL.
602
1207866e 6032014-07-01 Marek Polacek <polacek@redhat.com>
604
605 * c.opt (Wint-conversion): New option.
606
7a6bbb76 6072014-07-01 Marek Polacek <polacek@redhat.com>
608
609 PR c/58286
610 * c.opt (Wincompatible-pointer-types): New option.
611
9d4eeb52 6122014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
613
614 PR c++/51400
615 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
616 Do not discard TYPE_QUALS of type.
617
4b53bc0f 6182014-06-26 Jason Merrill <jason@redhat.com>
619
620 * c-common.h (enum cxx_dialect): Add cxx1z.
621 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
622 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
623
a8a8d4ea 6242014-06-26 Teresa Johnson <tejohnson@google.com>
625
626 * c-common.h (get_dump_info): Declare.
627 * c-gimplify.c (c_genericize): Use saved dump files.
628 * c-opts.c (c_common_parse_file): Begin and end dumps
629 once around parsing invocation.
630 (get_dump_info): New function.
631
1f6be080 6322014-06-23 Marek Polacek <polacek@redhat.com>
633 Andrew MacLeod <amacleod@redhat.com>
634
635 PR c/61553
636 * c-common.c (get_atomic_generic_size): Don't segfault if the
637 type doesn't have a size.
638
5ef6b660 6392014-06-20 Marek Polacek <polacek@redhat.com>
640
641 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
642 (ubsan_walk_array_refs_r): New function.
643 (c_genericize): Instrument array bounds.
644 * c-ubsan.c: Include "internal-fn.h".
645 (ubsan_instrument_division): Mark instrumented arrays as having
646 side effects. Adjust ubsan_type_descriptor call.
647 (ubsan_instrument_shift): Likewise.
648 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
649 (ubsan_instrument_bounds): New function.
650 (ubsan_array_ref_instrumented_p): New function.
651 (ubsan_maybe_instrument_array_ref): New function.
652 * c-ubsan.h (ubsan_instrument_bounds): Declare.
653 (ubsan_array_ref_instrumented_p): Declare.
654 (ubsan_maybe_instrument_array_ref): Declare.
655
6562014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 657
658 PR lto/61123
659 * c.opt (fshort-enums): Add to LTO.
660 * c.opt (fshort-wchar): Likewise.
661
78438f31 6622014-06-16 Marek Polacek <polacek@redhat.com>
663
664 PR c/60439
665 * c.opt (Wswitch-bool): Add Var.
666
5fddcf34 6672014-06-12 Jakub Jelinek <jakub@redhat.com>
668
669 PR middle-end/61486
670 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
671 #pragma omp target teams or
672 #pragma omp {,target }teams distribute simd.
673
74b777e5 6742014-06-12 Jason Merrill <jason@redhat.com>
675
676 * c.opt (Wabi=, fabi-compat-version): New.
677 * c-opts.c (c_common_handle_option): Handle -Wabi=.
678 (c_common_post_options): Handle flag_abi_compat_version default.
679 Disallow -fabi-compat-version=1.
680 * c-common.h (abi_version_crosses): New.
681
738a6bda 6822014-06-11 Jan Hubicka <hubicka@ucw.cz>
683
684 * c-family/c-common.c (handle_section_attribute): Update handling for
685 section names that are no longer trees.
686
cf5f881f 6872014-06-10 Jakub Jelinek <jakub@redhat.com>
688
689 PR fortran/60928
690 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
691 (omp_pragmas): ... back here.
692
32dc1512 6932014-06-05 Marek Polacek <polacek@redhat.com>
694
695 PR c/49706
696 * c-common.c (warn_logical_not_parentheses): New function.
697 * c-common.h (warn_logical_not_parentheses): Declare.
698 * c.opt (Wlogical-not-parentheses): New option.
699
f61a9bc2 7002014-06-04 Marek Polacek <polacek@redhat.com>
701
702 PR c/30020
703 * c-common.c (check_case_bounds): Add location parameter.
704 Use it.
705 (c_add_case_label): Pass loc to check_case_bounds.
706
c69ec07d 7072014-06-03 Marek Polacek <polacek@redhat.com>
708
709 PR c/60439
710 * c.opt (Wswitch-bool): New option.
711
3c77ca67 7122014-05-22 Thomas Schwinge <thomas@codesourcery.com>
713
68a2c870 714 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
715 Remove prototypes.
716 (record_types_used_by_current_var_decl): Move prototype to where
717 it belongs.
718
3c77ca67 719 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
720 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
721 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
722
3ab4693e 7232014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
724
725 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
726 * c-common.c (c_common_nodes_and_builtins): Don't initialize
727 void_zero_node.
728 * c-pretty-print.c (pp_c_void_constant): New function.
729 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
730 (c_pretty_printer::expression): Handle VOID_CST.
731 * cilk.c (extract_free_variables): Likewise.
732 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
733 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
734
25a27413 7352014-05-17 Trevor Saunders <tsaunders@mozilla.com>
736
737 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
738 * c-pragma.c (push_alignment): Adjust.
739 (handle_pragma_push_options): Likewise.
740
3e5a8b00 7412014-05-09 Marek Polacek <polacek@redhat.com>
742
743 PR c/50459
744 * c-common.c (check_user_alignment): Return -1 if alignment is error
745 node.
746 (handle_aligned_attribute): Don't call default_conversion on
747 FUNCTION_DECLs.
748 (handle_vector_size_attribute): Likewise.
749 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
750 (handle_sentinel_attribute): Call default_conversion and allow even
751 integral types as an argument.
752
c2c4ae8d 7532014-05-08 Marek Polacek <polacek@redhat.com>
754
755 PR c/61053
756 * c-common.c (min_align_of_type): New function factored out from...
757 (c_sizeof_or_alignof_type): ...here.
758 * c-common.h (min_align_of_type): Declare.
759
2026249a 7602014-05-08 Marek Polacek <polacek@redhat.com>
761
762 PR c/61077
763 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
764 parameter type of main.
765
33c8dcfe 7662014-05-07 DJ Delorie <dj@redhat.com>
767
768 * c-cppbuiltin.c (print_bits_of_hex): New.
769 (builtin_define_type_minmax): Print values using hex so as not to
770 require a pre-computed list of string values.
771
960d5a55 7722014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
773 Mike Stump <mikestump@comcast.net>
774 Richard Sandiford <rdsandiford@googlemail.com>
775
776 * c-ada-spec.c: Include wide-int.h.
777 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
778 (dump_generic_ada_node): Use wide-int interfaces.
779 * c-common.c: Include wide-int-print.h.
780 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
781 (pointer_int_sum): Use wide-int interfaces.
782 (c_common_nodes_and_builtins): Use make_int_cst.
783 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
784 (handle_alloc_size_attribute): Use wide-int interfaces.
785 (get_nonnull_operand): Likewise.
786 * c-format.c (get_constant): Use tree_fits_uhwi_p.
787 * c-lex.c: Include wide-int.h.
788 (narrowest_unsigned_type): Take a widest_int rather than two
789 HOST_WIDE_INTs.
790 (narrowest_signed_type): Likewise.
791 (interpret_integer): Update accordingly. Use wide-int interfaces.
792 (lex_charconst): Use wide-int interfaces.
793 * c-pretty-print.c: Include wide-int.h.
794 (pp_c_integer_constant): Use wide-int interfaces.
795 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
796 INT_CST_LT_UNSIGNED.
797
bbb88b31 7982014-05-06 Richard Biener <rguenther@suse.de>
799
800 * c-opts.c (c_common_post_options): For -freestanding,
801 -fno-hosted and -fno-builtin disable pattern recognition
802 if not enabled explicitely.
803
022d4718 8042014-05-02 Marek Polacek <polacek@redhat.com>
805
806 * c.opt (Wsizeof-pointer-memaccess): Describe option.
807
e4ab2ef3 8082014-05-01 Marek Polacek <polacek@redhat.com>
809
810 PR c/43245
811 * c.opt (Wdiscarded-qualifiers): Add.
812
52cc0072 8132014-04-30 Marek Polacek <polacek@redhat.com>
814
815 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
816 INT_MIN / -1 sanitization only for integer types.
817
4a026b48 8182014-04-25 Marek Polacek <polacek@redhat.com>
819
820 PR c/18079
821 * c-common.c (handle_noinline_attribute): Warn if the attribute
822 conflicts with always_inline attribute.
823 (handle_always_inline_attribute): Warn if the attribute conflicts
824 with noinline attribute.
825
90e645fa 8262014-04-25 Marek Polacek <polacek@redhat.com>
827
828 PR c/60156
829 * c-common.c (check_main_parameter_types): Warn about variadic main.
830
db103ea4 8312014-04-24 Mike Stump <mikestump@comcast.net>
832
833 * c.opt (Wshadow-ivar): Default to on.
834
06511efd 8352014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
836
837 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
838
cdf34fca 8392014-04-23 Marek Polacek <polacek@redhat.com>
840
841 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
842
7311d7c1 8432014-04-22 Jakub Jelinek <jakub@redhat.com>
844
845 PR sanitizer/60275
846 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
847 if flag_sanitize_undefined_trap_on_error.
848 (ubsan_instrument_division, ubsan_instrument_shift,
849 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
850 if !flag_sanitize_recover.
851
c1917557 8522014-04-22 Marc Glisse <marc.glisse@inria.fr>
853
854 PR libstdc++/43622
855 * c-common.c (registered_builtin_types): Make non-static.
856 * c-common.h (registered_builtin_types): Declare.
857
b2ca6510 8582014-04-14 Richard Biener <rguenther@suse.de>
859 Marc Glisse <marc.glisse@inria.fr>
860
861 PR c/60819
862 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
863 apply may-alias the scalar pointer type when applicable.
864
855372a3 8652014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
866
867 PR middle-end/60467
868 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
869 as possible argument for Cilk_spawn.
870
4012a986 8712014-04-11 Tobias Burnus <burnus@net-b.de>
872
873 PR c/60194
874 * c.opt (Wformat-signedness): Add
875 * c-format.c(check_format_types): Use it.
876
0d284870 8772014-04-11 Jason Merrill <jason@redhat.com>
878
879 PR c++/57926
880 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
881 default_conversion for an array argument.
882
a34c1231 8832014-04-08 Marek Polacek <polacek@redhat.com>
884
885 PR sanitizer/60745
886 * c-ubsan.c: Include asan.h.
887 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
888
a35a8e18 8892014-04-03 Nathan Sidwell <nathan@codesourcery.com>
890
891 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
892
b23e42b6 8932014-04-02 Marek Polacek <polacek@redhat.com>
894
895 * c-common.h (c_expand_expr): Remove declaration.
896
5a672e62 8972014-03-28 Jakub Jelinek <jakub@redhat.com>
898
899 PR c++/60689
900 * c-common.c (add_atomic_size_parameter): When creating new
901 params vector, push the size argument first.
902
d4d068c0 9032014-03-26 Jakub Jelinek <jakub@redhat.com>
904
905 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
906 ubsan_instrument_vla, ubsan_instrument_return): Adjust
907 ubsan_create_data callers.
908
446bdf5f 9092014-03-22 Jakub Jelinek <jakub@redhat.com>
910
911 PR debug/60603
912 * c-opts.c (c_finish_options): Restore cb_file_change call to
913 <built-in>.
914
8895f0a3 9152014-03-13 Jakub Jelinek <jakub@redhat.com>
916
917 PR middle-end/36282
918 * c-pragma.c (apply_pragma_weak): Only look at
919 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
920 DECL_ASSEMBLER_NAME_SET_P (decl).
921 (maybe_apply_pending_pragma_weaks): Exit early if
922 vec_safe_is_empty (pending_weaks) rather than only when
923 !pending_weaks.
924 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
925 set assembler name back to NULL afterwards.
926
7a5da2cd 9272014-03-11 Jason Merrill <jason@redhat.com>
928
929 * c.opt: Add -std=gnu++14.
930
95093889 9312014-03-11 Ian Bolton <ian.bolton@arm.com>
932
933 * c-opts.c (c_common_post_options): Don't override
934 -ffp-contract=fast if unsafe-math-optimizations is on.
935
c9a24b37 9362014-03-08 Paulo Matos <paulo@matos-sorge.com>
937
938 * c.opt: Enable LTO FE for fshort-double.
939
3f6dba6e 9402014-03-07 Jason Merrill <jason@redhat.com>
941
942 * c.opt: Add -std=c++14.
943
3bfdc94f 9442014-03-06 Marek Polacek <polacek@redhat.com>
945
946 PR c/60197
947 * cilk.c (contains_cilk_spawn_stmt): New function.
948 (contains_cilk_spawn_stmt_walker): Likewise.
949 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
950 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
951
8b3a6a4c 9522014-03-03 Jakub Jelinek <jakub@redhat.com>
953
954 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
955 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
956 even when flag_preprocess_only.
957
734ec290 9582014-02-26 Jason Merrill <jason@redhat.com>
959
960 PR c++/59231
961 PR c++/11586
962 * c-common.c (shorten_compare): Don't check
963 c_inhibit_evaluation_warnings.
964
81aec8b8 9652014-02-19 Jakub Jelinek <jakub@redhat.com>
966
d1081017 967 PR c/37743
968 * c-common.c (c_common_nodes_and_builtins): When initializing
969 c_uint{16,32,64}_type_node, also set corresponding
970 uint{16,32,64}_type_node to the same value.
971
81aec8b8 972 PR c++/60267
973 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
974 for PRAGMA_IVDEP if flag_preprocess_only.
975
312243bb 9762014-02-12 Jakub Jelinek <jakub@redhat.com>
977
978 PR c/60101
979 * c-common.c (merge_tlist): If copy is true, call new_tlist,
980 if false, add ADD itself, rather than vice versa.
981 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
982 copy. For SAVE_EXPR, only call merge_tlist once.
983
237e78b1 9842014-02-08 Jakub Jelinek <jakub@redhat.com>
985
986 PR middle-end/60092
987 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
988 and tree_to_uhwi.
989 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
990 functions.
991 (c_common_attribute_table): Add alloc_align and assume_aligned
992 attributes.
993
76fdceeb 9942014-02-06 Marek Polacek <polacek@redhat.com>
995
996 PR c/60087
997 * c-common.c (warn_for_sign_compare): Call warning_at with location
998 instead of warning.
999
4a4dea42 10002014-02-05 Marek Polacek <polacek@redhat.com>
1001
1002 PR c/53123
1003 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1004 statement.
1005
ec704957 10062014-02-04 Marek Polacek <polacek@redhat.com>
1007
1008 PR c/60036
1009 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1010 SAVE_EXPR.
1011
caf62483 10122014-02-03 Marc Glisse <marc.glisse@inria.fr>
1013
1014 PR c++/53017
1015 PR c++/59211
1016 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1017 handle_vector_size_attribute, handle_nonnull_attribute): Call
1018 default_conversion on the attribute argument.
1019 (handle_nonnull_attribute): Increment the argument number.
1020
ec761d5a 10212014-01-31 Marek Polacek <polacek@redhat.com>
1022
1023 PR c/59963
1024 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1025 build_function_call_vec.
1026 (resolve_overloaded_builtin): Likewise.
1027 * c-common.h (build_function_call_vec): Adjust declaration.
1028
22a75734 10292014-01-30 Marek Polacek <polacek@redhat.com>
1030
1031 PR c/59940
1032 * c-common.h (unsafe_conversion_p): Adjust declaration.
1033 (warnings_for_convert_and_check): Likewise.
1034 (convert_and_check): Likewise.
1035 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1036 expansion_point_location_if_in_system_header on it.
1037 (warnings_for_convert_and_check): Add location parameter. Call
1038 expansion_point_location_if_in_system_header on it. Use it.
1039 (convert_and_check): Add location parameter. Use it.
1040 (conversion_warning): Likewise.
1041 (c_add_case_label): Adjust convert_and_check calls.
1042 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1043
a89e6c15 10442014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1045
1046 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1047 flag_cilkplus.
1048 * c-pragma.c (init_pragma): Likewise.
1049 * c.opt: Likewise.
1050
2623625f 10512014-01-23 Marek Polacek <polacek@redhat.com>
1052
1053 PR c/59846
1054 * c-common.c (shorten_compare): Add location_t parameter.
1055 * c-common.h (shorten_binary_op): Adjust declaration.
1056
46da3601 10572014-01-23 Marek Polacek <polacek@redhat.com>
1058
1059 PR c/58346
1060 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1061 * c-common.h: Declare it.
1062
c9743c6a 10632014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1064
1065 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1066 * c-ada-spec.c (dump_ads): Likewise.
1067 (cpp_check): Likewise.
1068 (dump_ada_specs): Likewise.
1069
10702014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 1071
1072 PR c++/49718
1073 * c-common.c (handle_no_instrument_function_attribute): Allow
1074 no_instrument_function attribute in class member
1075 definition/declaration.
1076
1248c663 10772014-01-15 Jakub Jelinek <jakub@redhat.com>
1078
1079 PR c/58943
1080 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1081 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1082 being COMPOUND_EXPR.
1083 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1084 operand a SAVE_EXPR and second MODIFY_EXPR.
1085
6e5c480b 10862014-01-09 Jakub Jelinek <jakub@redhat.com>
1087
1088 PR target/58115
1089 * c-pch.c (c_common_write_pch): Call
1090 prepare_target_option_nodes_for_pch.
1091
3aea1f79 10922014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1093
1094 Update copyright years
1095
e4f22041 10962014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1097
1098 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1099 the copyright notice.
1100
7fb0fe24 11012013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1102
1103 * c-ada-spec.c (print_constructor): New function.
1104 (print_destructor): Retrieve the origin of the destructor.
1105 (print_ada_declaration): Revamp handling of constructors/destructors.
1106
468088ac 11072013-12-23 Stuart Hastings <stuart@apple.com>
1108 Bill Maddox <maddox@google.com>
1109 Jason Merrill <jason@redhat.com>
1110
1111 * c.opt: Add -fdeclone-ctor-dtor.
1112 * c-opts.c (c_common_post_options): Default to on iff -Os.
1113
74acc703 11142013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1115
1116 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1117 attribute.
1118 * c-pragma.h (enum pragma_cilk_clause): Remove.
1119 (enum pragma_omp_clause): Added the following fields:
1120 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1121 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1122 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1123 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1124 PRAGMA_CILK_CLAUSE_UNIFORM.
1125
1126
433e804e 11272013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1128
1129 * cilk.c (cilk_outline): Made this function non-static.
1130 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1131 (create_cilk_wrapper): Added a new parameter: a function pointer.
1132 (c_install_body_w_frame_cleanup): Remove
1133 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1134 * c-common.h (cilk_outline): New prototype.
1135 (gimplify_cilk_spawn): Removed two parameters.
1136 (cilk_install_body_with_frame_cleanup): New prototype.
1137 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1138 CILK_SPAWN_STMT case.
1139
5bcc7e60 11402013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1141
e66325ea 1142 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1143
5bcc7e60 1144 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1145 (int_array_type_node): Remove.
1146 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1147
0b26ec77 11482013-12-05 Marek Polacek <polacek@redhat.com>
1149
1150 PR c/52023
1151 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1152 [ADJUST_FIELD_ALIGN].
1153
a179a7dc 11542013-12-04 Joseph Myers <joseph@codesourcery.com>
1155
1156 PR c/52023
1157 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1158 and check field alignment if set.
1159 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1160 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1161
137559b2 11622013-12-04 Jakub Jelinek <jakub@redhat.com>
1163 Marek Polacek <polacek@redhat.com>
1164
1165 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1166 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1167
648fd348 11682013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1169
1170 PR c/59309
1171 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1172 arguments.
1173
253e1cae 11742013-11-29 Jakub Jelinek <jakub@redhat.com>
1175
1176 PR c/59280
1177 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1178 goto invalid. If it is error_mark_node, don't issue further
1179 diagnostics.
1180
3e398f5b 11812013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1182
1183 * c.opt (Wopenmp-simd): New.
1184
020bc656 11852013-11-22 Jakub Jelinek <jakub@redhat.com>
1186
1187 * c-ubsan.h (ubsan_instrument_return): New prototype.
1188 * c-ubsan.c (ubsan_instrument_return): New function.
1189
bc61cadb 11902013-11-22 Andrew MacLeod <amacleod@redhat.com>
1191
1192 * c-common.c: Add required include files from gimple.h.
1193 * c-gimplify.c: Likewise
1194 * cilk.c: Likewise
1195
3df42822 11962013-11-22 David Malcolm <dmalcolm@redhat.com>
1197
1198 * c-common.c (unsafe_conversion_p): Remove use of
1199 EXPR_LOC_OR_HERE macro.
1200 (conversion_warning): Likewise.
1201 (warnings_for_convert_and_check): Likewise.
1202 (warn_for_collisions_1): Likewise.
1203 (shorten_compare): Likewise, and remove use of in_system_header
1204 macro, using the location from the former.
1205 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1206 (cb_def_pragma): Remove use of in_system_header macro.
1207 (lex_string): Likewise.
1208 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1209
8c53c46c 12102013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1211 Mike Stump <mikestump@comcast.net>
1212 Richard Sandiford <rdsandiford@googlemail.com>
1213
1214 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1215 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1216 tree_fits_shwi_p or tree_fits_uhwi_p.
1217 (dump_generic_ada_node): Likewise.
1218 * c-format.c (check_format_arg): Likewise.
1219 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1220
5200ef07 12212013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1222
1223 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1224
ca9d7d74 12252013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1226
1227 PR c/53001
1228 * c-common.c (unsafe_conversion_p): Make this function
1229 return an enumeration with more detail.
1230 (conversion_warning): Use the new return type of
1231 unsafe_conversion_p to separately warn either about conversions
1232 that lower floating point number precision or about the other
1233 kinds of conversions.
1234 * c-common.h (enum conversion_safety): New enumeration.
1235 (unsafe_conversion_p): switching return type to
1236 conversion_safety enumeration.
1237 * c.opt: Adding new warning -Wfloat-conversion and
1238 enabling it with -Wconversion.
1239
0391a567 12402013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1241
1242 * c-opts.c: Include plugin.h.
1243 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1244
19b928d9 12452013-11-19 Marek Polacek <polacek@redhat.com>
1246
1247 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1248 call.
1249 (ubsan_instrument_shift): Likewise.
1250 (ubsan_instrument_vla): Likewise.
1251
aa59f000 12522013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1253
1254 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1255 cast to unsigned type.
1256
08f817b3 12572013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1258
1259 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1260 tree_low_cst.
1261 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1262 rather than tree_low_cst.
1263
6a0712d4 12642013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1265
1266 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1267 tree_to_uhwi throughout.
1268
fcb97e84 12692013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1270
1271 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1272 tree_low_cst (..., 0) with tree_to_shwi throughout.
1273
cd4547bf 12742013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1275
1276 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1277 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1278
35ec552a 12792013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1280
1281 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1282 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1283
f2697631 12842013-11-15 Aldy Hernandez <aldyh@redhat.com>
1285
1286 * c-cilkplus.c: New file.
1287 * c-common.c (readonly_error): Add location argument.
1288 * c-common.h (readonly_error): Same.
1289 (c_finish_cilk_clauses): Protoize.
1290 (c_check_cilk_loop): Same.
1291 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1292 Do not fail on error_mark_node.
1293 Abstract increment canonicalization to here...
1294 (c_omp_for_incr_canonicalize_ptr): New.
1295 c-pragma.c (init_pragma): Register "simd" pragma.
1296 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1297 (enum pragma_cilk_clause): New.
1298
0aa8c34e 12992013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1300
1301 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1302 wchar_type and host_integerp checks.
1303
e795d6e1 13042013-11-14 Andrew MacLeod <amacleod@redhat.com>
1305
1306 * c-common.c: Likewise.
1307 * c-gimplify.c: Likewise.
1308 * cilk.c: Likewise.
1309
9ed99284 13102013-11-14 Diego Novillo <dnovillo@google.com>
1311
1312 * c-common.c: Include fold-const.h.
1313 Include stor-layout.h.
1314 Include calls.h.
1315 Include stringpool.h.
1316 Include attribs.h.
1317 Include varasm.h.
1318 Include trans-mem.h.
1319 * c-cppbuiltin.c: Include stor-layout.h.
1320 Include stringpool.h.
1321 * c-format.c: Include stringpool.h.
1322 * c-lex.c: Include stringpool.h.
1323 Include stor-layout.h.
1324 * c-pragma.c: Include stringpool.h.
1325 Include attribs.h.
1326 Include varasm.h.
1327 Include gcc-symtab.h.
1328 * c-pretty-print.c: Include stor-layout.h.
1329 Include attribs.h.
1330 * cilk.c: Include stringpool.h.
1331 Include calls.h.
1332
4fba5eb9 13332013-11-13 Joseph Myers <joseph@codesourcery.com>
1334
1335 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1336 * c-common.c (c_common_reswords): Add __auto_type.
1337 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1338
a8783bee 13392013-11-12 Andrew MacLeod <amacleod@redhat.com>
1340
e795d6e1 1341 * c-common.c: Include gimplify.h.
1342 * c-gimplify.c: Likewise.
1343 * cilk.c: Likewise.
1344 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1345 * c-ubsan.c: Don't include gimple.h.
a8783bee 1346
d184e0c0 13472013-11-12 Joseph Myers <joseph@codesourcery.com>
1348
1349 * c-common.c (c_common_reswords): Add _Thread_local.
1350
a056826c 13512013-11-09 Joseph Myers <joseph@codesourcery.com>
1352
1353 * c-common.c (atomic_size_supported_p): New function.
1354 (resolve_overloaded_atomic_exchange)
1355 (resolve_overloaded_atomic_compare_exchange)
1356 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1357 Use it instead of comparing size with a local list of sizes.
1358
b560fabd 13592013-11-07 Andrew MacLeod <amacleod@redhat.com>
1360 Joseph Myers <joseph@codesourcery.com>
1361
1362 * c-common.h (enum rid): Add RID_ATOMIC.
1363 * c-common.c (c_common_reswords): Add _Atomic.
1364 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1365 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1366 * c-format.c (check_format_types): Check for extra _Atomic
1367 qualifiers in format argument.
1368 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1369 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1370
5b1a0622 13712013-11-06 Tobias Burnus <burnus@net-b.de>
1372
1373 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1374
4f8f4cb8 13752013-11-06 Joseph Myers <joseph@codesourcery.com>
1376
1377 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1378 standards modes.
1379 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1380 to mean lack of IEEE 754 support.
1381
9148bda3 13822013-11-05 Tobias Burnus <burnus@net-b.de>
1383
1384 * c.opt (-Wdate-time): New option
1385 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1386
08c5f4d5 13872013-11-05 Joseph Myers <joseph@codesourcery.com>
1388
1389 * c-cppbuiltin.c (cpp_iec_559_value): Test
1390 flag_excess_precision_cmdline not flag_excess_precision.
1391
c630ef93 13922013-11-05 Tobias Burnus <burnus@net-b.de>
1393
1394 * c.opt (fopenmp-simd): New option.
1395 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1396 (omp_pragmas): ... this new struct.
1397 (c_pp_lookup_pragma): Also walk omp_pragmas.
1398 (init_pragma): Init pragmas for -fopenmp-simd.
1399
7354a89b 14002013-11-04 Marek Polacek <polacek@redhat.com>
1401
1402 PR c++/58979
1403 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1404
4c866b9b 14052013-11-04 Joseph Myers <joseph@codesourcery.com>
1406
1407 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1408 New functions.
1409 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1410
e2a6a333 14112013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1412
1413 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1414 (dump_ada_specs): Adjust prototype of second callback.
1415 * c-ada-spec.c (cpp_check): New global variable.
1416 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1417 (print_generic_ada_decl): Likewise.
1418 (has_static_fields): Change return type to bool and add guard.
1419 (has_nontrivial_methods): New predicate.
1420 (is_tagged_type): Change return type to bool.
1421 (separate_class_package): Call has_nontrivial_methods.
1422 (pp_ada_tree_identifier): Minor tweaks.
1423 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1424 (dump_ada_array_domains): Likewise.
1425 (dump_ada_array_type): Likewise.
1426 (dump_template_types): Remove cpp_check parameter and do not pass it to
1427 dump_generic_ada_node.
1428 (dump_ada_template): Likewise.
1429 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1430 recursively.
1431 (print_ada_methods): Change return type to integer. Remove cpp_check
1432 parameter and do not pass it down.
1433 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1434 dump_generic_ada_node.
1435 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1436 accessing methods.
1437 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1438 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1439 value of print_ada_methods.
1440 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1441 Set cpp_check to it before invoking dump_ada_nodes.
1442 (dump_ada_specs): Likewise.
1443
2c4c3477 14442013-11-03 Marek Polacek <polacek@redhat.com>
1445
1446 * c-ubsan.c: Don't include hash-table.h.
1447 (ubsan_instrument_vla): New function.
1448 * c-ubsan.h: Declare it.
1449
452659af 14502013-10-31 David Malcolm <dmalcolm@redhat.com>
1451
1452 Automated part of renaming of symtab_node_base to symtab_node.
1453
1454 Patch autogenerated by rename_symtab.py from
1455 https://github.com/davidmalcolm/gcc-refactoring-scripts
1456 revision 58bb219cc090b2f4516a9297d868c245495ee622
1457
1458 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1459 symtab_node_base to symtab_node.
1460
4d6f7dd4 14612013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1462
1463 Implement C++14 digit separators.
1464 * c-lex.c (interpret_float): Remove digit separators from scratch string
1465 before building real literal.
1466
06cfe805 14672013-10-30 Jakub Jelinek <jakub@redhat.com>
1468
1469 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1470
d037099f 14712013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1472
1473 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1474 fields.
1475 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1476 enabled.
1477 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1478 (insert_cilk_frame): New prototype.
1479 (cilk_init_builtins): Likewise.
1480 (gimplify_cilk_spawn): Likewise.
1481 (c_cilk_install_body_w_frame_cleanup): Likewise.
1482 (cilk_detect_spawn_and_unwrap): Likewise.
1483 (cilk_set_spawn_marker): Likewise.
1484 (build_cilk_sync): Likewise.
1485 (build_cilk_spawn): Likewise.
1486 * cilk.c: New file.
1487
02774f2d 14882013-10-29 David Malcolm <dmalcolm@redhat.com>
1489
1490 Patch autogenerated by refactor_symtab.py from
1491 https://github.com/davidmalcolm/gcc-refactoring-scripts
1492 revision 58bb219cc090b2f4516a9297d868c245495ee622
1493
1494 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1495 to a true class hierarchy.
1496 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1497
31fe10fd 14982013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1499
1500 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1501
b1c06ff9 15022013-10-26 Jeff Law <law@redhat.com>
1503
1504 * c-family/c-common.c (c_define_builtins): Remove mudflap support.
1505 * c-family/c.opt: Ignore and warn for mudflap options.
1506
48a972c8 15072013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1508
1509 PR other/33426
1510 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1511 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1512
546a04b1 15132013-10-23 Jason Merrill <jason@redhat.com>
1514
1515 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1516
bc7bff74 15172013-10-11 Jakub Jelinek <jakub@redhat.com>
1518
d62c713e 1519 * c-common.h (omp_clause_mask::operator !=): New method.
1520 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1521 instead of if (mask & something) tests everywhere.
1522
bc7bff74 1523 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1524 201307 instead of 201107.
1525 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1526 (c_common_attribute_table): Add "omp declare target" and
1527 "omp declare simd" attributes.
1528 (handle_omp_declare_target_attribute,
1529 handle_omp_declare_simd_attribute): New functions.
1530 * c-omp.c: Include c-pragma.h.
1531 (c_finish_omp_taskgroup): New function.
1532 (c_finish_omp_atomic): Add swapped argument, if true,
1533 build the operation first with rhs, lhs arguments and use NOP_EXPR
1534 build_modify_expr.
1535 (c_finish_omp_for): Add code argument, pass it down to make_code.
1536 (c_omp_split_clauses): New function.
1537 (c_split_parallel_clauses): Removed.
1538 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1539 c_omp_declare_simd_clauses_to_decls): New functions.
1540 * c-common.h (omp_clause_mask): New type.
1541 (OMP_CLAUSE_MASK_1): Define.
1542 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1543 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1544 omp_clause_mask::operator |, omp_clause_mask::operator &,
1545 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1546 omp_clause_mask::operator ==): New methods.
1547 (enum c_omp_clause_split): New.
1548 (c_finish_omp_taskgroup): New prototype.
1549 (c_finish_omp_atomic): Add swapped argument.
1550 (c_finish_omp_for): Add code argument.
1551 (c_omp_split_clauses): New prototype.
1552 (c_split_parallel_clauses): Removed.
1553 (c_omp_declare_simd_clauses_to_numbers,
1554 c_omp_declare_simd_clauses_to_decls): New prototypes.
1555 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1556 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1557 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1558 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1559 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1560 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1561 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1562 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1563 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1564 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1565 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1566 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1567 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1568 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1569 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1570 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1571 PRAGMA_OMP_CLAUSE_UNIFORM.
1572
d7dcba40 15732013-10-09 Marc Glisse <marc.glisse@inria.fr>
1574
1575 PR tree-optimization/20318
1576 * c-common.c (handle_returns_nonnull_attribute): New function.
1577 (c_common_attribute_table): Add returns_nonnull.
1578
0b7282f1 15792013-10-03 Marc Glisse <marc.glisse@inria.fr>
1580
1581 PR c++/19476
1582 * c.opt (fcheck-new): Move to common.opt.
1583
51f553af 15842013-09-25 Marek Polacek <polacek@redhat.com>
1585 Jakub Jelinek <jakub@redhat.com>
1586
1587 PR sanitizer/58413
1588 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1589 an expression if we can prove it is correct.
1590 (ubsan_instrument_division): Likewise. Remove unnecessary
1591 check.
1592
05f893e1 15932013-09-18 Marek Polacek <polacek@redhat.com>
1594
1595 PR sanitizer/58411
1596 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1597 Declare it.
1598 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1599
236ce1d1 16002013-09-14 Iain Sandoe <iain@codesourcery.com>
1601
1602 PR target/48094
1603 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1604 fobjc-gc, freplace-objc-classes): Accept for LTO.
1605
f9f68d35 16062013-09-13 Jacek Caban <jacek@codeweavers.com>
1607
1608 * c-target.def: New hook
1609
ba2f764e 16102013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1611
1612 PR c++/43452
1613 * c.opt (Wdelete-incomplete): Add.
1614
73437615 16152013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1616
1617 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1618 (vector_types_compatible_elements_p): New function.
1619 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1620 declaration.
1621 (vector_types_compatible_elements_p): Declare.
1622
95af4c75 16232013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1624
1625 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1626 a virtual member function.
1627 (pp_simple_type_specifier): Remove.
1628 (pp_c_type_specifier): Likewise.
1629 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1630 Rename from pp_c_type_specifier. Adjust.
1631 (c_pretty_printer::c_pretty_printer): Do not assign to
1632 simple_type_specifier.
1633
eaab24b9 16342013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1635
1636 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1637 member function.
1638 (c_pretty_printer::storage_class_specifier): Likewise.
1639 (c_pretty_printer::initializer): Likewise.
1640 (pp_declaration): Remove.
1641 (pp_declaration_specifiers): Likewise.
1642 (pp_abstract_declarator): Likewise.
1643 (pp_declarator): Likewise.
1644 (pp_type_id): Likewise.
1645 (pp_statement): Likewise.
1646 (pp_constant): Likewise.
1647 (pp_id_expression): Likewise.
1648 (pp_primary_expression): Likewise.
1649 (pp_unary_expression): Likewise.
1650 (pp_multiplicative_expression): Likewise.
1651 (pp_conditional_expression): Likewise.
1652 (pp_assignment_expression): Likewise.
1653 (pp_expression): Likewise.
1654 (pp_c_type_id): Likewise.
1655 (pp_c_storage_class_specifier): Likewise.
1656 * c-pretty-print.c (pp_c_type_cast): Tidy.
1657 (pp_c_pointer): Likewise.
1658 (pp_c_type_specifier): Likewise.
1659 (pp_c_parameter_type_list): Likewise.
1660 (pp_c_function_definition): Likewise.
1661 (pp_c_init_declarator): Likewise.
1662 (pp_c_initializer_list): Likewise.
1663 (pp_c_constructor_elts): Likewise.
1664 (c_pretty_printer::direct_abstract_declarator): Likewise.
1665 (c_pretty_printer::declaration_specifiers): Likewise.
1666 (c_pretty_printer::primary_expression): Likewise.
1667 (c_pretty_printer::postfix_expression): Likewise.
1668 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1669 (c_pretty_printer::storage_class_specifier): Rename from
1670 pp_c_storage_class_specifier.
1671 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1672 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1673 storage_class_specifier, initializer, offset_list, flags.
1674
9e46467d 16752013-08-30 Marek Polacek <polacek@redhat.com>
1676
1677 * c-ubsan.c: New file.
1678 * c-ubsan.h: New file.
1679
36a8d9b9 16802013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1681
1682 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1683 member function.
1684 (c_pretty_printer::declaration_specifiers): Likewise.
1685 (c_pretty_printer::declarator): Likewise.
1686 (c_pretty_printer::abstract_declarator): Likewise.
1687 (c_pretty_printer::direct_abstract_declarator): Likewise.
1688 (c_pretty_printer::direct_declarator): Likewise.
1689 (c_pretty_printer::function_specifier): Likewise.
1690 (pp_declaration): Adjust.
1691 (pp_declaration_specifiers): Likewise.
1692 (pp_abstract_declarator): Likewise.
1693 (pp_direct_declarator): Likewise.
1694 (pp_function_specifier): Likewise.
1695 (pp_direct_abstract_declarator): Remove as unused.
1696 (pp_c_declaration): Remove.
1697 (pp_c_declaration_specifiers): Likewise.
1698 (pp_c_declarator): Likewise.
1699 (pp_c_direct_declarator): Likewise.
1700 (pp_c_function_specifier): Likewise.
1701 (pp_c_direct_abstract_declarator): Likewise.
1702 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1703 from pp_c_abstract_declarator. Adjust.
1704 (c_pretty_printer::direct_abstract_declarator): Rename from
1705 pp_c_direct_abstract_declarator. Adjust.
1706 (c_pretty_printer::function_specifier): Rename from
1707 pp_c_function_specifier. Adjust.
1708 (c_pretty_printer::declaration_specifiers): Rename from
1709 pp_c_declaration_specifiers. Adjust.
1710 (c_pretty_printer::direct_declarator): Rename from
1711 pp_c_direct_declarator. Adjust.
1712 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1713 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1714 (c_pretty_printer::c_pretty_printer): Do not assign to
1715 declaration, declaration_specifiers, declarator,
1716 direct_declarator, direct_abstract_declarator, function_specifier.
1717
30635c2e 17182013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
1719
1720 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
1721 virtual member function.
1722 (c_pretty_printer::multiplicative_expression): Likewise.
1723 (c_pretty_printer::conditional_expression): Likewise.
1724 (c_pretty_printer::assignment_expression): Likewise.
1725 (c_pretty_printer::expression): Likewise.
1726 (pp_unary_expression): Adjust.
1727 (pp_multiplicative_expression): Likewise.
1728 (pp_assignment_expression): Likewise.
1729 (pp_conditional_expression): Likewise.
1730 (pp_expression): Likewise.
1731 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
1732 from pp_c_unary_expression. Adjust.
1733 (c_pretty_printer::multiplicative_expression): Rename from
1734 pp_c_multiplicative_expression. Adjust.
1735 (c_pretty_printer::conditional_expression): Rename from
1736 pp_c_conditional_expression. Adjust.
1737 (c_pretty_printer::assignment_expression): Rename from
1738 pp_c_assignment_expression. Adjust.
1739 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
1740 (c_pretty_printer::c_pretty_printer): Do not assign to
1741 unary_expression, multiplicative_expression,
1742 conditional_expression, expression.
1743
027d08ed 17442013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1745
1746 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
1747 virtual member function.
1748 (pp_postfix_expression): Adjust.
1749 (pp_c_postfix_expression): Remove.
1750 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
1751 from pp_c_postfix_expression. Adjust.
1752 (c_pretty_printer::c_pretty_printer): Do not assign to
1753 postfix_expression.
1754
f873303a 17552013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1756
1757 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
1758 virtua member function.
1759 (pp_primary_expression): Adjust.
1760 (pp_c_primary_expression): Remove.
1761 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
1762 from pp_c_primary_expression. Adjust.
1763 (pp_c_initializer_list): Use pp_primary_expression.
1764 (c_pretty_printer::c_pretty_printer): Do not assign to
1765 primary_expression.
1766
08e3e481 17672013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
1768
1769 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
1770 * c-pretty-print.c (M_): Remove.
1771 (c_pretty_printer::translate_string): Define.
1772 (pp_c_type_specifier): Use it.
1773 (pp_c_primary_expression): Likewise.
1774 (pp_c_expression): Likewise.
1775
1fc4a87f 17762013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1777
1778 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
1779 virtual function.
1780 (pp_c_id_expression): Remove.
1781 (pp_id_expression): Adjust.
1782 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
1783 pp_c_id_expression. Adjust.
1784 (pp_c_postfix_expression): Use pp_id_expression.
1785 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
1786
a6cb161b 17872013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
1788
1789 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
1790 member function.
1791 (pp_constant): Adjust.
1792 (pp_c_constant): Remove.
1793 * c-pretty-print.c (c_pretty_printer::constant): Rename from
1794 pp_c_constant. Adjust.
1795 (pp_c_constant)
1796 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
1797 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
1798
eed6bc21 17992013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1800
1801 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
1802 (c_pretty_printer::c_pretty_printer): Declare.
1803 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
1804 c_pretty_printer_init. Adjust.
1805 (print_c_tree): Do not call c_pretty_printer_init.
1806 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
1807
df558d2e 18082013-08-09 Arnaud Charlet <charlet@adacore.com>
1809
1810 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
1811
42f9a786 18122013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
1813
1814 PR c++/58080
1815 * c-common.c (pointer_int_sum): Add bool parameter.
1816 * c-common.h (pointer_int_sum): Adjust declaration.
1817
f874ddad 18182013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
1819
1820 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
1821 c_pretty_printer variable.
1822
a94db6b0 18232013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1824
1825 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
1826 (pp_base): Remove.
1827 (pp_c_base): Likewise. Adjust users.
1828 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
1829 (pp_c_whitespace): Do not call pp_base.
1830 (pp_c_left_paren): Likewise.
1831 (pp_c_right_paren): Likewise.
1832 (pp_c_left_brace): Likewise.
1833 (pp_c_right_brace): Likewise.
1834 (pp_c_left_bracket): Likewise.
1835 (pp_c_right_bracket): Likewise.
1836 (pp_c_dot): Likewise.
1837 (pp_c_ampersand): Likewise.
1838 (pp_c_star): Likewise.
1839 (pp_c_arrow): Likewise.
1840 (pp_c_semicolon): Likewise.
1841 (pp_c_complement): Likewise.
1842 (pp_c_exclamation): Likewise.
1843 (pp_c_direct_declarator): Likewise.
1844 (pp_c_ws_string): Likewise.
1845 (pp_c_identifier): Likewise.
1846 (pp_c_statement): Likewise.
1847 (print_c_tree): Likewise.
1848
1898176c 18492013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
1850
1851 PR c++/58072
1852 * c-common.c (c_parse_error): Catch user-defined literal tokens and
1853 provide useful error strings.
1854
70d60d1d 18552013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1856
1857 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
1858 printer functions instead of pp_string or operators and punctuators.
1859 (dump_generic_ada_node): Likewise.
1860 * c-pretty-print.c (pp_c_type_specifier): Likewise.
1861 (pp_c_relational_expression): Likewise.
1862 (pp_c_logical_or_expression): Likewise.
1863
dda4f0ec 18642013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1865
1866 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
1867 functions instead of pp_character.
1868 (pp_ada_tree_identifier): Likewise.
1869 (dump_ada_double_name): Likewise.
1870 (dump_ada_function_declaration): Likewise.
1871 (dump_ada_array_domains): Likewise.
1872 (dump_template_types): Likewise.
1873 (dump_generic_ada_node): Likewise.
1874 (print_ada_declaration): Likewise.
1875 (print_ada_struct_decl): Likewise.
1876 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1877
7aa04c8d 18782013-07-23 Tom Tromey <tromey@redhat.com>
1879
1880 * c-common.h (enum rid) <RID_GENERIC>: New constant.
1881 * c-common.c (c_common_reswords): Add _Generic.
1882
a04e8d62 18832013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
1884
1885 * c-common.c: Fix typos.
1886 * c-common.h: Likewise.
1887
a96c3cc1 18882013-07-13 Lubos Lunak <l.lunak@suse.cz>
1889
1890 PR c++/55203
1891 * c-common.c (c_common_attribute_table): Add warn_unused.
1892 (handle_warn_unused_attribute): New.
1893
da31536d 18942013-07-10 Jakub Jelinek <jakub@redhat.com>
1895
1896 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
1897 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
1898
839f2f70 18992013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
1900
1901 PR c++/57869
1902 * c.opt: Add Wconditionally-supported.
1903
73f353d0 19042013-07-08 Graham Stott <graham.stott@btinternet.com>
1905
1906 * c-family/array-notation-common.c (length_mismatch_in_expr_p): Delete
1907 unused variables l_length and l_node.
1908
21ebaa24 19092013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 1910
1911 PR c/57821
1912 * c-common.c (complete_array_type): Delay folding first index
1913 like other indices. When folding, check for index overflow.
1914
68ea4406 19152013-06-27 Marc Glisse <marc.glisse@inria.fr>
1916
1917 PR c++/57509
1918 * c-common.h (c_build_vec_perm_expr): New complain argument.
1919 * c-common.c (c_build_vec_perm_expr): Likewise.
1920 Use save_expr also in C++.
1921
60777f69 19222013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
1923
1924 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
1925 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
1926 * c-opts.c (c_common_post_options): Likewise.
1927
839f2f70 19282013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 1929
1930 * array-notation-common.c (length_mismatch_in_expr): Changed the
1931 parameter type's from a dynamic array to a vec_tree. Also removed
1932 the size parameters.
1933 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
1934 the change above.
1935
e9331eab 19362013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
1937
1938 * c-common.h (struct cilkplus_an_parts): New structure.
1939 (struct cilkplus_an_loop_parts): Likewise.
1940 (cilkplus_extract_an_triplets): New prototype.
1941 (fix_sec_implicit_args): Likewise.
1942 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
1943 (fix_sec_implicit_args): Likewise.
60777f69 1944
a9c99fc4 19452013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
1946
1947 * array-notation-common.c (find_inv_trees): Removed an unwanted
1948 typecasting.
1949 * c-common.h (struct inv_list::additional_tcodes): Changed type from
1950 enum rid to enum tree_code.
1951
f2526cce 19522013-06-11 Jan Hubicka <jh@suse.cz>
1953
1954 * c-common.c (handle_alias_ifunc_attribute): Do not set
1955 DECL_EXTERNAL for weakref variables.
1956 * c-pragma.c (handle_pragma_weak): Make sure aliases
1957 are not declared as external.
1958
09970d67 19592013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
1960
1961 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
1962 function from c/c-array-notation.c.
1963 (is_cilkplus_reduce_builtin): Likewise.
1964 (find_rank): Likewise.
1965 (extract_array_notation_exprs): Likewise.
1966 (replace_array_notations): Likewise.
1967 (find_inv_trees): Likewise.
1968 (replace_inv_trees): Likewise.
1969 (contains_array_notation_expr): Likewise.
1970 (find_correct_array_notation_type): Likewise.
1971 * c-common.h (struct inv_list): Moved this struct from the file
1972 c/c-array-notation.c and added a new field called additional tcodes.
1973 (length_mismatch_in_expr_p): New prototype.
1974 (is_cilkplus_reduce_builtin): Likewise.
1975 (find_rank): Likewise.
1976 (extract_array_notation_exprs): Likewise.
1977 (replace_array_notation): Likewise.
1978 (find_inv_trees): Likewise.
1979 (replace_inv_trees): Likewise.
1980 (find_correct_array_notation_type): Likewise.
839f2f70 1981
3c6d4197 19822013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
1983
1984 * c-common.c (c_define_builtins): When cilkplus is enabled, the
1985 function array_notation_init_builtins is called.
1986 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
1987 * c-common.def (ARRAY_NOTATION_REF): New tree.
1988 * c-common.h (build_array_notation_expr): New function declaration.
1989 (build_array_notation_ref): Likewise.
1990 (extract_sec_implicit_index_arg): New extern declaration.
1991 (is_sec_implicit_index_fn): Likewise.
1992 (ARRAY_NOTATION_CHECK): New define.
1993 (ARRAY_NOTATION_ARRAY): Likewise.
1994 (ARRAY_NOTATION_START): Likewise.
1995 (ARRAY_NOTATION_LENGTH): Likewise.
1996 (ARRAY_NOTATION_STRIDE): Likewise.
1997 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
1998 ARRAY_NOTATION_REF.
1999 (pp_c_expression): Likewise.
2000 * c.opt (flag_enable_cilkplus): New flag.
2001 * array-notation-common.c: New file.
2002
8e71dad2 20032013-05-14 Jakub Jelinek <jakub@redhat.com>
2004
2005 PR c++/57274
2006 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2007
432dd330 20082013-05-10 Marc Glisse <marc.glisse@inria.fr>
2009
2010 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2011 vectors.
2012
b156ec37 20132013-05-07 Han Shen <shenhan@google.com>
2014
2015 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2016
1a087624 20172013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2018
2019 * c-common.c (check_user_alignment): Emit error for negative values.
2020
1638c736 20212013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2022
2023 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2024
949dbf93 20252013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2026
2027 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2028 __GXX_EXPERIMENTAL_CXX1Y__.
2029
9205a6cc 20302013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2031 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2032
2033 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2034 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2035 to simply use OPT_Wpointer_arith.
2036 (c_sizeof_or_alignof_type): Likewise.
2037
05d0bce1 20382013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2039
2040 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2041
41609f8b 20422013-04-12 Jakub Jelinek <jakub@redhat.com>
2043
2044 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2045 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2046 specifiers.
2047
c671dc4f 20482013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2049
2050 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2051
ba125576 20522013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2053
2054 * c-common.c (pointer_int_sum): Remove dead code.
2055
9d3fa937 20562013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2057
2058 PR middle-end/56524
2059 * c-common.c (handle_optimize_attribute): Don't call
2060 save_optabs_if_changed.
2061
5ceebb21 20622013-03-05 Jakub Jelinek <jakub@redhat.com>
2063
2064 PR middle-end/56461
2065 * c-pch.c (pch_init): Free target_validity at the end.
2066
18eeed2b 20672013-03-04 Jakub Jelinek <jakub@redhat.com>
2068
2069 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2070
a9196da9 20712013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2072 Jakub Jelinek <jakub@redhat.com>
2073
2074 PR sanitizer/56454
2075 * c-common.c (handle_no_sanitize_address_attribute): New function.
2076 (c_common_attribute_table): Add no_sanitize_address attribute.
2077 (handle_no_address_safety_analysis_attribute): Add
2078 no_sanitize_address attribute, not no_address_safety_analysis
2079 attribute.
2080
15c27dda 20812013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 2082
2083 PR target/52555
2084 * c-common.c (handle_optimize_attribute): Call
2085 save_optabs_if_changed.
2086
19426fe1 20872013-02-18 Jakub Jelinek <jakub@redhat.com>
2088 Steven Bosscher <steven@gcc.gnu.org>
2089
2090 PR pch/54117
2091 * c-opts.c (c_common_post_options): If debug info is enabled
2092 and non-dwarf*, refuse to load PCH files and when writing PCH
2093 file warn.
2094
df936998 20952013-02-05 Jakub Jelinek <jakub@redhat.com>
2096
2097 PR middle-end/56167
2098 * c-common.c (handle_error_attribute): Fix condition.
2099
ae0c3984 21002013-01-30 Jakub Jelinek <jakub@redhat.com>
2101
2102 PR c++/55742
2103 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2104
1c4973d7 21052013-01-18 Jason Merrill <jason@redhat.com>
2106
2107 PR target/54908
2108 * c.opt (-fextern-tls-init): New.
2109 * c-opts.c (c_common_post_options): Handle it.
2110
7c834436 21112013-01-09 Jakub Jelinek <jakub@redhat.com>
2112
2113 PR c/48418
2114 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2115 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2116 and is either negative or bigger or equal to type precision
2117 of the first operand.
2118
5abaa10a 21192012-12-03 Marek Polacek <polacek@redhat.com>
2120
2121 PR c/55570
2122 * c-common.c (check_user_alignment): Swap order of tests,
2123 check TREE_CODE first.
2124
324ca377 21252012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2126
2127 PR c++/52654
2128 * c-common.h (overflow_type): New enum.
2129 (build_userdef_literal): Add overflow_type argument.
2130 (tree_userdef_literal): Add overflow_type.
2131 (USERDEF_LITERAL_OVERFLOW): New access macro.
2132 * c-common.c (build_userdef_literal): Add overflow_type
2133 argument.
2134 * c-lex.c (c_lex_with_flags): Add overflow_type to
2135 build_userdef_literal calls.
2136 (interpret_integer, interpret_float): Add overflow_type argument.
2137
b4c4a429 21382012-11-28 Richard Biener <rguenther@suse.de>
2139
2140 PR c/35634
2141 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2142 here and use a type with proper overflow behavior for types that would
2143 need to be promoted for the arithmetic.
2144
d413ffdd 21452012-11-23 Jakub Jelinek <jakub@redhat.com>
2146
2147 PR sanitizer/55435
2148 * c-common.c (handle_no_address_safety_analysis_attribute): New
2149 function.
2150 (c_common_attribute_table): Add no_address_safety_analysis.
2151
52bc861d 21522012-11-16 Simon Baldwin <simonb@google.com>
2153
2154 * c.opt: Add f[no-]canonical-system-headers.
2155 * c-opts.c (c_common_handle_option): Handle
2156 OPT_fcanonical_system_headers.
2157
2dd00636 21582012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2159
2160 PR c++/54413
2161 * c-opts.c (c_common_handle_option): Set new flags.
2162 * c.opt: Describe new flags.
2163
d4701f6c 21642012-11-09 Jason Merrill <jason@redhat.com>
2165
2166 * c.opt (Wabi-tag): New.
2167
72d65da9 21682012-11-09 Andi Kleen <ak@linux.intel.com>
2169
2170 PR 55139
2171 * c-common.c (get_atomic_generic_size): Mask with
2172 MEMMODEL_MASK
2173
77a357e3 21742012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2175
2176 PR c/53063
2177 * c.opt (Wformat): Make it Alias Wformat=1.
2178 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2179 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2180 LangEnabledBy.
2181 (Wformat=): RejectNegative. Use LangEnabledBy.
2182 (Wnonnull): Use LangEnabledBy.
2183 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2184 * c-format.c (set_Wformat): Delete.
2185 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2186 (maybe_read_dollar_number): Likewise.
2187 (avoid_dollar_number): Likewise.
2188 (finish_dollar_format_checking): Likewise.
2189 (check_format_info): Likewise.
2190 (check_format_info_main): Likewise.
2191 (check_format_types): Likewise.
2192 (format_type_warning): Likewise.
2193 * c-common.c (int): Likewise.
2194 (check_function_sentinel): Likewise.
2195 * c-common.h (warn_format,set_Wformat): Do not declare here.
2196
45efa6b9 21972012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2198
2199 PR c/53063
2200 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2201 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2202 Use LangEnabledBy.
2203 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2204 common.opt.
2205 (Wvariadic-macros): Init(1).
2206 * c-opts.c (c_common_handle_option): Do not handle them
2207 explicitly.
2208 (c_common_post_options): Likewise.
2209 (sanitize_cpp_opts): warn_unused_macros is now
2210 cpp_warn_unused_macros.
2211 (push_command_line_include): Likewise.
2212 * c-common.c (warn_unknown_pragmas): Do not define.
2213 * c-common.h (warn_unknown_pragmas): Do not declare.
2214
0e4e775a 22152012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2216
2217 PR c/51294
2218 * c-common.c (conversion_warning): Handle conditional expressions.
2219
8b447d3f 22202012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2221
2222 PR c++/54930
2223 * c.opt (Wreturn_local_addr): Define new option.
2224
f4a61754 22252012-10-25 Jason Merrill <jason@redhat.com>
2226
ecb10e6a 2227 * c.opt (Wvirtual-move-assign): New.
2228
f4a61754 2229 * c.opt (Winherited-variadic-ctor): New.
2230
7b463b19 22312012-10-25 Marc Glisse <marc.glisse@inria.fr>
2232
2233 PR c++/54427
2234 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2235
6adc88f8 22362012-10-23 Joseph Myers <joseph@codesourcery.com>
2237
2238 * c-common.h (pch_cpp_save_state): Declare.
2239 * c-target.def (c_preinclude): New hook.
2240 * c-opts.c (done_preinclude): New.
2241 (push_command_line_include): Handle default preincluded header.
2242 (cb_file_change): Call pch_cpp_save_state when calling
2243 push_command_line_include.
2244 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2245 (pch_cpp_save_state): New.
2246 (pch_init): Call pch_cpp_save_state conditionally, instead of
2247 calling cpp_save_state.
2248
fa816b0b 22492012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2250
2251 PR c/53063
2252 PR c/40989
2253 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2254 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2255 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2256 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2257 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2258 * c-opts.c (c_common_handle_option): Remove explicit handling from
2259 here.
2260 (c_common_post_options): Likewise.
2261
d214ccee 22622012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2263
2264 * c-ada-spec.c (LOCATION_COL): Delete.
2265 (compare_location): New function.
2266 (compare_node): Use it.
2267 (compare_comment): Likewise.
2268
77b27208 22692012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2270
2271 PR c/53063
2272 PR c/40989
2273 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2274 * c-opts.c (c_common_handle_option): Do not set them here. Add
2275 comment.
2276 (c_common_post_options): Likewise.
2277
cc02ca4d 22782012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2279
2280 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2281 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2282 Remove POINTER_TYPE handling, add large unsigned handling and use
2283 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2284
57f872a2 22852012-10-12 Jakub Jelinek <jakub@redhat.com>
2286
2287 PR c/54381
2288 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2289 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2290 locs and array of 3 trees instead of just single loc and single
2291 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2292 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2293 For *cmp* builtins that take two sources strings report warnings
2294 about first and second source, not about destination and source.
2295
7354ad2e 22962012-10-12 Marc Glisse <marc.glisse@inria.fr>
2297
2298 PR c++/53055
2299 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2300
1ac7f120 23012012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2302
2303 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2304 declaring something coming from another file.
2305
1e0cc9e3 23062012-10-10 Arnaud Charlet <charlet@adacore.com>
2307
1ac7f120 2308 PR ada/54845
1e0cc9e3 2309 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2310
b0e7825e 23112012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2312
2313 PR c++/54194
2314 * c-common.c (warn_about_parentheses): Add location_t parameter;
2315 use EXPR_LOC_OR_LOC.
2316 * c-common.h: Update declaration.
2317
41ed701a 23182012-10-09 Marc Glisse <marc.glisse@inria.fr>
2319
2320 PR c++/54427
2321 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2322 more operations. Make error messages optional.
2323 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2324 (scalar_to_vector): Declare.
2325
3740094c 23262012-10-08 Jason Merrill <jason@redhat.com>
2327
2328 * c-common.c (c_common_reswords): Add thread_local.
2329
ffcdbf9c 23302012-10-08 Dodji Seketeli <dodji@redhat.com>
2331
2332 PR c++/53528 C++11 attribute support
2333 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2334 new functions.
2335 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2336 static function.
2337 (handle_aligned_attribute): In choose strictest alignment
2338 among many. Use new check_cxx_fundamental_alignment_constraints.
2339 (handle_transparent_union_attribute): In c++11 attribute syntax,
2340 don't look through typedefs.
2341
ef34afc1 23422012-10-04 Arnaud Charlet <charlet@adacore.com>
2343
2344 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2345 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2346 out of dumpfile.h.
2347
f1ff4562 23482012-09-25 Dehao Chen <dehao@google.com>
2349
2350 PR middle-end/54645
ef34afc1 2351 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2352 map when read in the pch.
2353
735538a1 23542012-09-18 Arnaud Charlet <charlet@adacore.com>
2355
2356 * c-ada-spec.c: Style fixes.
2357
9120cdc8 23582012-09-18 Thomas Quinot <quinot@adacore.com>
2359
2360 * c.opt (-fada-spec-parent): Define new command line switch.
2361 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2362 is specified, generate binding spec as a child of the specified unit.
2363
8eba82c2 23642012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2365 Manuel López-Ibáñez <manu@gcc.gnu.org>
2366
2367 PR c++/53210
2368 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2369
38682990 23702012-08-23 Arnaud Charlet <charlet@adacore.com>
2371
2372 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2373 for pointers, and add missing Convention C pragma.
2374 (print_ada_struct_decl): Add missing aliased keyword.
2375 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2376
f003f5dc 23772012-08-17 Jakub Jelinek <jakub@redhat.com>
2378
2379 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2380 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2381 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2382 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2383 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2384
ec11736b 23852012-08-10 Richard Guenther <rguenther@suse.de>
2386
2387 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2388
5f7f600e 23892012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2390
2391 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2392 instead of separate pp_newline and pp_flush.
2393 (print_c_tree): Likewise.
2394
758a38ab 23952012-07-26 Richard Henderson <rth@redhat.com>
2396
2397 * c-common.c (handle_hot_attribute): Allow labels.
2398 (handle_cold_attribute): Likewise.
2399
9ca77b08 24002012-07-20 Jakub Jelinek <jakub@redhat.com>
2401
2402 PR c++/28656
2403 * c-common.c (check_function_nonnull): Handle multiple nonnull
2404 attributes properly.
2405
b9ed1410 24062012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2407
2408 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2409 * c-ada-spec.c: Likewise.
2410 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2411
c2a65b90 24122012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2413
2414 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2415 Remove code conditional on it.
2416
88c5a1d1 24172012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2418
2419 * c-gimplify.c: Do not include basic-block.h.
2420 * c-common.c: Do not include linfuncs.h.
2421
4a020a8c 24222012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2423
2424 * c-common.h: Include tree.h.
2425
c28ddc97 24262012-07-02 Jason Merrill <jason@redhat.com>
2427
2428 PR c++/53524
2429 * c-common.c (get_priority): Call default_conversion.
2430
405ed67f 24312012-07-01 Uros Bizjak <ubizjak@gmail.com>
2432
2433 * c-pch.c (c_common_write_pch): Remove unused variables.
2434
e53d55e7 24352012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2436
2437 * cppspec.c: Moved from gcc/ to here.
2438
3d9c25ec 24392012-06-27 Kai Tietz <ktietz@redhat.com>
2440
2441 PR preprocessor/37215
2442 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2443
3169c57a 24442012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2445
2446 * c-common.h (c_common_print_pch_checksum): Remove.
2447 * c-pch.c: Do not include output.h.
2448 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2449 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2450 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2451 (struct c_pch_header): Remove.
2452 (get_ident): Update gpch version.
2453 (pch_init): Do not print executable_checksum to asm_out_file.
2454 Do not fail if there is no asm_out_file to read back from. Set
2455 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2456 (c_common_write_pch): Verify that nothing was written to asm_out_file
2457 since pch_init was called. Do not write a c_pch_header, and do not
2458 copy from asm_out_file to the PCH.
2459 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2460 the content of asm_out_file from the PCH.
2461 (c_common_print_pch_checksum): Remove.
2462 * c-opts.c (c_common_init): Print out executable_checksum directly.
2463
ff6624bc 24642012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2465
2466 * c-target.def (objc_declare_unresolved_class_reference,
2467 objc_declare_class_definition): Add new hooks.
2468
367b1459 24692012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2470
2471 * c-lex.c: Do not include output.h.
2472 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2473 Remove uses of ASM_OUTPUT_IDENT.
2474
bf0cb017 24752012-06-15 Marc Glisse <marc.glisse@inria.fr>
2476
2477 PR c++/51033
2478 * c-common.h (c_build_vec_perm_expr): Move decl here.
2479 * c-common.c (c_build_vec_perm_expr): Move definition
2480 here.
2481
b37a3600 24822012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2483
2484 * c.opt (fconserve-space): Turn into a no-op.
2485
19931eea 24862012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 2487
2488 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2489 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2490 both the start and end of the function.
2491
dff12c10 24922012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2493
2494 * c-common.c: Do not include output.h.
2495 * c-pragma.c: Likewise.
2496
5f9e7dd5 24972012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2498
2499 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2500 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2501 (lang_decl_name): Handle namespace decls.
2502
b5369b7d 25032012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2504
2505 * c-ada-spec.c: Do not include output.h.
2506 * c-semantics.c: Likewise.
2507
8032877c 25082012-05-29 Joseph Myers <joseph@codesourcery.com>
2509
2510 * c-common.c: Fix typo.
2511
7843e4bc 25122012-05-29 Michael Matz <matz@suse.de>
2513
2514 * c-common.h (c_expand_decl): Remove prototype.
2515
8cf857d4 25162012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2517
2518 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2519 * c-opts.c (c_common_handle_option): Remove code handling
2520 warn_missing_braces.
2521
8b64dc3c 25222012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2523
2524 PR c++/25137
2525 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2526 -Wmissing_braces.
2527
43cbde16 25282012-05-22 Dodji Seketeli <dodji@redhat.com>
2529
2530 PR c++/53322
2531 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2532
db490cb6 25332012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2534
2535 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2536 * c-opts.c (c_common_handle_option): Do not handle explicitly
2537 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2538
a60f3e81 25392012-05-16 Dodji Seketeli <dodji@redhat.com>
2540
2541 PR preprocessor/7263
2542 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2543 to cpp_classify_number. For diagnostics, use the precise location
2544 instead of the global input_location.
2545
82e6ef7c 25462012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2547
cd4797ff 2548 PR c++/11856
82e6ef7c 2549 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2550
258a168d 25512012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2552
82e6ef7c 2553 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2554
d3b7ee7c 25552012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2556
2557 PR 53063
2558 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2559 Wreorder): Use LangEnabledBy.
2560 * c-opts.c (c_common_handle_option): Do not enable them
2561 explicitly. Call lang-specific generated functions.
2562 (c_common_post_options): Do not set them here.
2563
70059cea 25642012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2565
2566 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2567 Wmissing-field-initializers,Wmissing-parameter-type,
2568 Wold-style-declaration,Woverride-init): Use EnabledBy.
2569 * c-opts.c (c_common_post_options): Do not set here explicitly.
2570
fbb6fbd8 25712012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2572
2573 PR 53063
2574 * c-opts.c (c_common_handle_option): Use handle_generated_option
2575 to enable sub-options.
2576
61f69bc9 25772012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2578
2579 PR c++/53158
2580 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2581
5a1fe2db 25822012-05-10 Richard Guenther <rguenther@suse.de>
2583
2584 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2585 adjust commentary about TYPE_IS_SIZETYPE types.
2586
d42e7c5a 25872012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2588
2589 PR c++/53261
2590 * c-common.c (warn_logical_operator): Check that argument of
2591 integer_zerop is not NULL.
2592
686369e8 25932012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2594
2595 PR c/43772
2596 * c-common.c (warn_logical_operator): Do not warn if either side
2597 is already true or false.
2598
03fe1dc2 25992012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2600
2601 PR c/51712
2602 * c-common.c (expr_original_type): New.
2603 (shorten_compare): Do not warn for enumeration types.
2604
bba5a206 26052012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2606
2607 * c.opt (fpermissive): Add Var(flag_permissive).
2608
7059d45d 26092012-04-30 Marc Glisse <marc.glisse@inria.fr>
2610
2611 PR c++/51033
2612 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2613 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2614
7edb1062 26152012-04-30 Dodji Seketeli <dodji@redhat.com>
2616
2617 Add -Wvarargs option
2618 * c.opt (Wvarargs): Define new option.
2619
068bea1e 26202012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2621
2622 * c-common.c (check_function_arguments): Replace
2623 Wmissing-format-attribute with Wsuggest-attribute=format.
2624
b86527d8 26252012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2626
2627 * c.opt (Wsuggest-attribute=format): New. Alias of
2628 Wmissing-format-attribute.
2629 * c-format.c (decode_format_type): Replace
2630 Wmissing-format-attribute with Wsuggest-attribute=format.
2631 (check_function_format): Likewise.
2632
19931eea 26332012-04-27 Ollie Wild <aaw@google.com>
76d340ac 2634
2635 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2636 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2637 * c.opt: Add Wliteral-suffix.
2638
29438999 26392012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2640
2641 PR c/44774
2642 * c.opt (Wpedantic): New.
2643 (pedantic): Alias Wpedantic.
2644 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2645 (c_common_post_options): Likewise.
2646 (sanitize_cpp_opts): Likewise.
2647 * c-lex.c (interpret_float): Likewise.
2648 * c-format.c (check_format_types): Likewise.
2649 * c-common.c (pointer_int_sum): Likewise.
2650 (c_sizeof_or_alignof_type): Likewise.
2651 (c_add_case_label): Likewise.
2652 (c_do_switch_warnings): Likewise.
2653 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2654
4f9d6b8b 26552012-04-15 Jason Merrill <jason@redhat.com>
2656
2657 PR c++/52818
2658 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2659 (C_STD_NAME): Distinguish between C++98 and C++11.
2660
74bdbe96 26612012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2662
2663 PR target/52624
2664 * c-common.h (uint16_type_node): Rename into...
2665 (c_uint16_type_node): ...this.
2666 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2667 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2668
3d177e8c 26692012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2670
2671 * c-common.c (warn_if_unused_value): Move definition to here.
2672 * c-common.h (warn_if_unused_value): Move declaration to here.
2673
6a9a958f 26742012-03-23 William Bader <williambader@hotmail.com>
2675
2676 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2677
543efdbe 26782012-03-20 Jason Merrill <jason@redhat.com>
2679
2680 * c-common.h (enum cxx_dialect): Add cxx1y.
2681 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2682 test.
2683 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2684 * c-opts.c (c_common_post_options): Likewise.
2685 (set_std_cxx1y): New.
2686 (c_common_handle_option): Call it.
2687 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2688
62206d34 26892012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2690
2691 PR c++/14710
2692 * c.opt ([Wuseless-cast]): Add.
2693
fadf62f4 26942012-03-16 Richard Guenther <rguenther@suse.de>
2695
2696 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2697
249faa35 26982012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2699
2700 PR c++/44783
2701 * c.opt (ftemplate-backtrace-limit) Add.
2702
126b6848 27032012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2704
2705 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2706 handling.
2707 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2708 (init_pragma): Don't register extern_prefix.
2709
a51edb4c 27102012-03-12 Richard Guenther <rguenther@suse.de>
2711
2712 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2713 (builtin_type_for_size): Likewise.
2714
0f6a7cb7 27152012-02-13 Jakub Jelinek <jakub@redhat.com>
2716
2717 PR c++/52215
2718 * c-common.c (sync_resolve_params): Don't decide whether to convert
2719 or not based on TYPE_SIZE comparison, convert whenever arg_type
2720 is unsigned INTEGER_TYPE.
2721
0779e32c 27222012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
2723
2724 PR c/52118
2725 * c.opt ([Wunused-local-typedefs]): Fix description.
2726
baec58e1 27272012-01-24 Mike Stump <mikestump@comcast.net>
2728
2729 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
2730 exactly.
2731
c779d8cc 27322012-01-18 Richard Guenther <rguenther@suse.de>
2733
2734 * c-opts.c (c_common_post_options): Reset LTO flags if
2735 we are about to generate a PCH.
2736
ee917d24 27372012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
2738
2739 PR c++/51777
2740 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
2741 use pp_unsigned_wide_integer.
2742
90e2341f 27432012-01-10 Richard Guenther <rguenther@suse.de>
2744
2745 PR middle-end/51806
2746 * c-opts.c (c_common_handle_option): Move -Werror handling
2747 to language independent code.
2748
9ea022ce 27492012-01-05 Richard Guenther <rguenther@suse.de>
2750
2751 PR middle-end/51764
2752 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
2753 from common.opt.
2754
3df19e1b 27552011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
2756
2757 PR c++/51316
2758 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
2759 of array types with an unknown bound.
2760
32074525 27612011-12-20 Joseph Myers <joseph@codesourcery.com>
2762
2763 * c-common.c (flag_isoc99): Update comment to refer to C11.
2764 (flag_isoc1x): Change to flag_isoc11.
2765 * c-common.h (flag_isoc99): Update comment to refer to C11.
2766 (flag_isoc1x): Change to flag_isoc11.
2767 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
2768 C11.
2769 * c-opts.c (set_std_c1x): Change to set_std_c11.
2770 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
2771 Call set_std_c11.
2772 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
2773 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
2774 * c.opt (std=c1x): Change to std=c11. Document as non-draft
2775 standard.
2776 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
2777 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
2778 (std=gnu1x): Make alias of std=gnu11.
2779
fca86134 27802011-12-19 Jason Merrill <jason@redhat.com>
2781
2782 PR c++/51228
2783 * c-common.c (handle_transparent_union_attribute): Check the first
2784 field if the type is complete.
2785
aa4313eb 27862011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
2787
2788 PR libstdc++/51365
2789 * c-common.c (RID_IS_FINAL): Add.
2790 * c-common.h (RID_IS_FINAL): Add.
2791
3f3d5ad4 27922011-11-30 Iain Sandoe <iains@gcc.gnu.org>
2793
2794 * c.opt (fgnu-runtime): Provide full description.
2795 (fnext-runtime): Likewise.
2796 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
2797
c4606d19 27982011-11-28 Andrew MacLeod <amacleod@redhat.com>
2799
2800 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
2801 predefines in one place. Add LOCK_FREE predefines.
2802 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
2803 new func.
2804
1d581089 28052011-11-24 Andrew MacLeod <amacleod@redhat.com>
2806
2807 PR c/51256
19931eea 2808 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 2809 conditions
19931eea 2810 (resolve_overloaded_atomic_exchange,
2811 resolve_overloaded_atomic_compare_exchange,
1d581089 2812 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
2813 error_mark_node for error conditions.
19931eea 2814
6aa221fa 28152011-11-08 Richard Guenther <rguenther@suse.de>
2816
2817 PR middle-end/51010
2818 c-family/
2819
4c0315d0 28202011-11-07 Richard Henderson <rth@redhat.com>
2821 Aldy Hernandez <aldyh@redhat.com>
2822 Torvald Riegel <triegel@redhat.com>
2823
2824 Merged from transactional-memory.
2825
2826 * c-common.c (handle_tm_wrap_attribute,
2827 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
2828 (struct c_common_reswords): Added __transaction* keywords.
2829 (struct c_common_attribute_table): Added transaction* and tm_regparm
2830 attributes.
2831 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
2832 masks.
2833 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
2834 find_tm_attribute): Declare.
2835
920f5a70 28362011-11-07 Jason Merrill <jason@redhat.com>
2837
2838 PR c++/35688
2839 * c-common.c, c-common.h: Revert yesterday's changes.
2840
b4f861b4 28412011-11-06 Jason Merrill <jason@redhat.com>
2842
2843 PR c++/35688
2844 * c-common.c (decl_has_visibility_attr): Split out from...
2845 (c_determine_visibility): ...here.
2846 * c-common.h: Declare it.
2847
83e25171 28482011-11-06 Joseph Myers <joseph@codesourcery.com>
2849
2850 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
2851 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
2852 type.
2853 (check_user_alignment): New. Split out of
2854 handle_aligned_attribute. Disallow integer constants with
2855 noninteger types. Conditionally allow zero.
2856 (handle_aligned_attribute): Use check_user_alignment.
2857 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
2858
1cd6e20d 28592011-11-06 Andrew MacLeod <amacleod@redhat.com>
2860 Richard Henderson <rth@redhat.com>
2861
2862 Merged from cxx-mem-model.
2863
2864 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 2865 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 2866 parameters that are the same type size.
2867 (get_atomic_generic_size): New. Find size of generic
2868 atomic function parameters and do typechecking.
2869 (add_atomic_size_parameter): New. Insert size into parameter list.
2870 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
2871 either __atomic_exchange_n or external library call.
19931eea 2872 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 2873 __atomic_compare_exchange to either _n variant or external library call.
19931eea 2874 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 2875 __atomic_load_n or an external library call.
2876 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
2877 __atomic_store_n or an external library call.
2878 (resolve_overloaded_builtin): Handle new __atomic builtins.
2879
7549df0d 28802011-11-04 Eric Botcazou <ebotcazou@adacore.com>
2881
2882 PR c++/50608
2883 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
2884 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
2885 <INDIRECT_REF>: Return the argument.
2886 <ARRAY_REF>: Remove special code for negative offset.
2887 Call fold_build_pointer_plus instead of size_binop.
2888 (fold_offsetof): Remove STOP_REF argument and adjust.
2889 * c-common.h (fold_offsetof_1): Declare.
2890 (fold_offsetof): Remove STOP_REF argument.
2891
7e783eb3 28922011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
2893
2894 PR c++/50810
2895 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2896 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2897 Wnarrowing for C++0x and C++98.
2898 * c.opt ([Wnarrowing]): Update.
2899
8fe701f5 29002011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
2901
2902 PR c++/44277
2903 * c.opt: Add Wzero-as-null-pointer-constant.
2904
0d84dc2d 29052011-10-31 Jason Merrill <jason@redhat.com>
2906
67031f52 2907 * c.opt (-fdeduce-init-list): Off by default.
2908
0d84dc2d 2909 PR c++/50920
2910 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
2911 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
2912 and -Wc++11-compat.
2913 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
2914
66f24c41 29152011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
2916
2917 PR c++/30066
2918 * c.opt (fvisibility-inlines-hidden): Description change.
2919
244db24d 29202011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
2921
2922 Implement C++11 user-defined literals.
2923 * c-common.c (build_userdef_literal): New.
2924 * c-common.def: New tree code.
2925 * c-common.h (tree_userdef_literal): New tree struct and accessors.
2926 * c-lex.c (interpret_float): Add suffix parm.
2927 (c_lex_with_flags): Build literal tokens.
2928
235be70f 29292011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2930
2931 PR c++/50841
2932 Revert:
2933 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2934
2935 PR c++/50810
2936 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2937 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2938 Wnarrowing for C++0x and C++98.
2939 * c.opt ([Wnarrowing]): Update.
2940
4fe0fb1c 29412011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
2942
2943 PR c++/50810
2944 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
2945 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
2946 Wnarrowing for C++0x and C++98.
2947 * c.opt ([Wnarrowing]): Update.
2948
5f7504f9 29492011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
2950
2951 PR c++/45385
2952 * c-common.c (conversion_warning): Remove code looking for
2953 artificial operands.
2954
2a688977 29552011-10-18 Dodji Seketeli <dodji@redhat.com>
2956
2957 PR bootstrap/50760
2958 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 2959 !NO_IMPLICIT_EXTERN_C.
2a688977 2960
326e3391 29612011-10-17 Michael Spertus <mike_spertus@symantec.com>
2962
2963 * c-common.c (c_common_reswords): Add __bases,
2964 __direct_bases.
2965 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
2966
29672011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
2968
2969 PR c++/50757
2970 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
2971
62db153a 29722011-10-15 Tom Tromey <tromey@redhat.com>
2973 Dodji Seketeli <dodji@redhat.com>
2974
2975 * c.opt (fdebug-cpp): New option.
2976 * c-opts.c (c_common_handle_option): Handle the option.
2977 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
2978 output stream in parameter. Factorized from ...
2979 (maybe_print_line): ... this. Dump location debug information when
2980 -fdebug-cpp is in effect.
2981 (print_line_1): New static function. Takes an output stream in
2982 parameter. Factorized from ...
2983 (print_line): ... here. Dump location information when -fdebug-cpp
2984 is in effect.
2985 (scan_translation_unit): Dump location information when
2986 -fdebug-cpp is in effect.
2987
ce70f433 29882011-10-15 Tom Tromey <tromey@redhat.com>
2989 Dodji Seketeli <dodji@redhat.com>
2990
2991 * c.opt (ftrack-macro-expansion): New option. Handle it with and
2992 without argument.
2993 * c-opts.c (c_common_handle_option)<case
2994 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
2995 cases. Handle -ftrack-macro-expansion with and without argument.
2996
97bfb9ef 29972011-10-15 Tom Tromey <tromey@redhat.com>
2998 Dodji Seketeli <dodji@redhat.com>
2999
3000 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3001 (print_line, cb_define, do_line_change): Adjust to avoid touching
3002 the internals of struct line_map. Use the public API instead.
3003 * c-pch.c (c_common_read_pch): Likewise.
3004 * c-lex.c (fe_file_change): Likewise.
3005
326e3391 30062011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3007
3008 PR c++/17212
3009 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3010
30112011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3012
3013 PR c++/33067
3014 * c-pretty-print.c (pp_c_floating_constant): Output
3015 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3016
b9a16870 30172011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3018
3019 * c-common.c (def_builtin_1): Delete old interface with two
3020 parallel arrays to hold standard builtin declarations, and replace
3021 it with a function based interface that can support creating
3022 builtins on the fly in the future. Change all uses, and poison
3023 the old names. Make sure 0 is not a legitimate builtin index.
3024 * c-omp.c (c_finish_omp_barrier): Ditto.
3025 (c_finish_omp_taskwait): Ditto.
3026 (c_finish_omp_flush): Ditto.
3027
c7964868 30282011-10-11 Tristan Gingold <gingold@adacore.com>
3029
3030 * c.opt: (fallow-parameterless-variadic-functions): New.
3031
a4e3ffad 30322011-09-08 Dodji Seketeli <dodji@redhat.com>
3033
3034 PR c++/33255 - Support -Wunused-local-typedefs warning
3035 * c-common.h (struct c_language_function::local_typedefs): New
3036 field.
19931eea 3037 (record_locally_defined_typedef, maybe_record_typedef_use)
3038 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 3039 * c-common.c (record_locally_defined_typedef)
19931eea 3040 (maybe_record_typedef_use)
3041 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 3042 * c.opt: Declare new -Wunused-local-typedefs flag.
3043
737a23cc 30442011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3045
3046 PR middle-end/50266
3047 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3048 computations.
3049
7542c3b4 30502011-09-05 Richard Guenther <rguenther@suse.de>
3051
3052 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3053 of integer_minus_one_node for empty array upper bounds.
3054
1dc92c59 30552011-08-28 Dodji Seketeli <dodji@redhat.com>
3056
3057 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3058 it's the first time it's being called on this main TU.
3059
2bdf2b6e 30602011-08-24 Richard Guenther <rguenther@suse.de>
3061
3062 PR c/49396
3063 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3064
30652011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 3066
3067 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3068 defined in cpp_init_builtins and c_cpp_builtins.
3069
bff4ad11 30702011-08-19 Joseph Myers <joseph@codesourcery.com>
3071
3072 * c-common.c (c_common_reswords): Add __builtin_complex.
3073 * c-common.h (RID_BUILTIN_COMPLEX): New.
3074
985c6e3a 30752011-08-18 Joseph Myers <joseph@codesourcery.com>
3076
3077 * c-common.c (c_common_reswords): Add _Noreturn.
3078 (keyword_is_function_specifier): Handle RID_NORETURN.
3079 * c-common.h (RID_NORETURN): New.
3080
7dfa155b 30812011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3082
3083 * c-common.c (unsafe_conversion_p): New function. Check if it is
3084 unsafe to convert an expression to the type.
3085 (conversion_warning): Adjust, use unsafe_conversion_p.
3086 * c-common.h (unsafe_conversion_p): New function declaration.
3087
2169f33b 30882011-08-02 Jakub Jelinek <jakub@redhat.com>
3089
3090 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3091 (c_finish_omp_taskyield): New prototype.
3092 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3093 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3094 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3095 or RHS1 have side-effects, evaluate those too in the right spot,
3096 if it is a decl and LHS is also a decl, error out if they
3097 aren't the same.
3098 (c_finish_omp_taskyield): New function.
3099 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3100 * c-pragma.c (omp_pragmas): Add taskyield.
3101 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3102 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3103 PRAGMA_OMP_CLAUSE_MERGEABLE.
3104
ab77850e 31052011-07-25 Dodji Seketeli <dodji@redhat.com>
3106
3107 * c-common.h (set_underlying_type): Remove parm name from
3108 declaration.
3109
6ee97920 31102011-07-25 Romain Geissler <romain.geissler@gmail.com>
3111
3112 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3113
dc251364 31142011-07-22 Jason Merrill <jason@redhat.com>
3115
1a2a35f0 3116 PR c++/49793
3117 * c.opt (Wnarrowing): New.
3118
27282252 3119 PR c++/30112
3120 * c-common.h: Declare c_linkage_bindings.
3121 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3122
dc251364 3123 PR c++/49813
3124 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3125 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3126 as flag_isoc99 for 'restrict'.
3127 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3128
fc501191 31292011-07-21 Ian Lance Taylor <iant@google.com>
3130
3131 PR middle-end/49705
3132 * c-common.c (c_disable_warnings): New static function.
3133 (c_enable_warnings): New static function.
3134 (c_fully_fold_internal): Change local unused_p to bool. Call
3135 c_disable_warnings and c_enable_warnings rather than change
3136 c_inhibit_evaluation_warnings.
3137
07b8f133 31382011-07-20 Jason Merrill <jason@redhat.com>
3139
3140 PR c++/6709 (DR 743)
3141 PR c++/42603 (DR 950)
3142 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3143 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3144 (CPP_DECLTYPE): New.
3145 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3146
2cc66f2a 31472011-07-19 Richard Guenther <rguenther@suse.de>
3148
3149 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3150 * c-omp.c (c_finish_omp_for): Likewise.
3151
3c802a1e 31522011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3153
3154 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3155 body on the next line.
3156
98a33d9f 31572011-07-08 Jason Merrill <jason@redhat.com>
3158
3115bda0 3159 PR c++/45437
3160 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3161
98a33d9f 3162 PR c++/49673
3163 * c-common.c (c_apply_type_quals_to_decl): Don't check
3164 TYPE_NEEDS_CONSTRUCTING.
3165
c38a75b7 31662011-07-06 Richard Guenther <rguenther@suse.de>
3167
3168 * c-common.c (c_common_nodes_and_builtins):
3169 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3170
e593356b 31712011-07-05 Richard Guenther <rguenther@suse.de>
3172
3173 * c-common.c (c_common_nodes_and_builtins): Build all common
3174 tree nodes first.
3175
fca0886c 31762011-06-27 Jakub Jelinek <jakub@redhat.com>
3177
a68f7a8d 3178 * c-common.h (c_tree_chain_next): New static inline function.
3179
fca0886c 3180 * c-common.c (check_builtin_function_arguments): Handle
3181 BUILT_IN_ASSUME_ALIGNED.
3182
2797f13a 31832011-06-21 Andrew MacLeod <amacleod@redhat.com>
3184
3185 * c-common.c: Add sync_ or SYNC__ to builtin names.
3186 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3187
31882011-06-20 Pierre Vittet <piervit@pvittet.com>
3189
3190 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3191 handler.
3192 (gen_pragma_handler): New union.
3193 (internal_pragma_handler): New type.
3194 (c_register_pragma_with_data)
3195 (c_register_pragma_with_expansion_and_data): New functions.
3196
3197 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3198 (c_register_pragma, c_register_pragma_with_expansion)
3199 (c_invoke_pragma_handler): Changed to work with
3200 internal_pragma_handler.
3201 (c_register_pragma_with_data)
3202 (c_register_pragma_with_expansion_and_data): New functions.
3203
218e3e4e 32042011-06-14 Joseph Myers <joseph@codesourcery.com>
3205
3206 * c-common.c: Include common/common-target.h.
3207 (handle_section_attribute): Use
3208 targetm_common.have_named_sections.
3209 * c-cppbuiltin.c: Include common/common-target.h.
3210 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3211
41e53ed2 32122011-06-10 Richard Guenther <rguenther@suse.de>
3213
3214 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3215 to print a IDENTIFIER_NODE.
3216
a6f06169 32172011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3218 Joseph Myers <joseph@codesourcery.com>
3219
3220 * c.opt (fbuilding-libgcc): New option.
3221 * c-cppbuiltin.c (c_cpp_builtins): Define
3222 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3223
1ea9269b 32242011-06-07 Jason Merrill <jason@redhat.com>
3225
8ce59854 3226 * c-common.c (max_tinst_depth): Lower default to 900.
3227
1ea9269b 3228 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3229
1af0124d 32302011-06-07 Richard Guenther <rguenther@suse.de>
3231
3232 * c-common.c (c_common_nodes_and_builtins): Do not set
3233 size_type_node or call set_sizetype.
3234
0e9a4c01 32352011-06-07 Dodji Seketeli <dodji@redhat.com>
3236
3237 PR debug/49130
3238 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3239 type when using pointer comparison to compare types.
0e9a4c01 3240
90b40725 32412011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3242
3243 * c.opt: Add -Wdelete-non-virtual-dtor.
3244 * c-opts.c (c_common_handle_option): Include it in -Wall.
3245
fc9c9e87 32462011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3247
3248 PR bootstrap/49190
3249
3250 Revert:
3251 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3252
3253 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3254 not tree_common.
3255
d0389adc 32562011-05-27 Jakub Jelinek <jakub@redhat.com>
3257
3258 PR c++/49165
3259 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3260 C++ don't call c_common_truthvalue_conversion on void type arms.
3261
cacfdc02 32622011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3263
3264 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3265 (stmt_list_stack): Define.
3266 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3267 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3268
027fc6ef 32692011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3270
3271 * c-common.c (warning_candidate_p): Check for BLOCKs.
3272
f21317a1 32732011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3274
3275 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3276 not tree_common.
3277
789e953d 32782011-05-25 Jakub Jelinek <jakub@redhat.com>
3279
3280 * c-common.c (def_fn_type): Remove extra va_end.
3281
7f506bca 32822011-05-23 Jason Merrill <jason@redhat.com>
3283
3284 PR c++/48106
3285 * c-common.c (c_common_get_narrower): New.
3286 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3287
774e9d58 32882011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3289
3290 * c-common.h (check_function_arguments): Tweak prototype of
3291 check_function_arguments.
3292 * c-common.c (check_function_arguments): Likewise. Adjust
3293 calls to check_function_nonnull, check_function_format, and
3294 check_function_sentinel.
3295 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3296 separate attributes and typelist arguments. Use
3297 FOREACH_FUNCTION_ARGS to iterate over argument types.
3298
23407dc9 32992011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3300
3301 * c-common.c (c_common_reswords): Reorder.
3302 * c-common.h (rid): Likewise.
3303
3a939d12 33042011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3305
3306 * c-common.c (def_fn_type): Don't call build_function_type, call
3307 build_function_type_array or build_varargs_function_type_array
3308 instead.
3309 (c_common_nodes_and_builtins): Likewise.
3310
b6e3dd65 33112011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3312
3313 * c-common.c (c_add_case_label): Omit the loc argument to
3314 build_case_label.
3315 * c-common.h (build_case_label): Remove.
3316 * c-semantics.c (build_case_label): Remove.
3317
4232a958 33182011-05-05 Joseph Myers <joseph@codesourcery.com>
3319
3320 * c-objc.h (objc_start_method_definition): Update prototype.
3321 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3322
d0af78c5 33232011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3324
3325 * c-common.c (check_main_parameter_types): Reindent. Don't use
3326 TYPE_ARG_TYPES directly.
3327 (handle_nonnull_attribute): Likewise.
3328 (sync_resolve_params): Likewise.
3329 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3330 to check_format_string.
3331 (handle_format_attribute): Likewise.
3332 (check_format_string): Take a function type to examine instead of
3333 a type list. Use a function_arg_iterator to step through argument
3334 types.
3335
ceb7b692 33362011-05-04 Richard Guenther <rguenther@suse.de>
3337
3338 * c-common.c (fix_string_type): Use size_int for index type bounds.
3339 (start_fname_decls): Do not pass NULL to build_int_cst.
3340 (c_init_attributes): Likewise.
3341 * c-lex.c (c_lex_with_flags): Likewise.
3342
c66c81be 33432011-04-27 Jason Merrill <jason@redhat.com>
3344
3345 * c-common.c (make_tree_vector_from_list): New.
3346 * c-common.h: Declare it.
3347
16930c72 33482011-04-26 Richard Guenther <rguenther@suse.de>
3349
3350 PR preprocessor/48248
3351 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3352 for output size with -P.
3353
23407dc9 33542011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3355
3356 * c-common.c (struct c_common_resword): Add __underlying_type.
3357 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3358
dd045aee 33592011-04-20 Jim Meyering <meyering@redhat.com>
3360
3361 * c-format.c (init_dollar_format_checking): Remove useless
3362 if-before-free.
3363
394dd737 33642011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3365
3366 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3367 (objc_detect_field_duplicates): New.
394dd737 3368 * stub-objc.c: Likewise.
23407dc9 3369
a758bf7d 33702011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3371
3372 * stub-objc.c (objc_declare_protocols): Renamed to
3373 objc_declare_protocol.
3374 * c-objc.h: Likewise.
23407dc9 3375
29d7200d 33762011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3377
3378 * stub-objc.c (objc_declare_class): Updated argument name.
3379
9b88d08d 33802011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3381
3382 * c-common.h (c_common_init_ts): Declare.
3383 * c-common.c (c_common_init_ts): Define.
3384
4185cf58 33852011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3386
3387 * c-objc.h (objc_build_message_expr): Updated prototype.
3388 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 3389
5a90471f 33902011-04-12 Martin Jambor <mjambor@suse.cz>
3391
3392 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3393 of cgraph_node.
3394
783bb57e 33952011-04-11 Richard Guenther <rguenther@suse.de>
3396
3397 * c-common.c (complete_array_type): Build a range type of
3398 proper type.
3399
c33080b9 34002011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3401
3402 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3403 (handle_type_generic_attribute): Likewise.
3404
f8913d47 34052011-04-07 Jason Merrill <jason@redhat.com>
3406
3407 PR c++/48450
3408 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3409 conversion from C++0x scoped enum.
3410
c94b1d0e 34112011-04-06 Joseph Myers <joseph@codesourcery.com>
3412
3413 * c-target-def.h: New file.
3414 * c-target.def: New file.
3415 * c-target.h: New file.
3416 * c-common.c (targetcm): Don't define here.
3417 * c-common.h (default_handle_c_option): Declare.
3418 * c-format.c: Include c-target.h instead of target.h.
3419 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3420 include tm.h.
3421 (default_handle_c_option): Move from targhooks.c.
3422
acb10f41 34232011-03-29 Jakub Jelinek <jakub@redhat.com>
3424
3425 PR preprocessor/48248
3426 * c-ppoutput.c (print): Add src_file field.
3427 (init_pp_output): Initialize it.
3428 (maybe_print_line): Don't optimize by adding up to 8 newlines
3429 if map->to_file and print.src_file are different file.
3430 (print_line): Update print.src_file.
3431
82715bcd 34322011-03-25 Kai Tietz <ktietz@redhat.com>
3433
3434 * c-ada-spec.c (compare_comment): Use filename_cmp
3435 instead of strcmp for filename.
3436
451c8e2f 34372011-03-25 Jeff Law <law@redhat.com>
3438
3439 * c-family/c-common.c (def_fn_type): Add missing va_end.
3440
3c47771c 34412011-03-25 Jason Merrill <jason@redhat.com>
3442
3443 * c.opt: Add -std=c++03.
3444
97e6200f 34452011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3446
3447 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3448
ac86af5d 34492011-03-17 Kai Tietz
3450
3451 PR target/12171
ee212425 3452 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3453 Display allowed attributes for function pointer types.
3454 (pp_c_attributes_display): New function to display
3455 attributes having affects_type_identity flag set to true.
3456 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3457
ac86af5d 3458 * c-common.c (c_common_attribute_table):
3459 Add new element.
3460 (c_common_format_attribute_table): Likewise.
3461
914d1151 34622011-03-18 Jason Merrill <jason@redhat.com>
3463
69788bdf 3464 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3465 * c-common.h: Don't declare it here.
3466 * c-common.c: Or define it here.
3467 * c-opts.c (c_common_handle_option): Or set it here.
3468
914d1151 3469 PR c++/35315
3470 * c-common.c (handle_transparent_union_attribute): Don't
3471 make a duplicate type in C++.
3472
54cf6eed 34732011-03-15 Jason Merrill <jason@redhat.com>
3474
3475 * c-common.c (max_constexpr_depth): New.
3476 * c-common.h: Declare it.
3477 * c-opts.c (c_common_handle_option): Set it.
3478 * c.opt (fconstexpr-depth): New option.
3479
02cb1060 34802011-03-11 Jason Merrill <jason@redhat.com>
3481
9bf1c74e 3482 * c-common.c (attribute_takes_identifier_p): Add missing const.
3483
02cb1060 3484 PR c++/46803
3485 * c-common.c (attribute_takes_identifier_p): Assume that an
3486 unknown attribute takes an identifier.
3487
ecf2703d 34882011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3489
3490 PR c/47786
3491 * c-common.c (c_type_hash): Call list_length instead of iterating
3492 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3493
2b19dfe4 34942011-02-19 Jakub Jelinek <jakub@redhat.com>
3495
3496 PR c/47809
3497 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3498
29cf2335 34992011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3500
3501 * c.opt (fobjc-abi-version=) New.
3502 (fobjc-nilcheck): New.
3503
fad3f658 35042011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3505
3506 PR c++/46890
3507 * c-common.h (keyword_is_decl_specifier): Declare.
3508 * c-common.c (keyword_is_decl_specifier): Define.
3509 (keyword_is_function_specifier): New function.
3510
a12319b3 35112011-01-26 Jakub Jelinek <jakub@redhat.com>
3512
3513 PR c/47473
3514 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3515 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3516 REAL_TYPE.
3517
5c128dc8 35182011-01-26 Arnaud Charlet <charlet@adacore.com>
3519
3520 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3521
8d67b0c7 35222011-01-26 Jakub Jelinek <jakub@redhat.com>
3523
3524 PR pch/47430
3525 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3526 after init_c_lex if pch_file is set.
3527
0675168d 35282011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3529
e8911163 3530 PR c++/43601
0675168d 3531 * c.opt (-fkeep-inline-dllexport): New switch.
3532
0725e25c 35332011-01-12 Richard Guenther <rguenther@suse.de>
3534
3535 PR middle-end/32511
3536 * c-common.c (handle_weak_attribute): Warn instead of error
3537 on declaring an inline function weak.
3538
fdd84b77 35392011-01-05 Tom Tromey <tromey@redhat.com>
3540
3541 * c-common.h (lvalue_error): Update.
3542 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3543 not error.
3544
e6e73d14 35452010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3546
d67e8485 3547 PR objc/47075
3548 * c-objc.h (objc_finish_message_expr): Added argument to
3549 prototype.
3550
a36cf284 35512010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3552
3553 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3554 Use prototype_p.
3555
33b3681f 35562010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3557
3558 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3559 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3560
a1f90215 35612010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3562
3563 * c-common.h (readonly_error): Declare.
3564 * c-common.c (readonly_error): Define.
3565
b1bbc8e5 35662010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3567
3568 * c-common.h (invalid_indirection_error): Declare.
3569 * c-common.c (invalid_indirection_error): Define.
3570
b0d55af9 35712010-12-03 Richard Guenther <rguenther@suse.de>
3572
3573 PR c/46745
3574 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3575 (pp_c_unary_expression): Likewise.
3576 (pp_c_expression): Likewise.
3577
d7489d8d 35782010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3579
3580 * c-common.h (objc_finish_function): New.
3581 (objc_non_volatilized_type): Removed.
3582 (objc_type_quals_match): Removed.
3583 * stub-objc.c (objc_finish_function): New.
3584 (objc_non_volatilized_type): Removed.
3585 (objc_type_quals_match): Removed.
19931eea 3586
92468061 35872010-11-30 Joseph Myers <joseph@codesourcery.com>
3588
3589 * c-common.h (parse_optimize_options): Declare.
3590 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3591 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3592
967958e4 35932010-11-29 Joseph Myers <joseph@codesourcery.com>
3594
3595 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3596 GET_ENVIRONMENT.
3597 * c-pch.c (O_BINARY): Don't define here.
3598 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3599
b213bf24 36002010-11-25 Joseph Myers <joseph@codesourcery.com>
3601
3602 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3603 targetm.except_unwind_info.
3604
9faf44d6 36052010-11-23 Joseph Myers <joseph@codesourcery.com>
3606
3607 * c-opts.c (c_common_handle_option): Pass location to
3608 set_struct_debug_option.
3609
79396169 36102010-11-23 Joseph Myers <joseph@codesourcery.com>
3611
3612 * c-common.c (visibility_options): Move from ../opts.c.
3613 * c-common.h (struct visibility_flags, visibility_options):
3614 Declare here.
3615 * c-opts.c (finish_options): Rename to c_finish_options.
3616 (c_common_init): Update call to finish_options.
3617
b4aa4123 36182010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3619
3620 PR objc/34033
3621 * c-lex.c (lex_string): Check that each string in an Objective-C
3622 string concat sequence starts with either one or zero '@', and
3623 that there are no spurious '@' signs at the end.
3624
3e0e49f2 36252010-11-20 Joseph Myers <joseph@codesourcery.com>
3626
3627 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3628 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3629 HANDLE_PRAGMA_VISIBILITY.
3630 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3631 HANDLE_PRAGMA_VISIBILITY): Don't define.
3632 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3633
a9ffdd35 36342010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3635
3636 PR c++/16189
3637 PR c++/36888
3638 PR c++/45331
3639 * c-common.h (keyword_begins_type_specifier): Declare.
3640 (keyword_is_storage_class_specifier): Declare.
3641 (keyword_is_type_qualifier): Declare.
3642 * c-common.c (keyword_begins_type_specifier): New function.
3643 (keyword_is_storage_class_specifier): New function.
3644 (keyword_is_type_qualifier): Declare.
3645
93be21c0 36462010-11-19 Joseph Myers <joseph@codesourcery.com>
3647
3648 PR c/46547
3649 * c-common.c (in_late_binary_op): Define.
3650 (c_common_truthvalue_conversion): Check in_late_binary_op before
3651 calling c_save_expr.
3652 * c-common.h (in_late_binary_op): Declare.
3653
d7175aef 36542010-11-19 Joseph Myers <joseph@codesourcery.com>
3655
3656 * c-opts.c (c_common_handle_option): Update calls to
3657 set_struct_debug_option.
3658
c213e196 36592010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3660
3661 * c-common.h (objc_declare_protocols): Added additional argument.
3662 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 3663
0b5fc5d6 36642010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3665
3666 PR c/33193
3667 * c-common.h (build_real_imag_expr): Declare.
3668 * c-semantics.c (build_real_imag_expr): Define.
3669
b8ba44e7 36702010-11-17 Joseph Myers <joseph@codesourcery.com>
3671
3672 * c-opts.c (c_common_parse_file): Take no arguments.
3673 * c-common.h (c_common_parse_file): Update prototype.
3674
6ef8d12f 36752010-11-16 Jakub Jelinek <jakub@redhat.com>
3676
3677 PR c++/46401
3678 * c-common.c (warning_candidate_p): Don't track non-const calls
3679 or STRING_CSTs.
3680
929d2a90 36812010-11-15 Ian Lance Taylor <iant@google.com>
3682
3683 * c-lex.c (init_c_lex): Set macro debug callbacks if
3684 flag_dump_go_spec is set.
3685
e4a7640a 36862010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3687
3688 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3689 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3690
597d2d81 36912010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3692
3693 PR preprocessor/45038
3694 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3695 dialects.
3696
c123f04d 36972010-11-12 Joseph Myers <joseph@codesourcery.com>
3698
3699 * c-common.h (c_family_lang_mask): Declare.
3700 * c-opts.c (c_family_lang_mask): Make extern.
3701 * c-pragma.c (handle_pragma_diagnostic): Use
3702 control_warning_option.
3703
3c6c0e40 37042010-11-12 Joseph Myers <joseph@codesourcery.com>
3705
3706 * c-common.c (parse_optimize_options): Update call to
3707 decode_options.
3708 * c-common.h (c_common_handle_option): Update prototype.
3709 * c-opts.c (c_common_handle_option): Take location_t parameter and
3710 pass it to other functions.
3711
19ec5c9e 37122010-11-11 Joseph Myers <joseph@codesourcery.com>
3713
3714 * c-opts.c (warning_as_error_callback): Remove.
3715 (c_common_initialize_diagnostics): Don't call
3716 register_warning_as_error_callback.
3717 (c_common_handle_option): Handle -Werror=normalized= here.
3718
bf776685 37192010-11-10 Joseph Myers <joseph@codesourcery.com>
3720
3721 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
3722 in diagnostic.
3723 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
3724 letter.
3725 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
3726 Remove trailing '.' from diagnostics.
3727 * c.opt (Wwrite-strings_: Avoid '`' in help text.
3728
6bd9d862 37292010-11-10 Joseph Myers <joseph@codesourcery.com>
3730
3731 * c-common.c (parse_optimize_options): Pass global_dc to
3732 decode_options.
3733 * c-opts.c (c_common_handle_option): Pass &global_options to
3734 set_Wstrict_aliasing.
3735 * c.opt (v): Don't mark Common or document here.
3736
1f6616ee 37372010-11-06 Iain Sandoe <iains@gcc.gnu.org>
3738
3739 PR target/44981
3740 * c-format.c (format_type): New type gcc_objc_string_format_type.
3741 (valid_stringptr_type_p): New.
3742 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 3743 (check_format_string): Pass expected type, use
1f6616ee 3744 valid_stringptr_type_p (), check that the format string types are
3745 consistent with the format specification.
3746 (decode_format_attr): Warn if NSString is used outside objective-c.
3747 (format_types_orig): Add NSString.
3748 (format_name): New.
3749 (format_flags): New.
3750 (check_format_arg): Handle format strings requiring an external parser.
3751 first_target_format_type: New variable.
3752 (handle_format_attribute): Set up first_target_format_type, pass the
3753 expected format arg string type to check_format_string().
3754 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
3755 * stub-objc.c (objc_string_ref_type_p): New.
3756 (objc_check_format_arg): New.
3757
b0d0931f 37582010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
3759
19931eea 3760 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 3761 * c-common.h (objc_build_class_component_ref): New.
3762 * stub-objc.c (objc_build_class_component_ref): New.
3763
f26877d5 37642010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3765
3766 * c.opt (Wproperty-assign-default): New option.
3767
1ef143b6 37682010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
3769
3770 Implemented -fobjc-std=objc1 flag.
3771 * c.opt (fobjc-std=objc1): New option.
3772
8c582e4f 37732010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
3774
3775 Implemented format and noreturn attributes for Objective-C methods.
3776 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
3777 attribute for Objective-C methods.
3778
8637f1db 37792010-10-31 Jason Merrill <jason@redhat.com>
3780
3781 * c-common.c (conversion_warning, warn_for_collisions_1): Use
3782 EXPR_LOC_OR_HERE.
3783
9d9f5bb3 37842010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
3785
3786 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
3787 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
3788 (objc_add_property_declaration): Removed arguments for copies and
3789 ivar.
3790 (objc_build_getter_call): Renamed to
3791 objc_maybe_build_component_ref.
3792 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3793 (objc_is_property_ref): New.
3794 * c-common.c (c_common_reswords): Removed copies and ivar.
3795 * stub-objc.c (objc_add_property_declaration): Removed arguments
3796 for copies and ivar.
3797 (objc_build_getter_call): Renamed to
3798 objc_maybe_build_component_ref.
3799 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
3800 (objc_is_property_ref): New.
19931eea 3801
56f907a0 38022010-10-29 Arnaud Charlet <charlet@adacore.com>
3803 Matthew Gingell <gingell@adacore.com>
3804
3805 * c-ada-spec.c (separate_class_package): New function.
3806 (pp_ada_tree_identifier): Prefix references to C++ classes with the
3807 name of their enclosing package.
3808 (print_ada_declaration): Use separate_class_package.
3809
b5fa273e 38102010-10-27 Jason Merrill <jason@redhat.com>
3811
5290e253 3812 * c-common.c (c_common_reswords): Add __is_literal_type.
3813 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
3814
b5fa273e 3815 * c-common.c (check_case_value): Remove special C++ code.
3816
7590f0e5 38172010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3818
3819 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
3820 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
3821 and RID_LAST_PATTR.
3822 (objc_add_property_declaration): Added additional arguments.
3823 (objc_property_attribute_kind): Removed.
3824 (objc_set_property_attr): Removed.
3825 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
3826 copy and nonatomic.
3827 * stub-objc.c (objc_add_property_declaration): Added additional
3828 arguments.
3829 (objc_set_property_attr): Removed.
19931eea 3830
1d894bcf 38312010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
3832
3833 * c-common.h (objc_add_property_variable): Renamed to
3834 objc_add_property_declaration. Added location argument.
3835 * stub-objc.c (objc_add_property_variable): Same change.
3836
e23bf1fb 38372010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
3838
3839 * c-common.h (objc_maybe_printable_name): New.
3840 * stub-objc.c (objc_maybe_printable_name): New.
3841
93426222 38422010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3843 Andrew Pinski <pinskia@gmail.com>
3844
3845 * c-common.h (c_common_mark_addressable_vec): Declare.
3846 * c-common.c (c_common_mark_addressable_vec): New function.
3847
45b2b110 38482010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3849
3850 * c-common.h (objc_set_method_type): Removed.
3851 (objc_add_method_declaration): Added boolean argument.
3852 (objc_start_method_definition): Same change.
3853 (objc_build_method_signature): Same change.
3854 * stub-objc.c (objc_set_method_type): Removed.
3855 (objc_add_method_declaration): Added boolean argument.
3856 (objc_start_method_definition): Same change.
3857 (objc_build_method_signature): Same change.
3858
64cd9619 38592010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
3860
3861 * c-common.h (finish_file): Removed.
3862 (objc_write_global_declarations): New.
3863 * c-opts.c (c_common_parse_file): Do not call finish_file.
3864 * stub-objc.c (objc_write_global_declarations): New.
19931eea 3865
e1f293c0 38662010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3867
3868 Implemented parsing @synthesize and @dynamic for
3869 Objective-C/Objective-C++.
3870 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
3871 (objc_add_synthesize_declaration): New.
3872 (objc_add_dynamic_declaration): New.
3873 * c-common.c (c_common_reswords): Add synthesize and dynamic.
3874 * stub-objc.c (objc_add_synthesize_declaration): New.
3875 (objc_add_dynamic_declaration): New.
19931eea 3876
ef97a312 38772010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
3878
3879 PR target/46041
3880 * c-cppbuiltin.c (mode_has_fma): Move function here from
3881 builtins.c. Don't use the fma optab, instead just use the
3882 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
3883 using -save-temps.
3884
69b07042 38852010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
3886
3887 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 3888
69b07042 3889 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
3890
19931eea 3891 Radar 4330422
69b07042 3892 * c-common.h (objc_non_volatilized_type): New declaration
3893 * stub-objc.c (objc_non_volatilized_type): New stub.
3894
f15f2e56 38952010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
3896
69b07042 3897 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 3898
3899 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
3900
19931eea 3901 Radar 4133425
f15f2e56 3902 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 3903 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 3904
4a8875ed 39052010-10-17 Iain Sandoe <iains@gcc.gnu.org>
3906
3907 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
3908 * c-common.h (enum rid): Add RID_AT_PACKAGE.
3909 (objc_ivar_visibility_kind): New enum.
3910 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 3911 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 3912 visibility enum.
3913
7e0713b1 39142010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3915
3916 * c-cppbuiltin.c (builtin_define_float_constants): Emit
3917 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
3918 has the appropriate fma builtins.
3919 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
3920
86c110ac 39212010-10-14 Iain Sandoe <iains@gcc.gnu.org>
3922
7e0713b1 3923 merge from FSF apple 'trunk' branch.
86c110ac 3924 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 3925
86c110ac 3926 Radars 4436866, 4505126, 4506903, 4517826
3927 * c-common.c (c_common_resword): Define @property and its attributes.
3928 * c-common.h: Define property attribute enum entries.
3929 (OBJC_IS_PATTR_KEYWORD): New.
3930 (objc_property_attribute_kind): New enum.
3931 Declare objc_set_property_attr (), objc_add_property_variable (),
3932 objc_build_getter_call () and objc_build_setter_call ().
3933 * stub-objc.c (objc_set_property_attr): New stub.
3934 (objc_add_property_variable): Likewise.
3935 (objc_build_getter_call): Likewise.
3936 (objc_build_setter_call) Likewise.
7e0713b1 3937
40c8d1dd 39382010-10-13 Iain Sandoe <iains@gcc.gnu.org>
3939
7e0713b1 3940 merge from FSF apple 'trunk' branch.
40c8d1dd 3941 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
3942
3943 Radar 3803157 (method attributes)
3944 * c-common.c (handle_deprecated_attribute): Recognize
3945 objc methods as valid declarations.
3946 * c-common.h: Declare objc_method_decl ().
7e0713b1 3947 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 3948
f3f006ad 39492010-10-08 Joseph Myers <joseph@codesourcery.com>
3950
3951 * c-common.c (parse_optimize_options): Call
3952 decode_cmdline_options_to_array_default_mask before
3953 decode_options. Update arguments to decode_options.
3954 * c-common.h (c_common_init_options_struct): Declare.
3955 * c-opts.c (c_common_init_options_struct): New. Split out from
3956 c_common_init_options.
3957
0a65c3bb 39582010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
3959
3960 Implemented fast enumeration for Objective-C.
3961 * c-common.h (objc_finish_foreach_loop): New.
3962 * stub-objc.c (objc_finish_foreach_loop): New.
3963
24ca3b4e 39642010-10-05 Joseph Myers <joseph@codesourcery.com>
3965
3966 * c-common.h (struct diagnostic_context): Don't declare here.
3967 (c_common_initialize_diagnostics): Declare using
3968 diagnostic_context typedef.
3969 * c-opts.c (c_common_handle_option): Pass global_dc to
3970 handle_generated_option.
3971
f83b64ca 39722010-10-04 Joseph Myers <joseph@codesourcery.com>
3973
3974 * c-opts.c (c_common_handle_option): Pass &global_options_set to
3975 handle_generated_option.
3976
2fdec027 39772010-10-03 Ian Lance Taylor <iant@google.com>
3978
3979 * c.opt (-fplan9-extensions): New option.
3980
41acdfa4 39812010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3982
3983 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
3984 Remove.
3985 (c_cpp_builtins): Call functions from cppbuiltin.c instead
3986 of duplicating code.
3987
069761fb 39882010-09-30 Iain Sandoe <iains@gcc.gnu.org>
3989
3990 * c-common.c: Add two new entries for @optional
3991 and @required keywords.
3992
3993 merge from FSF 'apple/trunk' branch.
3994 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
3995
3996 Radar 4386773
3997 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
3998 objective-c keywords.
3999 (objc_set_method_opt): New declaration.
4000 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 4001
2c5d2e39 40022010-09-30 Joseph Myers <joseph@codesourcery.com>
4003
4004 * c-common.c (handle_optimize_attribute): Pass &global_options to
4005 cl_optimization_save and cl_optimization_restore.
4006 * c-opts.c (c_common_handle_option): Pass &global_options to
4007 handle_generated_option.
4008 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4009 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4010 &global_options to cl_optimization_restore.
4011
e5c75ac3 40122010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4013
4014 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4015 Objective-C/Objective-C++ keywords.
4016
3511333e 40172010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 4018
19931eea 4019 Merge from 'apple/trunk' branch on FSF servers.
4020
e147d6aa 4021 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4022
4023 Radar 4281748
4024 * c-common.h (objc_check_global_decl): New declaration.
4025 * stub-objc.c (objc_check_global_decl): New stub.
4026
5461e683 40272010-09-29 Joseph Myers <joseph@codesourcery.com>
4028
4029 * c.opt: Don't use VarExists.
4030
5ae82d58 40312010-09-29 Joseph Myers <joseph@codesourcery.com>
4032
4033 * c-common.c (c_cpp_error): Update names of diagnostic_context
4034 members.
4035 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4036 cl_optimization members.
4037 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4038 sanitize_cpp_opts, finish_options): Update names of cpp_options
4039 members.
4040
b27e241e 40412010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4042
4043 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4044 (objc_is_reserved_word): Removed.
4045 * c-common.c: Updated comments.
4046 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4047 objc_is_reserved_word.
4048 * stub-objc.c (objc_is_reserved_word): Removed.
4049
03fc2271 40502010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4051
19931eea 4052 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 4053 include attributes.
4054 (objc_start_method_definition): Likewise.
4055 (objc_build_keyword_decl): Likewise.
4056 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4057 (objc_start_method_definition): Likewise.
4058 (objc_build_keyword_decl): Likewise.
4059
a336eb4b 40602010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4061
4062 * c-common.h (objc_start_class_interface): Adjust prototype.
4063 (objc_start_category_interface): Likewise.
4064 (objc_start_protocol): Likewise.
4065 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4066 (objc_start_class_interface): Likewise.
4067 (objc_start_category_interface): Likewise.
4068
48b14f50 40692010-09-27 Ian Lance Taylor <iant@google.com>
4070
4071 * c-common.c (c_common_attribute_table): Add no_split_stack.
4072 (handle_no_split_stack_attribute): New static function.
4073
4abfc532 40742010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4075
19931eea 4076 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 4077
4078 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4079
19931eea 4080 Radar 4229905
4abfc532 4081 * c-common.h (objc_have_common_type): New declaration.
4082 * stub-objc.c (objc_have_common_type): New stub.
4083
4084 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4085
4086 Radar 4154928
4087 * c-common.h (objc_common_type): New prototype.
19931eea 4088 * stub-objc.c (objc_common_type): New stub.
4abfc532 4089
7bd95dfd 40902010-09-24 Jan Hubicka <jh@suse.cz>
4091
4092 * c-common.c (handle_leaf_attribute): New function.
4093 (struct attribute_spec c_common_att): Add leaf.
4094
5789e05b 40952010-09-22 Joseph Myers <joseph@codesourcery.com>
4096
4097 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4098 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4099 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4100 -include-barrier, -include-directory, -include-directory=,
4101 -include-directory-after, -include-directory-after=,
4102 -include-prefix, -include-prefix=, -include-with-prefix,
4103 -include-with-prefix=, -include-with-prefix-after,
4104 -include-with-prefix-after=, -include-with-prefix-before,
4105 -include-with-prefix-before=, -no-integrated-cpp,
4106 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4107 -output=, -pedantic, -pedantic-errors, -preprocess,
4108 -print-missing-file-dependencies, -trace-includes, -traditional,
4109 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4110 -user-dependencies, -verbose, -write-dependencies,
4111 -write-user-dependencies, no-integrated-cpp, traditional): New.
4112
e6fb54ba 41132010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4114
4115 PR objc/23710
9b60f3b0 4116 * c-common.h (objc_start_method_definition): Return bool instead
4117 of void.
4118 * stub-objc.c (objc_start_method_definition): Return bool instead
4119 of void.
4120
41212010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4122
4123 PR objc/25965
4124 * c-common.h (objc_get_interface_ivars): New declaration.
4125 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4126
e44b0a1f 41272010-09-15 Ian Lance Taylor <iant@google.com>
4128
4129 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4130 messages. Remove period at end of warning message.
e44b0a1f 4131
85c0a25c 41322010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4133
4134 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4135 (handle_alias_attribute): ... here.
4136 (handle_ifunc_attribute): New.
4137
5ba33bf4 41382010-09-06 Mark Mitchell <mark@codesourcery.com>
4139
4140 * c-common.h (do_warn_double_promotion): Declare.
4141 * c-common.c (do_warn_double_promotion): Define.
4142
c920faa3 41432010-09-05 Mark Mitchell <mark@codesourcery.com>
4144
4145 * c.opt (Wdouble-promotion): New.
4146
9604e070 41472010-09-02 Joseph Myers <joseph@codesourcery.com>
4148
4149 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4150 fvtable-thunks, fxref): Mark no longer supported in help text.
4151
3b0273a1 41522010-09-02 Joseph Myers <joseph@codesourcery.com>
4153
4154 * c.opt (Wimport, fall-virtual, falt-external-templates,
4155 fdefault-inline, fenum-int-equiv, fexternal-templates,
4156 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4157 fname-mangling-version-, fnew-abi, fnonnull-objects,
4158 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4159 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4160 applicable.
4161 (fhandle-exceptions): Mark with Alias and Warn.
4162 * c-opts.c (c_common_handle_option): Don't handle options marked
4163 as ignored.
4164
67089c6b 41652010-09-02 Joseph Myers <joseph@codesourcery.com>
4166
4167 * c.opt (Wcomments, Werror-implicit-function-declaration,
4168 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4169 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4170 aliases.
4171 * c-common.c (option_codes): Use OPT_Wcomment instead of
4172 OPT_Wcomments.
4173 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4174 Don't handle options marked as aliases.
4175
2af087f2 41762010-08-25 Richard Guenther <rguenther@suse.de>
4177
4178 * c-common.c (c_common_get_alias_set): Remove special
4179 handling for pointers.
4180
48148244 41812010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4182
4183 * c-common.c: Use FOR_EACH_VEC_ELT.
4184 * c-gimplify.c: Likewise.
4185 * c-pragma.c: Likewise.
4186
89c69892 41872010-08-16 Joseph Myers <joseph@codesourcery.com>
4188
4189 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4190 RejectDriver.
4191 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4192 RejectDriver.
4193 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4194 instead of OPT_MDX and OPT_MMDX.
4195
e28aa114 41962010-08-16 Joseph Myers <joseph@codesourcery.com>
4197
4198 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4199
99b66d21 42002010-08-12 Joseph Myers <joseph@codesourcery.com>
4201
4202 * c.opt (MD, MMD): Change to MDX and MMDX.
4203 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4204
666f4bf0 42052010-08-11 Joseph Myers <joseph@codesourcery.com>
4206
4207 * c-opts.c (c_common_handle_option): Call handle_generated_option
4208 instead of handle_option.
4209
5ec815f6 42102010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4211
4212 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4213 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4214
d13143cf 42152010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4216
4217 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4218 (pending_redefine_extname): Change type to a VEC.
4219 (add_to_renaming_pragma_list): Update for new type of
4220 pending_redefine_extname.
5ec815f6 4221 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4222
2008c983 42232010-08-04 Arnaud Charlet <charlet@adacore.com>
4224
4225 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4226 visited.
4227 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4228 decide whether a type has already been declared/seen.
4229 Do not go to the original type.
4230 (dump_nested_types): New parameter forward.
4231 Generate forward declaration if needed and mark type as visited.
4232 (print_ada_declaration): Call dump_nested_types if not already done.
4233 Mark types as visited.
4234
9b091a73 42352010-08-03 Joseph Myers <joseph@codesourcery.com>
4236
4237 * c.opt (-print-pch-checksum): Remove option.
4238 * c-opts.c (c_common_handle_option): Don't handle
4239 OPT_print_pch_checksum.
4240
b78351e5 42412010-07-27 Joseph Myers <joseph@codesourcery.com>
4242
4243 * c-common.h (c_common_handle_option): Update prototype and return
4244 value type.
4245 * c-opts.c (c_common_handle_option): Update prototype and return
4246 value type. Update calls to handle_option and
4247 enable_warning_as_error.
4248
34416a90 42492010-07-27 Jakub Jelinek <jakub@redhat.com>
4250
4251 PR c/45079
4252 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4253
fecf9011 42542010-07-27 Joseph Myers <joseph@codesourcery.com>
4255
4256 * c-common.h (c_common_missing_argument): Remove.
4257 * c-opts.c (c_common_missing_argument): Remove.
4258 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4259 idirafter, imacros, include, isysroot, isystem, iquote): Add
4260 MissingArgError.
4261 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4262
e88d34f6 42632010-07-27 Joseph Myers <joseph@codesourcery.com>
4264
4265 * c-common.h (c_common_option_lang_mask,
4266 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4267 New.
4268 (c_common_init_options): Update prototype.
4269 * c-opts.c (c_common_option_lang_mask): New.
4270 (c_common_initialize_diagnostics): Split out of
4271 c_common_init_options.
4272 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4273 New.
4274 (c_common_init_options): Update prototype. Use decoded options in
4275 search for -lang-asm.
4276
1767a056 42772010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4278
4279 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4280 * c-format.c: Likewise.
4281
0b205f4c 42822010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4283
4284 * c-common.h: Include diagnostic-core.h. Error if already
4285 included.
4286 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4287
1c58e3f1 42882010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4289
4290 * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef.
4291 Do not include expr.h
4292 (vector_mode_valid_p): Move here.
4293
33cc157c 42942010-06-21 DJ Delorie <dj@redhat.com>
4295
4296 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4297 allow these pragmas anywhere.
4298
42992010-06-14 Jakub Jelinek <jakub@redhat.com>
4300
4301 PR bootstrap/44509
4302 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4303 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4304 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4305 ggc_strdup instead of xstrdup.
4306
43072010-06-10 Jakub Jelinek <jakub@redhat.com>
4308
4309 * c-cppbuiltin.c: Include cpp-id-data.h.
4310 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4311 (lazy_hex_fp_value): New function.
4312 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4313
9b40bfbf 43142010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4315
4316 * c-gimplify.c: Do not include tree-flow.h
4317
202d6e5f 43182010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4319
4320 PR other/44034
4321 * c-common.c: Rename targetm member:
4322 targetm.enum_va_list -> targetm.enum_va_list_p
4323
d3237426 43242010-06-28 Anatoly Sokolov <aesok@post.ru>
4325
4326 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4327
596981c8 43282010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4329
4330 * c-cppbuiltin.c: Do not include except.h.
4331
b9bdfa0b 43322010-06-24 Andi Kleen <ak@linux.intel.com>
4333
19931eea 4334 * c-common.c (warn_for_omitted_condop): New.
4335 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4336
55ad092d 43372010-06-21 Joseph Myers <joseph@codesourcery.com>
4338
4339 * c.opt (lang-objc): Remove.
4340 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4341
9e7c2572 43422010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4343
4344 * c-opts.c: Include "tm_p.h".
4345
615ef0bb 43462010-06-20 Joseph Myers <joseph@codesourcery.com>
4347
4348 * c-common.c (parse_optimize_options): Update call to
4349 decode_options.
4350
aef48c9a 43512010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4352
4353 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4354 new type of types_used_by_cur_var_decl.
4355
d74003b4 43562010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4357
4358 PR bootstrap/44512
4359 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4360 for C++ standard compliance.
4361
1194d077 43622010-06-16 Jason Merrill <jason@redhat.com>
4363
4364 * c.opt: Add -Wnoexcept.
4365
d473d901 43662010-06-16 Richard Guenther <rguenther@suse.de>
4367
4368 PR c/44555
4369 * c-common.c (c_common_truthvalue_conversion): Remove
4370 premature and wrong optimization concering ADDR_EXPRs.
4371
b62dbfd3 43722010-06-15 Arnaud Charlet <charlet@adacore.com>
4373
4374 * c-ada-spec.c (dump_sloc): Remove column info.
4375 (is_simple_enum): New function.
4376 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4377 enum types when relevant.
4378
200dd99c 43792010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4380
19931eea 4381 * c-common.c (conversion_warning): Warn at expression
200dd99c 4382 location.
4383
abf6a617 43842010-06-10 Joseph Myers <joseph@codesourcery.com>
4385
4386 * c-opts.c (c_common_handle_option): Don't handle
4387 OPT_fshow_column.
4388
ba72912a 43892010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4390
4391 * c-pragma.c (push_alignment): Use typed GC allocation.
4392 (handle_pragma_push_options): Likewise.
4393
4394 * c-common.c (parse_optimize_options): Likewise.
4395
4396 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4397 option.
4398
4aafe913 43992010-06-07 Joseph Myers <joseph@codesourcery.com>
4400
4401 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4402 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4403 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4404 flag_signed_bitfields, warn_strict_null_sentinel,
4405 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4406 flag_gen_declaration, flag_no_gnu_keywords,
4407 flag_implement_inlines, flag_implicit_templates,
4408 flag_implicit_inline_templates, flag_optional_diags,
4409 flag_elide_constructors, flag_default_inline, flag_rtti,
4410 flag_conserve_space, flag_access_control, flag_check_new,
4411 flag_new_for_scope, flag_weak, flag_working_directory,
4412 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4413 flag_enforce_eh_specs, flag_threadsafe_statics,
4414 flag_pretty_templates): Remove.
4415 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4416 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4417 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4418 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4419 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4420 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4421 flag_no_gnu_keywords, flag_implement_inlines,
4422 flag_implicit_templates, flag_implicit_inline_templates,
4423 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4424 flag_rtti, flag_conserve_space, flag_access_control,
4425 flag_check_new, flag_new_for_scope, flag_weak,
4426 flag_working_directory, flag_use_cxa_atexit,
4427 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4428 flag_threadsafe_statics, flag_pretty_templates,
4429 warn_strict_null_sentinel): Remove.
4430 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4431 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4432 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4433 fimplicit-inline-templates, fimplicit-templates,
4434 flax-vector-conversions, fms-extensions, fnil-receivers,
4435 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4436 frtti, fshort-double, fshort-enums, fshort-wchar,
4437 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4438 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4439 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4440 gen-decls, undef): Use Var.
4441 (fdefault-inline, foptional-diags): Document as doing nothing.
4442 * c-opts.c (c_common_handle_option): Remove cases for options now
4443 using Var. Mark ignored options as such.
4444
7bedc3a0 44452010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4446
19931eea 4447 * c-common.c: Moved to here from parent directory.
7bedc3a0 4448 * c-common.def: Likewise.
4449 * c-common.h: Likewise.
4450 * c-cppbuiltin.c: Likewise.
4451 * c-dump.c: Likewise.
4452 * c-format.c: Likewise.
4453 * c-format.h : Likewise.
4454 * c-gimplify.c: Likewise.
4455 * c-lex.c: Likewise.
4456 * c-omp.c: Likewise.
4457 * c.opt: Likewise.
4458 * c-opts.c: Likewise.
4459 * c-pch.c: Likewise.
4460 * c-ppoutput.c: Likewise.
4461 * c-pragma.c: Likewise.
4462 * c-pragma.h: Likewise.
4463 * c-pretty-print.c: Likewise.
4464 * c-pretty-print.h: Likewise.
4465 * c-semantics.c: Likewise.
4466 * stub-objc.c: Likewise.
4467
4468 * c-common.c: Include gt-c-family-c-common.h.
4469 * c-pragma.c: Include gt-c-family-c-pragma.h.
4470\f
3aea1f79 4471Copyright (C) 2010-2014 Free Software Foundation, Inc.
7bedc3a0 4472
4473Copying and distribution of this file, with or without modification,
4474are permitted in any medium without royalty provided the copyright
4475notice and this notice are preserved.