]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
* c.opt (std=c++14): Remove Undocumented flag and experimental warning.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
7290114b 12015-05-09 Jason Merrill <jason@redhat.com>
2
3 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
4 (std=gnu++0x): Mark as Undocumented.
5 (std=gnu++1y): Add deprecated message.
6
1b03cc89 72015-05-08 Jason Merrill <jason@redhat.com>
8
1c5f7aba 9 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
10 * c-opts.c: Adjust.
11
1b03cc89 12 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
13
dc5945dc 142015-05-08 Marek Polacek <polacek@redhat.com>
15
16 PR c/64918
17 * c.opt (Woverride-init-side-effects): New option.
18
cdc64059 192015-05-07 Marek Polacek <polacek@redhat.com>
20
21 PR c/65179
22 * c-common.c (c_fully_fold_internal): Warn when left shifting a
23 negative value.
24 * c.opt (Wshift-negative-value): New option.
25 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
26 when -Wextra and C99/C++11 mode.
27
8cafe283 282015-05-07 Marek Polacek <polacek@redhat.com>
29 Martin Uecker <uecker@eecs.berkeley.edu>
30
31 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
32 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
33
cb40a6f7 342015-05-05 Jason Merrill <jason@redhat.com>
35
36 * c.opt (Wterminate): New.
37
14744a16 382015-04-30 Marek Polacek <polacek@redhat.com>
39
40 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
41 require that the non-constant be of a boolean type.
42
9866562d 432015-04-29 Josh Triplett <josh@joshtriplett.org>
44
8cafe283 45 * c-common.c (handle_section_attribute): Refactor to reduce
46 nesting and distinguish between error cases.
9866562d 47
a720ab1c 482015-04-29 Marek Polacek <polacek@redhat.com>
49
50 PR c/64610
51 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
52 with 0/1.
53
8c072e52 542015-04-29 Jakub Jelinek <jakub@redhat.com>
55
56 * c-common.h (omp_clause_mask): Unconditionally define as a class.
57 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
58 HOST_BITS_PER_WIDE_INT.
59
f7fec1c7 602015-04-28 Tom de Vries <tom@codesourcery.com>
61
62 PR tree-optimization/65887
63 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
64
483b3d26 652015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 66 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 67
68 * c-ada-spec.c (in_function): Delete.
69 (dump_generic_ada_node): Do not change in_function and remove the
70 redundant code dealing with it.
71 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
72 (print_ada_methods): Output the static member functions in a nested
73 package after the regular methods as well as associated renamings.
74
f11bdffb 752015-04-24 Marek Polacek <polacek@redhat.com>
76
77 PR c/65830
78 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
79 and OPT_Wshift_count_overflow.
80
485f6b9c 81 PR c/63357
82 * c-common.c (warn_logical_operator): Warn if the operands have the
83 same expressions.
84
439606a9 852015-04-24 Marek Polacek <polacek@redhat.com>
86
87 PR c/61534
88 * c-common.c (warn_logical_operator): Bail if either operand comes
89 from a macro expansion.
90
de801c28 912015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
92
93 PR target/55143
94 * c-common.c (c_default_pointer_mode): Add definition.
95 * c-common.h (c_default_pointer_mode): Add declaration.
96
76738f56 972015-03-11 Jakub Jelinek <jakub@redhat.com>
98
99 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
100 on record_builtin_type argument.
101
16f958b3 1022015-03-10 Jakub Jelinek <jakub@redhat.com>
103
104 PR c/65120
105 * c-common.c (warn_logical_not_parentheses): Don't warn for
106 !x == 0 or !x != 0.
107
9b22f73f 1082015-03-07 Marek Polacek <polacek@redhat.com>
109
110 PR sanitizer/65280
111 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
112 before trying to figure out whether we have a flexible array member.
113
a864b7d4 1142015-03-06 Eric Botcazou <ebotcazou@adacore.com>
115 Jonathan Wakely <jwakely.gcc@gmail.com>
116
117 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
118
9bf8c90b 1192015-03-05 Eric Botcazou <ebotcazou@adacore.com>
120
121 PR ada/65319
122 * c-ada-spec.c (print_destructor): Remove obsolete code.
123
037ac54f 1242015-03-01 Eric Botcazou <ebotcazou@adacore.com>
125
126 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
127 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
128 DECL_TEMPLATE_RESULT emulations.
129 (dump_ada_template)): Add guard for TYPE_METHODS.
130
495cbfb8 1312015-02-27 Marek Polacek <polacek@redhat.com>
132
133 PR c/65040
134 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
135
688a864e 1362015-02-27 Kai Tietz <ktietz@redhat.com>
137
138 PR c/35330
139 * c-pragma.c (handle_pragma_weak): Do not try to create
140 weak/alias of declarations not being function, or variable
141 declarations.
142
6349b8cc 1432015-02-24 Thomas Schwinge <thomas@codesourcery.com>
144
145 PR libgomp/64625
146 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
147 Remove macros.
148 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
149
3afd5369 1502015-02-16 Marek Polacek <polacek@redhat.com>
151
152 PR c/65066
153 * c-format.c (check_format_types): Handle null param.
154
46173d1b 1552015-02-13 Marek Polacek <polacek@redhat.com>
156
157 PR c/65040
158 * c-format.c (check_format_types): Don't warn about different
159 signedness if the original value is in the range of WANTED_TYPE.
160
1d524ff7 1612015-02-12 Jason Merrill <jason@redhat.com>
162
163 PR c++/64956
164 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
165 to the current highest version.
166 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
167
bbf8fbec 1682015-02-04 Jakub Jelinek <jakub@redhat.com>
169
170 PR c/64824
171 PR c/64868
172 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
173 instead of RDIV_EXPR. Use build_binary_op instead of
174 build2_loc.
175
c05be867 1762015-01-30 Joseph Myers <joseph@codesourcery.com>
177
178 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
179 to pass input_location as first argument.
180
85977647 1812015-01-23 Tom de Vries <tom@codesourcery.com>
182
183 PR libgomp/64672
184 * c.opt (fopenacc): Mark as LTO option.
185
fa175926 1862015-01-23 Tom de Vries <tom@codesourcery.com>
187
188 PR libgomp/64707
189 * c.opt (fopenmp): Mark as LTO option.
190
20aad5ba 1912015-01-21 Jakub Jelinek <jakub@redhat.com>
192
193 PR c/63307
194 * cilk.c (fill_decls_vec): Only put decls into vector v.
195 (compare_decls): Fix up formatting.
196
1972015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
198
199 PR c/63307
200 * cilk.c: Include vec.h.
201 (struct cilk_decls): New structure.
202 (wrapper_parm_cb): Split this function to...
203 (fill_decls_vec): ...this...
204 (create_parm_list): ...and this.
205 (compare_decls): New function.
206 (for_local_cb): Remove.
207 (wrapper_local_cb): Ditto.
208 (build_wrapper_type): For now first traverse and fill vector of
209 declarations then sort it and then deal with sorted vector.
210 (cilk_outline): Ditto.
211 (declare_one_free_variable): Ditto.
212
60b77e28 2132015-01-21 Jason Merrill <jason@redhat.com>
214
215 PR c++/64629
216 * c-format.c (check_format_arg): Call decl_constant_value.
217
85fbea97 2182015-01-19 Martin Liska <mliska@suse.cz>
219
220 * c-common.c (handle_noicf_attribute): New function.
221
ca4c3545 2222015-01-15 Thomas Schwinge <thomas@codesourcery.com>
223 Bernd Schmidt <bernds@codesourcery.com>
224 James Norris <jnorris@codesourcery.com>
225 Cesar Philippidis <cesar@codesourcery.com>
226 Ilmir Usmanov <i.usmanov@samsung.com>
227 Jakub Jelinek <jakub@redhat.com>
228
229 * c.opt (fopenacc): New option.
230 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
231 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
232 New macros.
233 * c-common.h (c_finish_oacc_wait): New prototype.
234 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
235 (c_finish_oacc_wait): New function.
236 * c-pragma.c (oacc_pragmas): New variable.
237 (c_pp_lookup_pragma, init_pragma): Handle it.
238 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
239 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
240 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
241 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
242 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
243 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
244 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
245 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
246 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
247 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
248 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
249 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
250 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
251 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
252 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
253 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
254 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
255 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
256 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
257 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
258 PRAGMA_OACC_CLAUSE_WORKER.
259
947aa916 2602015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
261
262 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
263 for the new option fstack-protector_explicit.
264 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
265 (handle_stack_protect_attribute): New function.
266
e4fd7af1 2672015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
268
269 * c.opt: New option -Warray-bounds=.
270
1f78217c 2712015-01-09 Michael Collison <michael.collison@linaro.org>
272
273 * array-notation-common.c: Include hash-set.h, machmode.h,
274 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
275 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
276 * c-ada-spec.c: Ditto.
277 * c-cilkplus.c: Ditto.
278 * c-common.c: Include input.h due to flattening of tree.h.
279 Define macro GCC_C_COMMON_C.
280 * c-common.h: Flatten tree.h header files into c-common.h.
281 Remove include of tree-core.h.
282 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
283 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
284 fold-const.h, wide-int.h, and inchash.h due to
285 flattening of tree.h.
286 * c-dump.c: Ditto.
287 * c-format.c: Flatten tree.h header files into c-common.h.
288 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
289 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
290 fold-const.h, wide-int.h, and inchash.h due to
291 flattening of tree.h.
292 * c-dump.c: Include hash-set.h, machmode.h,
293 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
294 fold-const.h, wide-int.h, and inchash.h due to
295 flattening of tree.h.
296 * c-format.c: Include hash-set.h, machmode.h,
297 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
298 fold-const.h, wide-int.h, inchash.h and real.h due to
299 flattening of tree.h.
300 * c-gimplify.c: Include hash-set.h, machmode.h,
301 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
302 fold-const.h, wide-int.h, and inchash.h due to
303 flattening of tree.h.
304 * cilk.c: Ditto.
305 * c-lex.c: Ditto.
306 * c-omp.c: Ditto.
307 * c-opts.c: Ditto.
308 * c-pch.c: Ditto.
309 * c-ppoutput.c: Ditto.
310 * c-pragma.c: Ditto.
311 * c-pretty-print.c: Ditto.
312 * c-semantics.c: Ditto.
313 * c-ubsan.c: Ditto.
314 * stub-objc.c: Ditto.
315
411b7663 3162015-01-08 Jason Merrill <jason@redhat.com>
317
318 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
319 do_ubsan_in_current_function.
320 (ubsan_maybe_instrument_reference_or_call): Likewise.
321 * c-ubsan.h: Declare it.
322
d1e96383 3232015-01-08 Mike Stump <mikestump@comcast.net>
324
325 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
326
b57910fa 3272015-01-07 Marek Polacek <polacek@redhat.com>
328
329 PR c/64440
330 * c-common.c (c_fully_fold_internal): Warn for division and modulo
331 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
332
678a4e3e 3332015-01-05 Trevor Saunders <tsaunders@mozilla.com>
334
335 PR c++/31397
336 * c.opt (Wsuggest-override): New option.
337
d353bf18 3382015-01-05 Jakub Jelinek <jakub@redhat.com>
339
340 Update copyright years.
341
92b63884 3422015-01-05 Marek Polacek <polacek@redhat.com>
343
344 PR c/64423
345 * c-common.c (warn_array_subscript_with_type_char): Add location_t
346 parameter. Use it.
347 * c-common.h (warn_array_subscript_with_type_char): Update
348 declaration.
349
83715bc4 3502014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
351
352 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
353 Control macro with flag_sized_deallocation.
354
8a8211df 3552014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
356
357 * c.opt (Wdiscarded-array-qualifiers): New option.
358
33058239 3592014-12-19 Jakub Jelinek <jakub@redhat.com>
360
361 PR preprocessor/63831
362 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
363 and __has_cpp_attribute here.
364 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
365 c_common_has_attribute.
366 * c-common.h (c_common_has_attribute): New prototype.
367 * c-lex.c (init_c_lex): Set cb->has_attribute to
368 c_common_has_attribute instead of cb_has_attribute.
369 (get_token_no_padding): New function.
370 (cb_has_attribute): Renamed to ...
371 (c_common_has_attribute): ... this. No longer static. Use
372 get_token_no_padding, require ()s, don't build TREE_LIST
373 unnecessarily, fix up formatting, adjust diagnostics, call
374 init_attributes.
375
d1856d2c 3762014-12-15 Jason Merrill <jason@redhat.com>
377
378 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
379 (-Wsized-deallocation): New.
380 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
381 to on in C++14 and up.
382
4972ed5d 3832014-12-11 Jason Merrill <jason@redhat.com>
384
7d7fa964 385 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
386
4972ed5d 387 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
388 we aren't complaining about VLAs.
389
5ebccf71 3902014-12-06 Marek Polacek <polacek@redhat.com>
391
392 PR tree-optimization/64183
393 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
394 shift-expression if it is integer_type_node. Use types_compatible_p.
395
f9e245b2 3962014-11-29 Jakub Jelinek <jakub@redhat.com>
397
398 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
399 last argument from create_tmp_var_raw and create_tmp_var calls.
400 * cilk.c (gimplify_cilk_spawn): Likewise.
401 * c-omp.c (c_finish_omp_atomic): Likewise.
402
d2f60593 4032014-11-28 Marek Polacek <polacek@redhat.com>
404
405 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
406 instead of unsigned_type_node.
407
fce2dbd1 4082014-11-28 Marek Polacek <polacek@redhat.com>
409
410 PR c/63862
411 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
412 to op1_utype.
413 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
414 expression to unsigned_type_node.
415
3a4a2292 4162014-11-20 Mark Wielaard <mjw@redhat.com>
417
418 PR debug/38757
419 * c-opts.c (set_std_c89): Set lang_hooks.name.
420 (set_std_c99): Likewise.
421 (set_std_c11): Likewise.
422 (set_std_cxx98): Likewise.
423 (set_std_cxx11): Likewise.
424 (set_std_cxx14): Likewise.
425 (set_std_cxx1z): Likewise.
426
c61ef207 4272014-11-21 Jakub Jelinek <jakub@redhat.com>
428
429 PR target/63764
430 * c-common.h (convert_vector_to_pointer_for_subscript): Change
431 return type to bool.
c9ed79de 432 * c-common.c: Include gimple-expr.h.
c61ef207 433 (convert_vector_to_pointer_for_subscript): Change return type to
434 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
435 and copy it into a TARGET_EXPR and use that instead of *vecp
436 directly.
437
1a91d914 4382014-11-19 David Malcolm <dmalcolm@redhat.com>
439
440 Merger of git branch "gimple-classes-v2-option-3".
441 * ChangeLog.gimple-classes: New.
442 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
443 from being just a vec<gimple> to a vec<gbind *>.
444
f8fc8b8e 4452014-11-18 Jakub Jelinek <jakub@redhat.com>
446
447 PR sanitizer/63813
448 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
449 argument to ptype, set type to TREE_TYPE (ptype). Don't call
450 get_pointer_alignment for non-pointers. Use ptype, or if it is
451 reference type, corresponding pointer type, as type of kind
452 argument.
453 (ubsan_maybe_instrument_reference,
454 ubsan_maybe_instrument_member_call): Adjust callers.
455
8315e35e 4562014-11-15 Marek Polacek <polacek@redhat.com>
457
458 PR middle-end/63884
459 * array-notation-common.c (is_sec_implicit_index_fn): Return false
460 for NULL fndecl.
461 (extract_array_notation_exprs): Return for NULL node.
462
86b9f14b 4632014-11-12 Joseph Myers <joseph@codesourcery.com>
464
465 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
466 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
467
0c93c8a9 4682014-11-12 Jakub Jelinek <jakub@redhat.com>
469
470 PR c/59708
471 * c-common.c (check_builtin_function_arguments): Handle
472 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
473
fdd735a7 4742014-11-10 Andi Kleen <ak@linux.intel.com>
475
476 PR c/60804
477 * c-common.h (check_no_cilk): Declare.
478 * cilk.c (get_error_location): New function.
479 (check_no_cilk): Dito.
480
5cb678b4 4812014-11-10 Andi Kleen <ak@linux.intel.com>
482
483 * cilk.c (recognize_spawn): Use expression location
484 for error message.
485
0feb4de1 4862014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
487
488 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
489
3aa2fa44 4902014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
491
492 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
493 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
494 (__cpp_range_based_for, __cpp_initializer_lists,
495 __cpp_delegating_constructors, __cpp_nsdmi,
496 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
497 for C++11; (__cpp_attribute_deprecated): Remove in favor of
498 __has_cpp_attribute.
499 * c-lex.c (cb_has_attribute): New callback CPP function;
500 (init_c_lex): Set has_attribute callback.
501
7fd22aae 5022014-11-04 Richard Biener <rguenther@suse.de>
503
504 * c-common.c (shorten_compare): Do not shorten mixed
505 DFP and non-DFP compares.
506
4af203ac 5072014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
508
509 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
510 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
511 Commentary and rearrangement of tests.
512 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
513 Commentary and rearrangement of tests.
514 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
515 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
516
3754d046 5172014-10-29 Richard Sandiford <richard.sandiford@arm.com>
518
519 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
520 enum from machine_mode.
521
1140c305 5222014-10-28 Andrew MacLeod <amacleod@redhat.com>
523
1f78217c 524 * c-common.c: Adjust include files.
525 * c-gimplify.c: Ditto.
526 * cilk.c: Ditto.
527 * c-pragma.c: Ditto.
528 * c-ubsan.c: Ditto.
1140c305 529
94ea8568 5302014-10-27 Andrew MacLeod <amacleod@redhat.com>
531
532 * c-gimplify.c: Adjust include files.
533
32ecf960 5342014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
535
536 PR c++/53061
537 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
538 c_common_initialize_diagnostics.
539 * c-common.h: Likewise.
540
85fecbe2 5412014-10-24 Marek Polacek <polacek@redhat.com>
542
543 PR c/56980
544 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
545 print "struct"/"union"/"enum" for typedefed names.
546
e7ec033a 5472014-10-23 Marek Polacek <polacek@redhat.com>
548
549 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
550 in unsigned type.
551
c2598081 5522014-10-22 Jakub Jelinek <jakub@redhat.com>
553 Yury Gribov <y.gribov@samsung.com>
554
555 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
556 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
557 instead of flag_sanitize_recover as bool flag.
558
acebb7e2 5592014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
560
561 * cilk.c: Revert previous change.
562
6115016c 5632014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
564
565 PR c/63307
566 * cilk.c: Include vec.h.
567 (struct cilk_decls): New structure.
568 (wrapper_parm_cb): Split this function to...
569 (fill_decls_vec): ...this...
570 (create_parm_list): ...and this.
571 (compare_decls): New function.
572 (for_local_cb): Remove.
573 (wrapper_local_cb): Ditto.
574 (build_wrapper_type): For now first traverse and fill vector of
575 declarations then sort it and then deal with sorted vector.
576 (cilk_outline): Ditto.
577 (declare_one_free_variable): Ditto.
578
e610d2b2 5792014-10-17 Marek Polacek <polacek@redhat.com>
580
581 * c-opts.c (c_common_post_options): Set warn_implicit_int.
582 * c.opt (Wimplicit-int): Initialize to -1.
583
a3020f2f 5842014-10-16 Andrew MacLeod <amacleod@redhat.com>
585
586 * c-pragma.c: Adjust include files.
587 * c-semantics.c: Likewise.
588
926ddd2c 5892014-10-16 DJ Delorie <dj@redhat.com>
590
591 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
592 multiples of bytes.
593
b0542e7c 5942014-10-14 Jason Merrill <jason@redhat.com>
595
596 PR c++/63455
597 * c-common.h (CPP_PREPARSED_EXPR): New.
598 (N_CP_TTYPES): Adjust.
599
b2601928 6002014-10-15 Marek Polacek <polacek@redhat.com>
601
602 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
603
9f75f026 6042014-10-14 DJ Delorie <dj@redhat.com>
605
606 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
607 types, not just __int128.
608 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
609 types, not just __int128.
610 (cpp_atomic_builtins): Round pointer sizes up.
611 (type_suffix): Use type precision, not specific types.
612 * c-common.c (c_common_reswords): Remove __int128 special case.
613 (c_common_type_for_size): Check for all __intN types, not just
614 __int128.
615 (c_common_type_for_mode): Likewise.
616 (c_common_signed_or_unsigned_type): Likewise.
617 (c_build_bitfield_integer_type): Likewise.
618 (c_common_nodes_and_builtins): Likewise.
619 (keyword_begins_type_specifier): Likewise.
620 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
621 __intN variants.
622
2ef51f0e 6232014-10-12 Trevor Saunders <tsaunders@mozilla.com>
624
625 * c-common.c: Use hash_table instead of hashtab.
626
5b8257e3 6272014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
628
1f78217c 629 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 630 C++11 section.
631
5e84569c 6322014-10-03 Marc Glisse <marc.glisse@inria.fr>
633
634 PR c++/54427
635 PR c++/57198
636 PR c++/58845
637 * c-common.c (warn_logical_operator): Punt for vectors.
638
f6751ff2 6392014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
640
641 Implement SD-6: SG10 Feature Test Recommendations
642 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
643 macros and the __has_header macro.
644
c33e051d 6452014-09-30 Jason Merrill <jason@redhat.com>
646
f76a9aa8 647 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
648 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
649 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
650
717e52f9 651 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
652 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
653
c33e051d 654 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
655 * c-common.c (c_common_reswords): Remove __is_convertible_to.
656
5213d6c9 6572014-09-24 Marek Polacek <polacek@redhat.com>
658
659 PR c/61405
660 PR c/53874
661 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
662
6b722052 6632014-09-23 Andi Kleen <ak@linux.intel.com>
664
665 * c-common.c (handle_no_reorder_attribute): New function.
666 (c_common_attribute_table): Add no_reorder attribute.
667
0cb69d12 6682014-09-22 Joseph Myers <joseph@codesourcery.com>
669
670 * c-cppbuiltin.c (c_cpp_builtins): Define
671 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
672 modes.
673
168dfbf0 6742014-09-18 Joseph Myers <joseph@codesourcery.com>
675
676 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
677 for supported floating-point modes.
678
b83705f4 6792014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
680
681 * c.opt (Wpsabi): Use LangEnabledBy.
682 * c-opts.c (c_common_handle_option): Do not handle here.
683
d5957f0d 6842014-09-12 Joseph Myers <joseph@codesourcery.com>
685
686 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
687 macros for floating-point modes.
688
bae6edff 6892014-09-11 Marc Glisse <marc.glisse@inria.fr>
690
691 PR target/58757
692 * c-cppbuiltin.c (builtin_define_float_constants): Correct
693 __*_DENORM_MIN__ without denormals.
694
73a69d02 6952014-09-10 Jakub Jelinek <jakub@redhat.com>
696
697 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
698 ubsan_instrument_vla, ubsan_instrument_return): Adjust
699 ubsan_create_data callers.
700 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
701 index is constant or BIT_AND_EXPR with constant mask and is
702 small enough for the bound.
703 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
704 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
705
7ff8db31 7062014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
707
708 * c.opt: Add CppReason to various flags.
709 (Wdate-time): Re-sort.
710 * c-common.c: Include c-common.h earlier.
711 (struct reason_option_codes_t): Delete.
712 (c_option_controlling_cpp_error): Prefix global type and struct
713 with cpp_.
714
bcc1f37e 7152014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
716
717 * c.opt (Wnormalized): New.
718 (Wnormalized=): Use Enum and Reject Negative.
719 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
720
b660d3c6 7212014-09-08 Joseph Myers <joseph@codesourcery.com>
722
723 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
724 digits of floating-point modes if -fbuilding-libgcc.
725
325b8c3c 7262014-09-05 Joseph Myers <joseph@codesourcery.com>
727
728 * c-cppbuiltin.c (c_cpp_builtins): Also define
729 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
730 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
731 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
732 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
733 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
734 __LIBGCC_STACK_GROWS_DOWNWARD__,
735 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
736 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
737 __LIBGCC_DWARF_FRAME_REGISTERS__,
738 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
739 __LIBGCC_STACK_POINTER_REGNUM__ and
740 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
741 (builtin_define_with_value): Handle backslash-escaping in string
742 macro values.
743
1e074e77 7442014-09-05 Richard Biener <rguenther@suse.de>
745
746 PR middle-end/63148
747 * c-format.c (check_format_arg): Properly handle
748 effectively signed POINTER_PLUS_EXPR offset.
749
04afd878 7502014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
751
752 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
753 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
754 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
755 and Init.
756 * c-opts.c (c_common_handle_option): Do not handle here.
757 (sanitize_cpp_opts): Likewise.
758 * c-common.c (struct reason_option_codes_t): Handle
759 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
760
a3f448f0 7612014-09-03 Marek Polacek <polacek@redhat.com>
762
763 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
764
40750995 7652014-09-02 Jakub Jelinek <jakub@redhat.com>
766 Balaji V. Iyer <balaji.v.iyer@intel.com>
767 Igor Zamyatin <igor.zamyatin@intel.com>
768
769 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
770 * c-common.c (c_common_reswords): Added _Cilk_for.
771 * c-common.h (enum rid): Added RID_CILK_FOR.
772 (cilk_for_number_of_iterations): Add declaration.
773 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
774 CILK_FOR.
775 * c-pragma.c (init_pragma): Register "grainsize" pragma.
776 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
777
f0fbe519 7782014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
779
780 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
781 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
782 Wundef): Use CPP, Var and Init.
783 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
784
a7d2e480 7852014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
786
787 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
788 * c-opts.c (c_common_handle_option): Do not handle here.
789
c35e53f1 7902014-08-25 Jason Merrill <jason@redhat.com>
791
792 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
793 -std=c++14 and -std=gnu++14, rather than the reverse.
794 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
795 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
796 * c-common.h (cxx_dialect): Remove cxx1y.
797
4e454776 7982014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
799
800 * c-common.h (enum cxx_dialect): Add cxx14.
801 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
802 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
803 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
804
af1a80f2 8052014-08-22 Jason Merrill <jason@redhat.com>
806
807 * c.opt (std=gnu++17): Fix alias.
808
dc6229e8 8092014-08-22 Marek Polacek <polacek@redhat.com>
810
811 PR c++/62199
812 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
813 check for vector types. Drop LHS argument.
814 * c-common.h (warn_logical_not_parentheses): Adjust.
815
ba7f7c88 8162014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
817
818 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
819 (Wmultichar): Likewise.
820 (Wdate-time): Use C-family languages instead of Common. Use CPP
821 and Var.
822 * c-opts.c (c_common_handle_option): Do not handle the above
823 options here.
824 (sanitize_cpp_opts): Likewise.
825
399d4f80 8262014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
827
828 PR fortran/44054
829 * c-opts.c: Include tree-diagnostics.h.
830 (c_diagnostic_finalizer): New.
831 (c_common_initialize_diagnostics): Use it.
832
1babed5f 8332014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
834
835 PR preprocessor/51303
836 * c-common.c (struct reason_option_codes_t option_codes):
837 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
838
3636964b 8392014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
840
841 PR c/60975
842 PR c/53063
843 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
844 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
845 (c_common_post_options): Call init_global_opts_from_cpp.
846 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
847
78bf4156 8482014-08-19 Marek Polacek <polacek@redhat.com>
849
850 PR c++/62153
851 * c-common.c (maybe_warn_bool_compare): New function.
852 * c-common.h (maybe_warn_bool_compare): Declare.
853 * c.opt (Wbool-compare): New option.
854
508ea33a 8552014-08-19 Marek Polacek <polacek@redhat.com>
856
857 * c.opt (Wc99-c11-compat): New option.
858
806fe15e 8592014-08-19 Marek Polacek <polacek@redhat.com>
860
861 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
862 to warn_c90_c99_compat.
863 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
864 to -1.
865
6c867de1 8662014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
867 Steven Bosscher <steven@gcc.gnu.org>
868
869 PR c/52952
870 * c-format.c: Add extra_arg_loc and format_string_loc to struct
871 format_check_results.
872 (check_function_format): Use true and add comment for boolean
873 argument.
874 (finish_dollar_format_checking): Use explicit location when warning.
875 (check_format_info): Likewise.
876 (check_format_arg): Set extra_arg_loc and format_string_loc.
877 (check_format_info_main): Use explicit location when warning.
878 (check_format_types): Pass explicit location.
879 (format_type_warning): Likewise.
880
dc8078a3 8812014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
882
883 PR fortran/44054
884 * c-format.c: Handle Fortran flags.
885
d271ec7e 8862014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
887
888 PR other/61962
889 * array-notation-common.c (find_rank): Added handling for other
890 types of references.
891
890c2e2f 8922014-08-10 Marek Polacek <polacek@redhat.com>
893
894 PR c/51849
895 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
896 * c.opt (Wc90-c99-compat): Add option.
897
7149db5f 8982014-08-07 Trevor Saunders <tsaunders@mozilla.com>
899
900 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
901
2d2f6a15 9022014-08-03 Marek Polacek <polacek@redhat.com>
903
904 * c-common.c (check_case_value): Add location_t parameter. Use it.
905 (c_add_case_label): Pass loc to check_case_value.
906
06ecf488 9072014-08-02 Trevor Saunders <tsaunders@mozilla.com>
908
909 * cilk.c: Use hash_map instead of pointer_map.
910
431205b7 9112014-08-02 Trevor Saunders <tsaunders@mozilla.com>
912
913 * c-gimplify.c: Use hash_set instead of pointer_set.
914
3394c80c 9152014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
916
917 PR middle-end/61455
918 * array-notation-common.c (extract_array_notation_exprs): Handling
919 of DECL_EXPR added.
920
392dee1e 9212014-08-01 Jakub Jelinek <jakub@redhat.com>
922
923 * c-common.h (min_align_of_type): Removed prototype.
924 * c-common.c (min_align_of_type): Removed.
925 * c-ubsan.h (ubsan_maybe_instrument_reference,
926 ubsan_maybe_instrument_member_call): New prototypes.
927 * c-ubsan.c: Include stor-layout.h and builtins.h.
928 (ubsan_maybe_instrument_reference_or_call,
929 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
930 functions.
931
f22a2cb7 9322014-07-31 Marc Glisse <marc.glisse@inria.fr>
933
934 PR c++/60517
935 * c.opt (-Wreturn-local-addr): Move to common.opt.
936
87b0198f 9372014-07-30 Jason Merrill <jason@redhat.com>
938
939 PR c++/61659
940 PR c++/61687
941 Revert:
942 * c.opt (-fuse-all-virtuals): New.
943
74691f46 9442014-07-30 Tom Tromey <tromey@redhat.com>
945
946 PR c/59855
947 * c.opt (Wdesignated-init): New option.
948 * c-common.c (c_common_attribute_table): Add "designated_init".
949 (handle_designated_init): New function.
950
9140d56f 9512014-07-24 Marek Polacek <polacek@redhat.com>
952
953 PR c/57653
954 * c-opts.c (c_finish_options): If -imacros is in effect, return.
955
a09c5cc2 9562014-07-16 Dodji Seketeli <dodji@redhat.com>
957
958 PR preprocessor/60723 - missing system-ness marks for macro tokens
959 * c-ppoutput.c (struct print::prev_was_system_token): New data
960 member.
961 (init_pp_output): Initialize it.
962 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
963 (do_line_change): Return a flag saying if a line marker was
964 emitted or not.
965 (scan_translation_unit): Detect if the system-ness of the token we
966 are about to emit is different from the one of the previously
967 emitted token. If so, emit a line marker. Avoid emitting useless
968 adjacent line markers. Avoid emitting line markers for tokens
969 originating from the expansion of built-in macros.
970 (scan_translation_unit_directives_only): Adjust.
971
2b25b62f 9722014-07-15 Marek Polacek <polacek@redhat.com>
973
974 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
975 TYPE_MAX_VALUE is NULL.
976
305d96bc 9772014-07-14 Jakub Jelinek <jakub@redhat.com>
978
979 PR middle-end/61294
980 * c.opt (Wmemset-transposed-args): New warning.
981
8ea4660d 9822014-07-10 Jason Merrill <jason@redhat.com>
983
984 PR c++/61659
985 PR c++/61687
986 * c.opt (-fuse-all-virtuals): New.
987
cd480f3d 9882014-07-09 Richard Biener <rguenther@suse.de>
989
990 PR c-family/61741
991 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
992 using unsigned arithmetic if overflow does not wrap instead of
993 if overflow is undefined.
994
87d59e72 9952014-07-06 Marek Polacek <polacek@redhat.com>
996
997 PR c/6940
998 * c.opt (Wsizeof-array-argument): New option.
999
d69521d8 10002014-07-03 Jakub Jelinek <jakub@redhat.com>
1001
1002 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
1003 comments->count <= 1, as comments->entries might be NULL.
1004
1207866e 10052014-07-01 Marek Polacek <polacek@redhat.com>
1006
1007 * c.opt (Wint-conversion): New option.
1008
7a6bbb76 10092014-07-01 Marek Polacek <polacek@redhat.com>
1010
1011 PR c/58286
1012 * c.opt (Wincompatible-pointer-types): New option.
1013
9d4eeb52 10142014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1015
1016 PR c++/51400
1017 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1018 Do not discard TYPE_QUALS of type.
1019
4b53bc0f 10202014-06-26 Jason Merrill <jason@redhat.com>
1021
1022 * c-common.h (enum cxx_dialect): Add cxx1z.
1023 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1024 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1025
a8a8d4ea 10262014-06-26 Teresa Johnson <tejohnson@google.com>
1027
1028 * c-common.h (get_dump_info): Declare.
1029 * c-gimplify.c (c_genericize): Use saved dump files.
1030 * c-opts.c (c_common_parse_file): Begin and end dumps
1031 once around parsing invocation.
1032 (get_dump_info): New function.
1033
1f6be080 10342014-06-23 Marek Polacek <polacek@redhat.com>
1035 Andrew MacLeod <amacleod@redhat.com>
1036
1037 PR c/61553
1038 * c-common.c (get_atomic_generic_size): Don't segfault if the
1039 type doesn't have a size.
1040
5ef6b660 10412014-06-20 Marek Polacek <polacek@redhat.com>
1042
1043 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
1044 (ubsan_walk_array_refs_r): New function.
1045 (c_genericize): Instrument array bounds.
1046 * c-ubsan.c: Include "internal-fn.h".
1047 (ubsan_instrument_division): Mark instrumented arrays as having
1048 side effects. Adjust ubsan_type_descriptor call.
1049 (ubsan_instrument_shift): Likewise.
1050 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1051 (ubsan_instrument_bounds): New function.
1052 (ubsan_array_ref_instrumented_p): New function.
1053 (ubsan_maybe_instrument_array_ref): New function.
1054 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1055 (ubsan_array_ref_instrumented_p): Declare.
1056 (ubsan_maybe_instrument_array_ref): Declare.
1057
10582014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 1059
1060 PR lto/61123
1061 * c.opt (fshort-enums): Add to LTO.
1062 * c.opt (fshort-wchar): Likewise.
1063
78438f31 10642014-06-16 Marek Polacek <polacek@redhat.com>
1065
1066 PR c/60439
1067 * c.opt (Wswitch-bool): Add Var.
1068
5fddcf34 10692014-06-12 Jakub Jelinek <jakub@redhat.com>
1070
1071 PR middle-end/61486
1072 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1073 #pragma omp target teams or
1074 #pragma omp {,target }teams distribute simd.
1075
74b777e5 10762014-06-12 Jason Merrill <jason@redhat.com>
1077
1078 * c.opt (Wabi=, fabi-compat-version): New.
1079 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1080 (c_common_post_options): Handle flag_abi_compat_version default.
1081 Disallow -fabi-compat-version=1.
1082 * c-common.h (abi_version_crosses): New.
1083
738a6bda 10842014-06-11 Jan Hubicka <hubicka@ucw.cz>
1085
1f78217c 1086 * c-common.c (handle_section_attribute): Update handling for
738a6bda 1087 section names that are no longer trees.
1088
cf5f881f 10892014-06-10 Jakub Jelinek <jakub@redhat.com>
1090
1091 PR fortran/60928
1092 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1093 (omp_pragmas): ... back here.
1094
32dc1512 10952014-06-05 Marek Polacek <polacek@redhat.com>
1096
1097 PR c/49706
1098 * c-common.c (warn_logical_not_parentheses): New function.
1099 * c-common.h (warn_logical_not_parentheses): Declare.
1100 * c.opt (Wlogical-not-parentheses): New option.
1101
f61a9bc2 11022014-06-04 Marek Polacek <polacek@redhat.com>
1103
1104 PR c/30020
1105 * c-common.c (check_case_bounds): Add location parameter.
1106 Use it.
1107 (c_add_case_label): Pass loc to check_case_bounds.
1108
c69ec07d 11092014-06-03 Marek Polacek <polacek@redhat.com>
1110
1111 PR c/60439
1112 * c.opt (Wswitch-bool): New option.
1113
3c77ca67 11142014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1115
68a2c870 1116 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1117 Remove prototypes.
1118 (record_types_used_by_current_var_decl): Move prototype to where
1119 it belongs.
1120
3c77ca67 1121 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1122 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1123 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1124
3ab4693e 11252014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1126
1127 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1128 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1129 void_zero_node.
1130 * c-pretty-print.c (pp_c_void_constant): New function.
1131 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1132 (c_pretty_printer::expression): Handle VOID_CST.
1133 * cilk.c (extract_free_variables): Likewise.
1134 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1135 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1136
25a27413 11372014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1138
1139 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1140 * c-pragma.c (push_alignment): Adjust.
1141 (handle_pragma_push_options): Likewise.
1142
3e5a8b00 11432014-05-09 Marek Polacek <polacek@redhat.com>
1144
1145 PR c/50459
1146 * c-common.c (check_user_alignment): Return -1 if alignment is error
1147 node.
1148 (handle_aligned_attribute): Don't call default_conversion on
1149 FUNCTION_DECLs.
1150 (handle_vector_size_attribute): Likewise.
1151 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1152 (handle_sentinel_attribute): Call default_conversion and allow even
1153 integral types as an argument.
1154
c2c4ae8d 11552014-05-08 Marek Polacek <polacek@redhat.com>
1156
1157 PR c/61053
1158 * c-common.c (min_align_of_type): New function factored out from...
1159 (c_sizeof_or_alignof_type): ...here.
1160 * c-common.h (min_align_of_type): Declare.
1161
2026249a 11622014-05-08 Marek Polacek <polacek@redhat.com>
1163
1164 PR c/61077
1165 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1166 parameter type of main.
1167
33c8dcfe 11682014-05-07 DJ Delorie <dj@redhat.com>
1169
1170 * c-cppbuiltin.c (print_bits_of_hex): New.
1171 (builtin_define_type_minmax): Print values using hex so as not to
1172 require a pre-computed list of string values.
1173
960d5a55 11742014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1175 Mike Stump <mikestump@comcast.net>
1176 Richard Sandiford <rdsandiford@googlemail.com>
1177
1178 * c-ada-spec.c: Include wide-int.h.
1179 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1180 (dump_generic_ada_node): Use wide-int interfaces.
1181 * c-common.c: Include wide-int-print.h.
1182 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1183 (pointer_int_sum): Use wide-int interfaces.
1184 (c_common_nodes_and_builtins): Use make_int_cst.
1185 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1186 (handle_alloc_size_attribute): Use wide-int interfaces.
1187 (get_nonnull_operand): Likewise.
1188 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1189 * c-lex.c: Include wide-int.h.
1190 (narrowest_unsigned_type): Take a widest_int rather than two
1191 HOST_WIDE_INTs.
1192 (narrowest_signed_type): Likewise.
1193 (interpret_integer): Update accordingly. Use wide-int interfaces.
1194 (lex_charconst): Use wide-int interfaces.
1195 * c-pretty-print.c: Include wide-int.h.
1196 (pp_c_integer_constant): Use wide-int interfaces.
1197 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1198 INT_CST_LT_UNSIGNED.
1199
bbb88b31 12002014-05-06 Richard Biener <rguenther@suse.de>
1201
1202 * c-opts.c (c_common_post_options): For -freestanding,
1203 -fno-hosted and -fno-builtin disable pattern recognition
1204 if not enabled explicitely.
1205
022d4718 12062014-05-02 Marek Polacek <polacek@redhat.com>
1207
1208 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1209
e4ab2ef3 12102014-05-01 Marek Polacek <polacek@redhat.com>
1211
1212 PR c/43245
1213 * c.opt (Wdiscarded-qualifiers): Add.
1214
52cc0072 12152014-04-30 Marek Polacek <polacek@redhat.com>
1216
1217 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1218 INT_MIN / -1 sanitization only for integer types.
1219
4a026b48 12202014-04-25 Marek Polacek <polacek@redhat.com>
1221
1222 PR c/18079
1223 * c-common.c (handle_noinline_attribute): Warn if the attribute
1224 conflicts with always_inline attribute.
1225 (handle_always_inline_attribute): Warn if the attribute conflicts
1226 with noinline attribute.
1227
90e645fa 12282014-04-25 Marek Polacek <polacek@redhat.com>
1229
1230 PR c/60156
1231 * c-common.c (check_main_parameter_types): Warn about variadic main.
1232
db103ea4 12332014-04-24 Mike Stump <mikestump@comcast.net>
1234
1235 * c.opt (Wshadow-ivar): Default to on.
1236
06511efd 12372014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1238
1239 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1240
cdf34fca 12412014-04-23 Marek Polacek <polacek@redhat.com>
1242
1243 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1244
7311d7c1 12452014-04-22 Jakub Jelinek <jakub@redhat.com>
1246
1247 PR sanitizer/60275
1248 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1249 if flag_sanitize_undefined_trap_on_error.
1250 (ubsan_instrument_division, ubsan_instrument_shift,
1251 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1252 if !flag_sanitize_recover.
1253
c1917557 12542014-04-22 Marc Glisse <marc.glisse@inria.fr>
1255
1256 PR libstdc++/43622
1257 * c-common.c (registered_builtin_types): Make non-static.
1258 * c-common.h (registered_builtin_types): Declare.
1259
b2ca6510 12602014-04-14 Richard Biener <rguenther@suse.de>
1261 Marc Glisse <marc.glisse@inria.fr>
1262
1263 PR c/60819
1264 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1265 apply may-alias the scalar pointer type when applicable.
1266
855372a3 12672014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1268
1269 PR middle-end/60467
1270 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1271 as possible argument for Cilk_spawn.
1272
4012a986 12732014-04-11 Tobias Burnus <burnus@net-b.de>
1274
1275 PR c/60194
1276 * c.opt (Wformat-signedness): Add
1277 * c-format.c(check_format_types): Use it.
1278
0d284870 12792014-04-11 Jason Merrill <jason@redhat.com>
1280
1281 PR c++/57926
1282 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
1283 default_conversion for an array argument.
1284
a34c1231 12852014-04-08 Marek Polacek <polacek@redhat.com>
1286
1287 PR sanitizer/60745
1288 * c-ubsan.c: Include asan.h.
1289 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
1290
a35a8e18 12912014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1292
1293 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
1294
b23e42b6 12952014-04-02 Marek Polacek <polacek@redhat.com>
1296
1297 * c-common.h (c_expand_expr): Remove declaration.
1298
5a672e62 12992014-03-28 Jakub Jelinek <jakub@redhat.com>
1300
1301 PR c++/60689
1302 * c-common.c (add_atomic_size_parameter): When creating new
1303 params vector, push the size argument first.
1304
d4d068c0 13052014-03-26 Jakub Jelinek <jakub@redhat.com>
1306
1307 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1308 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1309 ubsan_create_data callers.
1310
446bdf5f 13112014-03-22 Jakub Jelinek <jakub@redhat.com>
1312
1313 PR debug/60603
1314 * c-opts.c (c_finish_options): Restore cb_file_change call to
1315 <built-in>.
1316
8895f0a3 13172014-03-13 Jakub Jelinek <jakub@redhat.com>
1318
1319 PR middle-end/36282
1320 * c-pragma.c (apply_pragma_weak): Only look at
1321 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1322 DECL_ASSEMBLER_NAME_SET_P (decl).
1323 (maybe_apply_pending_pragma_weaks): Exit early if
1324 vec_safe_is_empty (pending_weaks) rather than only when
1325 !pending_weaks.
1326 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1327 set assembler name back to NULL afterwards.
1328
7a5da2cd 13292014-03-11 Jason Merrill <jason@redhat.com>
1330
1331 * c.opt: Add -std=gnu++14.
1332
95093889 13332014-03-11 Ian Bolton <ian.bolton@arm.com>
1334
1335 * c-opts.c (c_common_post_options): Don't override
1336 -ffp-contract=fast if unsafe-math-optimizations is on.
1337
c9a24b37 13382014-03-08 Paulo Matos <paulo@matos-sorge.com>
1339
1340 * c.opt: Enable LTO FE for fshort-double.
1341
3f6dba6e 13422014-03-07 Jason Merrill <jason@redhat.com>
1343
1344 * c.opt: Add -std=c++14.
1345
3bfdc94f 13462014-03-06 Marek Polacek <polacek@redhat.com>
1347
1348 PR c/60197
1349 * cilk.c (contains_cilk_spawn_stmt): New function.
1350 (contains_cilk_spawn_stmt_walker): Likewise.
1351 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1352 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1353
8b3a6a4c 13542014-03-03 Jakub Jelinek <jakub@redhat.com>
1355
1356 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1357 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1358 even when flag_preprocess_only.
1359
734ec290 13602014-02-26 Jason Merrill <jason@redhat.com>
1361
1362 PR c++/59231
1363 PR c++/11586
1364 * c-common.c (shorten_compare): Don't check
1365 c_inhibit_evaluation_warnings.
1366
81aec8b8 13672014-02-19 Jakub Jelinek <jakub@redhat.com>
1368
d1081017 1369 PR c/37743
1370 * c-common.c (c_common_nodes_and_builtins): When initializing
1371 c_uint{16,32,64}_type_node, also set corresponding
1372 uint{16,32,64}_type_node to the same value.
1373
81aec8b8 1374 PR c++/60267
1375 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1376 for PRAGMA_IVDEP if flag_preprocess_only.
1377
312243bb 13782014-02-12 Jakub Jelinek <jakub@redhat.com>
1379
1380 PR c/60101
1381 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1382 if false, add ADD itself, rather than vice versa.
1383 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1384 copy. For SAVE_EXPR, only call merge_tlist once.
1385
237e78b1 13862014-02-08 Jakub Jelinek <jakub@redhat.com>
1387
1388 PR middle-end/60092
1389 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1390 and tree_to_uhwi.
1391 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1392 functions.
1393 (c_common_attribute_table): Add alloc_align and assume_aligned
1394 attributes.
1395
76fdceeb 13962014-02-06 Marek Polacek <polacek@redhat.com>
1397
1398 PR c/60087
1399 * c-common.c (warn_for_sign_compare): Call warning_at with location
1400 instead of warning.
1401
4a4dea42 14022014-02-05 Marek Polacek <polacek@redhat.com>
1403
1404 PR c/53123
1405 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1406 statement.
1407
ec704957 14082014-02-04 Marek Polacek <polacek@redhat.com>
1409
1410 PR c/60036
1411 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1412 SAVE_EXPR.
1413
caf62483 14142014-02-03 Marc Glisse <marc.glisse@inria.fr>
1415
1416 PR c++/53017
1417 PR c++/59211
1418 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1419 handle_vector_size_attribute, handle_nonnull_attribute): Call
1420 default_conversion on the attribute argument.
1421 (handle_nonnull_attribute): Increment the argument number.
1422
ec761d5a 14232014-01-31 Marek Polacek <polacek@redhat.com>
1424
1425 PR c/59963
1426 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1427 build_function_call_vec.
1428 (resolve_overloaded_builtin): Likewise.
1429 * c-common.h (build_function_call_vec): Adjust declaration.
1430
22a75734 14312014-01-30 Marek Polacek <polacek@redhat.com>
1432
1433 PR c/59940
1434 * c-common.h (unsafe_conversion_p): Adjust declaration.
1435 (warnings_for_convert_and_check): Likewise.
1436 (convert_and_check): Likewise.
1437 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1438 expansion_point_location_if_in_system_header on it.
1439 (warnings_for_convert_and_check): Add location parameter. Call
1440 expansion_point_location_if_in_system_header on it. Use it.
1441 (convert_and_check): Add location parameter. Use it.
1442 (conversion_warning): Likewise.
1443 (c_add_case_label): Adjust convert_and_check calls.
1444 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1445
a89e6c15 14462014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1447
1448 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1449 flag_cilkplus.
1450 * c-pragma.c (init_pragma): Likewise.
1451 * c.opt: Likewise.
1452
2623625f 14532014-01-23 Marek Polacek <polacek@redhat.com>
1454
1455 PR c/59846
1456 * c-common.c (shorten_compare): Add location_t parameter.
1457 * c-common.h (shorten_binary_op): Adjust declaration.
1458
46da3601 14592014-01-23 Marek Polacek <polacek@redhat.com>
1460
1461 PR c/58346
1462 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1463 * c-common.h: Declare it.
1464
c9743c6a 14652014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1466
1467 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1468 * c-ada-spec.c (dump_ads): Likewise.
1469 (cpp_check): Likewise.
1470 (dump_ada_specs): Likewise.
1471
14722014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 1473
1474 PR c++/49718
1475 * c-common.c (handle_no_instrument_function_attribute): Allow
1476 no_instrument_function attribute in class member
1477 definition/declaration.
1478
1248c663 14792014-01-15 Jakub Jelinek <jakub@redhat.com>
1480
1481 PR c/58943
1482 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1483 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1484 being COMPOUND_EXPR.
1485 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1486 operand a SAVE_EXPR and second MODIFY_EXPR.
1487
6e5c480b 14882014-01-09 Jakub Jelinek <jakub@redhat.com>
1489
1490 PR target/58115
1491 * c-pch.c (c_common_write_pch): Call
1492 prepare_target_option_nodes_for_pch.
1493
3aea1f79 14942014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1495
1496 Update copyright years
1497
e4f22041 14982014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1499
1500 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1501 the copyright notice.
1502
7fb0fe24 15032013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1504
1505 * c-ada-spec.c (print_constructor): New function.
1506 (print_destructor): Retrieve the origin of the destructor.
1507 (print_ada_declaration): Revamp handling of constructors/destructors.
1508
468088ac 15092013-12-23 Stuart Hastings <stuart@apple.com>
1510 Bill Maddox <maddox@google.com>
1511 Jason Merrill <jason@redhat.com>
1512
1513 * c.opt: Add -fdeclone-ctor-dtor.
1514 * c-opts.c (c_common_post_options): Default to on iff -Os.
1515
74acc703 15162013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1517
1518 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1519 attribute.
1520 * c-pragma.h (enum pragma_cilk_clause): Remove.
1521 (enum pragma_omp_clause): Added the following fields:
1522 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1523 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1524 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1525 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1526 PRAGMA_CILK_CLAUSE_UNIFORM.
1527
1528
433e804e 15292013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1530
1531 * cilk.c (cilk_outline): Made this function non-static.
1532 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1533 (create_cilk_wrapper): Added a new parameter: a function pointer.
1534 (c_install_body_w_frame_cleanup): Remove
1535 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1536 * c-common.h (cilk_outline): New prototype.
1537 (gimplify_cilk_spawn): Removed two parameters.
1538 (cilk_install_body_with_frame_cleanup): New prototype.
1539 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1540 CILK_SPAWN_STMT case.
1541
5bcc7e60 15422013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1543
e66325ea 1544 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1545
5bcc7e60 1546 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1547 (int_array_type_node): Remove.
1548 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1549
0b26ec77 15502013-12-05 Marek Polacek <polacek@redhat.com>
1551
1552 PR c/52023
1553 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1554 [ADJUST_FIELD_ALIGN].
1555
a179a7dc 15562013-12-04 Joseph Myers <joseph@codesourcery.com>
1557
1558 PR c/52023
1559 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1560 and check field alignment if set.
1561 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1562 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1563
137559b2 15642013-12-04 Jakub Jelinek <jakub@redhat.com>
1565 Marek Polacek <polacek@redhat.com>
1566
1567 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1568 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1569
648fd348 15702013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1571
1572 PR c/59309
1573 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1574 arguments.
1575
253e1cae 15762013-11-29 Jakub Jelinek <jakub@redhat.com>
1577
1578 PR c/59280
1579 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1580 goto invalid. If it is error_mark_node, don't issue further
1581 diagnostics.
1582
3e398f5b 15832013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1584
1585 * c.opt (Wopenmp-simd): New.
1586
020bc656 15872013-11-22 Jakub Jelinek <jakub@redhat.com>
1588
1589 * c-ubsan.h (ubsan_instrument_return): New prototype.
1590 * c-ubsan.c (ubsan_instrument_return): New function.
1591
bc61cadb 15922013-11-22 Andrew MacLeod <amacleod@redhat.com>
1593
1594 * c-common.c: Add required include files from gimple.h.
1595 * c-gimplify.c: Likewise
1596 * cilk.c: Likewise
1597
3df42822 15982013-11-22 David Malcolm <dmalcolm@redhat.com>
1599
1600 * c-common.c (unsafe_conversion_p): Remove use of
1601 EXPR_LOC_OR_HERE macro.
1602 (conversion_warning): Likewise.
1603 (warnings_for_convert_and_check): Likewise.
1604 (warn_for_collisions_1): Likewise.
1605 (shorten_compare): Likewise, and remove use of in_system_header
1606 macro, using the location from the former.
1607 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1608 (cb_def_pragma): Remove use of in_system_header macro.
1609 (lex_string): Likewise.
1610 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1611
8c53c46c 16122013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1613 Mike Stump <mikestump@comcast.net>
1614 Richard Sandiford <rdsandiford@googlemail.com>
1615
1616 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1617 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1618 tree_fits_shwi_p or tree_fits_uhwi_p.
1619 (dump_generic_ada_node): Likewise.
1620 * c-format.c (check_format_arg): Likewise.
1621 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1622
5200ef07 16232013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1624
1625 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1626
ca9d7d74 16272013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1628
1629 PR c/53001
1630 * c-common.c (unsafe_conversion_p): Make this function
1631 return an enumeration with more detail.
1632 (conversion_warning): Use the new return type of
1633 unsafe_conversion_p to separately warn either about conversions
1634 that lower floating point number precision or about the other
1635 kinds of conversions.
1636 * c-common.h (enum conversion_safety): New enumeration.
1637 (unsafe_conversion_p): switching return type to
1638 conversion_safety enumeration.
1639 * c.opt: Adding new warning -Wfloat-conversion and
1640 enabling it with -Wconversion.
1641
0391a567 16422013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1643
1644 * c-opts.c: Include plugin.h.
1645 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1646
19b928d9 16472013-11-19 Marek Polacek <polacek@redhat.com>
1648
1649 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1650 call.
1651 (ubsan_instrument_shift): Likewise.
1652 (ubsan_instrument_vla): Likewise.
1653
aa59f000 16542013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1655
1656 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1657 cast to unsigned type.
1658
08f817b3 16592013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1660
1661 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1662 tree_low_cst.
1663 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1664 rather than tree_low_cst.
1665
6a0712d4 16662013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1667
1668 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1669 tree_to_uhwi throughout.
1670
fcb97e84 16712013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1672
1673 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1674 tree_low_cst (..., 0) with tree_to_shwi throughout.
1675
cd4547bf 16762013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1677
1678 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1679 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1680
35ec552a 16812013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1682
1683 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1684 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1685
f2697631 16862013-11-15 Aldy Hernandez <aldyh@redhat.com>
1687
1688 * c-cilkplus.c: New file.
1689 * c-common.c (readonly_error): Add location argument.
1690 * c-common.h (readonly_error): Same.
1691 (c_finish_cilk_clauses): Protoize.
1692 (c_check_cilk_loop): Same.
1693 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1694 Do not fail on error_mark_node.
1695 Abstract increment canonicalization to here...
1696 (c_omp_for_incr_canonicalize_ptr): New.
1697 c-pragma.c (init_pragma): Register "simd" pragma.
1698 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1699 (enum pragma_cilk_clause): New.
1700
0aa8c34e 17012013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1702
1703 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1704 wchar_type and host_integerp checks.
1705
e795d6e1 17062013-11-14 Andrew MacLeod <amacleod@redhat.com>
1707
1708 * c-common.c: Likewise.
1709 * c-gimplify.c: Likewise.
1710 * cilk.c: Likewise.
1711
9ed99284 17122013-11-14 Diego Novillo <dnovillo@google.com>
1713
1714 * c-common.c: Include fold-const.h.
1715 Include stor-layout.h.
1716 Include calls.h.
1717 Include stringpool.h.
1718 Include attribs.h.
1719 Include varasm.h.
1720 Include trans-mem.h.
1721 * c-cppbuiltin.c: Include stor-layout.h.
1722 Include stringpool.h.
1723 * c-format.c: Include stringpool.h.
1724 * c-lex.c: Include stringpool.h.
1725 Include stor-layout.h.
1726 * c-pragma.c: Include stringpool.h.
1727 Include attribs.h.
1728 Include varasm.h.
1729 Include gcc-symtab.h.
1730 * c-pretty-print.c: Include stor-layout.h.
1731 Include attribs.h.
1732 * cilk.c: Include stringpool.h.
1733 Include calls.h.
1734
4fba5eb9 17352013-11-13 Joseph Myers <joseph@codesourcery.com>
1736
1737 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1738 * c-common.c (c_common_reswords): Add __auto_type.
1739 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1740
a8783bee 17412013-11-12 Andrew MacLeod <amacleod@redhat.com>
1742
e795d6e1 1743 * c-common.c: Include gimplify.h.
1744 * c-gimplify.c: Likewise.
1745 * cilk.c: Likewise.
1746 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1747 * c-ubsan.c: Don't include gimple.h.
a8783bee 1748
d184e0c0 17492013-11-12 Joseph Myers <joseph@codesourcery.com>
1750
1751 * c-common.c (c_common_reswords): Add _Thread_local.
1752
a056826c 17532013-11-09 Joseph Myers <joseph@codesourcery.com>
1754
1755 * c-common.c (atomic_size_supported_p): New function.
1756 (resolve_overloaded_atomic_exchange)
1757 (resolve_overloaded_atomic_compare_exchange)
1758 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1759 Use it instead of comparing size with a local list of sizes.
1760
b560fabd 17612013-11-07 Andrew MacLeod <amacleod@redhat.com>
1762 Joseph Myers <joseph@codesourcery.com>
1763
1764 * c-common.h (enum rid): Add RID_ATOMIC.
1765 * c-common.c (c_common_reswords): Add _Atomic.
1766 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1767 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1768 * c-format.c (check_format_types): Check for extra _Atomic
1769 qualifiers in format argument.
1770 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1771 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1772
5b1a0622 17732013-11-06 Tobias Burnus <burnus@net-b.de>
1774
1775 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1776
4f8f4cb8 17772013-11-06 Joseph Myers <joseph@codesourcery.com>
1778
1779 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1780 standards modes.
1781 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1782 to mean lack of IEEE 754 support.
1783
9148bda3 17842013-11-05 Tobias Burnus <burnus@net-b.de>
1785
1786 * c.opt (-Wdate-time): New option
1787 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1788
08c5f4d5 17892013-11-05 Joseph Myers <joseph@codesourcery.com>
1790
1791 * c-cppbuiltin.c (cpp_iec_559_value): Test
1792 flag_excess_precision_cmdline not flag_excess_precision.
1793
c630ef93 17942013-11-05 Tobias Burnus <burnus@net-b.de>
1795
1796 * c.opt (fopenmp-simd): New option.
1797 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1798 (omp_pragmas): ... this new struct.
1799 (c_pp_lookup_pragma): Also walk omp_pragmas.
1800 (init_pragma): Init pragmas for -fopenmp-simd.
1801
7354a89b 18022013-11-04 Marek Polacek <polacek@redhat.com>
1803
1804 PR c++/58979
1805 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1806
4c866b9b 18072013-11-04 Joseph Myers <joseph@codesourcery.com>
1808
1809 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1810 New functions.
1811 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1812
e2a6a333 18132013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1814
1815 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1816 (dump_ada_specs): Adjust prototype of second callback.
1817 * c-ada-spec.c (cpp_check): New global variable.
1818 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1819 (print_generic_ada_decl): Likewise.
1820 (has_static_fields): Change return type to bool and add guard.
1821 (has_nontrivial_methods): New predicate.
1822 (is_tagged_type): Change return type to bool.
1823 (separate_class_package): Call has_nontrivial_methods.
1824 (pp_ada_tree_identifier): Minor tweaks.
1825 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1826 (dump_ada_array_domains): Likewise.
1827 (dump_ada_array_type): Likewise.
1828 (dump_template_types): Remove cpp_check parameter and do not pass it to
1829 dump_generic_ada_node.
1830 (dump_ada_template): Likewise.
1831 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1832 recursively.
1833 (print_ada_methods): Change return type to integer. Remove cpp_check
1834 parameter and do not pass it down.
1835 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1836 dump_generic_ada_node.
1837 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1838 accessing methods.
1839 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1840 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1841 value of print_ada_methods.
1842 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1843 Set cpp_check to it before invoking dump_ada_nodes.
1844 (dump_ada_specs): Likewise.
1845
2c4c3477 18462013-11-03 Marek Polacek <polacek@redhat.com>
1847
1848 * c-ubsan.c: Don't include hash-table.h.
1849 (ubsan_instrument_vla): New function.
1850 * c-ubsan.h: Declare it.
1851
452659af 18522013-10-31 David Malcolm <dmalcolm@redhat.com>
1853
1854 Automated part of renaming of symtab_node_base to symtab_node.
1855
1856 Patch autogenerated by rename_symtab.py from
1857 https://github.com/davidmalcolm/gcc-refactoring-scripts
1858 revision 58bb219cc090b2f4516a9297d868c245495ee622
1859
1860 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1861 symtab_node_base to symtab_node.
1862
4d6f7dd4 18632013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1864
1865 Implement C++14 digit separators.
1866 * c-lex.c (interpret_float): Remove digit separators from scratch string
1867 before building real literal.
1868
06cfe805 18692013-10-30 Jakub Jelinek <jakub@redhat.com>
1870
1871 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1872
d037099f 18732013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1874
1875 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1876 fields.
1877 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1878 enabled.
1879 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1880 (insert_cilk_frame): New prototype.
1881 (cilk_init_builtins): Likewise.
1882 (gimplify_cilk_spawn): Likewise.
1883 (c_cilk_install_body_w_frame_cleanup): Likewise.
1884 (cilk_detect_spawn_and_unwrap): Likewise.
1885 (cilk_set_spawn_marker): Likewise.
1886 (build_cilk_sync): Likewise.
1887 (build_cilk_spawn): Likewise.
1888 * cilk.c: New file.
1889
02774f2d 18902013-10-29 David Malcolm <dmalcolm@redhat.com>
1891
1892 Patch autogenerated by refactor_symtab.py from
1893 https://github.com/davidmalcolm/gcc-refactoring-scripts
1894 revision 58bb219cc090b2f4516a9297d868c245495ee622
1895
1896 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1897 to a true class hierarchy.
1898 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1899
31fe10fd 19002013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1901
1902 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1903
b1c06ff9 19042013-10-26 Jeff Law <law@redhat.com>
1905
1f78217c 1906 * c-common.c (c_define_builtins): Remove mudflap support.
1907 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 1908
48a972c8 19092013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1910
1911 PR other/33426
1912 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1913 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1914
546a04b1 19152013-10-23 Jason Merrill <jason@redhat.com>
1916
1917 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1918
bc7bff74 19192013-10-11 Jakub Jelinek <jakub@redhat.com>
1920
d62c713e 1921 * c-common.h (omp_clause_mask::operator !=): New method.
1922 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1923 instead of if (mask & something) tests everywhere.
1924
bc7bff74 1925 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1926 201307 instead of 201107.
1927 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1928 (c_common_attribute_table): Add "omp declare target" and
1929 "omp declare simd" attributes.
1930 (handle_omp_declare_target_attribute,
1931 handle_omp_declare_simd_attribute): New functions.
1932 * c-omp.c: Include c-pragma.h.
1933 (c_finish_omp_taskgroup): New function.
1934 (c_finish_omp_atomic): Add swapped argument, if true,
1935 build the operation first with rhs, lhs arguments and use NOP_EXPR
1936 build_modify_expr.
1937 (c_finish_omp_for): Add code argument, pass it down to make_code.
1938 (c_omp_split_clauses): New function.
1939 (c_split_parallel_clauses): Removed.
1940 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1941 c_omp_declare_simd_clauses_to_decls): New functions.
1942 * c-common.h (omp_clause_mask): New type.
1943 (OMP_CLAUSE_MASK_1): Define.
1944 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1945 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1946 omp_clause_mask::operator |, omp_clause_mask::operator &,
1947 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1948 omp_clause_mask::operator ==): New methods.
1949 (enum c_omp_clause_split): New.
1950 (c_finish_omp_taskgroup): New prototype.
1951 (c_finish_omp_atomic): Add swapped argument.
1952 (c_finish_omp_for): Add code argument.
1953 (c_omp_split_clauses): New prototype.
1954 (c_split_parallel_clauses): Removed.
1955 (c_omp_declare_simd_clauses_to_numbers,
1956 c_omp_declare_simd_clauses_to_decls): New prototypes.
1957 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1958 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1959 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1960 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1961 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1962 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1963 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1964 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1965 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1966 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1967 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1968 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1969 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1970 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1971 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1972 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1973 PRAGMA_OMP_CLAUSE_UNIFORM.
1974
d7dcba40 19752013-10-09 Marc Glisse <marc.glisse@inria.fr>
1976
1977 PR tree-optimization/20318
1978 * c-common.c (handle_returns_nonnull_attribute): New function.
1979 (c_common_attribute_table): Add returns_nonnull.
1980
0b7282f1 19812013-10-03 Marc Glisse <marc.glisse@inria.fr>
1982
1983 PR c++/19476
1984 * c.opt (fcheck-new): Move to common.opt.
1985
51f553af 19862013-09-25 Marek Polacek <polacek@redhat.com>
1987 Jakub Jelinek <jakub@redhat.com>
1988
1989 PR sanitizer/58413
1990 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1991 an expression if we can prove it is correct.
1992 (ubsan_instrument_division): Likewise. Remove unnecessary
1993 check.
1994
05f893e1 19952013-09-18 Marek Polacek <polacek@redhat.com>
1996
1997 PR sanitizer/58411
1998 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1999 Declare it.
2000 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
2001
236ce1d1 20022013-09-14 Iain Sandoe <iain@codesourcery.com>
2003
2004 PR target/48094
2005 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
2006 fobjc-gc, freplace-objc-classes): Accept for LTO.
2007
f9f68d35 20082013-09-13 Jacek Caban <jacek@codeweavers.com>
2009
2010 * c-target.def: New hook
2011
ba2f764e 20122013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2013
2014 PR c++/43452
2015 * c.opt (Wdelete-incomplete): Add.
2016
73437615 20172013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2018
2019 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2020 (vector_types_compatible_elements_p): New function.
2021 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2022 declaration.
2023 (vector_types_compatible_elements_p): Declare.
2024
95af4c75 20252013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2026
2027 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
2028 a virtual member function.
2029 (pp_simple_type_specifier): Remove.
2030 (pp_c_type_specifier): Likewise.
2031 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2032 Rename from pp_c_type_specifier. Adjust.
2033 (c_pretty_printer::c_pretty_printer): Do not assign to
2034 simple_type_specifier.
2035
eaab24b9 20362013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2037
2038 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
2039 member function.
2040 (c_pretty_printer::storage_class_specifier): Likewise.
2041 (c_pretty_printer::initializer): Likewise.
2042 (pp_declaration): Remove.
2043 (pp_declaration_specifiers): Likewise.
2044 (pp_abstract_declarator): Likewise.
2045 (pp_declarator): Likewise.
2046 (pp_type_id): Likewise.
2047 (pp_statement): Likewise.
2048 (pp_constant): Likewise.
2049 (pp_id_expression): Likewise.
2050 (pp_primary_expression): Likewise.
2051 (pp_unary_expression): Likewise.
2052 (pp_multiplicative_expression): Likewise.
2053 (pp_conditional_expression): Likewise.
2054 (pp_assignment_expression): Likewise.
2055 (pp_expression): Likewise.
2056 (pp_c_type_id): Likewise.
2057 (pp_c_storage_class_specifier): Likewise.
2058 * c-pretty-print.c (pp_c_type_cast): Tidy.
2059 (pp_c_pointer): Likewise.
2060 (pp_c_type_specifier): Likewise.
2061 (pp_c_parameter_type_list): Likewise.
2062 (pp_c_function_definition): Likewise.
2063 (pp_c_init_declarator): Likewise.
2064 (pp_c_initializer_list): Likewise.
2065 (pp_c_constructor_elts): Likewise.
2066 (c_pretty_printer::direct_abstract_declarator): Likewise.
2067 (c_pretty_printer::declaration_specifiers): Likewise.
2068 (c_pretty_printer::primary_expression): Likewise.
2069 (c_pretty_printer::postfix_expression): Likewise.
2070 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2071 (c_pretty_printer::storage_class_specifier): Rename from
2072 pp_c_storage_class_specifier.
2073 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2074 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2075 storage_class_specifier, initializer, offset_list, flags.
2076
9e46467d 20772013-08-30 Marek Polacek <polacek@redhat.com>
2078
2079 * c-ubsan.c: New file.
2080 * c-ubsan.h: New file.
2081
36a8d9b9 20822013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2083
2084 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2085 member function.
2086 (c_pretty_printer::declaration_specifiers): Likewise.
2087 (c_pretty_printer::declarator): Likewise.
2088 (c_pretty_printer::abstract_declarator): Likewise.
2089 (c_pretty_printer::direct_abstract_declarator): Likewise.
2090 (c_pretty_printer::direct_declarator): Likewise.
2091 (c_pretty_printer::function_specifier): Likewise.
2092 (pp_declaration): Adjust.
2093 (pp_declaration_specifiers): Likewise.
2094 (pp_abstract_declarator): Likewise.
2095 (pp_direct_declarator): Likewise.
2096 (pp_function_specifier): Likewise.
2097 (pp_direct_abstract_declarator): Remove as unused.
2098 (pp_c_declaration): Remove.
2099 (pp_c_declaration_specifiers): Likewise.
2100 (pp_c_declarator): Likewise.
2101 (pp_c_direct_declarator): Likewise.
2102 (pp_c_function_specifier): Likewise.
2103 (pp_c_direct_abstract_declarator): Likewise.
2104 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2105 from pp_c_abstract_declarator. Adjust.
2106 (c_pretty_printer::direct_abstract_declarator): Rename from
2107 pp_c_direct_abstract_declarator. Adjust.
2108 (c_pretty_printer::function_specifier): Rename from
2109 pp_c_function_specifier. Adjust.
2110 (c_pretty_printer::declaration_specifiers): Rename from
2111 pp_c_declaration_specifiers. Adjust.
2112 (c_pretty_printer::direct_declarator): Rename from
2113 pp_c_direct_declarator. Adjust.
2114 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2115 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2116 (c_pretty_printer::c_pretty_printer): Do not assign to
2117 declaration, declaration_specifiers, declarator,
2118 direct_declarator, direct_abstract_declarator, function_specifier.
2119
30635c2e 21202013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2121
2122 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2123 virtual member function.
2124 (c_pretty_printer::multiplicative_expression): Likewise.
2125 (c_pretty_printer::conditional_expression): Likewise.
2126 (c_pretty_printer::assignment_expression): Likewise.
2127 (c_pretty_printer::expression): Likewise.
2128 (pp_unary_expression): Adjust.
2129 (pp_multiplicative_expression): Likewise.
2130 (pp_assignment_expression): Likewise.
2131 (pp_conditional_expression): Likewise.
2132 (pp_expression): Likewise.
2133 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2134 from pp_c_unary_expression. Adjust.
2135 (c_pretty_printer::multiplicative_expression): Rename from
2136 pp_c_multiplicative_expression. Adjust.
2137 (c_pretty_printer::conditional_expression): Rename from
2138 pp_c_conditional_expression. Adjust.
2139 (c_pretty_printer::assignment_expression): Rename from
2140 pp_c_assignment_expression. Adjust.
2141 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2142 (c_pretty_printer::c_pretty_printer): Do not assign to
2143 unary_expression, multiplicative_expression,
2144 conditional_expression, expression.
2145
027d08ed 21462013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2147
2148 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2149 virtual member function.
2150 (pp_postfix_expression): Adjust.
2151 (pp_c_postfix_expression): Remove.
2152 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2153 from pp_c_postfix_expression. Adjust.
2154 (c_pretty_printer::c_pretty_printer): Do not assign to
2155 postfix_expression.
2156
f873303a 21572013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2158
2159 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2160 virtua member function.
2161 (pp_primary_expression): Adjust.
2162 (pp_c_primary_expression): Remove.
2163 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2164 from pp_c_primary_expression. Adjust.
2165 (pp_c_initializer_list): Use pp_primary_expression.
2166 (c_pretty_printer::c_pretty_printer): Do not assign to
2167 primary_expression.
2168
08e3e481 21692013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2170
2171 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2172 * c-pretty-print.c (M_): Remove.
2173 (c_pretty_printer::translate_string): Define.
2174 (pp_c_type_specifier): Use it.
2175 (pp_c_primary_expression): Likewise.
2176 (pp_c_expression): Likewise.
2177
1fc4a87f 21782013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2179
2180 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2181 virtual function.
2182 (pp_c_id_expression): Remove.
2183 (pp_id_expression): Adjust.
2184 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2185 pp_c_id_expression. Adjust.
2186 (pp_c_postfix_expression): Use pp_id_expression.
2187 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2188
a6cb161b 21892013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2190
2191 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2192 member function.
2193 (pp_constant): Adjust.
2194 (pp_c_constant): Remove.
2195 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2196 pp_c_constant. Adjust.
2197 (pp_c_constant)
2198 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2199 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2200
eed6bc21 22012013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2202
2203 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2204 (c_pretty_printer::c_pretty_printer): Declare.
2205 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2206 c_pretty_printer_init. Adjust.
2207 (print_c_tree): Do not call c_pretty_printer_init.
2208 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2209
df558d2e 22102013-08-09 Arnaud Charlet <charlet@adacore.com>
2211
2212 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2213
42f9a786 22142013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2215
2216 PR c++/58080
2217 * c-common.c (pointer_int_sum): Add bool parameter.
2218 * c-common.h (pointer_int_sum): Adjust declaration.
2219
f874ddad 22202013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2221
2222 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2223 c_pretty_printer variable.
2224
a94db6b0 22252013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2226
2227 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2228 (pp_base): Remove.
2229 (pp_c_base): Likewise. Adjust users.
2230 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2231 (pp_c_whitespace): Do not call pp_base.
2232 (pp_c_left_paren): Likewise.
2233 (pp_c_right_paren): Likewise.
2234 (pp_c_left_brace): Likewise.
2235 (pp_c_right_brace): Likewise.
2236 (pp_c_left_bracket): Likewise.
2237 (pp_c_right_bracket): Likewise.
2238 (pp_c_dot): Likewise.
2239 (pp_c_ampersand): Likewise.
2240 (pp_c_star): Likewise.
2241 (pp_c_arrow): Likewise.
2242 (pp_c_semicolon): Likewise.
2243 (pp_c_complement): Likewise.
2244 (pp_c_exclamation): Likewise.
2245 (pp_c_direct_declarator): Likewise.
2246 (pp_c_ws_string): Likewise.
2247 (pp_c_identifier): Likewise.
2248 (pp_c_statement): Likewise.
2249 (print_c_tree): Likewise.
2250
1898176c 22512013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2252
2253 PR c++/58072
2254 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2255 provide useful error strings.
2256
70d60d1d 22572013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2258
2259 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2260 printer functions instead of pp_string or operators and punctuators.
2261 (dump_generic_ada_node): Likewise.
2262 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2263 (pp_c_relational_expression): Likewise.
2264 (pp_c_logical_or_expression): Likewise.
2265
dda4f0ec 22662013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2267
2268 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2269 functions instead of pp_character.
2270 (pp_ada_tree_identifier): Likewise.
2271 (dump_ada_double_name): Likewise.
2272 (dump_ada_function_declaration): Likewise.
2273 (dump_ada_array_domains): Likewise.
2274 (dump_template_types): Likewise.
2275 (dump_generic_ada_node): Likewise.
2276 (print_ada_declaration): Likewise.
2277 (print_ada_struct_decl): Likewise.
2278 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2279
7aa04c8d 22802013-07-23 Tom Tromey <tromey@redhat.com>
2281
2282 * c-common.h (enum rid) <RID_GENERIC>: New constant.
2283 * c-common.c (c_common_reswords): Add _Generic.
2284
a04e8d62 22852013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2286
2287 * c-common.c: Fix typos.
2288 * c-common.h: Likewise.
2289
a96c3cc1 22902013-07-13 Lubos Lunak <l.lunak@suse.cz>
2291
2292 PR c++/55203
2293 * c-common.c (c_common_attribute_table): Add warn_unused.
2294 (handle_warn_unused_attribute): New.
2295
da31536d 22962013-07-10 Jakub Jelinek <jakub@redhat.com>
2297
2298 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
2299 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
2300
839f2f70 23012013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
2302
2303 PR c++/57869
2304 * c.opt: Add Wconditionally-supported.
2305
73f353d0 23062013-07-08 Graham Stott <graham.stott@btinternet.com>
2307
1f78217c 2308 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 2309 unused variables l_length and l_node.
2310
21ebaa24 23112013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 2312
2313 PR c/57821
2314 * c-common.c (complete_array_type): Delay folding first index
2315 like other indices. When folding, check for index overflow.
2316
68ea4406 23172013-06-27 Marc Glisse <marc.glisse@inria.fr>
2318
2319 PR c++/57509
2320 * c-common.h (c_build_vec_perm_expr): New complain argument.
2321 * c-common.c (c_build_vec_perm_expr): Likewise.
2322 Use save_expr also in C++.
2323
60777f69 23242013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2325
2326 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2327 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2328 * c-opts.c (c_common_post_options): Likewise.
2329
839f2f70 23302013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 2331
2332 * array-notation-common.c (length_mismatch_in_expr): Changed the
2333 parameter type's from a dynamic array to a vec_tree. Also removed
2334 the size parameters.
2335 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2336 the change above.
2337
e9331eab 23382013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2339
2340 * c-common.h (struct cilkplus_an_parts): New structure.
2341 (struct cilkplus_an_loop_parts): Likewise.
2342 (cilkplus_extract_an_triplets): New prototype.
2343 (fix_sec_implicit_args): Likewise.
2344 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2345 (fix_sec_implicit_args): Likewise.
60777f69 2346
a9c99fc4 23472013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2348
2349 * array-notation-common.c (find_inv_trees): Removed an unwanted
2350 typecasting.
2351 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2352 enum rid to enum tree_code.
2353
f2526cce 23542013-06-11 Jan Hubicka <jh@suse.cz>
2355
2356 * c-common.c (handle_alias_ifunc_attribute): Do not set
2357 DECL_EXTERNAL for weakref variables.
2358 * c-pragma.c (handle_pragma_weak): Make sure aliases
2359 are not declared as external.
2360
09970d67 23612013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2362
2363 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2364 function from c/c-array-notation.c.
2365 (is_cilkplus_reduce_builtin): Likewise.
2366 (find_rank): Likewise.
2367 (extract_array_notation_exprs): Likewise.
2368 (replace_array_notations): Likewise.
2369 (find_inv_trees): Likewise.
2370 (replace_inv_trees): Likewise.
2371 (contains_array_notation_expr): Likewise.
2372 (find_correct_array_notation_type): Likewise.
2373 * c-common.h (struct inv_list): Moved this struct from the file
2374 c/c-array-notation.c and added a new field called additional tcodes.
2375 (length_mismatch_in_expr_p): New prototype.
2376 (is_cilkplus_reduce_builtin): Likewise.
2377 (find_rank): Likewise.
2378 (extract_array_notation_exprs): Likewise.
2379 (replace_array_notation): Likewise.
2380 (find_inv_trees): Likewise.
2381 (replace_inv_trees): Likewise.
2382 (find_correct_array_notation_type): Likewise.
839f2f70 2383
3c6d4197 23842013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2385
2386 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2387 function array_notation_init_builtins is called.
2388 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2389 * c-common.def (ARRAY_NOTATION_REF): New tree.
2390 * c-common.h (build_array_notation_expr): New function declaration.
2391 (build_array_notation_ref): Likewise.
2392 (extract_sec_implicit_index_arg): New extern declaration.
2393 (is_sec_implicit_index_fn): Likewise.
2394 (ARRAY_NOTATION_CHECK): New define.
2395 (ARRAY_NOTATION_ARRAY): Likewise.
2396 (ARRAY_NOTATION_START): Likewise.
2397 (ARRAY_NOTATION_LENGTH): Likewise.
2398 (ARRAY_NOTATION_STRIDE): Likewise.
2399 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2400 ARRAY_NOTATION_REF.
2401 (pp_c_expression): Likewise.
2402 * c.opt (flag_enable_cilkplus): New flag.
2403 * array-notation-common.c: New file.
2404
8e71dad2 24052013-05-14 Jakub Jelinek <jakub@redhat.com>
2406
2407 PR c++/57274
2408 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2409
432dd330 24102013-05-10 Marc Glisse <marc.glisse@inria.fr>
2411
2412 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2413 vectors.
2414
b156ec37 24152013-05-07 Han Shen <shenhan@google.com>
2416
2417 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2418
1a087624 24192013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2420
2421 * c-common.c (check_user_alignment): Emit error for negative values.
2422
1638c736 24232013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2424
2425 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2426
949dbf93 24272013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2428
2429 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2430 __GXX_EXPERIMENTAL_CXX1Y__.
2431
9205a6cc 24322013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2433 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2434
2435 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2436 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2437 to simply use OPT_Wpointer_arith.
2438 (c_sizeof_or_alignof_type): Likewise.
2439
05d0bce1 24402013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2441
2442 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2443
41609f8b 24442013-04-12 Jakub Jelinek <jakub@redhat.com>
2445
2446 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2447 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2448 specifiers.
2449
c671dc4f 24502013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2451
2452 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2453
ba125576 24542013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2455
2456 * c-common.c (pointer_int_sum): Remove dead code.
2457
9d3fa937 24582013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2459
2460 PR middle-end/56524
2461 * c-common.c (handle_optimize_attribute): Don't call
2462 save_optabs_if_changed.
2463
5ceebb21 24642013-03-05 Jakub Jelinek <jakub@redhat.com>
2465
2466 PR middle-end/56461
2467 * c-pch.c (pch_init): Free target_validity at the end.
2468
18eeed2b 24692013-03-04 Jakub Jelinek <jakub@redhat.com>
2470
2471 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2472
a9196da9 24732013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2474 Jakub Jelinek <jakub@redhat.com>
2475
2476 PR sanitizer/56454
2477 * c-common.c (handle_no_sanitize_address_attribute): New function.
2478 (c_common_attribute_table): Add no_sanitize_address attribute.
2479 (handle_no_address_safety_analysis_attribute): Add
2480 no_sanitize_address attribute, not no_address_safety_analysis
2481 attribute.
2482
15c27dda 24832013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 2484
2485 PR target/52555
2486 * c-common.c (handle_optimize_attribute): Call
2487 save_optabs_if_changed.
2488
19426fe1 24892013-02-18 Jakub Jelinek <jakub@redhat.com>
2490 Steven Bosscher <steven@gcc.gnu.org>
2491
2492 PR pch/54117
2493 * c-opts.c (c_common_post_options): If debug info is enabled
2494 and non-dwarf*, refuse to load PCH files and when writing PCH
2495 file warn.
2496
df936998 24972013-02-05 Jakub Jelinek <jakub@redhat.com>
2498
2499 PR middle-end/56167
2500 * c-common.c (handle_error_attribute): Fix condition.
2501
ae0c3984 25022013-01-30 Jakub Jelinek <jakub@redhat.com>
2503
2504 PR c++/55742
2505 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2506
1c4973d7 25072013-01-18 Jason Merrill <jason@redhat.com>
2508
2509 PR target/54908
2510 * c.opt (-fextern-tls-init): New.
2511 * c-opts.c (c_common_post_options): Handle it.
2512
7c834436 25132013-01-09 Jakub Jelinek <jakub@redhat.com>
2514
2515 PR c/48418
2516 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2517 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2518 and is either negative or bigger or equal to type precision
2519 of the first operand.
2520
5abaa10a 25212012-12-03 Marek Polacek <polacek@redhat.com>
2522
2523 PR c/55570
2524 * c-common.c (check_user_alignment): Swap order of tests,
2525 check TREE_CODE first.
2526
324ca377 25272012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2528
2529 PR c++/52654
2530 * c-common.h (overflow_type): New enum.
2531 (build_userdef_literal): Add overflow_type argument.
2532 (tree_userdef_literal): Add overflow_type.
2533 (USERDEF_LITERAL_OVERFLOW): New access macro.
2534 * c-common.c (build_userdef_literal): Add overflow_type
2535 argument.
2536 * c-lex.c (c_lex_with_flags): Add overflow_type to
2537 build_userdef_literal calls.
2538 (interpret_integer, interpret_float): Add overflow_type argument.
2539
b4c4a429 25402012-11-28 Richard Biener <rguenther@suse.de>
2541
2542 PR c/35634
2543 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2544 here and use a type with proper overflow behavior for types that would
2545 need to be promoted for the arithmetic.
2546
d413ffdd 25472012-11-23 Jakub Jelinek <jakub@redhat.com>
2548
2549 PR sanitizer/55435
2550 * c-common.c (handle_no_address_safety_analysis_attribute): New
2551 function.
2552 (c_common_attribute_table): Add no_address_safety_analysis.
2553
52bc861d 25542012-11-16 Simon Baldwin <simonb@google.com>
2555
2556 * c.opt: Add f[no-]canonical-system-headers.
2557 * c-opts.c (c_common_handle_option): Handle
2558 OPT_fcanonical_system_headers.
2559
2dd00636 25602012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2561
2562 PR c++/54413
2563 * c-opts.c (c_common_handle_option): Set new flags.
2564 * c.opt: Describe new flags.
2565
d4701f6c 25662012-11-09 Jason Merrill <jason@redhat.com>
2567
2568 * c.opt (Wabi-tag): New.
2569
72d65da9 25702012-11-09 Andi Kleen <ak@linux.intel.com>
2571
2572 PR 55139
2573 * c-common.c (get_atomic_generic_size): Mask with
2574 MEMMODEL_MASK
2575
77a357e3 25762012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2577
2578 PR c/53063
2579 * c.opt (Wformat): Make it Alias Wformat=1.
2580 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2581 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2582 LangEnabledBy.
2583 (Wformat=): RejectNegative. Use LangEnabledBy.
2584 (Wnonnull): Use LangEnabledBy.
2585 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2586 * c-format.c (set_Wformat): Delete.
2587 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2588 (maybe_read_dollar_number): Likewise.
2589 (avoid_dollar_number): Likewise.
2590 (finish_dollar_format_checking): Likewise.
2591 (check_format_info): Likewise.
2592 (check_format_info_main): Likewise.
2593 (check_format_types): Likewise.
2594 (format_type_warning): Likewise.
2595 * c-common.c (int): Likewise.
2596 (check_function_sentinel): Likewise.
2597 * c-common.h (warn_format,set_Wformat): Do not declare here.
2598
45efa6b9 25992012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2600
2601 PR c/53063
2602 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2603 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2604 Use LangEnabledBy.
2605 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2606 common.opt.
2607 (Wvariadic-macros): Init(1).
2608 * c-opts.c (c_common_handle_option): Do not handle them
2609 explicitly.
2610 (c_common_post_options): Likewise.
2611 (sanitize_cpp_opts): warn_unused_macros is now
2612 cpp_warn_unused_macros.
2613 (push_command_line_include): Likewise.
2614 * c-common.c (warn_unknown_pragmas): Do not define.
2615 * c-common.h (warn_unknown_pragmas): Do not declare.
2616
0e4e775a 26172012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2618
2619 PR c/51294
2620 * c-common.c (conversion_warning): Handle conditional expressions.
2621
8b447d3f 26222012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2623
2624 PR c++/54930
2625 * c.opt (Wreturn_local_addr): Define new option.
2626
f4a61754 26272012-10-25 Jason Merrill <jason@redhat.com>
2628
ecb10e6a 2629 * c.opt (Wvirtual-move-assign): New.
2630
f4a61754 2631 * c.opt (Winherited-variadic-ctor): New.
2632
7b463b19 26332012-10-25 Marc Glisse <marc.glisse@inria.fr>
2634
2635 PR c++/54427
2636 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2637
6adc88f8 26382012-10-23 Joseph Myers <joseph@codesourcery.com>
2639
2640 * c-common.h (pch_cpp_save_state): Declare.
2641 * c-target.def (c_preinclude): New hook.
2642 * c-opts.c (done_preinclude): New.
2643 (push_command_line_include): Handle default preincluded header.
2644 (cb_file_change): Call pch_cpp_save_state when calling
2645 push_command_line_include.
2646 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2647 (pch_cpp_save_state): New.
2648 (pch_init): Call pch_cpp_save_state conditionally, instead of
2649 calling cpp_save_state.
2650
fa816b0b 26512012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2652
2653 PR c/53063
2654 PR c/40989
2655 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2656 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2657 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2658 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2659 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2660 * c-opts.c (c_common_handle_option): Remove explicit handling from
2661 here.
2662 (c_common_post_options): Likewise.
2663
d214ccee 26642012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2665
2666 * c-ada-spec.c (LOCATION_COL): Delete.
2667 (compare_location): New function.
2668 (compare_node): Use it.
2669 (compare_comment): Likewise.
2670
77b27208 26712012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2672
2673 PR c/53063
2674 PR c/40989
2675 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2676 * c-opts.c (c_common_handle_option): Do not set them here. Add
2677 comment.
2678 (c_common_post_options): Likewise.
2679
cc02ca4d 26802012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2681
2682 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2683 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2684 Remove POINTER_TYPE handling, add large unsigned handling and use
2685 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2686
57f872a2 26872012-10-12 Jakub Jelinek <jakub@redhat.com>
2688
2689 PR c/54381
2690 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2691 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2692 locs and array of 3 trees instead of just single loc and single
2693 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2694 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2695 For *cmp* builtins that take two sources strings report warnings
2696 about first and second source, not about destination and source.
2697
7354ad2e 26982012-10-12 Marc Glisse <marc.glisse@inria.fr>
2699
2700 PR c++/53055
2701 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2702
1ac7f120 27032012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2704
2705 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2706 declaring something coming from another file.
2707
1e0cc9e3 27082012-10-10 Arnaud Charlet <charlet@adacore.com>
2709
1ac7f120 2710 PR ada/54845
1e0cc9e3 2711 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2712
b0e7825e 27132012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2714
2715 PR c++/54194
2716 * c-common.c (warn_about_parentheses): Add location_t parameter;
2717 use EXPR_LOC_OR_LOC.
2718 * c-common.h: Update declaration.
2719
41ed701a 27202012-10-09 Marc Glisse <marc.glisse@inria.fr>
2721
2722 PR c++/54427
2723 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2724 more operations. Make error messages optional.
2725 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2726 (scalar_to_vector): Declare.
2727
3740094c 27282012-10-08 Jason Merrill <jason@redhat.com>
2729
2730 * c-common.c (c_common_reswords): Add thread_local.
2731
ffcdbf9c 27322012-10-08 Dodji Seketeli <dodji@redhat.com>
2733
2734 PR c++/53528 C++11 attribute support
2735 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2736 new functions.
2737 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2738 static function.
2739 (handle_aligned_attribute): In choose strictest alignment
2740 among many. Use new check_cxx_fundamental_alignment_constraints.
2741 (handle_transparent_union_attribute): In c++11 attribute syntax,
2742 don't look through typedefs.
2743
ef34afc1 27442012-10-04 Arnaud Charlet <charlet@adacore.com>
2745
2746 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2747 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2748 out of dumpfile.h.
2749
f1ff4562 27502012-09-25 Dehao Chen <dehao@google.com>
2751
2752 PR middle-end/54645
ef34afc1 2753 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2754 map when read in the pch.
2755
735538a1 27562012-09-18 Arnaud Charlet <charlet@adacore.com>
2757
2758 * c-ada-spec.c: Style fixes.
2759
9120cdc8 27602012-09-18 Thomas Quinot <quinot@adacore.com>
2761
2762 * c.opt (-fada-spec-parent): Define new command line switch.
2763 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2764 is specified, generate binding spec as a child of the specified unit.
2765
8eba82c2 27662012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2767 Manuel López-Ibáñez <manu@gcc.gnu.org>
2768
2769 PR c++/53210
2770 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2771
38682990 27722012-08-23 Arnaud Charlet <charlet@adacore.com>
2773
2774 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2775 for pointers, and add missing Convention C pragma.
2776 (print_ada_struct_decl): Add missing aliased keyword.
2777 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2778
f003f5dc 27792012-08-17 Jakub Jelinek <jakub@redhat.com>
2780
2781 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2782 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2783 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2784 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2785 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2786
ec11736b 27872012-08-10 Richard Guenther <rguenther@suse.de>
2788
2789 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2790
5f7f600e 27912012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2792
2793 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2794 instead of separate pp_newline and pp_flush.
2795 (print_c_tree): Likewise.
2796
758a38ab 27972012-07-26 Richard Henderson <rth@redhat.com>
2798
2799 * c-common.c (handle_hot_attribute): Allow labels.
2800 (handle_cold_attribute): Likewise.
2801
9ca77b08 28022012-07-20 Jakub Jelinek <jakub@redhat.com>
2803
2804 PR c++/28656
2805 * c-common.c (check_function_nonnull): Handle multiple nonnull
2806 attributes properly.
2807
b9ed1410 28082012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2809
2810 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2811 * c-ada-spec.c: Likewise.
2812 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2813
c2a65b90 28142012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2815
2816 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2817 Remove code conditional on it.
2818
88c5a1d1 28192012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2820
2821 * c-gimplify.c: Do not include basic-block.h.
2822 * c-common.c: Do not include linfuncs.h.
2823
4a020a8c 28242012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2825
2826 * c-common.h: Include tree.h.
2827
c28ddc97 28282012-07-02 Jason Merrill <jason@redhat.com>
2829
2830 PR c++/53524
2831 * c-common.c (get_priority): Call default_conversion.
2832
405ed67f 28332012-07-01 Uros Bizjak <ubizjak@gmail.com>
2834
2835 * c-pch.c (c_common_write_pch): Remove unused variables.
2836
e53d55e7 28372012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2838
2839 * cppspec.c: Moved from gcc/ to here.
2840
3d9c25ec 28412012-06-27 Kai Tietz <ktietz@redhat.com>
2842
2843 PR preprocessor/37215
2844 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2845
3169c57a 28462012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2847
2848 * c-common.h (c_common_print_pch_checksum): Remove.
2849 * c-pch.c: Do not include output.h.
2850 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2851 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2852 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2853 (struct c_pch_header): Remove.
2854 (get_ident): Update gpch version.
2855 (pch_init): Do not print executable_checksum to asm_out_file.
2856 Do not fail if there is no asm_out_file to read back from. Set
2857 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2858 (c_common_write_pch): Verify that nothing was written to asm_out_file
2859 since pch_init was called. Do not write a c_pch_header, and do not
2860 copy from asm_out_file to the PCH.
2861 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2862 the content of asm_out_file from the PCH.
2863 (c_common_print_pch_checksum): Remove.
2864 * c-opts.c (c_common_init): Print out executable_checksum directly.
2865
ff6624bc 28662012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2867
2868 * c-target.def (objc_declare_unresolved_class_reference,
2869 objc_declare_class_definition): Add new hooks.
2870
367b1459 28712012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2872
2873 * c-lex.c: Do not include output.h.
2874 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2875 Remove uses of ASM_OUTPUT_IDENT.
2876
bf0cb017 28772012-06-15 Marc Glisse <marc.glisse@inria.fr>
2878
2879 PR c++/51033
2880 * c-common.h (c_build_vec_perm_expr): Move decl here.
2881 * c-common.c (c_build_vec_perm_expr): Move definition
2882 here.
2883
b37a3600 28842012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2885
2886 * c.opt (fconserve-space): Turn into a no-op.
2887
19931eea 28882012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 2889
2890 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2891 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2892 both the start and end of the function.
2893
dff12c10 28942012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2895
2896 * c-common.c: Do not include output.h.
2897 * c-pragma.c: Likewise.
2898
5f9e7dd5 28992012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2900
2901 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2902 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2903 (lang_decl_name): Handle namespace decls.
2904
b5369b7d 29052012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2906
2907 * c-ada-spec.c: Do not include output.h.
2908 * c-semantics.c: Likewise.
2909
8032877c 29102012-05-29 Joseph Myers <joseph@codesourcery.com>
2911
2912 * c-common.c: Fix typo.
2913
7843e4bc 29142012-05-29 Michael Matz <matz@suse.de>
2915
2916 * c-common.h (c_expand_decl): Remove prototype.
2917
8cf857d4 29182012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2919
2920 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2921 * c-opts.c (c_common_handle_option): Remove code handling
2922 warn_missing_braces.
2923
8b64dc3c 29242012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2925
2926 PR c++/25137
2927 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2928 -Wmissing_braces.
2929
43cbde16 29302012-05-22 Dodji Seketeli <dodji@redhat.com>
2931
2932 PR c++/53322
2933 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2934
db490cb6 29352012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2936
2937 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2938 * c-opts.c (c_common_handle_option): Do not handle explicitly
2939 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2940
a60f3e81 29412012-05-16 Dodji Seketeli <dodji@redhat.com>
2942
2943 PR preprocessor/7263
2944 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2945 to cpp_classify_number. For diagnostics, use the precise location
2946 instead of the global input_location.
2947
82e6ef7c 29482012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2949
cd4797ff 2950 PR c++/11856
82e6ef7c 2951 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2952
258a168d 29532012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2954
82e6ef7c 2955 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2956
d3b7ee7c 29572012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2958
2959 PR 53063
2960 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2961 Wreorder): Use LangEnabledBy.
2962 * c-opts.c (c_common_handle_option): Do not enable them
2963 explicitly. Call lang-specific generated functions.
2964 (c_common_post_options): Do not set them here.
2965
70059cea 29662012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2967
2968 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2969 Wmissing-field-initializers,Wmissing-parameter-type,
2970 Wold-style-declaration,Woverride-init): Use EnabledBy.
2971 * c-opts.c (c_common_post_options): Do not set here explicitly.
2972
fbb6fbd8 29732012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2974
2975 PR 53063
2976 * c-opts.c (c_common_handle_option): Use handle_generated_option
2977 to enable sub-options.
2978
61f69bc9 29792012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2980
2981 PR c++/53158
2982 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2983
5a1fe2db 29842012-05-10 Richard Guenther <rguenther@suse.de>
2985
2986 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2987 adjust commentary about TYPE_IS_SIZETYPE types.
2988
d42e7c5a 29892012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2990
2991 PR c++/53261
2992 * c-common.c (warn_logical_operator): Check that argument of
2993 integer_zerop is not NULL.
2994
686369e8 29952012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2996
2997 PR c/43772
2998 * c-common.c (warn_logical_operator): Do not warn if either side
2999 is already true or false.
3000
03fe1dc2 30012012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3002
3003 PR c/51712
3004 * c-common.c (expr_original_type): New.
3005 (shorten_compare): Do not warn for enumeration types.
3006
bba5a206 30072012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3008
3009 * c.opt (fpermissive): Add Var(flag_permissive).
3010
7059d45d 30112012-04-30 Marc Glisse <marc.glisse@inria.fr>
3012
3013 PR c++/51033
3014 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3015 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3016
7edb1062 30172012-04-30 Dodji Seketeli <dodji@redhat.com>
3018
3019 Add -Wvarargs option
3020 * c.opt (Wvarargs): Define new option.
3021
068bea1e 30222012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3023
3024 * c-common.c (check_function_arguments): Replace
3025 Wmissing-format-attribute with Wsuggest-attribute=format.
3026
b86527d8 30272012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3028
3029 * c.opt (Wsuggest-attribute=format): New. Alias of
3030 Wmissing-format-attribute.
3031 * c-format.c (decode_format_type): Replace
3032 Wmissing-format-attribute with Wsuggest-attribute=format.
3033 (check_function_format): Likewise.
3034
19931eea 30352012-04-27 Ollie Wild <aaw@google.com>
76d340ac 3036
3037 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
3038 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
3039 * c.opt: Add Wliteral-suffix.
3040
29438999 30412012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3042
3043 PR c/44774
3044 * c.opt (Wpedantic): New.
3045 (pedantic): Alias Wpedantic.
3046 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3047 (c_common_post_options): Likewise.
3048 (sanitize_cpp_opts): Likewise.
3049 * c-lex.c (interpret_float): Likewise.
3050 * c-format.c (check_format_types): Likewise.
3051 * c-common.c (pointer_int_sum): Likewise.
3052 (c_sizeof_or_alignof_type): Likewise.
3053 (c_add_case_label): Likewise.
3054 (c_do_switch_warnings): Likewise.
3055 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3056
4f9d6b8b 30572012-04-15 Jason Merrill <jason@redhat.com>
3058
3059 PR c++/52818
3060 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3061 (C_STD_NAME): Distinguish between C++98 and C++11.
3062
74bdbe96 30632012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3064
3065 PR target/52624
3066 * c-common.h (uint16_type_node): Rename into...
3067 (c_uint16_type_node): ...this.
3068 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3069 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3070
3d177e8c 30712012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3072
3073 * c-common.c (warn_if_unused_value): Move definition to here.
3074 * c-common.h (warn_if_unused_value): Move declaration to here.
3075
6a9a958f 30762012-03-23 William Bader <williambader@hotmail.com>
3077
3078 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3079
543efdbe 30802012-03-20 Jason Merrill <jason@redhat.com>
3081
3082 * c-common.h (enum cxx_dialect): Add cxx1y.
3083 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3084 test.
3085 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3086 * c-opts.c (c_common_post_options): Likewise.
3087 (set_std_cxx1y): New.
3088 (c_common_handle_option): Call it.
3089 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3090
62206d34 30912012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3092
3093 PR c++/14710
3094 * c.opt ([Wuseless-cast]): Add.
3095
fadf62f4 30962012-03-16 Richard Guenther <rguenther@suse.de>
3097
3098 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3099
249faa35 31002012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3101
3102 PR c++/44783
3103 * c.opt (ftemplate-backtrace-limit) Add.
3104
126b6848 31052012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3106
3107 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3108 handling.
3109 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3110 (init_pragma): Don't register extern_prefix.
3111
a51edb4c 31122012-03-12 Richard Guenther <rguenther@suse.de>
3113
3114 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3115 (builtin_type_for_size): Likewise.
3116
0f6a7cb7 31172012-02-13 Jakub Jelinek <jakub@redhat.com>
3118
3119 PR c++/52215
3120 * c-common.c (sync_resolve_params): Don't decide whether to convert
3121 or not based on TYPE_SIZE comparison, convert whenever arg_type
3122 is unsigned INTEGER_TYPE.
3123
0779e32c 31242012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3125
3126 PR c/52118
3127 * c.opt ([Wunused-local-typedefs]): Fix description.
3128
baec58e1 31292012-01-24 Mike Stump <mikestump@comcast.net>
3130
3131 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3132 exactly.
3133
c779d8cc 31342012-01-18 Richard Guenther <rguenther@suse.de>
3135
3136 * c-opts.c (c_common_post_options): Reset LTO flags if
3137 we are about to generate a PCH.
3138
ee917d24 31392012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3140
3141 PR c++/51777
3142 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3143 use pp_unsigned_wide_integer.
3144
90e2341f 31452012-01-10 Richard Guenther <rguenther@suse.de>
3146
3147 PR middle-end/51806
3148 * c-opts.c (c_common_handle_option): Move -Werror handling
3149 to language independent code.
3150
9ea022ce 31512012-01-05 Richard Guenther <rguenther@suse.de>
3152
3153 PR middle-end/51764
3154 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3155 from common.opt.
3156
3df19e1b 31572011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3158
3159 PR c++/51316
3160 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3161 of array types with an unknown bound.
3162
32074525 31632011-12-20 Joseph Myers <joseph@codesourcery.com>
3164
3165 * c-common.c (flag_isoc99): Update comment to refer to C11.
3166 (flag_isoc1x): Change to flag_isoc11.
3167 * c-common.h (flag_isoc99): Update comment to refer to C11.
3168 (flag_isoc1x): Change to flag_isoc11.
3169 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3170 C11.
3171 * c-opts.c (set_std_c1x): Change to set_std_c11.
3172 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3173 Call set_std_c11.
3174 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3175 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3176 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3177 standard.
3178 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3179 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3180 (std=gnu1x): Make alias of std=gnu11.
3181
fca86134 31822011-12-19 Jason Merrill <jason@redhat.com>
3183
3184 PR c++/51228
3185 * c-common.c (handle_transparent_union_attribute): Check the first
3186 field if the type is complete.
3187
aa4313eb 31882011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3189
3190 PR libstdc++/51365
3191 * c-common.c (RID_IS_FINAL): Add.
3192 * c-common.h (RID_IS_FINAL): Add.
3193
3f3d5ad4 31942011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3195
3196 * c.opt (fgnu-runtime): Provide full description.
3197 (fnext-runtime): Likewise.
3198 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3199
c4606d19 32002011-11-28 Andrew MacLeod <amacleod@redhat.com>
3201
3202 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3203 predefines in one place. Add LOCK_FREE predefines.
3204 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3205 new func.
3206
1d581089 32072011-11-24 Andrew MacLeod <amacleod@redhat.com>
3208
3209 PR c/51256
19931eea 3210 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 3211 conditions
19931eea 3212 (resolve_overloaded_atomic_exchange,
3213 resolve_overloaded_atomic_compare_exchange,
1d581089 3214 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3215 error_mark_node for error conditions.
19931eea 3216
6aa221fa 32172011-11-08 Richard Guenther <rguenther@suse.de>
3218
3219 PR middle-end/51010
3220 c-family/
3221
4c0315d0 32222011-11-07 Richard Henderson <rth@redhat.com>
3223 Aldy Hernandez <aldyh@redhat.com>
3224 Torvald Riegel <triegel@redhat.com>
3225
3226 Merged from transactional-memory.
3227
3228 * c-common.c (handle_tm_wrap_attribute,
3229 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3230 (struct c_common_reswords): Added __transaction* keywords.
3231 (struct c_common_attribute_table): Added transaction* and tm_regparm
3232 attributes.
3233 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3234 masks.
3235 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3236 find_tm_attribute): Declare.
3237
920f5a70 32382011-11-07 Jason Merrill <jason@redhat.com>
3239
3240 PR c++/35688
3241 * c-common.c, c-common.h: Revert yesterday's changes.
3242
b4f861b4 32432011-11-06 Jason Merrill <jason@redhat.com>
3244
3245 PR c++/35688
3246 * c-common.c (decl_has_visibility_attr): Split out from...
3247 (c_determine_visibility): ...here.
3248 * c-common.h: Declare it.
3249
83e25171 32502011-11-06 Joseph Myers <joseph@codesourcery.com>
3251
3252 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3253 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3254 type.
3255 (check_user_alignment): New. Split out of
3256 handle_aligned_attribute. Disallow integer constants with
3257 noninteger types. Conditionally allow zero.
3258 (handle_aligned_attribute): Use check_user_alignment.
3259 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3260
1cd6e20d 32612011-11-06 Andrew MacLeod <amacleod@redhat.com>
3262 Richard Henderson <rth@redhat.com>
3263
3264 Merged from cxx-mem-model.
3265
3266 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 3267 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 3268 parameters that are the same type size.
3269 (get_atomic_generic_size): New. Find size of generic
3270 atomic function parameters and do typechecking.
3271 (add_atomic_size_parameter): New. Insert size into parameter list.
3272 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3273 either __atomic_exchange_n or external library call.
19931eea 3274 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 3275 __atomic_compare_exchange to either _n variant or external library call.
19931eea 3276 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 3277 __atomic_load_n or an external library call.
3278 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
3279 __atomic_store_n or an external library call.
3280 (resolve_overloaded_builtin): Handle new __atomic builtins.
3281
7549df0d 32822011-11-04 Eric Botcazou <ebotcazou@adacore.com>
3283
3284 PR c++/50608
3285 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
3286 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
3287 <INDIRECT_REF>: Return the argument.
3288 <ARRAY_REF>: Remove special code for negative offset.
3289 Call fold_build_pointer_plus instead of size_binop.
3290 (fold_offsetof): Remove STOP_REF argument and adjust.
3291 * c-common.h (fold_offsetof_1): Declare.
3292 (fold_offsetof): Remove STOP_REF argument.
3293
7e783eb3 32942011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
3295
3296 PR c++/50810
3297 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3298 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3299 Wnarrowing for C++0x and C++98.
3300 * c.opt ([Wnarrowing]): Update.
3301
8fe701f5 33022011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
3303
3304 PR c++/44277
3305 * c.opt: Add Wzero-as-null-pointer-constant.
3306
0d84dc2d 33072011-10-31 Jason Merrill <jason@redhat.com>
3308
67031f52 3309 * c.opt (-fdeduce-init-list): Off by default.
3310
0d84dc2d 3311 PR c++/50920
3312 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
3313 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
3314 and -Wc++11-compat.
3315 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3316
66f24c41 33172011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3318
3319 PR c++/30066
3320 * c.opt (fvisibility-inlines-hidden): Description change.
3321
244db24d 33222011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3323
3324 Implement C++11 user-defined literals.
3325 * c-common.c (build_userdef_literal): New.
3326 * c-common.def: New tree code.
3327 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3328 * c-lex.c (interpret_float): Add suffix parm.
3329 (c_lex_with_flags): Build literal tokens.
3330
235be70f 33312011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3332
3333 PR c++/50841
3334 Revert:
3335 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3336
3337 PR c++/50810
3338 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3339 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3340 Wnarrowing for C++0x and C++98.
3341 * c.opt ([Wnarrowing]): Update.
3342
4fe0fb1c 33432011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3344
3345 PR c++/50810
3346 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3347 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3348 Wnarrowing for C++0x and C++98.
3349 * c.opt ([Wnarrowing]): Update.
3350
5f7504f9 33512011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3352
3353 PR c++/45385
3354 * c-common.c (conversion_warning): Remove code looking for
3355 artificial operands.
3356
2a688977 33572011-10-18 Dodji Seketeli <dodji@redhat.com>
3358
3359 PR bootstrap/50760
3360 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 3361 !NO_IMPLICIT_EXTERN_C.
2a688977 3362
326e3391 33632011-10-17 Michael Spertus <mike_spertus@symantec.com>
3364
3365 * c-common.c (c_common_reswords): Add __bases,
3366 __direct_bases.
3367 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3368
33692011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3370
3371 PR c++/50757
3372 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3373
62db153a 33742011-10-15 Tom Tromey <tromey@redhat.com>
3375 Dodji Seketeli <dodji@redhat.com>
3376
3377 * c.opt (fdebug-cpp): New option.
3378 * c-opts.c (c_common_handle_option): Handle the option.
3379 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3380 output stream in parameter. Factorized from ...
3381 (maybe_print_line): ... this. Dump location debug information when
3382 -fdebug-cpp is in effect.
3383 (print_line_1): New static function. Takes an output stream in
3384 parameter. Factorized from ...
3385 (print_line): ... here. Dump location information when -fdebug-cpp
3386 is in effect.
3387 (scan_translation_unit): Dump location information when
3388 -fdebug-cpp is in effect.
3389
ce70f433 33902011-10-15 Tom Tromey <tromey@redhat.com>
3391 Dodji Seketeli <dodji@redhat.com>
3392
3393 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3394 without argument.
3395 * c-opts.c (c_common_handle_option)<case
3396 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3397 cases. Handle -ftrack-macro-expansion with and without argument.
3398
97bfb9ef 33992011-10-15 Tom Tromey <tromey@redhat.com>
3400 Dodji Seketeli <dodji@redhat.com>
3401
3402 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3403 (print_line, cb_define, do_line_change): Adjust to avoid touching
3404 the internals of struct line_map. Use the public API instead.
3405 * c-pch.c (c_common_read_pch): Likewise.
3406 * c-lex.c (fe_file_change): Likewise.
3407
326e3391 34082011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3409
3410 PR c++/17212
3411 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3412
34132011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3414
3415 PR c++/33067
3416 * c-pretty-print.c (pp_c_floating_constant): Output
3417 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3418
b9a16870 34192011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3420
3421 * c-common.c (def_builtin_1): Delete old interface with two
3422 parallel arrays to hold standard builtin declarations, and replace
3423 it with a function based interface that can support creating
3424 builtins on the fly in the future. Change all uses, and poison
3425 the old names. Make sure 0 is not a legitimate builtin index.
3426 * c-omp.c (c_finish_omp_barrier): Ditto.
3427 (c_finish_omp_taskwait): Ditto.
3428 (c_finish_omp_flush): Ditto.
3429
c7964868 34302011-10-11 Tristan Gingold <gingold@adacore.com>
3431
3432 * c.opt: (fallow-parameterless-variadic-functions): New.
3433
a4e3ffad 34342011-09-08 Dodji Seketeli <dodji@redhat.com>
3435
3436 PR c++/33255 - Support -Wunused-local-typedefs warning
3437 * c-common.h (struct c_language_function::local_typedefs): New
3438 field.
19931eea 3439 (record_locally_defined_typedef, maybe_record_typedef_use)
3440 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 3441 * c-common.c (record_locally_defined_typedef)
19931eea 3442 (maybe_record_typedef_use)
3443 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 3444 * c.opt: Declare new -Wunused-local-typedefs flag.
3445
737a23cc 34462011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3447
3448 PR middle-end/50266
3449 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3450 computations.
3451
7542c3b4 34522011-09-05 Richard Guenther <rguenther@suse.de>
3453
3454 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3455 of integer_minus_one_node for empty array upper bounds.
3456
1dc92c59 34572011-08-28 Dodji Seketeli <dodji@redhat.com>
3458
3459 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3460 it's the first time it's being called on this main TU.
3461
2bdf2b6e 34622011-08-24 Richard Guenther <rguenther@suse.de>
3463
3464 PR c/49396
3465 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3466
34672011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 3468
3469 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3470 defined in cpp_init_builtins and c_cpp_builtins.
3471
bff4ad11 34722011-08-19 Joseph Myers <joseph@codesourcery.com>
3473
3474 * c-common.c (c_common_reswords): Add __builtin_complex.
3475 * c-common.h (RID_BUILTIN_COMPLEX): New.
3476
985c6e3a 34772011-08-18 Joseph Myers <joseph@codesourcery.com>
3478
3479 * c-common.c (c_common_reswords): Add _Noreturn.
3480 (keyword_is_function_specifier): Handle RID_NORETURN.
3481 * c-common.h (RID_NORETURN): New.
3482
7dfa155b 34832011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3484
3485 * c-common.c (unsafe_conversion_p): New function. Check if it is
3486 unsafe to convert an expression to the type.
3487 (conversion_warning): Adjust, use unsafe_conversion_p.
3488 * c-common.h (unsafe_conversion_p): New function declaration.
3489
2169f33b 34902011-08-02 Jakub Jelinek <jakub@redhat.com>
3491
3492 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3493 (c_finish_omp_taskyield): New prototype.
3494 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3495 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3496 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3497 or RHS1 have side-effects, evaluate those too in the right spot,
3498 if it is a decl and LHS is also a decl, error out if they
3499 aren't the same.
3500 (c_finish_omp_taskyield): New function.
3501 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3502 * c-pragma.c (omp_pragmas): Add taskyield.
3503 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3504 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3505 PRAGMA_OMP_CLAUSE_MERGEABLE.
3506
ab77850e 35072011-07-25 Dodji Seketeli <dodji@redhat.com>
3508
3509 * c-common.h (set_underlying_type): Remove parm name from
3510 declaration.
3511
6ee97920 35122011-07-25 Romain Geissler <romain.geissler@gmail.com>
3513
3514 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3515
dc251364 35162011-07-22 Jason Merrill <jason@redhat.com>
3517
1a2a35f0 3518 PR c++/49793
3519 * c.opt (Wnarrowing): New.
3520
27282252 3521 PR c++/30112
3522 * c-common.h: Declare c_linkage_bindings.
3523 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3524
dc251364 3525 PR c++/49813
3526 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3527 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3528 as flag_isoc99 for 'restrict'.
3529 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3530
fc501191 35312011-07-21 Ian Lance Taylor <iant@google.com>
3532
3533 PR middle-end/49705
3534 * c-common.c (c_disable_warnings): New static function.
3535 (c_enable_warnings): New static function.
3536 (c_fully_fold_internal): Change local unused_p to bool. Call
3537 c_disable_warnings and c_enable_warnings rather than change
3538 c_inhibit_evaluation_warnings.
3539
07b8f133 35402011-07-20 Jason Merrill <jason@redhat.com>
3541
3542 PR c++/6709 (DR 743)
3543 PR c++/42603 (DR 950)
3544 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3545 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3546 (CPP_DECLTYPE): New.
3547 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3548
2cc66f2a 35492011-07-19 Richard Guenther <rguenther@suse.de>
3550
3551 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3552 * c-omp.c (c_finish_omp_for): Likewise.
3553
3c802a1e 35542011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3555
3556 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3557 body on the next line.
3558
98a33d9f 35592011-07-08 Jason Merrill <jason@redhat.com>
3560
3115bda0 3561 PR c++/45437
3562 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3563
98a33d9f 3564 PR c++/49673
3565 * c-common.c (c_apply_type_quals_to_decl): Don't check
3566 TYPE_NEEDS_CONSTRUCTING.
3567
c38a75b7 35682011-07-06 Richard Guenther <rguenther@suse.de>
3569
3570 * c-common.c (c_common_nodes_and_builtins):
3571 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3572
e593356b 35732011-07-05 Richard Guenther <rguenther@suse.de>
3574
3575 * c-common.c (c_common_nodes_and_builtins): Build all common
3576 tree nodes first.
3577
fca0886c 35782011-06-27 Jakub Jelinek <jakub@redhat.com>
3579
a68f7a8d 3580 * c-common.h (c_tree_chain_next): New static inline function.
3581
fca0886c 3582 * c-common.c (check_builtin_function_arguments): Handle
3583 BUILT_IN_ASSUME_ALIGNED.
3584
2797f13a 35852011-06-21 Andrew MacLeod <amacleod@redhat.com>
3586
3587 * c-common.c: Add sync_ or SYNC__ to builtin names.
3588 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3589
35902011-06-20 Pierre Vittet <piervit@pvittet.com>
3591
3592 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3593 handler.
3594 (gen_pragma_handler): New union.
3595 (internal_pragma_handler): New type.
3596 (c_register_pragma_with_data)
3597 (c_register_pragma_with_expansion_and_data): New functions.
3598
3599 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3600 (c_register_pragma, c_register_pragma_with_expansion)
3601 (c_invoke_pragma_handler): Changed to work with
3602 internal_pragma_handler.
3603 (c_register_pragma_with_data)
3604 (c_register_pragma_with_expansion_and_data): New functions.
3605
218e3e4e 36062011-06-14 Joseph Myers <joseph@codesourcery.com>
3607
3608 * c-common.c: Include common/common-target.h.
3609 (handle_section_attribute): Use
3610 targetm_common.have_named_sections.
3611 * c-cppbuiltin.c: Include common/common-target.h.
3612 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3613
41e53ed2 36142011-06-10 Richard Guenther <rguenther@suse.de>
3615
3616 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3617 to print a IDENTIFIER_NODE.
3618
a6f06169 36192011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3620 Joseph Myers <joseph@codesourcery.com>
3621
3622 * c.opt (fbuilding-libgcc): New option.
3623 * c-cppbuiltin.c (c_cpp_builtins): Define
3624 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3625
1ea9269b 36262011-06-07 Jason Merrill <jason@redhat.com>
3627
8ce59854 3628 * c-common.c (max_tinst_depth): Lower default to 900.
3629
1ea9269b 3630 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3631
1af0124d 36322011-06-07 Richard Guenther <rguenther@suse.de>
3633
3634 * c-common.c (c_common_nodes_and_builtins): Do not set
3635 size_type_node or call set_sizetype.
3636
0e9a4c01 36372011-06-07 Dodji Seketeli <dodji@redhat.com>
3638
3639 PR debug/49130
3640 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3641 type when using pointer comparison to compare types.
0e9a4c01 3642
90b40725 36432011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3644
3645 * c.opt: Add -Wdelete-non-virtual-dtor.
3646 * c-opts.c (c_common_handle_option): Include it in -Wall.
3647
fc9c9e87 36482011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3649
3650 PR bootstrap/49190
3651
3652 Revert:
3653 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3654
3655 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3656 not tree_common.
3657
d0389adc 36582011-05-27 Jakub Jelinek <jakub@redhat.com>
3659
3660 PR c++/49165
3661 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3662 C++ don't call c_common_truthvalue_conversion on void type arms.
3663
cacfdc02 36642011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3665
3666 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3667 (stmt_list_stack): Define.
3668 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3669 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3670
027fc6ef 36712011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3672
3673 * c-common.c (warning_candidate_p): Check for BLOCKs.
3674
f21317a1 36752011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3676
3677 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3678 not tree_common.
3679
789e953d 36802011-05-25 Jakub Jelinek <jakub@redhat.com>
3681
3682 * c-common.c (def_fn_type): Remove extra va_end.
3683
7f506bca 36842011-05-23 Jason Merrill <jason@redhat.com>
3685
3686 PR c++/48106
3687 * c-common.c (c_common_get_narrower): New.
3688 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3689
774e9d58 36902011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3691
3692 * c-common.h (check_function_arguments): Tweak prototype of
3693 check_function_arguments.
3694 * c-common.c (check_function_arguments): Likewise. Adjust
3695 calls to check_function_nonnull, check_function_format, and
3696 check_function_sentinel.
3697 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3698 separate attributes and typelist arguments. Use
3699 FOREACH_FUNCTION_ARGS to iterate over argument types.
3700
23407dc9 37012011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3702
3703 * c-common.c (c_common_reswords): Reorder.
3704 * c-common.h (rid): Likewise.
3705
3a939d12 37062011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3707
3708 * c-common.c (def_fn_type): Don't call build_function_type, call
3709 build_function_type_array or build_varargs_function_type_array
3710 instead.
3711 (c_common_nodes_and_builtins): Likewise.
3712
b6e3dd65 37132011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3714
3715 * c-common.c (c_add_case_label): Omit the loc argument to
3716 build_case_label.
3717 * c-common.h (build_case_label): Remove.
3718 * c-semantics.c (build_case_label): Remove.
3719
4232a958 37202011-05-05 Joseph Myers <joseph@codesourcery.com>
3721
3722 * c-objc.h (objc_start_method_definition): Update prototype.
3723 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3724
d0af78c5 37252011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3726
3727 * c-common.c (check_main_parameter_types): Reindent. Don't use
3728 TYPE_ARG_TYPES directly.
3729 (handle_nonnull_attribute): Likewise.
3730 (sync_resolve_params): Likewise.
3731 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3732 to check_format_string.
3733 (handle_format_attribute): Likewise.
3734 (check_format_string): Take a function type to examine instead of
3735 a type list. Use a function_arg_iterator to step through argument
3736 types.
3737
ceb7b692 37382011-05-04 Richard Guenther <rguenther@suse.de>
3739
3740 * c-common.c (fix_string_type): Use size_int for index type bounds.
3741 (start_fname_decls): Do not pass NULL to build_int_cst.
3742 (c_init_attributes): Likewise.
3743 * c-lex.c (c_lex_with_flags): Likewise.
3744
c66c81be 37452011-04-27 Jason Merrill <jason@redhat.com>
3746
3747 * c-common.c (make_tree_vector_from_list): New.
3748 * c-common.h: Declare it.
3749
16930c72 37502011-04-26 Richard Guenther <rguenther@suse.de>
3751
3752 PR preprocessor/48248
3753 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3754 for output size with -P.
3755
23407dc9 37562011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3757
3758 * c-common.c (struct c_common_resword): Add __underlying_type.
3759 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3760
dd045aee 37612011-04-20 Jim Meyering <meyering@redhat.com>
3762
3763 * c-format.c (init_dollar_format_checking): Remove useless
3764 if-before-free.
3765
394dd737 37662011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3767
3768 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3769 (objc_detect_field_duplicates): New.
394dd737 3770 * stub-objc.c: Likewise.
23407dc9 3771
a758bf7d 37722011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3773
3774 * stub-objc.c (objc_declare_protocols): Renamed to
3775 objc_declare_protocol.
3776 * c-objc.h: Likewise.
23407dc9 3777
29d7200d 37782011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3779
3780 * stub-objc.c (objc_declare_class): Updated argument name.
3781
9b88d08d 37822011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3783
3784 * c-common.h (c_common_init_ts): Declare.
3785 * c-common.c (c_common_init_ts): Define.
3786
4185cf58 37872011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3788
3789 * c-objc.h (objc_build_message_expr): Updated prototype.
3790 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 3791
5a90471f 37922011-04-12 Martin Jambor <mjambor@suse.cz>
3793
3794 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3795 of cgraph_node.
3796
783bb57e 37972011-04-11 Richard Guenther <rguenther@suse.de>
3798
3799 * c-common.c (complete_array_type): Build a range type of
3800 proper type.
3801
c33080b9 38022011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3803
3804 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3805 (handle_type_generic_attribute): Likewise.
3806
f8913d47 38072011-04-07 Jason Merrill <jason@redhat.com>
3808
3809 PR c++/48450
3810 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3811 conversion from C++0x scoped enum.
3812
c94b1d0e 38132011-04-06 Joseph Myers <joseph@codesourcery.com>
3814
3815 * c-target-def.h: New file.
3816 * c-target.def: New file.
3817 * c-target.h: New file.
3818 * c-common.c (targetcm): Don't define here.
3819 * c-common.h (default_handle_c_option): Declare.
3820 * c-format.c: Include c-target.h instead of target.h.
3821 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3822 include tm.h.
3823 (default_handle_c_option): Move from targhooks.c.
3824
acb10f41 38252011-03-29 Jakub Jelinek <jakub@redhat.com>
3826
3827 PR preprocessor/48248
3828 * c-ppoutput.c (print): Add src_file field.
3829 (init_pp_output): Initialize it.
3830 (maybe_print_line): Don't optimize by adding up to 8 newlines
3831 if map->to_file and print.src_file are different file.
3832 (print_line): Update print.src_file.
3833
82715bcd 38342011-03-25 Kai Tietz <ktietz@redhat.com>
3835
3836 * c-ada-spec.c (compare_comment): Use filename_cmp
3837 instead of strcmp for filename.
3838
451c8e2f 38392011-03-25 Jeff Law <law@redhat.com>
3840
1f78217c 3841 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 3842
3c47771c 38432011-03-25 Jason Merrill <jason@redhat.com>
3844
3845 * c.opt: Add -std=c++03.
3846
97e6200f 38472011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3848
3849 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3850
ac86af5d 38512011-03-17 Kai Tietz
3852
3853 PR target/12171
ee212425 3854 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3855 Display allowed attributes for function pointer types.
3856 (pp_c_attributes_display): New function to display
3857 attributes having affects_type_identity flag set to true.
3858 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3859
ac86af5d 3860 * c-common.c (c_common_attribute_table):
3861 Add new element.
3862 (c_common_format_attribute_table): Likewise.
3863
914d1151 38642011-03-18 Jason Merrill <jason@redhat.com>
3865
69788bdf 3866 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3867 * c-common.h: Don't declare it here.
3868 * c-common.c: Or define it here.
3869 * c-opts.c (c_common_handle_option): Or set it here.
3870
914d1151 3871 PR c++/35315
3872 * c-common.c (handle_transparent_union_attribute): Don't
3873 make a duplicate type in C++.
3874
54cf6eed 38752011-03-15 Jason Merrill <jason@redhat.com>
3876
3877 * c-common.c (max_constexpr_depth): New.
3878 * c-common.h: Declare it.
3879 * c-opts.c (c_common_handle_option): Set it.
3880 * c.opt (fconstexpr-depth): New option.
3881
02cb1060 38822011-03-11 Jason Merrill <jason@redhat.com>
3883
9bf1c74e 3884 * c-common.c (attribute_takes_identifier_p): Add missing const.
3885
02cb1060 3886 PR c++/46803
3887 * c-common.c (attribute_takes_identifier_p): Assume that an
3888 unknown attribute takes an identifier.
3889
ecf2703d 38902011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3891
3892 PR c/47786
3893 * c-common.c (c_type_hash): Call list_length instead of iterating
3894 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3895
2b19dfe4 38962011-02-19 Jakub Jelinek <jakub@redhat.com>
3897
3898 PR c/47809
3899 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3900
29cf2335 39012011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3902
3903 * c.opt (fobjc-abi-version=) New.
3904 (fobjc-nilcheck): New.
3905
fad3f658 39062011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3907
3908 PR c++/46890
3909 * c-common.h (keyword_is_decl_specifier): Declare.
3910 * c-common.c (keyword_is_decl_specifier): Define.
3911 (keyword_is_function_specifier): New function.
3912
a12319b3 39132011-01-26 Jakub Jelinek <jakub@redhat.com>
3914
3915 PR c/47473
3916 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3917 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3918 REAL_TYPE.
3919
5c128dc8 39202011-01-26 Arnaud Charlet <charlet@adacore.com>
3921
3922 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3923
8d67b0c7 39242011-01-26 Jakub Jelinek <jakub@redhat.com>
3925
3926 PR pch/47430
3927 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3928 after init_c_lex if pch_file is set.
3929
0675168d 39302011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3931
e8911163 3932 PR c++/43601
0675168d 3933 * c.opt (-fkeep-inline-dllexport): New switch.
3934
0725e25c 39352011-01-12 Richard Guenther <rguenther@suse.de>
3936
3937 PR middle-end/32511
3938 * c-common.c (handle_weak_attribute): Warn instead of error
3939 on declaring an inline function weak.
3940
fdd84b77 39412011-01-05 Tom Tromey <tromey@redhat.com>
3942
3943 * c-common.h (lvalue_error): Update.
3944 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3945 not error.
3946
e6e73d14 39472010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3948
d67e8485 3949 PR objc/47075
3950 * c-objc.h (objc_finish_message_expr): Added argument to
3951 prototype.
3952
a36cf284 39532010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3954
3955 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3956 Use prototype_p.
3957
33b3681f 39582010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3959
3960 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3961 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3962
a1f90215 39632010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3964
3965 * c-common.h (readonly_error): Declare.
3966 * c-common.c (readonly_error): Define.
3967
b1bbc8e5 39682010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3969
3970 * c-common.h (invalid_indirection_error): Declare.
3971 * c-common.c (invalid_indirection_error): Define.
3972
b0d55af9 39732010-12-03 Richard Guenther <rguenther@suse.de>
3974
3975 PR c/46745
3976 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3977 (pp_c_unary_expression): Likewise.
3978 (pp_c_expression): Likewise.
3979
d7489d8d 39802010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3981
3982 * c-common.h (objc_finish_function): New.
3983 (objc_non_volatilized_type): Removed.
3984 (objc_type_quals_match): Removed.
3985 * stub-objc.c (objc_finish_function): New.
3986 (objc_non_volatilized_type): Removed.
3987 (objc_type_quals_match): Removed.
19931eea 3988
92468061 39892010-11-30 Joseph Myers <joseph@codesourcery.com>
3990
3991 * c-common.h (parse_optimize_options): Declare.
3992 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3993 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3994
967958e4 39952010-11-29 Joseph Myers <joseph@codesourcery.com>
3996
3997 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3998 GET_ENVIRONMENT.
3999 * c-pch.c (O_BINARY): Don't define here.
4000 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
4001
b213bf24 40022010-11-25 Joseph Myers <joseph@codesourcery.com>
4003
4004 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
4005 targetm.except_unwind_info.
4006
9faf44d6 40072010-11-23 Joseph Myers <joseph@codesourcery.com>
4008
4009 * c-opts.c (c_common_handle_option): Pass location to
4010 set_struct_debug_option.
4011
79396169 40122010-11-23 Joseph Myers <joseph@codesourcery.com>
4013
4014 * c-common.c (visibility_options): Move from ../opts.c.
4015 * c-common.h (struct visibility_flags, visibility_options):
4016 Declare here.
4017 * c-opts.c (finish_options): Rename to c_finish_options.
4018 (c_common_init): Update call to finish_options.
4019
b4aa4123 40202010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4021
4022 PR objc/34033
4023 * c-lex.c (lex_string): Check that each string in an Objective-C
4024 string concat sequence starts with either one or zero '@', and
4025 that there are no spurious '@' signs at the end.
4026
3e0e49f2 40272010-11-20 Joseph Myers <joseph@codesourcery.com>
4028
4029 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
4030 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
4031 HANDLE_PRAGMA_VISIBILITY.
4032 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
4033 HANDLE_PRAGMA_VISIBILITY): Don't define.
4034 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
4035
a9ffdd35 40362010-11-20 Nathan Froyd <froydnj@codesourcery.com>
4037
4038 PR c++/16189
4039 PR c++/36888
4040 PR c++/45331
4041 * c-common.h (keyword_begins_type_specifier): Declare.
4042 (keyword_is_storage_class_specifier): Declare.
4043 (keyword_is_type_qualifier): Declare.
4044 * c-common.c (keyword_begins_type_specifier): New function.
4045 (keyword_is_storage_class_specifier): New function.
4046 (keyword_is_type_qualifier): Declare.
4047
93be21c0 40482010-11-19 Joseph Myers <joseph@codesourcery.com>
4049
4050 PR c/46547
4051 * c-common.c (in_late_binary_op): Define.
4052 (c_common_truthvalue_conversion): Check in_late_binary_op before
4053 calling c_save_expr.
4054 * c-common.h (in_late_binary_op): Declare.
4055
d7175aef 40562010-11-19 Joseph Myers <joseph@codesourcery.com>
4057
4058 * c-opts.c (c_common_handle_option): Update calls to
4059 set_struct_debug_option.
4060
c213e196 40612010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4062
4063 * c-common.h (objc_declare_protocols): Added additional argument.
4064 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 4065
0b5fc5d6 40662010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4067
4068 PR c/33193
4069 * c-common.h (build_real_imag_expr): Declare.
4070 * c-semantics.c (build_real_imag_expr): Define.
4071
b8ba44e7 40722010-11-17 Joseph Myers <joseph@codesourcery.com>
4073
4074 * c-opts.c (c_common_parse_file): Take no arguments.
4075 * c-common.h (c_common_parse_file): Update prototype.
4076
6ef8d12f 40772010-11-16 Jakub Jelinek <jakub@redhat.com>
4078
4079 PR c++/46401
4080 * c-common.c (warning_candidate_p): Don't track non-const calls
4081 or STRING_CSTs.
4082
929d2a90 40832010-11-15 Ian Lance Taylor <iant@google.com>
4084
4085 * c-lex.c (init_c_lex): Set macro debug callbacks if
4086 flag_dump_go_spec is set.
4087
e4a7640a 40882010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4089
4090 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4091 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4092
597d2d81 40932010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4094
4095 PR preprocessor/45038
4096 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4097 dialects.
4098
c123f04d 40992010-11-12 Joseph Myers <joseph@codesourcery.com>
4100
4101 * c-common.h (c_family_lang_mask): Declare.
4102 * c-opts.c (c_family_lang_mask): Make extern.
4103 * c-pragma.c (handle_pragma_diagnostic): Use
4104 control_warning_option.
4105
3c6c0e40 41062010-11-12 Joseph Myers <joseph@codesourcery.com>
4107
4108 * c-common.c (parse_optimize_options): Update call to
4109 decode_options.
4110 * c-common.h (c_common_handle_option): Update prototype.
4111 * c-opts.c (c_common_handle_option): Take location_t parameter and
4112 pass it to other functions.
4113
19ec5c9e 41142010-11-11 Joseph Myers <joseph@codesourcery.com>
4115
4116 * c-opts.c (warning_as_error_callback): Remove.
4117 (c_common_initialize_diagnostics): Don't call
4118 register_warning_as_error_callback.
4119 (c_common_handle_option): Handle -Werror=normalized= here.
4120
bf776685 41212010-11-10 Joseph Myers <joseph@codesourcery.com>
4122
4123 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4124 in diagnostic.
4125 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4126 letter.
4127 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4128 Remove trailing '.' from diagnostics.
4129 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4130
6bd9d862 41312010-11-10 Joseph Myers <joseph@codesourcery.com>
4132
4133 * c-common.c (parse_optimize_options): Pass global_dc to
4134 decode_options.
4135 * c-opts.c (c_common_handle_option): Pass &global_options to
4136 set_Wstrict_aliasing.
4137 * c.opt (v): Don't mark Common or document here.
4138
1f6616ee 41392010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4140
4141 PR target/44981
4142 * c-format.c (format_type): New type gcc_objc_string_format_type.
4143 (valid_stringptr_type_p): New.
4144 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 4145 (check_format_string): Pass expected type, use
1f6616ee 4146 valid_stringptr_type_p (), check that the format string types are
4147 consistent with the format specification.
4148 (decode_format_attr): Warn if NSString is used outside objective-c.
4149 (format_types_orig): Add NSString.
4150 (format_name): New.
4151 (format_flags): New.
4152 (check_format_arg): Handle format strings requiring an external parser.
4153 first_target_format_type: New variable.
4154 (handle_format_attribute): Set up first_target_format_type, pass the
4155 expected format arg string type to check_format_string().
4156 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4157 * stub-objc.c (objc_string_ref_type_p): New.
4158 (objc_check_format_arg): New.
4159
b0d0931f 41602010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4161
19931eea 4162 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 4163 * c-common.h (objc_build_class_component_ref): New.
4164 * stub-objc.c (objc_build_class_component_ref): New.
4165
f26877d5 41662010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4167
4168 * c.opt (Wproperty-assign-default): New option.
4169
1ef143b6 41702010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4171
4172 Implemented -fobjc-std=objc1 flag.
4173 * c.opt (fobjc-std=objc1): New option.
4174
8c582e4f 41752010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4176
4177 Implemented format and noreturn attributes for Objective-C methods.
4178 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4179 attribute for Objective-C methods.
4180
8637f1db 41812010-10-31 Jason Merrill <jason@redhat.com>
4182
4183 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4184 EXPR_LOC_OR_HERE.
4185
9d9f5bb3 41862010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4187
4188 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4189 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4190 (objc_add_property_declaration): Removed arguments for copies and
4191 ivar.
4192 (objc_build_getter_call): Renamed to
4193 objc_maybe_build_component_ref.
4194 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4195 (objc_is_property_ref): New.
4196 * c-common.c (c_common_reswords): Removed copies and ivar.
4197 * stub-objc.c (objc_add_property_declaration): Removed arguments
4198 for copies and ivar.
4199 (objc_build_getter_call): Renamed to
4200 objc_maybe_build_component_ref.
4201 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4202 (objc_is_property_ref): New.
19931eea 4203
56f907a0 42042010-10-29 Arnaud Charlet <charlet@adacore.com>
4205 Matthew Gingell <gingell@adacore.com>
4206
4207 * c-ada-spec.c (separate_class_package): New function.
4208 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4209 name of their enclosing package.
4210 (print_ada_declaration): Use separate_class_package.
4211
b5fa273e 42122010-10-27 Jason Merrill <jason@redhat.com>
4213
5290e253 4214 * c-common.c (c_common_reswords): Add __is_literal_type.
4215 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4216
b5fa273e 4217 * c-common.c (check_case_value): Remove special C++ code.
4218
7590f0e5 42192010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4220
4221 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4222 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4223 and RID_LAST_PATTR.
4224 (objc_add_property_declaration): Added additional arguments.
4225 (objc_property_attribute_kind): Removed.
4226 (objc_set_property_attr): Removed.
4227 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4228 copy and nonatomic.
4229 * stub-objc.c (objc_add_property_declaration): Added additional
4230 arguments.
4231 (objc_set_property_attr): Removed.
19931eea 4232
1d894bcf 42332010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4234
4235 * c-common.h (objc_add_property_variable): Renamed to
4236 objc_add_property_declaration. Added location argument.
4237 * stub-objc.c (objc_add_property_variable): Same change.
4238
e23bf1fb 42392010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4240
4241 * c-common.h (objc_maybe_printable_name): New.
4242 * stub-objc.c (objc_maybe_printable_name): New.
4243
93426222 42442010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4245 Andrew Pinski <pinskia@gmail.com>
4246
4247 * c-common.h (c_common_mark_addressable_vec): Declare.
4248 * c-common.c (c_common_mark_addressable_vec): New function.
4249
45b2b110 42502010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4251
4252 * c-common.h (objc_set_method_type): Removed.
4253 (objc_add_method_declaration): Added boolean argument.
4254 (objc_start_method_definition): Same change.
4255 (objc_build_method_signature): Same change.
4256 * stub-objc.c (objc_set_method_type): Removed.
4257 (objc_add_method_declaration): Added boolean argument.
4258 (objc_start_method_definition): Same change.
4259 (objc_build_method_signature): Same change.
4260
64cd9619 42612010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4262
4263 * c-common.h (finish_file): Removed.
4264 (objc_write_global_declarations): New.
4265 * c-opts.c (c_common_parse_file): Do not call finish_file.
4266 * stub-objc.c (objc_write_global_declarations): New.
19931eea 4267
e1f293c0 42682010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4269
4270 Implemented parsing @synthesize and @dynamic for
4271 Objective-C/Objective-C++.
4272 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4273 (objc_add_synthesize_declaration): New.
4274 (objc_add_dynamic_declaration): New.
4275 * c-common.c (c_common_reswords): Add synthesize and dynamic.
4276 * stub-objc.c (objc_add_synthesize_declaration): New.
4277 (objc_add_dynamic_declaration): New.
19931eea 4278
ef97a312 42792010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4280
4281 PR target/46041
4282 * c-cppbuiltin.c (mode_has_fma): Move function here from
4283 builtins.c. Don't use the fma optab, instead just use the
4284 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
4285 using -save-temps.
4286
69b07042 42872010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4288
4289 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 4290
69b07042 4291 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
4292
19931eea 4293 Radar 4330422
69b07042 4294 * c-common.h (objc_non_volatilized_type): New declaration
4295 * stub-objc.c (objc_non_volatilized_type): New stub.
4296
f15f2e56 42972010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4298
69b07042 4299 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 4300
4301 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
4302
19931eea 4303 Radar 4133425
f15f2e56 4304 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 4305 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 4306
4a8875ed 43072010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4308
4309 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
4310 * c-common.h (enum rid): Add RID_AT_PACKAGE.
4311 (objc_ivar_visibility_kind): New enum.
4312 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 4313 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 4314 visibility enum.
4315
7e0713b1 43162010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4317
4318 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4319 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4320 has the appropriate fma builtins.
4321 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4322
86c110ac 43232010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4324
7e0713b1 4325 merge from FSF apple 'trunk' branch.
86c110ac 4326 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 4327
86c110ac 4328 Radars 4436866, 4505126, 4506903, 4517826
4329 * c-common.c (c_common_resword): Define @property and its attributes.
4330 * c-common.h: Define property attribute enum entries.
4331 (OBJC_IS_PATTR_KEYWORD): New.
4332 (objc_property_attribute_kind): New enum.
4333 Declare objc_set_property_attr (), objc_add_property_variable (),
4334 objc_build_getter_call () and objc_build_setter_call ().
4335 * stub-objc.c (objc_set_property_attr): New stub.
4336 (objc_add_property_variable): Likewise.
4337 (objc_build_getter_call): Likewise.
4338 (objc_build_setter_call) Likewise.
7e0713b1 4339
40c8d1dd 43402010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4341
7e0713b1 4342 merge from FSF apple 'trunk' branch.
40c8d1dd 4343 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4344
4345 Radar 3803157 (method attributes)
4346 * c-common.c (handle_deprecated_attribute): Recognize
4347 objc methods as valid declarations.
4348 * c-common.h: Declare objc_method_decl ().
7e0713b1 4349 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 4350
f3f006ad 43512010-10-08 Joseph Myers <joseph@codesourcery.com>
4352
4353 * c-common.c (parse_optimize_options): Call
4354 decode_cmdline_options_to_array_default_mask before
4355 decode_options. Update arguments to decode_options.
4356 * c-common.h (c_common_init_options_struct): Declare.
4357 * c-opts.c (c_common_init_options_struct): New. Split out from
4358 c_common_init_options.
4359
0a65c3bb 43602010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4361
4362 Implemented fast enumeration for Objective-C.
4363 * c-common.h (objc_finish_foreach_loop): New.
4364 * stub-objc.c (objc_finish_foreach_loop): New.
4365
24ca3b4e 43662010-10-05 Joseph Myers <joseph@codesourcery.com>
4367
4368 * c-common.h (struct diagnostic_context): Don't declare here.
4369 (c_common_initialize_diagnostics): Declare using
4370 diagnostic_context typedef.
4371 * c-opts.c (c_common_handle_option): Pass global_dc to
4372 handle_generated_option.
4373
f83b64ca 43742010-10-04 Joseph Myers <joseph@codesourcery.com>
4375
4376 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4377 handle_generated_option.
4378
2fdec027 43792010-10-03 Ian Lance Taylor <iant@google.com>
4380
4381 * c.opt (-fplan9-extensions): New option.
4382
41acdfa4 43832010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4384
4385 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4386 Remove.
4387 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4388 of duplicating code.
4389
069761fb 43902010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4391
4392 * c-common.c: Add two new entries for @optional
4393 and @required keywords.
4394
4395 merge from FSF 'apple/trunk' branch.
4396 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4397
4398 Radar 4386773
4399 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4400 objective-c keywords.
4401 (objc_set_method_opt): New declaration.
4402 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 4403
2c5d2e39 44042010-09-30 Joseph Myers <joseph@codesourcery.com>
4405
4406 * c-common.c (handle_optimize_attribute): Pass &global_options to
4407 cl_optimization_save and cl_optimization_restore.
4408 * c-opts.c (c_common_handle_option): Pass &global_options to
4409 handle_generated_option.
4410 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4411 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4412 &global_options to cl_optimization_restore.
4413
e5c75ac3 44142010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4415
4416 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4417 Objective-C/Objective-C++ keywords.
4418
3511333e 44192010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 4420
19931eea 4421 Merge from 'apple/trunk' branch on FSF servers.
4422
e147d6aa 4423 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4424
4425 Radar 4281748
4426 * c-common.h (objc_check_global_decl): New declaration.
4427 * stub-objc.c (objc_check_global_decl): New stub.
4428
5461e683 44292010-09-29 Joseph Myers <joseph@codesourcery.com>
4430
4431 * c.opt: Don't use VarExists.
4432
5ae82d58 44332010-09-29 Joseph Myers <joseph@codesourcery.com>
4434
4435 * c-common.c (c_cpp_error): Update names of diagnostic_context
4436 members.
4437 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4438 cl_optimization members.
4439 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4440 sanitize_cpp_opts, finish_options): Update names of cpp_options
4441 members.
4442
b27e241e 44432010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4444
4445 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4446 (objc_is_reserved_word): Removed.
4447 * c-common.c: Updated comments.
4448 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4449 objc_is_reserved_word.
4450 * stub-objc.c (objc_is_reserved_word): Removed.
4451
03fc2271 44522010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4453
19931eea 4454 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 4455 include attributes.
4456 (objc_start_method_definition): Likewise.
4457 (objc_build_keyword_decl): Likewise.
4458 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4459 (objc_start_method_definition): Likewise.
4460 (objc_build_keyword_decl): Likewise.
4461
a336eb4b 44622010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4463
4464 * c-common.h (objc_start_class_interface): Adjust prototype.
4465 (objc_start_category_interface): Likewise.
4466 (objc_start_protocol): Likewise.
4467 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4468 (objc_start_class_interface): Likewise.
4469 (objc_start_category_interface): Likewise.
4470
48b14f50 44712010-09-27 Ian Lance Taylor <iant@google.com>
4472
4473 * c-common.c (c_common_attribute_table): Add no_split_stack.
4474 (handle_no_split_stack_attribute): New static function.
4475
4abfc532 44762010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4477
19931eea 4478 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 4479
4480 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4481
19931eea 4482 Radar 4229905
4abfc532 4483 * c-common.h (objc_have_common_type): New declaration.
4484 * stub-objc.c (objc_have_common_type): New stub.
4485
4486 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4487
4488 Radar 4154928
4489 * c-common.h (objc_common_type): New prototype.
19931eea 4490 * stub-objc.c (objc_common_type): New stub.
4abfc532 4491
7bd95dfd 44922010-09-24 Jan Hubicka <jh@suse.cz>
4493
4494 * c-common.c (handle_leaf_attribute): New function.
4495 (struct attribute_spec c_common_att): Add leaf.
4496
5789e05b 44972010-09-22 Joseph Myers <joseph@codesourcery.com>
4498
4499 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4500 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4501 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4502 -include-barrier, -include-directory, -include-directory=,
4503 -include-directory-after, -include-directory-after=,
4504 -include-prefix, -include-prefix=, -include-with-prefix,
4505 -include-with-prefix=, -include-with-prefix-after,
4506 -include-with-prefix-after=, -include-with-prefix-before,
4507 -include-with-prefix-before=, -no-integrated-cpp,
4508 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4509 -output=, -pedantic, -pedantic-errors, -preprocess,
4510 -print-missing-file-dependencies, -trace-includes, -traditional,
4511 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4512 -user-dependencies, -verbose, -write-dependencies,
4513 -write-user-dependencies, no-integrated-cpp, traditional): New.
4514
e6fb54ba 45152010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4516
4517 PR objc/23710
9b60f3b0 4518 * c-common.h (objc_start_method_definition): Return bool instead
4519 of void.
4520 * stub-objc.c (objc_start_method_definition): Return bool instead
4521 of void.
4522
45232010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4524
4525 PR objc/25965
4526 * c-common.h (objc_get_interface_ivars): New declaration.
4527 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4528
e44b0a1f 45292010-09-15 Ian Lance Taylor <iant@google.com>
4530
4531 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4532 messages. Remove period at end of warning message.
e44b0a1f 4533
85c0a25c 45342010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4535
4536 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4537 (handle_alias_attribute): ... here.
4538 (handle_ifunc_attribute): New.
4539
5ba33bf4 45402010-09-06 Mark Mitchell <mark@codesourcery.com>
4541
4542 * c-common.h (do_warn_double_promotion): Declare.
4543 * c-common.c (do_warn_double_promotion): Define.
4544
c920faa3 45452010-09-05 Mark Mitchell <mark@codesourcery.com>
4546
4547 * c.opt (Wdouble-promotion): New.
4548
9604e070 45492010-09-02 Joseph Myers <joseph@codesourcery.com>
4550
4551 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4552 fvtable-thunks, fxref): Mark no longer supported in help text.
4553
3b0273a1 45542010-09-02 Joseph Myers <joseph@codesourcery.com>
4555
4556 * c.opt (Wimport, fall-virtual, falt-external-templates,
4557 fdefault-inline, fenum-int-equiv, fexternal-templates,
4558 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4559 fname-mangling-version-, fnew-abi, fnonnull-objects,
4560 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4561 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4562 applicable.
4563 (fhandle-exceptions): Mark with Alias and Warn.
4564 * c-opts.c (c_common_handle_option): Don't handle options marked
4565 as ignored.
4566
67089c6b 45672010-09-02 Joseph Myers <joseph@codesourcery.com>
4568
4569 * c.opt (Wcomments, Werror-implicit-function-declaration,
4570 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4571 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4572 aliases.
4573 * c-common.c (option_codes): Use OPT_Wcomment instead of
4574 OPT_Wcomments.
4575 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4576 Don't handle options marked as aliases.
4577
2af087f2 45782010-08-25 Richard Guenther <rguenther@suse.de>
4579
4580 * c-common.c (c_common_get_alias_set): Remove special
4581 handling for pointers.
4582
48148244 45832010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4584
4585 * c-common.c: Use FOR_EACH_VEC_ELT.
4586 * c-gimplify.c: Likewise.
4587 * c-pragma.c: Likewise.
4588
89c69892 45892010-08-16 Joseph Myers <joseph@codesourcery.com>
4590
4591 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4592 RejectDriver.
4593 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4594 RejectDriver.
4595 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4596 instead of OPT_MDX and OPT_MMDX.
4597
e28aa114 45982010-08-16 Joseph Myers <joseph@codesourcery.com>
4599
4600 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4601
99b66d21 46022010-08-12 Joseph Myers <joseph@codesourcery.com>
4603
4604 * c.opt (MD, MMD): Change to MDX and MMDX.
4605 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4606
666f4bf0 46072010-08-11 Joseph Myers <joseph@codesourcery.com>
4608
4609 * c-opts.c (c_common_handle_option): Call handle_generated_option
4610 instead of handle_option.
4611
5ec815f6 46122010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4613
4614 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4615 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4616
d13143cf 46172010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4618
4619 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4620 (pending_redefine_extname): Change type to a VEC.
4621 (add_to_renaming_pragma_list): Update for new type of
4622 pending_redefine_extname.
5ec815f6 4623 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4624
2008c983 46252010-08-04 Arnaud Charlet <charlet@adacore.com>
4626
4627 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4628 visited.
4629 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4630 decide whether a type has already been declared/seen.
4631 Do not go to the original type.
4632 (dump_nested_types): New parameter forward.
4633 Generate forward declaration if needed and mark type as visited.
4634 (print_ada_declaration): Call dump_nested_types if not already done.
4635 Mark types as visited.
4636
9b091a73 46372010-08-03 Joseph Myers <joseph@codesourcery.com>
4638
4639 * c.opt (-print-pch-checksum): Remove option.
4640 * c-opts.c (c_common_handle_option): Don't handle
4641 OPT_print_pch_checksum.
4642
b78351e5 46432010-07-27 Joseph Myers <joseph@codesourcery.com>
4644
4645 * c-common.h (c_common_handle_option): Update prototype and return
4646 value type.
4647 * c-opts.c (c_common_handle_option): Update prototype and return
4648 value type. Update calls to handle_option and
4649 enable_warning_as_error.
4650
34416a90 46512010-07-27 Jakub Jelinek <jakub@redhat.com>
4652
4653 PR c/45079
4654 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4655
fecf9011 46562010-07-27 Joseph Myers <joseph@codesourcery.com>
4657
4658 * c-common.h (c_common_missing_argument): Remove.
4659 * c-opts.c (c_common_missing_argument): Remove.
4660 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4661 idirafter, imacros, include, isysroot, isystem, iquote): Add
4662 MissingArgError.
4663 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4664
e88d34f6 46652010-07-27 Joseph Myers <joseph@codesourcery.com>
4666
4667 * c-common.h (c_common_option_lang_mask,
4668 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4669 New.
4670 (c_common_init_options): Update prototype.
4671 * c-opts.c (c_common_option_lang_mask): New.
4672 (c_common_initialize_diagnostics): Split out of
4673 c_common_init_options.
4674 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4675 New.
4676 (c_common_init_options): Update prototype. Use decoded options in
4677 search for -lang-asm.
4678
1767a056 46792010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4680
4681 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4682 * c-format.c: Likewise.
4683
0b205f4c 46842010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4685
4686 * c-common.h: Include diagnostic-core.h. Error if already
4687 included.
4688 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4689
1c58e3f1 46902010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4691
1f78217c 4692 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 4693 Do not include expr.h
4694 (vector_mode_valid_p): Move here.
4695
33cc157c 46962010-06-21 DJ Delorie <dj@redhat.com>
4697
4698 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4699 allow these pragmas anywhere.
4700
47012010-06-14 Jakub Jelinek <jakub@redhat.com>
4702
4703 PR bootstrap/44509
4704 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4705 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4706 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4707 ggc_strdup instead of xstrdup.
4708
47092010-06-10 Jakub Jelinek <jakub@redhat.com>
4710
4711 * c-cppbuiltin.c: Include cpp-id-data.h.
4712 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4713 (lazy_hex_fp_value): New function.
4714 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4715
9b40bfbf 47162010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4717
4718 * c-gimplify.c: Do not include tree-flow.h
4719
202d6e5f 47202010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4721
4722 PR other/44034
4723 * c-common.c: Rename targetm member:
4724 targetm.enum_va_list -> targetm.enum_va_list_p
4725
d3237426 47262010-06-28 Anatoly Sokolov <aesok@post.ru>
4727
4728 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4729
596981c8 47302010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4731
4732 * c-cppbuiltin.c: Do not include except.h.
4733
b9bdfa0b 47342010-06-24 Andi Kleen <ak@linux.intel.com>
4735
19931eea 4736 * c-common.c (warn_for_omitted_condop): New.
4737 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4738
55ad092d 47392010-06-21 Joseph Myers <joseph@codesourcery.com>
4740
4741 * c.opt (lang-objc): Remove.
4742 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4743
9e7c2572 47442010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4745
4746 * c-opts.c: Include "tm_p.h".
4747
615ef0bb 47482010-06-20 Joseph Myers <joseph@codesourcery.com>
4749
4750 * c-common.c (parse_optimize_options): Update call to
4751 decode_options.
4752
aef48c9a 47532010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4754
4755 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4756 new type of types_used_by_cur_var_decl.
4757
d74003b4 47582010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4759
4760 PR bootstrap/44512
4761 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4762 for C++ standard compliance.
4763
1194d077 47642010-06-16 Jason Merrill <jason@redhat.com>
4765
4766 * c.opt: Add -Wnoexcept.
4767
d473d901 47682010-06-16 Richard Guenther <rguenther@suse.de>
4769
4770 PR c/44555
4771 * c-common.c (c_common_truthvalue_conversion): Remove
4772 premature and wrong optimization concering ADDR_EXPRs.
4773
b62dbfd3 47742010-06-15 Arnaud Charlet <charlet@adacore.com>
4775
4776 * c-ada-spec.c (dump_sloc): Remove column info.
4777 (is_simple_enum): New function.
4778 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4779 enum types when relevant.
4780
200dd99c 47812010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4782
19931eea 4783 * c-common.c (conversion_warning): Warn at expression
200dd99c 4784 location.
4785
abf6a617 47862010-06-10 Joseph Myers <joseph@codesourcery.com>
4787
4788 * c-opts.c (c_common_handle_option): Don't handle
4789 OPT_fshow_column.
4790
ba72912a 47912010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4792
4793 * c-pragma.c (push_alignment): Use typed GC allocation.
4794 (handle_pragma_push_options): Likewise.
4795
4796 * c-common.c (parse_optimize_options): Likewise.
4797
4798 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4799 option.
4800
4aafe913 48012010-06-07 Joseph Myers <joseph@codesourcery.com>
4802
4803 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4804 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4805 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4806 flag_signed_bitfields, warn_strict_null_sentinel,
4807 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4808 flag_gen_declaration, flag_no_gnu_keywords,
4809 flag_implement_inlines, flag_implicit_templates,
4810 flag_implicit_inline_templates, flag_optional_diags,
4811 flag_elide_constructors, flag_default_inline, flag_rtti,
4812 flag_conserve_space, flag_access_control, flag_check_new,
4813 flag_new_for_scope, flag_weak, flag_working_directory,
4814 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4815 flag_enforce_eh_specs, flag_threadsafe_statics,
4816 flag_pretty_templates): Remove.
4817 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4818 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4819 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4820 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4821 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4822 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4823 flag_no_gnu_keywords, flag_implement_inlines,
4824 flag_implicit_templates, flag_implicit_inline_templates,
4825 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4826 flag_rtti, flag_conserve_space, flag_access_control,
4827 flag_check_new, flag_new_for_scope, flag_weak,
4828 flag_working_directory, flag_use_cxa_atexit,
4829 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4830 flag_threadsafe_statics, flag_pretty_templates,
4831 warn_strict_null_sentinel): Remove.
4832 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4833 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4834 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4835 fimplicit-inline-templates, fimplicit-templates,
4836 flax-vector-conversions, fms-extensions, fnil-receivers,
4837 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4838 frtti, fshort-double, fshort-enums, fshort-wchar,
4839 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4840 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4841 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4842 gen-decls, undef): Use Var.
4843 (fdefault-inline, foptional-diags): Document as doing nothing.
4844 * c-opts.c (c_common_handle_option): Remove cases for options now
4845 using Var. Mark ignored options as such.
4846
7bedc3a0 48472010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4848
19931eea 4849 * c-common.c: Moved to here from parent directory.
7bedc3a0 4850 * c-common.def: Likewise.
4851 * c-common.h: Likewise.
4852 * c-cppbuiltin.c: Likewise.
4853 * c-dump.c: Likewise.
4854 * c-format.c: Likewise.
4855 * c-format.h : Likewise.
4856 * c-gimplify.c: Likewise.
4857 * c-lex.c: Likewise.
4858 * c-omp.c: Likewise.
4859 * c.opt: Likewise.
4860 * c-opts.c: Likewise.
4861 * c-pch.c: Likewise.
4862 * c-ppoutput.c: Likewise.
4863 * c-pragma.c: Likewise.
4864 * c-pragma.h: Likewise.
4865 * c-pretty-print.c: Likewise.
4866 * c-pretty-print.h: Likewise.
4867 * c-semantics.c: Likewise.
4868 * stub-objc.c: Likewise.
4869
4870 * c-common.c: Include gt-c-family-c-common.h.
4871 * c-pragma.c: Include gt-c-family-c-pragma.h.
4872\f
d353bf18 4873Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 4874
4875Copying and distribution of this file, with or without modification,
4876are permitted in any medium without royalty provided the copyright
4877notice and this notice are preserved.