]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
* bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
dc5945dc 12015-05-08 Marek Polacek <polacek@redhat.com>
2
3 PR c/64918
4 * c.opt (Woverride-init-side-effects): New option.
5
cdc64059 62015-05-07 Marek Polacek <polacek@redhat.com>
7
8 PR c/65179
9 * c-common.c (c_fully_fold_internal): Warn when left shifting a
10 negative value.
11 * c.opt (Wshift-negative-value): New option.
12 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
13 when -Wextra and C99/C++11 mode.
14
8cafe283 152015-05-07 Marek Polacek <polacek@redhat.com>
16 Martin Uecker <uecker@eecs.berkeley.edu>
17
18 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
19 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
20
cb40a6f7 212015-05-05 Jason Merrill <jason@redhat.com>
22
23 * c.opt (Wterminate): New.
24
14744a16 252015-04-30 Marek Polacek <polacek@redhat.com>
26
27 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
28 require that the non-constant be of a boolean type.
29
9866562d 302015-04-29 Josh Triplett <josh@joshtriplett.org>
31
8cafe283 32 * c-common.c (handle_section_attribute): Refactor to reduce
33 nesting and distinguish between error cases.
9866562d 34
a720ab1c 352015-04-29 Marek Polacek <polacek@redhat.com>
36
37 PR c/64610
38 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
39 with 0/1.
40
8c072e52 412015-04-29 Jakub Jelinek <jakub@redhat.com>
42
43 * c-common.h (omp_clause_mask): Unconditionally define as a class.
44 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
45 HOST_BITS_PER_WIDE_INT.
46
f7fec1c7 472015-04-28 Tom de Vries <tom@codesourcery.com>
48
49 PR tree-optimization/65887
50 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
51
483b3d26 522015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 53 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 54
55 * c-ada-spec.c (in_function): Delete.
56 (dump_generic_ada_node): Do not change in_function and remove the
57 redundant code dealing with it.
58 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
59 (print_ada_methods): Output the static member functions in a nested
60 package after the regular methods as well as associated renamings.
61
f11bdffb 622015-04-24 Marek Polacek <polacek@redhat.com>
63
64 PR c/65830
65 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
66 and OPT_Wshift_count_overflow.
67
485f6b9c 68 PR c/63357
69 * c-common.c (warn_logical_operator): Warn if the operands have the
70 same expressions.
71
439606a9 722015-04-24 Marek Polacek <polacek@redhat.com>
73
74 PR c/61534
75 * c-common.c (warn_logical_operator): Bail if either operand comes
76 from a macro expansion.
77
de801c28 782015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
79
80 PR target/55143
81 * c-common.c (c_default_pointer_mode): Add definition.
82 * c-common.h (c_default_pointer_mode): Add declaration.
83
76738f56 842015-03-11 Jakub Jelinek <jakub@redhat.com>
85
86 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
87 on record_builtin_type argument.
88
16f958b3 892015-03-10 Jakub Jelinek <jakub@redhat.com>
90
91 PR c/65120
92 * c-common.c (warn_logical_not_parentheses): Don't warn for
93 !x == 0 or !x != 0.
94
9b22f73f 952015-03-07 Marek Polacek <polacek@redhat.com>
96
97 PR sanitizer/65280
98 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
99 before trying to figure out whether we have a flexible array member.
100
a864b7d4 1012015-03-06 Eric Botcazou <ebotcazou@adacore.com>
102 Jonathan Wakely <jwakely.gcc@gmail.com>
103
104 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
105
9bf8c90b 1062015-03-05 Eric Botcazou <ebotcazou@adacore.com>
107
108 PR ada/65319
109 * c-ada-spec.c (print_destructor): Remove obsolete code.
110
037ac54f 1112015-03-01 Eric Botcazou <ebotcazou@adacore.com>
112
113 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
114 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
115 DECL_TEMPLATE_RESULT emulations.
116 (dump_ada_template)): Add guard for TYPE_METHODS.
117
495cbfb8 1182015-02-27 Marek Polacek <polacek@redhat.com>
119
120 PR c/65040
121 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
122
688a864e 1232015-02-27 Kai Tietz <ktietz@redhat.com>
124
125 PR c/35330
126 * c-pragma.c (handle_pragma_weak): Do not try to create
127 weak/alias of declarations not being function, or variable
128 declarations.
129
6349b8cc 1302015-02-24 Thomas Schwinge <thomas@codesourcery.com>
131
132 PR libgomp/64625
133 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
134 Remove macros.
135 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
136
3afd5369 1372015-02-16 Marek Polacek <polacek@redhat.com>
138
139 PR c/65066
140 * c-format.c (check_format_types): Handle null param.
141
46173d1b 1422015-02-13 Marek Polacek <polacek@redhat.com>
143
144 PR c/65040
145 * c-format.c (check_format_types): Don't warn about different
146 signedness if the original value is in the range of WANTED_TYPE.
147
1d524ff7 1482015-02-12 Jason Merrill <jason@redhat.com>
149
150 PR c++/64956
151 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
152 to the current highest version.
153 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
154
bbf8fbec 1552015-02-04 Jakub Jelinek <jakub@redhat.com>
156
157 PR c/64824
158 PR c/64868
159 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
160 instead of RDIV_EXPR. Use build_binary_op instead of
161 build2_loc.
162
c05be867 1632015-01-30 Joseph Myers <joseph@codesourcery.com>
164
165 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
166 to pass input_location as first argument.
167
85977647 1682015-01-23 Tom de Vries <tom@codesourcery.com>
169
170 PR libgomp/64672
171 * c.opt (fopenacc): Mark as LTO option.
172
fa175926 1732015-01-23 Tom de Vries <tom@codesourcery.com>
174
175 PR libgomp/64707
176 * c.opt (fopenmp): Mark as LTO option.
177
20aad5ba 1782015-01-21 Jakub Jelinek <jakub@redhat.com>
179
180 PR c/63307
181 * cilk.c (fill_decls_vec): Only put decls into vector v.
182 (compare_decls): Fix up formatting.
183
1842015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
185
186 PR c/63307
187 * cilk.c: Include vec.h.
188 (struct cilk_decls): New structure.
189 (wrapper_parm_cb): Split this function to...
190 (fill_decls_vec): ...this...
191 (create_parm_list): ...and this.
192 (compare_decls): New function.
193 (for_local_cb): Remove.
194 (wrapper_local_cb): Ditto.
195 (build_wrapper_type): For now first traverse and fill vector of
196 declarations then sort it and then deal with sorted vector.
197 (cilk_outline): Ditto.
198 (declare_one_free_variable): Ditto.
199
60b77e28 2002015-01-21 Jason Merrill <jason@redhat.com>
201
202 PR c++/64629
203 * c-format.c (check_format_arg): Call decl_constant_value.
204
85fbea97 2052015-01-19 Martin Liska <mliska@suse.cz>
206
207 * c-common.c (handle_noicf_attribute): New function.
208
ca4c3545 2092015-01-15 Thomas Schwinge <thomas@codesourcery.com>
210 Bernd Schmidt <bernds@codesourcery.com>
211 James Norris <jnorris@codesourcery.com>
212 Cesar Philippidis <cesar@codesourcery.com>
213 Ilmir Usmanov <i.usmanov@samsung.com>
214 Jakub Jelinek <jakub@redhat.com>
215
216 * c.opt (fopenacc): New option.
217 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
218 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
219 New macros.
220 * c-common.h (c_finish_oacc_wait): New prototype.
221 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
222 (c_finish_oacc_wait): New function.
223 * c-pragma.c (oacc_pragmas): New variable.
224 (c_pp_lookup_pragma, init_pragma): Handle it.
225 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
226 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
227 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
228 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
229 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
230 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
231 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
232 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
233 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
234 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
235 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
236 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
237 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
238 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
239 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
240 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
241 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
242 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
243 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
244 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
245 PRAGMA_OACC_CLAUSE_WORKER.
246
947aa916 2472015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
248
249 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
250 for the new option fstack-protector_explicit.
251 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
252 (handle_stack_protect_attribute): New function.
253
e4fd7af1 2542015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
255
256 * c.opt: New option -Warray-bounds=.
257
1f78217c 2582015-01-09 Michael Collison <michael.collison@linaro.org>
259
260 * array-notation-common.c: Include hash-set.h, machmode.h,
261 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
262 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
263 * c-ada-spec.c: Ditto.
264 * c-cilkplus.c: Ditto.
265 * c-common.c: Include input.h due to flattening of tree.h.
266 Define macro GCC_C_COMMON_C.
267 * c-common.h: Flatten tree.h header files into c-common.h.
268 Remove include of tree-core.h.
269 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
270 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
271 fold-const.h, wide-int.h, and inchash.h due to
272 flattening of tree.h.
273 * c-dump.c: Ditto.
274 * c-format.c: Flatten tree.h header files into c-common.h.
275 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
276 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
277 fold-const.h, wide-int.h, and inchash.h due to
278 flattening of tree.h.
279 * c-dump.c: Include hash-set.h, machmode.h,
280 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
281 fold-const.h, wide-int.h, and inchash.h due to
282 flattening of tree.h.
283 * c-format.c: Include hash-set.h, machmode.h,
284 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
285 fold-const.h, wide-int.h, inchash.h and real.h due to
286 flattening of tree.h.
287 * c-gimplify.c: Include hash-set.h, machmode.h,
288 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
289 fold-const.h, wide-int.h, and inchash.h due to
290 flattening of tree.h.
291 * cilk.c: Ditto.
292 * c-lex.c: Ditto.
293 * c-omp.c: Ditto.
294 * c-opts.c: Ditto.
295 * c-pch.c: Ditto.
296 * c-ppoutput.c: Ditto.
297 * c-pragma.c: Ditto.
298 * c-pretty-print.c: Ditto.
299 * c-semantics.c: Ditto.
300 * c-ubsan.c: Ditto.
301 * stub-objc.c: Ditto.
302
411b7663 3032015-01-08 Jason Merrill <jason@redhat.com>
304
305 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
306 do_ubsan_in_current_function.
307 (ubsan_maybe_instrument_reference_or_call): Likewise.
308 * c-ubsan.h: Declare it.
309
d1e96383 3102015-01-08 Mike Stump <mikestump@comcast.net>
311
312 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
313
b57910fa 3142015-01-07 Marek Polacek <polacek@redhat.com>
315
316 PR c/64440
317 * c-common.c (c_fully_fold_internal): Warn for division and modulo
318 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
319
678a4e3e 3202015-01-05 Trevor Saunders <tsaunders@mozilla.com>
321
322 PR c++/31397
323 * c.opt (Wsuggest-override): New option.
324
d353bf18 3252015-01-05 Jakub Jelinek <jakub@redhat.com>
326
327 Update copyright years.
328
92b63884 3292015-01-05 Marek Polacek <polacek@redhat.com>
330
331 PR c/64423
332 * c-common.c (warn_array_subscript_with_type_char): Add location_t
333 parameter. Use it.
334 * c-common.h (warn_array_subscript_with_type_char): Update
335 declaration.
336
83715bc4 3372014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
338
339 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
340 Control macro with flag_sized_deallocation.
341
8a8211df 3422014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
343
344 * c.opt (Wdiscarded-array-qualifiers): New option.
345
33058239 3462014-12-19 Jakub Jelinek <jakub@redhat.com>
347
348 PR preprocessor/63831
349 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
350 and __has_cpp_attribute here.
351 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
352 c_common_has_attribute.
353 * c-common.h (c_common_has_attribute): New prototype.
354 * c-lex.c (init_c_lex): Set cb->has_attribute to
355 c_common_has_attribute instead of cb_has_attribute.
356 (get_token_no_padding): New function.
357 (cb_has_attribute): Renamed to ...
358 (c_common_has_attribute): ... this. No longer static. Use
359 get_token_no_padding, require ()s, don't build TREE_LIST
360 unnecessarily, fix up formatting, adjust diagnostics, call
361 init_attributes.
362
d1856d2c 3632014-12-15 Jason Merrill <jason@redhat.com>
364
365 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
366 (-Wsized-deallocation): New.
367 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
368 to on in C++14 and up.
369
4972ed5d 3702014-12-11 Jason Merrill <jason@redhat.com>
371
7d7fa964 372 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
373
4972ed5d 374 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
375 we aren't complaining about VLAs.
376
5ebccf71 3772014-12-06 Marek Polacek <polacek@redhat.com>
378
379 PR tree-optimization/64183
380 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
381 shift-expression if it is integer_type_node. Use types_compatible_p.
382
f9e245b2 3832014-11-29 Jakub Jelinek <jakub@redhat.com>
384
385 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
386 last argument from create_tmp_var_raw and create_tmp_var calls.
387 * cilk.c (gimplify_cilk_spawn): Likewise.
388 * c-omp.c (c_finish_omp_atomic): Likewise.
389
d2f60593 3902014-11-28 Marek Polacek <polacek@redhat.com>
391
392 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
393 instead of unsigned_type_node.
394
fce2dbd1 3952014-11-28 Marek Polacek <polacek@redhat.com>
396
397 PR c/63862
398 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
399 to op1_utype.
400 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
401 expression to unsigned_type_node.
402
3a4a2292 4032014-11-20 Mark Wielaard <mjw@redhat.com>
404
405 PR debug/38757
406 * c-opts.c (set_std_c89): Set lang_hooks.name.
407 (set_std_c99): Likewise.
408 (set_std_c11): Likewise.
409 (set_std_cxx98): Likewise.
410 (set_std_cxx11): Likewise.
411 (set_std_cxx14): Likewise.
412 (set_std_cxx1z): Likewise.
413
c61ef207 4142014-11-21 Jakub Jelinek <jakub@redhat.com>
415
416 PR target/63764
417 * c-common.h (convert_vector_to_pointer_for_subscript): Change
418 return type to bool.
c9ed79de 419 * c-common.c: Include gimple-expr.h.
c61ef207 420 (convert_vector_to_pointer_for_subscript): Change return type to
421 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
422 and copy it into a TARGET_EXPR and use that instead of *vecp
423 directly.
424
1a91d914 4252014-11-19 David Malcolm <dmalcolm@redhat.com>
426
427 Merger of git branch "gimple-classes-v2-option-3".
428 * ChangeLog.gimple-classes: New.
429 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
430 from being just a vec<gimple> to a vec<gbind *>.
431
f8fc8b8e 4322014-11-18 Jakub Jelinek <jakub@redhat.com>
433
434 PR sanitizer/63813
435 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
436 argument to ptype, set type to TREE_TYPE (ptype). Don't call
437 get_pointer_alignment for non-pointers. Use ptype, or if it is
438 reference type, corresponding pointer type, as type of kind
439 argument.
440 (ubsan_maybe_instrument_reference,
441 ubsan_maybe_instrument_member_call): Adjust callers.
442
8315e35e 4432014-11-15 Marek Polacek <polacek@redhat.com>
444
445 PR middle-end/63884
446 * array-notation-common.c (is_sec_implicit_index_fn): Return false
447 for NULL fndecl.
448 (extract_array_notation_exprs): Return for NULL node.
449
86b9f14b 4502014-11-12 Joseph Myers <joseph@codesourcery.com>
451
452 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
453 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
454
0c93c8a9 4552014-11-12 Jakub Jelinek <jakub@redhat.com>
456
457 PR c/59708
458 * c-common.c (check_builtin_function_arguments): Handle
459 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
460
fdd735a7 4612014-11-10 Andi Kleen <ak@linux.intel.com>
462
463 PR c/60804
464 * c-common.h (check_no_cilk): Declare.
465 * cilk.c (get_error_location): New function.
466 (check_no_cilk): Dito.
467
5cb678b4 4682014-11-10 Andi Kleen <ak@linux.intel.com>
469
470 * cilk.c (recognize_spawn): Use expression location
471 for error message.
472
0feb4de1 4732014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
474
475 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
476
3aa2fa44 4772014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
478
479 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
480 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
481 (__cpp_range_based_for, __cpp_initializer_lists,
482 __cpp_delegating_constructors, __cpp_nsdmi,
483 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
484 for C++11; (__cpp_attribute_deprecated): Remove in favor of
485 __has_cpp_attribute.
486 * c-lex.c (cb_has_attribute): New callback CPP function;
487 (init_c_lex): Set has_attribute callback.
488
7fd22aae 4892014-11-04 Richard Biener <rguenther@suse.de>
490
491 * c-common.c (shorten_compare): Do not shorten mixed
492 DFP and non-DFP compares.
493
4af203ac 4942014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
495
496 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
497 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
498 Commentary and rearrangement of tests.
499 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
500 Commentary and rearrangement of tests.
501 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
502 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
503
3754d046 5042014-10-29 Richard Sandiford <richard.sandiford@arm.com>
505
506 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
507 enum from machine_mode.
508
1140c305 5092014-10-28 Andrew MacLeod <amacleod@redhat.com>
510
1f78217c 511 * c-common.c: Adjust include files.
512 * c-gimplify.c: Ditto.
513 * cilk.c: Ditto.
514 * c-pragma.c: Ditto.
515 * c-ubsan.c: Ditto.
1140c305 516
94ea8568 5172014-10-27 Andrew MacLeod <amacleod@redhat.com>
518
519 * c-gimplify.c: Adjust include files.
520
32ecf960 5212014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
522
523 PR c++/53061
524 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
525 c_common_initialize_diagnostics.
526 * c-common.h: Likewise.
527
85fecbe2 5282014-10-24 Marek Polacek <polacek@redhat.com>
529
530 PR c/56980
531 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
532 print "struct"/"union"/"enum" for typedefed names.
533
e7ec033a 5342014-10-23 Marek Polacek <polacek@redhat.com>
535
536 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
537 in unsigned type.
538
c2598081 5392014-10-22 Jakub Jelinek <jakub@redhat.com>
540 Yury Gribov <y.gribov@samsung.com>
541
542 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
543 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
544 instead of flag_sanitize_recover as bool flag.
545
acebb7e2 5462014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
547
548 * cilk.c: Revert previous change.
549
6115016c 5502014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
551
552 PR c/63307
553 * cilk.c: Include vec.h.
554 (struct cilk_decls): New structure.
555 (wrapper_parm_cb): Split this function to...
556 (fill_decls_vec): ...this...
557 (create_parm_list): ...and this.
558 (compare_decls): New function.
559 (for_local_cb): Remove.
560 (wrapper_local_cb): Ditto.
561 (build_wrapper_type): For now first traverse and fill vector of
562 declarations then sort it and then deal with sorted vector.
563 (cilk_outline): Ditto.
564 (declare_one_free_variable): Ditto.
565
e610d2b2 5662014-10-17 Marek Polacek <polacek@redhat.com>
567
568 * c-opts.c (c_common_post_options): Set warn_implicit_int.
569 * c.opt (Wimplicit-int): Initialize to -1.
570
a3020f2f 5712014-10-16 Andrew MacLeod <amacleod@redhat.com>
572
573 * c-pragma.c: Adjust include files.
574 * c-semantics.c: Likewise.
575
926ddd2c 5762014-10-16 DJ Delorie <dj@redhat.com>
577
578 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
579 multiples of bytes.
580
b0542e7c 5812014-10-14 Jason Merrill <jason@redhat.com>
582
583 PR c++/63455
584 * c-common.h (CPP_PREPARSED_EXPR): New.
585 (N_CP_TTYPES): Adjust.
586
b2601928 5872014-10-15 Marek Polacek <polacek@redhat.com>
588
589 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
590
9f75f026 5912014-10-14 DJ Delorie <dj@redhat.com>
592
593 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
594 types, not just __int128.
595 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
596 types, not just __int128.
597 (cpp_atomic_builtins): Round pointer sizes up.
598 (type_suffix): Use type precision, not specific types.
599 * c-common.c (c_common_reswords): Remove __int128 special case.
600 (c_common_type_for_size): Check for all __intN types, not just
601 __int128.
602 (c_common_type_for_mode): Likewise.
603 (c_common_signed_or_unsigned_type): Likewise.
604 (c_build_bitfield_integer_type): Likewise.
605 (c_common_nodes_and_builtins): Likewise.
606 (keyword_begins_type_specifier): Likewise.
607 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
608 __intN variants.
609
2ef51f0e 6102014-10-12 Trevor Saunders <tsaunders@mozilla.com>
611
612 * c-common.c: Use hash_table instead of hashtab.
613
5b8257e3 6142014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
615
1f78217c 616 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 617 C++11 section.
618
5e84569c 6192014-10-03 Marc Glisse <marc.glisse@inria.fr>
620
621 PR c++/54427
622 PR c++/57198
623 PR c++/58845
624 * c-common.c (warn_logical_operator): Punt for vectors.
625
f6751ff2 6262014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
627
628 Implement SD-6: SG10 Feature Test Recommendations
629 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
630 macros and the __has_header macro.
631
c33e051d 6322014-09-30 Jason Merrill <jason@redhat.com>
633
f76a9aa8 634 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
635 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
636 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
637
717e52f9 638 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
639 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
640
c33e051d 641 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
642 * c-common.c (c_common_reswords): Remove __is_convertible_to.
643
5213d6c9 6442014-09-24 Marek Polacek <polacek@redhat.com>
645
646 PR c/61405
647 PR c/53874
648 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
649
6b722052 6502014-09-23 Andi Kleen <ak@linux.intel.com>
651
652 * c-common.c (handle_no_reorder_attribute): New function.
653 (c_common_attribute_table): Add no_reorder attribute.
654
0cb69d12 6552014-09-22 Joseph Myers <joseph@codesourcery.com>
656
657 * c-cppbuiltin.c (c_cpp_builtins): Define
658 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
659 modes.
660
168dfbf0 6612014-09-18 Joseph Myers <joseph@codesourcery.com>
662
663 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
664 for supported floating-point modes.
665
b83705f4 6662014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
667
668 * c.opt (Wpsabi): Use LangEnabledBy.
669 * c-opts.c (c_common_handle_option): Do not handle here.
670
d5957f0d 6712014-09-12 Joseph Myers <joseph@codesourcery.com>
672
673 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
674 macros for floating-point modes.
675
bae6edff 6762014-09-11 Marc Glisse <marc.glisse@inria.fr>
677
678 PR target/58757
679 * c-cppbuiltin.c (builtin_define_float_constants): Correct
680 __*_DENORM_MIN__ without denormals.
681
73a69d02 6822014-09-10 Jakub Jelinek <jakub@redhat.com>
683
684 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
685 ubsan_instrument_vla, ubsan_instrument_return): Adjust
686 ubsan_create_data callers.
687 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
688 index is constant or BIT_AND_EXPR with constant mask and is
689 small enough for the bound.
690 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
691 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
692
7ff8db31 6932014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
694
695 * c.opt: Add CppReason to various flags.
696 (Wdate-time): Re-sort.
697 * c-common.c: Include c-common.h earlier.
698 (struct reason_option_codes_t): Delete.
699 (c_option_controlling_cpp_error): Prefix global type and struct
700 with cpp_.
701
bcc1f37e 7022014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
703
704 * c.opt (Wnormalized): New.
705 (Wnormalized=): Use Enum and Reject Negative.
706 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
707
b660d3c6 7082014-09-08 Joseph Myers <joseph@codesourcery.com>
709
710 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
711 digits of floating-point modes if -fbuilding-libgcc.
712
325b8c3c 7132014-09-05 Joseph Myers <joseph@codesourcery.com>
714
715 * c-cppbuiltin.c (c_cpp_builtins): Also define
716 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
717 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
718 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
719 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
720 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
721 __LIBGCC_STACK_GROWS_DOWNWARD__,
722 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
723 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
724 __LIBGCC_DWARF_FRAME_REGISTERS__,
725 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
726 __LIBGCC_STACK_POINTER_REGNUM__ and
727 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
728 (builtin_define_with_value): Handle backslash-escaping in string
729 macro values.
730
1e074e77 7312014-09-05 Richard Biener <rguenther@suse.de>
732
733 PR middle-end/63148
734 * c-format.c (check_format_arg): Properly handle
735 effectively signed POINTER_PLUS_EXPR offset.
736
04afd878 7372014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
738
739 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
740 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
741 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
742 and Init.
743 * c-opts.c (c_common_handle_option): Do not handle here.
744 (sanitize_cpp_opts): Likewise.
745 * c-common.c (struct reason_option_codes_t): Handle
746 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
747
a3f448f0 7482014-09-03 Marek Polacek <polacek@redhat.com>
749
750 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
751
40750995 7522014-09-02 Jakub Jelinek <jakub@redhat.com>
753 Balaji V. Iyer <balaji.v.iyer@intel.com>
754 Igor Zamyatin <igor.zamyatin@intel.com>
755
756 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
757 * c-common.c (c_common_reswords): Added _Cilk_for.
758 * c-common.h (enum rid): Added RID_CILK_FOR.
759 (cilk_for_number_of_iterations): Add declaration.
760 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
761 CILK_FOR.
762 * c-pragma.c (init_pragma): Register "grainsize" pragma.
763 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
764
f0fbe519 7652014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
766
767 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
768 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
769 Wundef): Use CPP, Var and Init.
770 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
771
a7d2e480 7722014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
773
774 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
775 * c-opts.c (c_common_handle_option): Do not handle here.
776
c35e53f1 7772014-08-25 Jason Merrill <jason@redhat.com>
778
779 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
780 -std=c++14 and -std=gnu++14, rather than the reverse.
781 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
782 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
783 * c-common.h (cxx_dialect): Remove cxx1y.
784
4e454776 7852014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
786
787 * c-common.h (enum cxx_dialect): Add cxx14.
788 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
789 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
790 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
791
af1a80f2 7922014-08-22 Jason Merrill <jason@redhat.com>
793
794 * c.opt (std=gnu++17): Fix alias.
795
dc6229e8 7962014-08-22 Marek Polacek <polacek@redhat.com>
797
798 PR c++/62199
799 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
800 check for vector types. Drop LHS argument.
801 * c-common.h (warn_logical_not_parentheses): Adjust.
802
ba7f7c88 8032014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
804
805 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
806 (Wmultichar): Likewise.
807 (Wdate-time): Use C-family languages instead of Common. Use CPP
808 and Var.
809 * c-opts.c (c_common_handle_option): Do not handle the above
810 options here.
811 (sanitize_cpp_opts): Likewise.
812
399d4f80 8132014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
814
815 PR fortran/44054
816 * c-opts.c: Include tree-diagnostics.h.
817 (c_diagnostic_finalizer): New.
818 (c_common_initialize_diagnostics): Use it.
819
1babed5f 8202014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
821
822 PR preprocessor/51303
823 * c-common.c (struct reason_option_codes_t option_codes):
824 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
825
3636964b 8262014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
827
828 PR c/60975
829 PR c/53063
830 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
831 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
832 (c_common_post_options): Call init_global_opts_from_cpp.
833 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
834
78bf4156 8352014-08-19 Marek Polacek <polacek@redhat.com>
836
837 PR c++/62153
838 * c-common.c (maybe_warn_bool_compare): New function.
839 * c-common.h (maybe_warn_bool_compare): Declare.
840 * c.opt (Wbool-compare): New option.
841
508ea33a 8422014-08-19 Marek Polacek <polacek@redhat.com>
843
844 * c.opt (Wc99-c11-compat): New option.
845
806fe15e 8462014-08-19 Marek Polacek <polacek@redhat.com>
847
848 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
849 to warn_c90_c99_compat.
850 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
851 to -1.
852
6c867de1 8532014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
854 Steven Bosscher <steven@gcc.gnu.org>
855
856 PR c/52952
857 * c-format.c: Add extra_arg_loc and format_string_loc to struct
858 format_check_results.
859 (check_function_format): Use true and add comment for boolean
860 argument.
861 (finish_dollar_format_checking): Use explicit location when warning.
862 (check_format_info): Likewise.
863 (check_format_arg): Set extra_arg_loc and format_string_loc.
864 (check_format_info_main): Use explicit location when warning.
865 (check_format_types): Pass explicit location.
866 (format_type_warning): Likewise.
867
dc8078a3 8682014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
869
870 PR fortran/44054
871 * c-format.c: Handle Fortran flags.
872
d271ec7e 8732014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
874
875 PR other/61962
876 * array-notation-common.c (find_rank): Added handling for other
877 types of references.
878
890c2e2f 8792014-08-10 Marek Polacek <polacek@redhat.com>
880
881 PR c/51849
882 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
883 * c.opt (Wc90-c99-compat): Add option.
884
7149db5f 8852014-08-07 Trevor Saunders <tsaunders@mozilla.com>
886
887 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
888
2d2f6a15 8892014-08-03 Marek Polacek <polacek@redhat.com>
890
891 * c-common.c (check_case_value): Add location_t parameter. Use it.
892 (c_add_case_label): Pass loc to check_case_value.
893
06ecf488 8942014-08-02 Trevor Saunders <tsaunders@mozilla.com>
895
896 * cilk.c: Use hash_map instead of pointer_map.
897
431205b7 8982014-08-02 Trevor Saunders <tsaunders@mozilla.com>
899
900 * c-gimplify.c: Use hash_set instead of pointer_set.
901
3394c80c 9022014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
903
904 PR middle-end/61455
905 * array-notation-common.c (extract_array_notation_exprs): Handling
906 of DECL_EXPR added.
907
392dee1e 9082014-08-01 Jakub Jelinek <jakub@redhat.com>
909
910 * c-common.h (min_align_of_type): Removed prototype.
911 * c-common.c (min_align_of_type): Removed.
912 * c-ubsan.h (ubsan_maybe_instrument_reference,
913 ubsan_maybe_instrument_member_call): New prototypes.
914 * c-ubsan.c: Include stor-layout.h and builtins.h.
915 (ubsan_maybe_instrument_reference_or_call,
916 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
917 functions.
918
f22a2cb7 9192014-07-31 Marc Glisse <marc.glisse@inria.fr>
920
921 PR c++/60517
922 * c.opt (-Wreturn-local-addr): Move to common.opt.
923
87b0198f 9242014-07-30 Jason Merrill <jason@redhat.com>
925
926 PR c++/61659
927 PR c++/61687
928 Revert:
929 * c.opt (-fuse-all-virtuals): New.
930
74691f46 9312014-07-30 Tom Tromey <tromey@redhat.com>
932
933 PR c/59855
934 * c.opt (Wdesignated-init): New option.
935 * c-common.c (c_common_attribute_table): Add "designated_init".
936 (handle_designated_init): New function.
937
9140d56f 9382014-07-24 Marek Polacek <polacek@redhat.com>
939
940 PR c/57653
941 * c-opts.c (c_finish_options): If -imacros is in effect, return.
942
a09c5cc2 9432014-07-16 Dodji Seketeli <dodji@redhat.com>
944
945 PR preprocessor/60723 - missing system-ness marks for macro tokens
946 * c-ppoutput.c (struct print::prev_was_system_token): New data
947 member.
948 (init_pp_output): Initialize it.
949 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
950 (do_line_change): Return a flag saying if a line marker was
951 emitted or not.
952 (scan_translation_unit): Detect if the system-ness of the token we
953 are about to emit is different from the one of the previously
954 emitted token. If so, emit a line marker. Avoid emitting useless
955 adjacent line markers. Avoid emitting line markers for tokens
956 originating from the expansion of built-in macros.
957 (scan_translation_unit_directives_only): Adjust.
958
2b25b62f 9592014-07-15 Marek Polacek <polacek@redhat.com>
960
961 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
962 TYPE_MAX_VALUE is NULL.
963
305d96bc 9642014-07-14 Jakub Jelinek <jakub@redhat.com>
965
966 PR middle-end/61294
967 * c.opt (Wmemset-transposed-args): New warning.
968
8ea4660d 9692014-07-10 Jason Merrill <jason@redhat.com>
970
971 PR c++/61659
972 PR c++/61687
973 * c.opt (-fuse-all-virtuals): New.
974
cd480f3d 9752014-07-09 Richard Biener <rguenther@suse.de>
976
977 PR c-family/61741
978 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
979 using unsigned arithmetic if overflow does not wrap instead of
980 if overflow is undefined.
981
87d59e72 9822014-07-06 Marek Polacek <polacek@redhat.com>
983
984 PR c/6940
985 * c.opt (Wsizeof-array-argument): New option.
986
d69521d8 9872014-07-03 Jakub Jelinek <jakub@redhat.com>
988
989 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
990 comments->count <= 1, as comments->entries might be NULL.
991
1207866e 9922014-07-01 Marek Polacek <polacek@redhat.com>
993
994 * c.opt (Wint-conversion): New option.
995
7a6bbb76 9962014-07-01 Marek Polacek <polacek@redhat.com>
997
998 PR c/58286
999 * c.opt (Wincompatible-pointer-types): New option.
1000
9d4eeb52 10012014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1002
1003 PR c++/51400
1004 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1005 Do not discard TYPE_QUALS of type.
1006
4b53bc0f 10072014-06-26 Jason Merrill <jason@redhat.com>
1008
1009 * c-common.h (enum cxx_dialect): Add cxx1z.
1010 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1011 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1012
a8a8d4ea 10132014-06-26 Teresa Johnson <tejohnson@google.com>
1014
1015 * c-common.h (get_dump_info): Declare.
1016 * c-gimplify.c (c_genericize): Use saved dump files.
1017 * c-opts.c (c_common_parse_file): Begin and end dumps
1018 once around parsing invocation.
1019 (get_dump_info): New function.
1020
1f6be080 10212014-06-23 Marek Polacek <polacek@redhat.com>
1022 Andrew MacLeod <amacleod@redhat.com>
1023
1024 PR c/61553
1025 * c-common.c (get_atomic_generic_size): Don't segfault if the
1026 type doesn't have a size.
1027
5ef6b660 10282014-06-20 Marek Polacek <polacek@redhat.com>
1029
1030 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
1031 (ubsan_walk_array_refs_r): New function.
1032 (c_genericize): Instrument array bounds.
1033 * c-ubsan.c: Include "internal-fn.h".
1034 (ubsan_instrument_division): Mark instrumented arrays as having
1035 side effects. Adjust ubsan_type_descriptor call.
1036 (ubsan_instrument_shift): Likewise.
1037 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1038 (ubsan_instrument_bounds): New function.
1039 (ubsan_array_ref_instrumented_p): New function.
1040 (ubsan_maybe_instrument_array_ref): New function.
1041 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1042 (ubsan_array_ref_instrumented_p): Declare.
1043 (ubsan_maybe_instrument_array_ref): Declare.
1044
10452014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 1046
1047 PR lto/61123
1048 * c.opt (fshort-enums): Add to LTO.
1049 * c.opt (fshort-wchar): Likewise.
1050
78438f31 10512014-06-16 Marek Polacek <polacek@redhat.com>
1052
1053 PR c/60439
1054 * c.opt (Wswitch-bool): Add Var.
1055
5fddcf34 10562014-06-12 Jakub Jelinek <jakub@redhat.com>
1057
1058 PR middle-end/61486
1059 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1060 #pragma omp target teams or
1061 #pragma omp {,target }teams distribute simd.
1062
74b777e5 10632014-06-12 Jason Merrill <jason@redhat.com>
1064
1065 * c.opt (Wabi=, fabi-compat-version): New.
1066 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1067 (c_common_post_options): Handle flag_abi_compat_version default.
1068 Disallow -fabi-compat-version=1.
1069 * c-common.h (abi_version_crosses): New.
1070
738a6bda 10712014-06-11 Jan Hubicka <hubicka@ucw.cz>
1072
1f78217c 1073 * c-common.c (handle_section_attribute): Update handling for
738a6bda 1074 section names that are no longer trees.
1075
cf5f881f 10762014-06-10 Jakub Jelinek <jakub@redhat.com>
1077
1078 PR fortran/60928
1079 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1080 (omp_pragmas): ... back here.
1081
32dc1512 10822014-06-05 Marek Polacek <polacek@redhat.com>
1083
1084 PR c/49706
1085 * c-common.c (warn_logical_not_parentheses): New function.
1086 * c-common.h (warn_logical_not_parentheses): Declare.
1087 * c.opt (Wlogical-not-parentheses): New option.
1088
f61a9bc2 10892014-06-04 Marek Polacek <polacek@redhat.com>
1090
1091 PR c/30020
1092 * c-common.c (check_case_bounds): Add location parameter.
1093 Use it.
1094 (c_add_case_label): Pass loc to check_case_bounds.
1095
c69ec07d 10962014-06-03 Marek Polacek <polacek@redhat.com>
1097
1098 PR c/60439
1099 * c.opt (Wswitch-bool): New option.
1100
3c77ca67 11012014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1102
68a2c870 1103 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1104 Remove prototypes.
1105 (record_types_used_by_current_var_decl): Move prototype to where
1106 it belongs.
1107
3c77ca67 1108 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1109 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1110 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1111
3ab4693e 11122014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1113
1114 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1115 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1116 void_zero_node.
1117 * c-pretty-print.c (pp_c_void_constant): New function.
1118 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1119 (c_pretty_printer::expression): Handle VOID_CST.
1120 * cilk.c (extract_free_variables): Likewise.
1121 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1122 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1123
25a27413 11242014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1125
1126 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1127 * c-pragma.c (push_alignment): Adjust.
1128 (handle_pragma_push_options): Likewise.
1129
3e5a8b00 11302014-05-09 Marek Polacek <polacek@redhat.com>
1131
1132 PR c/50459
1133 * c-common.c (check_user_alignment): Return -1 if alignment is error
1134 node.
1135 (handle_aligned_attribute): Don't call default_conversion on
1136 FUNCTION_DECLs.
1137 (handle_vector_size_attribute): Likewise.
1138 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1139 (handle_sentinel_attribute): Call default_conversion and allow even
1140 integral types as an argument.
1141
c2c4ae8d 11422014-05-08 Marek Polacek <polacek@redhat.com>
1143
1144 PR c/61053
1145 * c-common.c (min_align_of_type): New function factored out from...
1146 (c_sizeof_or_alignof_type): ...here.
1147 * c-common.h (min_align_of_type): Declare.
1148
2026249a 11492014-05-08 Marek Polacek <polacek@redhat.com>
1150
1151 PR c/61077
1152 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1153 parameter type of main.
1154
33c8dcfe 11552014-05-07 DJ Delorie <dj@redhat.com>
1156
1157 * c-cppbuiltin.c (print_bits_of_hex): New.
1158 (builtin_define_type_minmax): Print values using hex so as not to
1159 require a pre-computed list of string values.
1160
960d5a55 11612014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1162 Mike Stump <mikestump@comcast.net>
1163 Richard Sandiford <rdsandiford@googlemail.com>
1164
1165 * c-ada-spec.c: Include wide-int.h.
1166 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1167 (dump_generic_ada_node): Use wide-int interfaces.
1168 * c-common.c: Include wide-int-print.h.
1169 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1170 (pointer_int_sum): Use wide-int interfaces.
1171 (c_common_nodes_and_builtins): Use make_int_cst.
1172 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1173 (handle_alloc_size_attribute): Use wide-int interfaces.
1174 (get_nonnull_operand): Likewise.
1175 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1176 * c-lex.c: Include wide-int.h.
1177 (narrowest_unsigned_type): Take a widest_int rather than two
1178 HOST_WIDE_INTs.
1179 (narrowest_signed_type): Likewise.
1180 (interpret_integer): Update accordingly. Use wide-int interfaces.
1181 (lex_charconst): Use wide-int interfaces.
1182 * c-pretty-print.c: Include wide-int.h.
1183 (pp_c_integer_constant): Use wide-int interfaces.
1184 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1185 INT_CST_LT_UNSIGNED.
1186
bbb88b31 11872014-05-06 Richard Biener <rguenther@suse.de>
1188
1189 * c-opts.c (c_common_post_options): For -freestanding,
1190 -fno-hosted and -fno-builtin disable pattern recognition
1191 if not enabled explicitely.
1192
022d4718 11932014-05-02 Marek Polacek <polacek@redhat.com>
1194
1195 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1196
e4ab2ef3 11972014-05-01 Marek Polacek <polacek@redhat.com>
1198
1199 PR c/43245
1200 * c.opt (Wdiscarded-qualifiers): Add.
1201
52cc0072 12022014-04-30 Marek Polacek <polacek@redhat.com>
1203
1204 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1205 INT_MIN / -1 sanitization only for integer types.
1206
4a026b48 12072014-04-25 Marek Polacek <polacek@redhat.com>
1208
1209 PR c/18079
1210 * c-common.c (handle_noinline_attribute): Warn if the attribute
1211 conflicts with always_inline attribute.
1212 (handle_always_inline_attribute): Warn if the attribute conflicts
1213 with noinline attribute.
1214
90e645fa 12152014-04-25 Marek Polacek <polacek@redhat.com>
1216
1217 PR c/60156
1218 * c-common.c (check_main_parameter_types): Warn about variadic main.
1219
db103ea4 12202014-04-24 Mike Stump <mikestump@comcast.net>
1221
1222 * c.opt (Wshadow-ivar): Default to on.
1223
06511efd 12242014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1225
1226 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1227
cdf34fca 12282014-04-23 Marek Polacek <polacek@redhat.com>
1229
1230 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1231
7311d7c1 12322014-04-22 Jakub Jelinek <jakub@redhat.com>
1233
1234 PR sanitizer/60275
1235 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1236 if flag_sanitize_undefined_trap_on_error.
1237 (ubsan_instrument_division, ubsan_instrument_shift,
1238 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1239 if !flag_sanitize_recover.
1240
c1917557 12412014-04-22 Marc Glisse <marc.glisse@inria.fr>
1242
1243 PR libstdc++/43622
1244 * c-common.c (registered_builtin_types): Make non-static.
1245 * c-common.h (registered_builtin_types): Declare.
1246
b2ca6510 12472014-04-14 Richard Biener <rguenther@suse.de>
1248 Marc Glisse <marc.glisse@inria.fr>
1249
1250 PR c/60819
1251 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1252 apply may-alias the scalar pointer type when applicable.
1253
855372a3 12542014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1255
1256 PR middle-end/60467
1257 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1258 as possible argument for Cilk_spawn.
1259
4012a986 12602014-04-11 Tobias Burnus <burnus@net-b.de>
1261
1262 PR c/60194
1263 * c.opt (Wformat-signedness): Add
1264 * c-format.c(check_format_types): Use it.
1265
0d284870 12662014-04-11 Jason Merrill <jason@redhat.com>
1267
1268 PR c++/57926
1269 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
1270 default_conversion for an array argument.
1271
a34c1231 12722014-04-08 Marek Polacek <polacek@redhat.com>
1273
1274 PR sanitizer/60745
1275 * c-ubsan.c: Include asan.h.
1276 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
1277
a35a8e18 12782014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1279
1280 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
1281
b23e42b6 12822014-04-02 Marek Polacek <polacek@redhat.com>
1283
1284 * c-common.h (c_expand_expr): Remove declaration.
1285
5a672e62 12862014-03-28 Jakub Jelinek <jakub@redhat.com>
1287
1288 PR c++/60689
1289 * c-common.c (add_atomic_size_parameter): When creating new
1290 params vector, push the size argument first.
1291
d4d068c0 12922014-03-26 Jakub Jelinek <jakub@redhat.com>
1293
1294 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1295 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1296 ubsan_create_data callers.
1297
446bdf5f 12982014-03-22 Jakub Jelinek <jakub@redhat.com>
1299
1300 PR debug/60603
1301 * c-opts.c (c_finish_options): Restore cb_file_change call to
1302 <built-in>.
1303
8895f0a3 13042014-03-13 Jakub Jelinek <jakub@redhat.com>
1305
1306 PR middle-end/36282
1307 * c-pragma.c (apply_pragma_weak): Only look at
1308 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1309 DECL_ASSEMBLER_NAME_SET_P (decl).
1310 (maybe_apply_pending_pragma_weaks): Exit early if
1311 vec_safe_is_empty (pending_weaks) rather than only when
1312 !pending_weaks.
1313 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1314 set assembler name back to NULL afterwards.
1315
7a5da2cd 13162014-03-11 Jason Merrill <jason@redhat.com>
1317
1318 * c.opt: Add -std=gnu++14.
1319
95093889 13202014-03-11 Ian Bolton <ian.bolton@arm.com>
1321
1322 * c-opts.c (c_common_post_options): Don't override
1323 -ffp-contract=fast if unsafe-math-optimizations is on.
1324
c9a24b37 13252014-03-08 Paulo Matos <paulo@matos-sorge.com>
1326
1327 * c.opt: Enable LTO FE for fshort-double.
1328
3f6dba6e 13292014-03-07 Jason Merrill <jason@redhat.com>
1330
1331 * c.opt: Add -std=c++14.
1332
3bfdc94f 13332014-03-06 Marek Polacek <polacek@redhat.com>
1334
1335 PR c/60197
1336 * cilk.c (contains_cilk_spawn_stmt): New function.
1337 (contains_cilk_spawn_stmt_walker): Likewise.
1338 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1339 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1340
8b3a6a4c 13412014-03-03 Jakub Jelinek <jakub@redhat.com>
1342
1343 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1344 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1345 even when flag_preprocess_only.
1346
734ec290 13472014-02-26 Jason Merrill <jason@redhat.com>
1348
1349 PR c++/59231
1350 PR c++/11586
1351 * c-common.c (shorten_compare): Don't check
1352 c_inhibit_evaluation_warnings.
1353
81aec8b8 13542014-02-19 Jakub Jelinek <jakub@redhat.com>
1355
d1081017 1356 PR c/37743
1357 * c-common.c (c_common_nodes_and_builtins): When initializing
1358 c_uint{16,32,64}_type_node, also set corresponding
1359 uint{16,32,64}_type_node to the same value.
1360
81aec8b8 1361 PR c++/60267
1362 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1363 for PRAGMA_IVDEP if flag_preprocess_only.
1364
312243bb 13652014-02-12 Jakub Jelinek <jakub@redhat.com>
1366
1367 PR c/60101
1368 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1369 if false, add ADD itself, rather than vice versa.
1370 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1371 copy. For SAVE_EXPR, only call merge_tlist once.
1372
237e78b1 13732014-02-08 Jakub Jelinek <jakub@redhat.com>
1374
1375 PR middle-end/60092
1376 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1377 and tree_to_uhwi.
1378 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1379 functions.
1380 (c_common_attribute_table): Add alloc_align and assume_aligned
1381 attributes.
1382
76fdceeb 13832014-02-06 Marek Polacek <polacek@redhat.com>
1384
1385 PR c/60087
1386 * c-common.c (warn_for_sign_compare): Call warning_at with location
1387 instead of warning.
1388
4a4dea42 13892014-02-05 Marek Polacek <polacek@redhat.com>
1390
1391 PR c/53123
1392 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1393 statement.
1394
ec704957 13952014-02-04 Marek Polacek <polacek@redhat.com>
1396
1397 PR c/60036
1398 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1399 SAVE_EXPR.
1400
caf62483 14012014-02-03 Marc Glisse <marc.glisse@inria.fr>
1402
1403 PR c++/53017
1404 PR c++/59211
1405 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1406 handle_vector_size_attribute, handle_nonnull_attribute): Call
1407 default_conversion on the attribute argument.
1408 (handle_nonnull_attribute): Increment the argument number.
1409
ec761d5a 14102014-01-31 Marek Polacek <polacek@redhat.com>
1411
1412 PR c/59963
1413 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1414 build_function_call_vec.
1415 (resolve_overloaded_builtin): Likewise.
1416 * c-common.h (build_function_call_vec): Adjust declaration.
1417
22a75734 14182014-01-30 Marek Polacek <polacek@redhat.com>
1419
1420 PR c/59940
1421 * c-common.h (unsafe_conversion_p): Adjust declaration.
1422 (warnings_for_convert_and_check): Likewise.
1423 (convert_and_check): Likewise.
1424 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1425 expansion_point_location_if_in_system_header on it.
1426 (warnings_for_convert_and_check): Add location parameter. Call
1427 expansion_point_location_if_in_system_header on it. Use it.
1428 (convert_and_check): Add location parameter. Use it.
1429 (conversion_warning): Likewise.
1430 (c_add_case_label): Adjust convert_and_check calls.
1431 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1432
a89e6c15 14332014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1434
1435 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1436 flag_cilkplus.
1437 * c-pragma.c (init_pragma): Likewise.
1438 * c.opt: Likewise.
1439
2623625f 14402014-01-23 Marek Polacek <polacek@redhat.com>
1441
1442 PR c/59846
1443 * c-common.c (shorten_compare): Add location_t parameter.
1444 * c-common.h (shorten_binary_op): Adjust declaration.
1445
46da3601 14462014-01-23 Marek Polacek <polacek@redhat.com>
1447
1448 PR c/58346
1449 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1450 * c-common.h: Declare it.
1451
c9743c6a 14522014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1453
1454 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1455 * c-ada-spec.c (dump_ads): Likewise.
1456 (cpp_check): Likewise.
1457 (dump_ada_specs): Likewise.
1458
14592014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 1460
1461 PR c++/49718
1462 * c-common.c (handle_no_instrument_function_attribute): Allow
1463 no_instrument_function attribute in class member
1464 definition/declaration.
1465
1248c663 14662014-01-15 Jakub Jelinek <jakub@redhat.com>
1467
1468 PR c/58943
1469 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1470 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1471 being COMPOUND_EXPR.
1472 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1473 operand a SAVE_EXPR and second MODIFY_EXPR.
1474
6e5c480b 14752014-01-09 Jakub Jelinek <jakub@redhat.com>
1476
1477 PR target/58115
1478 * c-pch.c (c_common_write_pch): Call
1479 prepare_target_option_nodes_for_pch.
1480
3aea1f79 14812014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1482
1483 Update copyright years
1484
e4f22041 14852014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1486
1487 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1488 the copyright notice.
1489
7fb0fe24 14902013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1491
1492 * c-ada-spec.c (print_constructor): New function.
1493 (print_destructor): Retrieve the origin of the destructor.
1494 (print_ada_declaration): Revamp handling of constructors/destructors.
1495
468088ac 14962013-12-23 Stuart Hastings <stuart@apple.com>
1497 Bill Maddox <maddox@google.com>
1498 Jason Merrill <jason@redhat.com>
1499
1500 * c.opt: Add -fdeclone-ctor-dtor.
1501 * c-opts.c (c_common_post_options): Default to on iff -Os.
1502
74acc703 15032013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1504
1505 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1506 attribute.
1507 * c-pragma.h (enum pragma_cilk_clause): Remove.
1508 (enum pragma_omp_clause): Added the following fields:
1509 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1510 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1511 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1512 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1513 PRAGMA_CILK_CLAUSE_UNIFORM.
1514
1515
433e804e 15162013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1517
1518 * cilk.c (cilk_outline): Made this function non-static.
1519 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1520 (create_cilk_wrapper): Added a new parameter: a function pointer.
1521 (c_install_body_w_frame_cleanup): Remove
1522 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1523 * c-common.h (cilk_outline): New prototype.
1524 (gimplify_cilk_spawn): Removed two parameters.
1525 (cilk_install_body_with_frame_cleanup): New prototype.
1526 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1527 CILK_SPAWN_STMT case.
1528
5bcc7e60 15292013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1530
e66325ea 1531 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1532
5bcc7e60 1533 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1534 (int_array_type_node): Remove.
1535 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1536
0b26ec77 15372013-12-05 Marek Polacek <polacek@redhat.com>
1538
1539 PR c/52023
1540 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1541 [ADJUST_FIELD_ALIGN].
1542
a179a7dc 15432013-12-04 Joseph Myers <joseph@codesourcery.com>
1544
1545 PR c/52023
1546 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1547 and check field alignment if set.
1548 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1549 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1550
137559b2 15512013-12-04 Jakub Jelinek <jakub@redhat.com>
1552 Marek Polacek <polacek@redhat.com>
1553
1554 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1555 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1556
648fd348 15572013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1558
1559 PR c/59309
1560 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1561 arguments.
1562
253e1cae 15632013-11-29 Jakub Jelinek <jakub@redhat.com>
1564
1565 PR c/59280
1566 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1567 goto invalid. If it is error_mark_node, don't issue further
1568 diagnostics.
1569
3e398f5b 15702013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1571
1572 * c.opt (Wopenmp-simd): New.
1573
020bc656 15742013-11-22 Jakub Jelinek <jakub@redhat.com>
1575
1576 * c-ubsan.h (ubsan_instrument_return): New prototype.
1577 * c-ubsan.c (ubsan_instrument_return): New function.
1578
bc61cadb 15792013-11-22 Andrew MacLeod <amacleod@redhat.com>
1580
1581 * c-common.c: Add required include files from gimple.h.
1582 * c-gimplify.c: Likewise
1583 * cilk.c: Likewise
1584
3df42822 15852013-11-22 David Malcolm <dmalcolm@redhat.com>
1586
1587 * c-common.c (unsafe_conversion_p): Remove use of
1588 EXPR_LOC_OR_HERE macro.
1589 (conversion_warning): Likewise.
1590 (warnings_for_convert_and_check): Likewise.
1591 (warn_for_collisions_1): Likewise.
1592 (shorten_compare): Likewise, and remove use of in_system_header
1593 macro, using the location from the former.
1594 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1595 (cb_def_pragma): Remove use of in_system_header macro.
1596 (lex_string): Likewise.
1597 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1598
8c53c46c 15992013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1600 Mike Stump <mikestump@comcast.net>
1601 Richard Sandiford <rdsandiford@googlemail.com>
1602
1603 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1604 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1605 tree_fits_shwi_p or tree_fits_uhwi_p.
1606 (dump_generic_ada_node): Likewise.
1607 * c-format.c (check_format_arg): Likewise.
1608 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1609
5200ef07 16102013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1611
1612 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1613
ca9d7d74 16142013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1615
1616 PR c/53001
1617 * c-common.c (unsafe_conversion_p): Make this function
1618 return an enumeration with more detail.
1619 (conversion_warning): Use the new return type of
1620 unsafe_conversion_p to separately warn either about conversions
1621 that lower floating point number precision or about the other
1622 kinds of conversions.
1623 * c-common.h (enum conversion_safety): New enumeration.
1624 (unsafe_conversion_p): switching return type to
1625 conversion_safety enumeration.
1626 * c.opt: Adding new warning -Wfloat-conversion and
1627 enabling it with -Wconversion.
1628
0391a567 16292013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1630
1631 * c-opts.c: Include plugin.h.
1632 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1633
19b928d9 16342013-11-19 Marek Polacek <polacek@redhat.com>
1635
1636 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1637 call.
1638 (ubsan_instrument_shift): Likewise.
1639 (ubsan_instrument_vla): Likewise.
1640
aa59f000 16412013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1642
1643 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1644 cast to unsigned type.
1645
08f817b3 16462013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1647
1648 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1649 tree_low_cst.
1650 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1651 rather than tree_low_cst.
1652
6a0712d4 16532013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1654
1655 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1656 tree_to_uhwi throughout.
1657
fcb97e84 16582013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1659
1660 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1661 tree_low_cst (..., 0) with tree_to_shwi throughout.
1662
cd4547bf 16632013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1664
1665 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1666 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1667
35ec552a 16682013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1669
1670 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1671 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1672
f2697631 16732013-11-15 Aldy Hernandez <aldyh@redhat.com>
1674
1675 * c-cilkplus.c: New file.
1676 * c-common.c (readonly_error): Add location argument.
1677 * c-common.h (readonly_error): Same.
1678 (c_finish_cilk_clauses): Protoize.
1679 (c_check_cilk_loop): Same.
1680 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1681 Do not fail on error_mark_node.
1682 Abstract increment canonicalization to here...
1683 (c_omp_for_incr_canonicalize_ptr): New.
1684 c-pragma.c (init_pragma): Register "simd" pragma.
1685 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1686 (enum pragma_cilk_clause): New.
1687
0aa8c34e 16882013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1689
1690 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1691 wchar_type and host_integerp checks.
1692
e795d6e1 16932013-11-14 Andrew MacLeod <amacleod@redhat.com>
1694
1695 * c-common.c: Likewise.
1696 * c-gimplify.c: Likewise.
1697 * cilk.c: Likewise.
1698
9ed99284 16992013-11-14 Diego Novillo <dnovillo@google.com>
1700
1701 * c-common.c: Include fold-const.h.
1702 Include stor-layout.h.
1703 Include calls.h.
1704 Include stringpool.h.
1705 Include attribs.h.
1706 Include varasm.h.
1707 Include trans-mem.h.
1708 * c-cppbuiltin.c: Include stor-layout.h.
1709 Include stringpool.h.
1710 * c-format.c: Include stringpool.h.
1711 * c-lex.c: Include stringpool.h.
1712 Include stor-layout.h.
1713 * c-pragma.c: Include stringpool.h.
1714 Include attribs.h.
1715 Include varasm.h.
1716 Include gcc-symtab.h.
1717 * c-pretty-print.c: Include stor-layout.h.
1718 Include attribs.h.
1719 * cilk.c: Include stringpool.h.
1720 Include calls.h.
1721
4fba5eb9 17222013-11-13 Joseph Myers <joseph@codesourcery.com>
1723
1724 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1725 * c-common.c (c_common_reswords): Add __auto_type.
1726 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1727
a8783bee 17282013-11-12 Andrew MacLeod <amacleod@redhat.com>
1729
e795d6e1 1730 * c-common.c: Include gimplify.h.
1731 * c-gimplify.c: Likewise.
1732 * cilk.c: Likewise.
1733 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1734 * c-ubsan.c: Don't include gimple.h.
a8783bee 1735
d184e0c0 17362013-11-12 Joseph Myers <joseph@codesourcery.com>
1737
1738 * c-common.c (c_common_reswords): Add _Thread_local.
1739
a056826c 17402013-11-09 Joseph Myers <joseph@codesourcery.com>
1741
1742 * c-common.c (atomic_size_supported_p): New function.
1743 (resolve_overloaded_atomic_exchange)
1744 (resolve_overloaded_atomic_compare_exchange)
1745 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1746 Use it instead of comparing size with a local list of sizes.
1747
b560fabd 17482013-11-07 Andrew MacLeod <amacleod@redhat.com>
1749 Joseph Myers <joseph@codesourcery.com>
1750
1751 * c-common.h (enum rid): Add RID_ATOMIC.
1752 * c-common.c (c_common_reswords): Add _Atomic.
1753 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1754 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1755 * c-format.c (check_format_types): Check for extra _Atomic
1756 qualifiers in format argument.
1757 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1758 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1759
5b1a0622 17602013-11-06 Tobias Burnus <burnus@net-b.de>
1761
1762 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1763
4f8f4cb8 17642013-11-06 Joseph Myers <joseph@codesourcery.com>
1765
1766 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1767 standards modes.
1768 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1769 to mean lack of IEEE 754 support.
1770
9148bda3 17712013-11-05 Tobias Burnus <burnus@net-b.de>
1772
1773 * c.opt (-Wdate-time): New option
1774 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1775
08c5f4d5 17762013-11-05 Joseph Myers <joseph@codesourcery.com>
1777
1778 * c-cppbuiltin.c (cpp_iec_559_value): Test
1779 flag_excess_precision_cmdline not flag_excess_precision.
1780
c630ef93 17812013-11-05 Tobias Burnus <burnus@net-b.de>
1782
1783 * c.opt (fopenmp-simd): New option.
1784 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1785 (omp_pragmas): ... this new struct.
1786 (c_pp_lookup_pragma): Also walk omp_pragmas.
1787 (init_pragma): Init pragmas for -fopenmp-simd.
1788
7354a89b 17892013-11-04 Marek Polacek <polacek@redhat.com>
1790
1791 PR c++/58979
1792 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1793
4c866b9b 17942013-11-04 Joseph Myers <joseph@codesourcery.com>
1795
1796 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1797 New functions.
1798 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1799
e2a6a333 18002013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1801
1802 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1803 (dump_ada_specs): Adjust prototype of second callback.
1804 * c-ada-spec.c (cpp_check): New global variable.
1805 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1806 (print_generic_ada_decl): Likewise.
1807 (has_static_fields): Change return type to bool and add guard.
1808 (has_nontrivial_methods): New predicate.
1809 (is_tagged_type): Change return type to bool.
1810 (separate_class_package): Call has_nontrivial_methods.
1811 (pp_ada_tree_identifier): Minor tweaks.
1812 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1813 (dump_ada_array_domains): Likewise.
1814 (dump_ada_array_type): Likewise.
1815 (dump_template_types): Remove cpp_check parameter and do not pass it to
1816 dump_generic_ada_node.
1817 (dump_ada_template): Likewise.
1818 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1819 recursively.
1820 (print_ada_methods): Change return type to integer. Remove cpp_check
1821 parameter and do not pass it down.
1822 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1823 dump_generic_ada_node.
1824 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1825 accessing methods.
1826 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1827 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1828 value of print_ada_methods.
1829 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1830 Set cpp_check to it before invoking dump_ada_nodes.
1831 (dump_ada_specs): Likewise.
1832
2c4c3477 18332013-11-03 Marek Polacek <polacek@redhat.com>
1834
1835 * c-ubsan.c: Don't include hash-table.h.
1836 (ubsan_instrument_vla): New function.
1837 * c-ubsan.h: Declare it.
1838
452659af 18392013-10-31 David Malcolm <dmalcolm@redhat.com>
1840
1841 Automated part of renaming of symtab_node_base to symtab_node.
1842
1843 Patch autogenerated by rename_symtab.py from
1844 https://github.com/davidmalcolm/gcc-refactoring-scripts
1845 revision 58bb219cc090b2f4516a9297d868c245495ee622
1846
1847 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1848 symtab_node_base to symtab_node.
1849
4d6f7dd4 18502013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1851
1852 Implement C++14 digit separators.
1853 * c-lex.c (interpret_float): Remove digit separators from scratch string
1854 before building real literal.
1855
06cfe805 18562013-10-30 Jakub Jelinek <jakub@redhat.com>
1857
1858 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1859
d037099f 18602013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1861
1862 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1863 fields.
1864 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1865 enabled.
1866 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1867 (insert_cilk_frame): New prototype.
1868 (cilk_init_builtins): Likewise.
1869 (gimplify_cilk_spawn): Likewise.
1870 (c_cilk_install_body_w_frame_cleanup): Likewise.
1871 (cilk_detect_spawn_and_unwrap): Likewise.
1872 (cilk_set_spawn_marker): Likewise.
1873 (build_cilk_sync): Likewise.
1874 (build_cilk_spawn): Likewise.
1875 * cilk.c: New file.
1876
02774f2d 18772013-10-29 David Malcolm <dmalcolm@redhat.com>
1878
1879 Patch autogenerated by refactor_symtab.py from
1880 https://github.com/davidmalcolm/gcc-refactoring-scripts
1881 revision 58bb219cc090b2f4516a9297d868c245495ee622
1882
1883 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1884 to a true class hierarchy.
1885 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1886
31fe10fd 18872013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1888
1889 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1890
b1c06ff9 18912013-10-26 Jeff Law <law@redhat.com>
1892
1f78217c 1893 * c-common.c (c_define_builtins): Remove mudflap support.
1894 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 1895
48a972c8 18962013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1897
1898 PR other/33426
1899 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1900 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1901
546a04b1 19022013-10-23 Jason Merrill <jason@redhat.com>
1903
1904 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1905
bc7bff74 19062013-10-11 Jakub Jelinek <jakub@redhat.com>
1907
d62c713e 1908 * c-common.h (omp_clause_mask::operator !=): New method.
1909 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1910 instead of if (mask & something) tests everywhere.
1911
bc7bff74 1912 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1913 201307 instead of 201107.
1914 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1915 (c_common_attribute_table): Add "omp declare target" and
1916 "omp declare simd" attributes.
1917 (handle_omp_declare_target_attribute,
1918 handle_omp_declare_simd_attribute): New functions.
1919 * c-omp.c: Include c-pragma.h.
1920 (c_finish_omp_taskgroup): New function.
1921 (c_finish_omp_atomic): Add swapped argument, if true,
1922 build the operation first with rhs, lhs arguments and use NOP_EXPR
1923 build_modify_expr.
1924 (c_finish_omp_for): Add code argument, pass it down to make_code.
1925 (c_omp_split_clauses): New function.
1926 (c_split_parallel_clauses): Removed.
1927 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1928 c_omp_declare_simd_clauses_to_decls): New functions.
1929 * c-common.h (omp_clause_mask): New type.
1930 (OMP_CLAUSE_MASK_1): Define.
1931 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1932 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1933 omp_clause_mask::operator |, omp_clause_mask::operator &,
1934 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1935 omp_clause_mask::operator ==): New methods.
1936 (enum c_omp_clause_split): New.
1937 (c_finish_omp_taskgroup): New prototype.
1938 (c_finish_omp_atomic): Add swapped argument.
1939 (c_finish_omp_for): Add code argument.
1940 (c_omp_split_clauses): New prototype.
1941 (c_split_parallel_clauses): Removed.
1942 (c_omp_declare_simd_clauses_to_numbers,
1943 c_omp_declare_simd_clauses_to_decls): New prototypes.
1944 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1945 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1946 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1947 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1948 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1949 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1950 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1951 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1952 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1953 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1954 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1955 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1956 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1957 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1958 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1959 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1960 PRAGMA_OMP_CLAUSE_UNIFORM.
1961
d7dcba40 19622013-10-09 Marc Glisse <marc.glisse@inria.fr>
1963
1964 PR tree-optimization/20318
1965 * c-common.c (handle_returns_nonnull_attribute): New function.
1966 (c_common_attribute_table): Add returns_nonnull.
1967
0b7282f1 19682013-10-03 Marc Glisse <marc.glisse@inria.fr>
1969
1970 PR c++/19476
1971 * c.opt (fcheck-new): Move to common.opt.
1972
51f553af 19732013-09-25 Marek Polacek <polacek@redhat.com>
1974 Jakub Jelinek <jakub@redhat.com>
1975
1976 PR sanitizer/58413
1977 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1978 an expression if we can prove it is correct.
1979 (ubsan_instrument_division): Likewise. Remove unnecessary
1980 check.
1981
05f893e1 19822013-09-18 Marek Polacek <polacek@redhat.com>
1983
1984 PR sanitizer/58411
1985 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1986 Declare it.
1987 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1988
236ce1d1 19892013-09-14 Iain Sandoe <iain@codesourcery.com>
1990
1991 PR target/48094
1992 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1993 fobjc-gc, freplace-objc-classes): Accept for LTO.
1994
f9f68d35 19952013-09-13 Jacek Caban <jacek@codeweavers.com>
1996
1997 * c-target.def: New hook
1998
ba2f764e 19992013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2000
2001 PR c++/43452
2002 * c.opt (Wdelete-incomplete): Add.
2003
73437615 20042013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2005
2006 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2007 (vector_types_compatible_elements_p): New function.
2008 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2009 declaration.
2010 (vector_types_compatible_elements_p): Declare.
2011
95af4c75 20122013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2013
2014 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
2015 a virtual member function.
2016 (pp_simple_type_specifier): Remove.
2017 (pp_c_type_specifier): Likewise.
2018 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2019 Rename from pp_c_type_specifier. Adjust.
2020 (c_pretty_printer::c_pretty_printer): Do not assign to
2021 simple_type_specifier.
2022
eaab24b9 20232013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2024
2025 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
2026 member function.
2027 (c_pretty_printer::storage_class_specifier): Likewise.
2028 (c_pretty_printer::initializer): Likewise.
2029 (pp_declaration): Remove.
2030 (pp_declaration_specifiers): Likewise.
2031 (pp_abstract_declarator): Likewise.
2032 (pp_declarator): Likewise.
2033 (pp_type_id): Likewise.
2034 (pp_statement): Likewise.
2035 (pp_constant): Likewise.
2036 (pp_id_expression): Likewise.
2037 (pp_primary_expression): Likewise.
2038 (pp_unary_expression): Likewise.
2039 (pp_multiplicative_expression): Likewise.
2040 (pp_conditional_expression): Likewise.
2041 (pp_assignment_expression): Likewise.
2042 (pp_expression): Likewise.
2043 (pp_c_type_id): Likewise.
2044 (pp_c_storage_class_specifier): Likewise.
2045 * c-pretty-print.c (pp_c_type_cast): Tidy.
2046 (pp_c_pointer): Likewise.
2047 (pp_c_type_specifier): Likewise.
2048 (pp_c_parameter_type_list): Likewise.
2049 (pp_c_function_definition): Likewise.
2050 (pp_c_init_declarator): Likewise.
2051 (pp_c_initializer_list): Likewise.
2052 (pp_c_constructor_elts): Likewise.
2053 (c_pretty_printer::direct_abstract_declarator): Likewise.
2054 (c_pretty_printer::declaration_specifiers): Likewise.
2055 (c_pretty_printer::primary_expression): Likewise.
2056 (c_pretty_printer::postfix_expression): Likewise.
2057 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2058 (c_pretty_printer::storage_class_specifier): Rename from
2059 pp_c_storage_class_specifier.
2060 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2061 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2062 storage_class_specifier, initializer, offset_list, flags.
2063
9e46467d 20642013-08-30 Marek Polacek <polacek@redhat.com>
2065
2066 * c-ubsan.c: New file.
2067 * c-ubsan.h: New file.
2068
36a8d9b9 20692013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2070
2071 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2072 member function.
2073 (c_pretty_printer::declaration_specifiers): Likewise.
2074 (c_pretty_printer::declarator): Likewise.
2075 (c_pretty_printer::abstract_declarator): Likewise.
2076 (c_pretty_printer::direct_abstract_declarator): Likewise.
2077 (c_pretty_printer::direct_declarator): Likewise.
2078 (c_pretty_printer::function_specifier): Likewise.
2079 (pp_declaration): Adjust.
2080 (pp_declaration_specifiers): Likewise.
2081 (pp_abstract_declarator): Likewise.
2082 (pp_direct_declarator): Likewise.
2083 (pp_function_specifier): Likewise.
2084 (pp_direct_abstract_declarator): Remove as unused.
2085 (pp_c_declaration): Remove.
2086 (pp_c_declaration_specifiers): Likewise.
2087 (pp_c_declarator): Likewise.
2088 (pp_c_direct_declarator): Likewise.
2089 (pp_c_function_specifier): Likewise.
2090 (pp_c_direct_abstract_declarator): Likewise.
2091 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2092 from pp_c_abstract_declarator. Adjust.
2093 (c_pretty_printer::direct_abstract_declarator): Rename from
2094 pp_c_direct_abstract_declarator. Adjust.
2095 (c_pretty_printer::function_specifier): Rename from
2096 pp_c_function_specifier. Adjust.
2097 (c_pretty_printer::declaration_specifiers): Rename from
2098 pp_c_declaration_specifiers. Adjust.
2099 (c_pretty_printer::direct_declarator): Rename from
2100 pp_c_direct_declarator. Adjust.
2101 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2102 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2103 (c_pretty_printer::c_pretty_printer): Do not assign to
2104 declaration, declaration_specifiers, declarator,
2105 direct_declarator, direct_abstract_declarator, function_specifier.
2106
30635c2e 21072013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2108
2109 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2110 virtual member function.
2111 (c_pretty_printer::multiplicative_expression): Likewise.
2112 (c_pretty_printer::conditional_expression): Likewise.
2113 (c_pretty_printer::assignment_expression): Likewise.
2114 (c_pretty_printer::expression): Likewise.
2115 (pp_unary_expression): Adjust.
2116 (pp_multiplicative_expression): Likewise.
2117 (pp_assignment_expression): Likewise.
2118 (pp_conditional_expression): Likewise.
2119 (pp_expression): Likewise.
2120 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2121 from pp_c_unary_expression. Adjust.
2122 (c_pretty_printer::multiplicative_expression): Rename from
2123 pp_c_multiplicative_expression. Adjust.
2124 (c_pretty_printer::conditional_expression): Rename from
2125 pp_c_conditional_expression. Adjust.
2126 (c_pretty_printer::assignment_expression): Rename from
2127 pp_c_assignment_expression. Adjust.
2128 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2129 (c_pretty_printer::c_pretty_printer): Do not assign to
2130 unary_expression, multiplicative_expression,
2131 conditional_expression, expression.
2132
027d08ed 21332013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2134
2135 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2136 virtual member function.
2137 (pp_postfix_expression): Adjust.
2138 (pp_c_postfix_expression): Remove.
2139 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2140 from pp_c_postfix_expression. Adjust.
2141 (c_pretty_printer::c_pretty_printer): Do not assign to
2142 postfix_expression.
2143
f873303a 21442013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2145
2146 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2147 virtua member function.
2148 (pp_primary_expression): Adjust.
2149 (pp_c_primary_expression): Remove.
2150 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2151 from pp_c_primary_expression. Adjust.
2152 (pp_c_initializer_list): Use pp_primary_expression.
2153 (c_pretty_printer::c_pretty_printer): Do not assign to
2154 primary_expression.
2155
08e3e481 21562013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2157
2158 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2159 * c-pretty-print.c (M_): Remove.
2160 (c_pretty_printer::translate_string): Define.
2161 (pp_c_type_specifier): Use it.
2162 (pp_c_primary_expression): Likewise.
2163 (pp_c_expression): Likewise.
2164
1fc4a87f 21652013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2166
2167 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2168 virtual function.
2169 (pp_c_id_expression): Remove.
2170 (pp_id_expression): Adjust.
2171 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2172 pp_c_id_expression. Adjust.
2173 (pp_c_postfix_expression): Use pp_id_expression.
2174 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2175
a6cb161b 21762013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2177
2178 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2179 member function.
2180 (pp_constant): Adjust.
2181 (pp_c_constant): Remove.
2182 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2183 pp_c_constant. Adjust.
2184 (pp_c_constant)
2185 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2186 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2187
eed6bc21 21882013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2189
2190 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2191 (c_pretty_printer::c_pretty_printer): Declare.
2192 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2193 c_pretty_printer_init. Adjust.
2194 (print_c_tree): Do not call c_pretty_printer_init.
2195 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2196
df558d2e 21972013-08-09 Arnaud Charlet <charlet@adacore.com>
2198
2199 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2200
42f9a786 22012013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2202
2203 PR c++/58080
2204 * c-common.c (pointer_int_sum): Add bool parameter.
2205 * c-common.h (pointer_int_sum): Adjust declaration.
2206
f874ddad 22072013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2208
2209 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2210 c_pretty_printer variable.
2211
a94db6b0 22122013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2213
2214 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2215 (pp_base): Remove.
2216 (pp_c_base): Likewise. Adjust users.
2217 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2218 (pp_c_whitespace): Do not call pp_base.
2219 (pp_c_left_paren): Likewise.
2220 (pp_c_right_paren): Likewise.
2221 (pp_c_left_brace): Likewise.
2222 (pp_c_right_brace): Likewise.
2223 (pp_c_left_bracket): Likewise.
2224 (pp_c_right_bracket): Likewise.
2225 (pp_c_dot): Likewise.
2226 (pp_c_ampersand): Likewise.
2227 (pp_c_star): Likewise.
2228 (pp_c_arrow): Likewise.
2229 (pp_c_semicolon): Likewise.
2230 (pp_c_complement): Likewise.
2231 (pp_c_exclamation): Likewise.
2232 (pp_c_direct_declarator): Likewise.
2233 (pp_c_ws_string): Likewise.
2234 (pp_c_identifier): Likewise.
2235 (pp_c_statement): Likewise.
2236 (print_c_tree): Likewise.
2237
1898176c 22382013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2239
2240 PR c++/58072
2241 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2242 provide useful error strings.
2243
70d60d1d 22442013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2245
2246 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2247 printer functions instead of pp_string or operators and punctuators.
2248 (dump_generic_ada_node): Likewise.
2249 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2250 (pp_c_relational_expression): Likewise.
2251 (pp_c_logical_or_expression): Likewise.
2252
dda4f0ec 22532013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2254
2255 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2256 functions instead of pp_character.
2257 (pp_ada_tree_identifier): Likewise.
2258 (dump_ada_double_name): Likewise.
2259 (dump_ada_function_declaration): Likewise.
2260 (dump_ada_array_domains): Likewise.
2261 (dump_template_types): Likewise.
2262 (dump_generic_ada_node): Likewise.
2263 (print_ada_declaration): Likewise.
2264 (print_ada_struct_decl): Likewise.
2265 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2266
7aa04c8d 22672013-07-23 Tom Tromey <tromey@redhat.com>
2268
2269 * c-common.h (enum rid) <RID_GENERIC>: New constant.
2270 * c-common.c (c_common_reswords): Add _Generic.
2271
a04e8d62 22722013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2273
2274 * c-common.c: Fix typos.
2275 * c-common.h: Likewise.
2276
a96c3cc1 22772013-07-13 Lubos Lunak <l.lunak@suse.cz>
2278
2279 PR c++/55203
2280 * c-common.c (c_common_attribute_table): Add warn_unused.
2281 (handle_warn_unused_attribute): New.
2282
da31536d 22832013-07-10 Jakub Jelinek <jakub@redhat.com>
2284
2285 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
2286 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
2287
839f2f70 22882013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
2289
2290 PR c++/57869
2291 * c.opt: Add Wconditionally-supported.
2292
73f353d0 22932013-07-08 Graham Stott <graham.stott@btinternet.com>
2294
1f78217c 2295 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 2296 unused variables l_length and l_node.
2297
21ebaa24 22982013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 2299
2300 PR c/57821
2301 * c-common.c (complete_array_type): Delay folding first index
2302 like other indices. When folding, check for index overflow.
2303
68ea4406 23042013-06-27 Marc Glisse <marc.glisse@inria.fr>
2305
2306 PR c++/57509
2307 * c-common.h (c_build_vec_perm_expr): New complain argument.
2308 * c-common.c (c_build_vec_perm_expr): Likewise.
2309 Use save_expr also in C++.
2310
60777f69 23112013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2312
2313 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2314 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2315 * c-opts.c (c_common_post_options): Likewise.
2316
839f2f70 23172013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 2318
2319 * array-notation-common.c (length_mismatch_in_expr): Changed the
2320 parameter type's from a dynamic array to a vec_tree. Also removed
2321 the size parameters.
2322 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2323 the change above.
2324
e9331eab 23252013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2326
2327 * c-common.h (struct cilkplus_an_parts): New structure.
2328 (struct cilkplus_an_loop_parts): Likewise.
2329 (cilkplus_extract_an_triplets): New prototype.
2330 (fix_sec_implicit_args): Likewise.
2331 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2332 (fix_sec_implicit_args): Likewise.
60777f69 2333
a9c99fc4 23342013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2335
2336 * array-notation-common.c (find_inv_trees): Removed an unwanted
2337 typecasting.
2338 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2339 enum rid to enum tree_code.
2340
f2526cce 23412013-06-11 Jan Hubicka <jh@suse.cz>
2342
2343 * c-common.c (handle_alias_ifunc_attribute): Do not set
2344 DECL_EXTERNAL for weakref variables.
2345 * c-pragma.c (handle_pragma_weak): Make sure aliases
2346 are not declared as external.
2347
09970d67 23482013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2349
2350 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2351 function from c/c-array-notation.c.
2352 (is_cilkplus_reduce_builtin): Likewise.
2353 (find_rank): Likewise.
2354 (extract_array_notation_exprs): Likewise.
2355 (replace_array_notations): Likewise.
2356 (find_inv_trees): Likewise.
2357 (replace_inv_trees): Likewise.
2358 (contains_array_notation_expr): Likewise.
2359 (find_correct_array_notation_type): Likewise.
2360 * c-common.h (struct inv_list): Moved this struct from the file
2361 c/c-array-notation.c and added a new field called additional tcodes.
2362 (length_mismatch_in_expr_p): New prototype.
2363 (is_cilkplus_reduce_builtin): Likewise.
2364 (find_rank): Likewise.
2365 (extract_array_notation_exprs): Likewise.
2366 (replace_array_notation): Likewise.
2367 (find_inv_trees): Likewise.
2368 (replace_inv_trees): Likewise.
2369 (find_correct_array_notation_type): Likewise.
839f2f70 2370
3c6d4197 23712013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2372
2373 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2374 function array_notation_init_builtins is called.
2375 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2376 * c-common.def (ARRAY_NOTATION_REF): New tree.
2377 * c-common.h (build_array_notation_expr): New function declaration.
2378 (build_array_notation_ref): Likewise.
2379 (extract_sec_implicit_index_arg): New extern declaration.
2380 (is_sec_implicit_index_fn): Likewise.
2381 (ARRAY_NOTATION_CHECK): New define.
2382 (ARRAY_NOTATION_ARRAY): Likewise.
2383 (ARRAY_NOTATION_START): Likewise.
2384 (ARRAY_NOTATION_LENGTH): Likewise.
2385 (ARRAY_NOTATION_STRIDE): Likewise.
2386 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2387 ARRAY_NOTATION_REF.
2388 (pp_c_expression): Likewise.
2389 * c.opt (flag_enable_cilkplus): New flag.
2390 * array-notation-common.c: New file.
2391
8e71dad2 23922013-05-14 Jakub Jelinek <jakub@redhat.com>
2393
2394 PR c++/57274
2395 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2396
432dd330 23972013-05-10 Marc Glisse <marc.glisse@inria.fr>
2398
2399 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2400 vectors.
2401
b156ec37 24022013-05-07 Han Shen <shenhan@google.com>
2403
2404 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2405
1a087624 24062013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2407
2408 * c-common.c (check_user_alignment): Emit error for negative values.
2409
1638c736 24102013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2411
2412 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2413
949dbf93 24142013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2415
2416 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2417 __GXX_EXPERIMENTAL_CXX1Y__.
2418
9205a6cc 24192013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2420 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2421
2422 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2423 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2424 to simply use OPT_Wpointer_arith.
2425 (c_sizeof_or_alignof_type): Likewise.
2426
05d0bce1 24272013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2428
2429 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2430
41609f8b 24312013-04-12 Jakub Jelinek <jakub@redhat.com>
2432
2433 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2434 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2435 specifiers.
2436
c671dc4f 24372013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2438
2439 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2440
ba125576 24412013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2442
2443 * c-common.c (pointer_int_sum): Remove dead code.
2444
9d3fa937 24452013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2446
2447 PR middle-end/56524
2448 * c-common.c (handle_optimize_attribute): Don't call
2449 save_optabs_if_changed.
2450
5ceebb21 24512013-03-05 Jakub Jelinek <jakub@redhat.com>
2452
2453 PR middle-end/56461
2454 * c-pch.c (pch_init): Free target_validity at the end.
2455
18eeed2b 24562013-03-04 Jakub Jelinek <jakub@redhat.com>
2457
2458 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2459
a9196da9 24602013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2461 Jakub Jelinek <jakub@redhat.com>
2462
2463 PR sanitizer/56454
2464 * c-common.c (handle_no_sanitize_address_attribute): New function.
2465 (c_common_attribute_table): Add no_sanitize_address attribute.
2466 (handle_no_address_safety_analysis_attribute): Add
2467 no_sanitize_address attribute, not no_address_safety_analysis
2468 attribute.
2469
15c27dda 24702013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 2471
2472 PR target/52555
2473 * c-common.c (handle_optimize_attribute): Call
2474 save_optabs_if_changed.
2475
19426fe1 24762013-02-18 Jakub Jelinek <jakub@redhat.com>
2477 Steven Bosscher <steven@gcc.gnu.org>
2478
2479 PR pch/54117
2480 * c-opts.c (c_common_post_options): If debug info is enabled
2481 and non-dwarf*, refuse to load PCH files and when writing PCH
2482 file warn.
2483
df936998 24842013-02-05 Jakub Jelinek <jakub@redhat.com>
2485
2486 PR middle-end/56167
2487 * c-common.c (handle_error_attribute): Fix condition.
2488
ae0c3984 24892013-01-30 Jakub Jelinek <jakub@redhat.com>
2490
2491 PR c++/55742
2492 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2493
1c4973d7 24942013-01-18 Jason Merrill <jason@redhat.com>
2495
2496 PR target/54908
2497 * c.opt (-fextern-tls-init): New.
2498 * c-opts.c (c_common_post_options): Handle it.
2499
7c834436 25002013-01-09 Jakub Jelinek <jakub@redhat.com>
2501
2502 PR c/48418
2503 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2504 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2505 and is either negative or bigger or equal to type precision
2506 of the first operand.
2507
5abaa10a 25082012-12-03 Marek Polacek <polacek@redhat.com>
2509
2510 PR c/55570
2511 * c-common.c (check_user_alignment): Swap order of tests,
2512 check TREE_CODE first.
2513
324ca377 25142012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2515
2516 PR c++/52654
2517 * c-common.h (overflow_type): New enum.
2518 (build_userdef_literal): Add overflow_type argument.
2519 (tree_userdef_literal): Add overflow_type.
2520 (USERDEF_LITERAL_OVERFLOW): New access macro.
2521 * c-common.c (build_userdef_literal): Add overflow_type
2522 argument.
2523 * c-lex.c (c_lex_with_flags): Add overflow_type to
2524 build_userdef_literal calls.
2525 (interpret_integer, interpret_float): Add overflow_type argument.
2526
b4c4a429 25272012-11-28 Richard Biener <rguenther@suse.de>
2528
2529 PR c/35634
2530 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2531 here and use a type with proper overflow behavior for types that would
2532 need to be promoted for the arithmetic.
2533
d413ffdd 25342012-11-23 Jakub Jelinek <jakub@redhat.com>
2535
2536 PR sanitizer/55435
2537 * c-common.c (handle_no_address_safety_analysis_attribute): New
2538 function.
2539 (c_common_attribute_table): Add no_address_safety_analysis.
2540
52bc861d 25412012-11-16 Simon Baldwin <simonb@google.com>
2542
2543 * c.opt: Add f[no-]canonical-system-headers.
2544 * c-opts.c (c_common_handle_option): Handle
2545 OPT_fcanonical_system_headers.
2546
2dd00636 25472012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2548
2549 PR c++/54413
2550 * c-opts.c (c_common_handle_option): Set new flags.
2551 * c.opt: Describe new flags.
2552
d4701f6c 25532012-11-09 Jason Merrill <jason@redhat.com>
2554
2555 * c.opt (Wabi-tag): New.
2556
72d65da9 25572012-11-09 Andi Kleen <ak@linux.intel.com>
2558
2559 PR 55139
2560 * c-common.c (get_atomic_generic_size): Mask with
2561 MEMMODEL_MASK
2562
77a357e3 25632012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2564
2565 PR c/53063
2566 * c.opt (Wformat): Make it Alias Wformat=1.
2567 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2568 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2569 LangEnabledBy.
2570 (Wformat=): RejectNegative. Use LangEnabledBy.
2571 (Wnonnull): Use LangEnabledBy.
2572 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2573 * c-format.c (set_Wformat): Delete.
2574 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2575 (maybe_read_dollar_number): Likewise.
2576 (avoid_dollar_number): Likewise.
2577 (finish_dollar_format_checking): Likewise.
2578 (check_format_info): Likewise.
2579 (check_format_info_main): Likewise.
2580 (check_format_types): Likewise.
2581 (format_type_warning): Likewise.
2582 * c-common.c (int): Likewise.
2583 (check_function_sentinel): Likewise.
2584 * c-common.h (warn_format,set_Wformat): Do not declare here.
2585
45efa6b9 25862012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2587
2588 PR c/53063
2589 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2590 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2591 Use LangEnabledBy.
2592 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2593 common.opt.
2594 (Wvariadic-macros): Init(1).
2595 * c-opts.c (c_common_handle_option): Do not handle them
2596 explicitly.
2597 (c_common_post_options): Likewise.
2598 (sanitize_cpp_opts): warn_unused_macros is now
2599 cpp_warn_unused_macros.
2600 (push_command_line_include): Likewise.
2601 * c-common.c (warn_unknown_pragmas): Do not define.
2602 * c-common.h (warn_unknown_pragmas): Do not declare.
2603
0e4e775a 26042012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2605
2606 PR c/51294
2607 * c-common.c (conversion_warning): Handle conditional expressions.
2608
8b447d3f 26092012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2610
2611 PR c++/54930
2612 * c.opt (Wreturn_local_addr): Define new option.
2613
f4a61754 26142012-10-25 Jason Merrill <jason@redhat.com>
2615
ecb10e6a 2616 * c.opt (Wvirtual-move-assign): New.
2617
f4a61754 2618 * c.opt (Winherited-variadic-ctor): New.
2619
7b463b19 26202012-10-25 Marc Glisse <marc.glisse@inria.fr>
2621
2622 PR c++/54427
2623 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2624
6adc88f8 26252012-10-23 Joseph Myers <joseph@codesourcery.com>
2626
2627 * c-common.h (pch_cpp_save_state): Declare.
2628 * c-target.def (c_preinclude): New hook.
2629 * c-opts.c (done_preinclude): New.
2630 (push_command_line_include): Handle default preincluded header.
2631 (cb_file_change): Call pch_cpp_save_state when calling
2632 push_command_line_include.
2633 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2634 (pch_cpp_save_state): New.
2635 (pch_init): Call pch_cpp_save_state conditionally, instead of
2636 calling cpp_save_state.
2637
fa816b0b 26382012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2639
2640 PR c/53063
2641 PR c/40989
2642 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2643 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2644 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2645 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2646 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2647 * c-opts.c (c_common_handle_option): Remove explicit handling from
2648 here.
2649 (c_common_post_options): Likewise.
2650
d214ccee 26512012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2652
2653 * c-ada-spec.c (LOCATION_COL): Delete.
2654 (compare_location): New function.
2655 (compare_node): Use it.
2656 (compare_comment): Likewise.
2657
77b27208 26582012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2659
2660 PR c/53063
2661 PR c/40989
2662 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2663 * c-opts.c (c_common_handle_option): Do not set them here. Add
2664 comment.
2665 (c_common_post_options): Likewise.
2666
cc02ca4d 26672012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2668
2669 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2670 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2671 Remove POINTER_TYPE handling, add large unsigned handling and use
2672 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2673
57f872a2 26742012-10-12 Jakub Jelinek <jakub@redhat.com>
2675
2676 PR c/54381
2677 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2678 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2679 locs and array of 3 trees instead of just single loc and single
2680 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2681 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2682 For *cmp* builtins that take two sources strings report warnings
2683 about first and second source, not about destination and source.
2684
7354ad2e 26852012-10-12 Marc Glisse <marc.glisse@inria.fr>
2686
2687 PR c++/53055
2688 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2689
1ac7f120 26902012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2691
2692 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2693 declaring something coming from another file.
2694
1e0cc9e3 26952012-10-10 Arnaud Charlet <charlet@adacore.com>
2696
1ac7f120 2697 PR ada/54845
1e0cc9e3 2698 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2699
b0e7825e 27002012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2701
2702 PR c++/54194
2703 * c-common.c (warn_about_parentheses): Add location_t parameter;
2704 use EXPR_LOC_OR_LOC.
2705 * c-common.h: Update declaration.
2706
41ed701a 27072012-10-09 Marc Glisse <marc.glisse@inria.fr>
2708
2709 PR c++/54427
2710 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2711 more operations. Make error messages optional.
2712 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2713 (scalar_to_vector): Declare.
2714
3740094c 27152012-10-08 Jason Merrill <jason@redhat.com>
2716
2717 * c-common.c (c_common_reswords): Add thread_local.
2718
ffcdbf9c 27192012-10-08 Dodji Seketeli <dodji@redhat.com>
2720
2721 PR c++/53528 C++11 attribute support
2722 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2723 new functions.
2724 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2725 static function.
2726 (handle_aligned_attribute): In choose strictest alignment
2727 among many. Use new check_cxx_fundamental_alignment_constraints.
2728 (handle_transparent_union_attribute): In c++11 attribute syntax,
2729 don't look through typedefs.
2730
ef34afc1 27312012-10-04 Arnaud Charlet <charlet@adacore.com>
2732
2733 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2734 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2735 out of dumpfile.h.
2736
f1ff4562 27372012-09-25 Dehao Chen <dehao@google.com>
2738
2739 PR middle-end/54645
ef34afc1 2740 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2741 map when read in the pch.
2742
735538a1 27432012-09-18 Arnaud Charlet <charlet@adacore.com>
2744
2745 * c-ada-spec.c: Style fixes.
2746
9120cdc8 27472012-09-18 Thomas Quinot <quinot@adacore.com>
2748
2749 * c.opt (-fada-spec-parent): Define new command line switch.
2750 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2751 is specified, generate binding spec as a child of the specified unit.
2752
8eba82c2 27532012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2754 Manuel López-Ibáñez <manu@gcc.gnu.org>
2755
2756 PR c++/53210
2757 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2758
38682990 27592012-08-23 Arnaud Charlet <charlet@adacore.com>
2760
2761 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2762 for pointers, and add missing Convention C pragma.
2763 (print_ada_struct_decl): Add missing aliased keyword.
2764 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2765
f003f5dc 27662012-08-17 Jakub Jelinek <jakub@redhat.com>
2767
2768 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2769 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2770 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2771 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2772 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2773
ec11736b 27742012-08-10 Richard Guenther <rguenther@suse.de>
2775
2776 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2777
5f7f600e 27782012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2779
2780 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2781 instead of separate pp_newline and pp_flush.
2782 (print_c_tree): Likewise.
2783
758a38ab 27842012-07-26 Richard Henderson <rth@redhat.com>
2785
2786 * c-common.c (handle_hot_attribute): Allow labels.
2787 (handle_cold_attribute): Likewise.
2788
9ca77b08 27892012-07-20 Jakub Jelinek <jakub@redhat.com>
2790
2791 PR c++/28656
2792 * c-common.c (check_function_nonnull): Handle multiple nonnull
2793 attributes properly.
2794
b9ed1410 27952012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2796
2797 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2798 * c-ada-spec.c: Likewise.
2799 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2800
c2a65b90 28012012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2802
2803 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2804 Remove code conditional on it.
2805
88c5a1d1 28062012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2807
2808 * c-gimplify.c: Do not include basic-block.h.
2809 * c-common.c: Do not include linfuncs.h.
2810
4a020a8c 28112012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2812
2813 * c-common.h: Include tree.h.
2814
c28ddc97 28152012-07-02 Jason Merrill <jason@redhat.com>
2816
2817 PR c++/53524
2818 * c-common.c (get_priority): Call default_conversion.
2819
405ed67f 28202012-07-01 Uros Bizjak <ubizjak@gmail.com>
2821
2822 * c-pch.c (c_common_write_pch): Remove unused variables.
2823
e53d55e7 28242012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2825
2826 * cppspec.c: Moved from gcc/ to here.
2827
3d9c25ec 28282012-06-27 Kai Tietz <ktietz@redhat.com>
2829
2830 PR preprocessor/37215
2831 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2832
3169c57a 28332012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2834
2835 * c-common.h (c_common_print_pch_checksum): Remove.
2836 * c-pch.c: Do not include output.h.
2837 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2838 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2839 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2840 (struct c_pch_header): Remove.
2841 (get_ident): Update gpch version.
2842 (pch_init): Do not print executable_checksum to asm_out_file.
2843 Do not fail if there is no asm_out_file to read back from. Set
2844 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2845 (c_common_write_pch): Verify that nothing was written to asm_out_file
2846 since pch_init was called. Do not write a c_pch_header, and do not
2847 copy from asm_out_file to the PCH.
2848 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2849 the content of asm_out_file from the PCH.
2850 (c_common_print_pch_checksum): Remove.
2851 * c-opts.c (c_common_init): Print out executable_checksum directly.
2852
ff6624bc 28532012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2854
2855 * c-target.def (objc_declare_unresolved_class_reference,
2856 objc_declare_class_definition): Add new hooks.
2857
367b1459 28582012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2859
2860 * c-lex.c: Do not include output.h.
2861 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2862 Remove uses of ASM_OUTPUT_IDENT.
2863
bf0cb017 28642012-06-15 Marc Glisse <marc.glisse@inria.fr>
2865
2866 PR c++/51033
2867 * c-common.h (c_build_vec_perm_expr): Move decl here.
2868 * c-common.c (c_build_vec_perm_expr): Move definition
2869 here.
2870
b37a3600 28712012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2872
2873 * c.opt (fconserve-space): Turn into a no-op.
2874
19931eea 28752012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 2876
2877 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2878 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2879 both the start and end of the function.
2880
dff12c10 28812012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2882
2883 * c-common.c: Do not include output.h.
2884 * c-pragma.c: Likewise.
2885
5f9e7dd5 28862012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2887
2888 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2889 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2890 (lang_decl_name): Handle namespace decls.
2891
b5369b7d 28922012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2893
2894 * c-ada-spec.c: Do not include output.h.
2895 * c-semantics.c: Likewise.
2896
8032877c 28972012-05-29 Joseph Myers <joseph@codesourcery.com>
2898
2899 * c-common.c: Fix typo.
2900
7843e4bc 29012012-05-29 Michael Matz <matz@suse.de>
2902
2903 * c-common.h (c_expand_decl): Remove prototype.
2904
8cf857d4 29052012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2906
2907 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2908 * c-opts.c (c_common_handle_option): Remove code handling
2909 warn_missing_braces.
2910
8b64dc3c 29112012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2912
2913 PR c++/25137
2914 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2915 -Wmissing_braces.
2916
43cbde16 29172012-05-22 Dodji Seketeli <dodji@redhat.com>
2918
2919 PR c++/53322
2920 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2921
db490cb6 29222012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2923
2924 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2925 * c-opts.c (c_common_handle_option): Do not handle explicitly
2926 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2927
a60f3e81 29282012-05-16 Dodji Seketeli <dodji@redhat.com>
2929
2930 PR preprocessor/7263
2931 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2932 to cpp_classify_number. For diagnostics, use the precise location
2933 instead of the global input_location.
2934
82e6ef7c 29352012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2936
cd4797ff 2937 PR c++/11856
82e6ef7c 2938 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2939
258a168d 29402012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2941
82e6ef7c 2942 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2943
d3b7ee7c 29442012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2945
2946 PR 53063
2947 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2948 Wreorder): Use LangEnabledBy.
2949 * c-opts.c (c_common_handle_option): Do not enable them
2950 explicitly. Call lang-specific generated functions.
2951 (c_common_post_options): Do not set them here.
2952
70059cea 29532012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2954
2955 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2956 Wmissing-field-initializers,Wmissing-parameter-type,
2957 Wold-style-declaration,Woverride-init): Use EnabledBy.
2958 * c-opts.c (c_common_post_options): Do not set here explicitly.
2959
fbb6fbd8 29602012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2961
2962 PR 53063
2963 * c-opts.c (c_common_handle_option): Use handle_generated_option
2964 to enable sub-options.
2965
61f69bc9 29662012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2967
2968 PR c++/53158
2969 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2970
5a1fe2db 29712012-05-10 Richard Guenther <rguenther@suse.de>
2972
2973 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2974 adjust commentary about TYPE_IS_SIZETYPE types.
2975
d42e7c5a 29762012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2977
2978 PR c++/53261
2979 * c-common.c (warn_logical_operator): Check that argument of
2980 integer_zerop is not NULL.
2981
686369e8 29822012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2983
2984 PR c/43772
2985 * c-common.c (warn_logical_operator): Do not warn if either side
2986 is already true or false.
2987
03fe1dc2 29882012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2989
2990 PR c/51712
2991 * c-common.c (expr_original_type): New.
2992 (shorten_compare): Do not warn for enumeration types.
2993
bba5a206 29942012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2995
2996 * c.opt (fpermissive): Add Var(flag_permissive).
2997
7059d45d 29982012-04-30 Marc Glisse <marc.glisse@inria.fr>
2999
3000 PR c++/51033
3001 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3002 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3003
7edb1062 30042012-04-30 Dodji Seketeli <dodji@redhat.com>
3005
3006 Add -Wvarargs option
3007 * c.opt (Wvarargs): Define new option.
3008
068bea1e 30092012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3010
3011 * c-common.c (check_function_arguments): Replace
3012 Wmissing-format-attribute with Wsuggest-attribute=format.
3013
b86527d8 30142012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3015
3016 * c.opt (Wsuggest-attribute=format): New. Alias of
3017 Wmissing-format-attribute.
3018 * c-format.c (decode_format_type): Replace
3019 Wmissing-format-attribute with Wsuggest-attribute=format.
3020 (check_function_format): Likewise.
3021
19931eea 30222012-04-27 Ollie Wild <aaw@google.com>
76d340ac 3023
3024 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
3025 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
3026 * c.opt: Add Wliteral-suffix.
3027
29438999 30282012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3029
3030 PR c/44774
3031 * c.opt (Wpedantic): New.
3032 (pedantic): Alias Wpedantic.
3033 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3034 (c_common_post_options): Likewise.
3035 (sanitize_cpp_opts): Likewise.
3036 * c-lex.c (interpret_float): Likewise.
3037 * c-format.c (check_format_types): Likewise.
3038 * c-common.c (pointer_int_sum): Likewise.
3039 (c_sizeof_or_alignof_type): Likewise.
3040 (c_add_case_label): Likewise.
3041 (c_do_switch_warnings): Likewise.
3042 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3043
4f9d6b8b 30442012-04-15 Jason Merrill <jason@redhat.com>
3045
3046 PR c++/52818
3047 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3048 (C_STD_NAME): Distinguish between C++98 and C++11.
3049
74bdbe96 30502012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3051
3052 PR target/52624
3053 * c-common.h (uint16_type_node): Rename into...
3054 (c_uint16_type_node): ...this.
3055 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3056 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3057
3d177e8c 30582012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3059
3060 * c-common.c (warn_if_unused_value): Move definition to here.
3061 * c-common.h (warn_if_unused_value): Move declaration to here.
3062
6a9a958f 30632012-03-23 William Bader <williambader@hotmail.com>
3064
3065 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3066
543efdbe 30672012-03-20 Jason Merrill <jason@redhat.com>
3068
3069 * c-common.h (enum cxx_dialect): Add cxx1y.
3070 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3071 test.
3072 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3073 * c-opts.c (c_common_post_options): Likewise.
3074 (set_std_cxx1y): New.
3075 (c_common_handle_option): Call it.
3076 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3077
62206d34 30782012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3079
3080 PR c++/14710
3081 * c.opt ([Wuseless-cast]): Add.
3082
fadf62f4 30832012-03-16 Richard Guenther <rguenther@suse.de>
3084
3085 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3086
249faa35 30872012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3088
3089 PR c++/44783
3090 * c.opt (ftemplate-backtrace-limit) Add.
3091
126b6848 30922012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3093
3094 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3095 handling.
3096 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3097 (init_pragma): Don't register extern_prefix.
3098
a51edb4c 30992012-03-12 Richard Guenther <rguenther@suse.de>
3100
3101 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3102 (builtin_type_for_size): Likewise.
3103
0f6a7cb7 31042012-02-13 Jakub Jelinek <jakub@redhat.com>
3105
3106 PR c++/52215
3107 * c-common.c (sync_resolve_params): Don't decide whether to convert
3108 or not based on TYPE_SIZE comparison, convert whenever arg_type
3109 is unsigned INTEGER_TYPE.
3110
0779e32c 31112012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3112
3113 PR c/52118
3114 * c.opt ([Wunused-local-typedefs]): Fix description.
3115
baec58e1 31162012-01-24 Mike Stump <mikestump@comcast.net>
3117
3118 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3119 exactly.
3120
c779d8cc 31212012-01-18 Richard Guenther <rguenther@suse.de>
3122
3123 * c-opts.c (c_common_post_options): Reset LTO flags if
3124 we are about to generate a PCH.
3125
ee917d24 31262012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3127
3128 PR c++/51777
3129 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3130 use pp_unsigned_wide_integer.
3131
90e2341f 31322012-01-10 Richard Guenther <rguenther@suse.de>
3133
3134 PR middle-end/51806
3135 * c-opts.c (c_common_handle_option): Move -Werror handling
3136 to language independent code.
3137
9ea022ce 31382012-01-05 Richard Guenther <rguenther@suse.de>
3139
3140 PR middle-end/51764
3141 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3142 from common.opt.
3143
3df19e1b 31442011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3145
3146 PR c++/51316
3147 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3148 of array types with an unknown bound.
3149
32074525 31502011-12-20 Joseph Myers <joseph@codesourcery.com>
3151
3152 * c-common.c (flag_isoc99): Update comment to refer to C11.
3153 (flag_isoc1x): Change to flag_isoc11.
3154 * c-common.h (flag_isoc99): Update comment to refer to C11.
3155 (flag_isoc1x): Change to flag_isoc11.
3156 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3157 C11.
3158 * c-opts.c (set_std_c1x): Change to set_std_c11.
3159 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3160 Call set_std_c11.
3161 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3162 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3163 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3164 standard.
3165 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3166 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3167 (std=gnu1x): Make alias of std=gnu11.
3168
fca86134 31692011-12-19 Jason Merrill <jason@redhat.com>
3170
3171 PR c++/51228
3172 * c-common.c (handle_transparent_union_attribute): Check the first
3173 field if the type is complete.
3174
aa4313eb 31752011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3176
3177 PR libstdc++/51365
3178 * c-common.c (RID_IS_FINAL): Add.
3179 * c-common.h (RID_IS_FINAL): Add.
3180
3f3d5ad4 31812011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3182
3183 * c.opt (fgnu-runtime): Provide full description.
3184 (fnext-runtime): Likewise.
3185 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3186
c4606d19 31872011-11-28 Andrew MacLeod <amacleod@redhat.com>
3188
3189 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3190 predefines in one place. Add LOCK_FREE predefines.
3191 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3192 new func.
3193
1d581089 31942011-11-24 Andrew MacLeod <amacleod@redhat.com>
3195
3196 PR c/51256
19931eea 3197 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 3198 conditions
19931eea 3199 (resolve_overloaded_atomic_exchange,
3200 resolve_overloaded_atomic_compare_exchange,
1d581089 3201 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3202 error_mark_node for error conditions.
19931eea 3203
6aa221fa 32042011-11-08 Richard Guenther <rguenther@suse.de>
3205
3206 PR middle-end/51010
3207 c-family/
3208
4c0315d0 32092011-11-07 Richard Henderson <rth@redhat.com>
3210 Aldy Hernandez <aldyh@redhat.com>
3211 Torvald Riegel <triegel@redhat.com>
3212
3213 Merged from transactional-memory.
3214
3215 * c-common.c (handle_tm_wrap_attribute,
3216 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3217 (struct c_common_reswords): Added __transaction* keywords.
3218 (struct c_common_attribute_table): Added transaction* and tm_regparm
3219 attributes.
3220 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3221 masks.
3222 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3223 find_tm_attribute): Declare.
3224
920f5a70 32252011-11-07 Jason Merrill <jason@redhat.com>
3226
3227 PR c++/35688
3228 * c-common.c, c-common.h: Revert yesterday's changes.
3229
b4f861b4 32302011-11-06 Jason Merrill <jason@redhat.com>
3231
3232 PR c++/35688
3233 * c-common.c (decl_has_visibility_attr): Split out from...
3234 (c_determine_visibility): ...here.
3235 * c-common.h: Declare it.
3236
83e25171 32372011-11-06 Joseph Myers <joseph@codesourcery.com>
3238
3239 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3240 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3241 type.
3242 (check_user_alignment): New. Split out of
3243 handle_aligned_attribute. Disallow integer constants with
3244 noninteger types. Conditionally allow zero.
3245 (handle_aligned_attribute): Use check_user_alignment.
3246 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3247
1cd6e20d 32482011-11-06 Andrew MacLeod <amacleod@redhat.com>
3249 Richard Henderson <rth@redhat.com>
3250
3251 Merged from cxx-mem-model.
3252
3253 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 3254 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 3255 parameters that are the same type size.
3256 (get_atomic_generic_size): New. Find size of generic
3257 atomic function parameters and do typechecking.
3258 (add_atomic_size_parameter): New. Insert size into parameter list.
3259 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3260 either __atomic_exchange_n or external library call.
19931eea 3261 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 3262 __atomic_compare_exchange to either _n variant or external library call.
19931eea 3263 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 3264 __atomic_load_n or an external library call.
3265 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
3266 __atomic_store_n or an external library call.
3267 (resolve_overloaded_builtin): Handle new __atomic builtins.
3268
7549df0d 32692011-11-04 Eric Botcazou <ebotcazou@adacore.com>
3270
3271 PR c++/50608
3272 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
3273 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
3274 <INDIRECT_REF>: Return the argument.
3275 <ARRAY_REF>: Remove special code for negative offset.
3276 Call fold_build_pointer_plus instead of size_binop.
3277 (fold_offsetof): Remove STOP_REF argument and adjust.
3278 * c-common.h (fold_offsetof_1): Declare.
3279 (fold_offsetof): Remove STOP_REF argument.
3280
7e783eb3 32812011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
3282
3283 PR c++/50810
3284 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3285 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3286 Wnarrowing for C++0x and C++98.
3287 * c.opt ([Wnarrowing]): Update.
3288
8fe701f5 32892011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
3290
3291 PR c++/44277
3292 * c.opt: Add Wzero-as-null-pointer-constant.
3293
0d84dc2d 32942011-10-31 Jason Merrill <jason@redhat.com>
3295
67031f52 3296 * c.opt (-fdeduce-init-list): Off by default.
3297
0d84dc2d 3298 PR c++/50920
3299 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
3300 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
3301 and -Wc++11-compat.
3302 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3303
66f24c41 33042011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3305
3306 PR c++/30066
3307 * c.opt (fvisibility-inlines-hidden): Description change.
3308
244db24d 33092011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3310
3311 Implement C++11 user-defined literals.
3312 * c-common.c (build_userdef_literal): New.
3313 * c-common.def: New tree code.
3314 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3315 * c-lex.c (interpret_float): Add suffix parm.
3316 (c_lex_with_flags): Build literal tokens.
3317
235be70f 33182011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3319
3320 PR c++/50841
3321 Revert:
3322 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3323
3324 PR c++/50810
3325 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3326 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3327 Wnarrowing for C++0x and C++98.
3328 * c.opt ([Wnarrowing]): Update.
3329
4fe0fb1c 33302011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3331
3332 PR c++/50810
3333 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3334 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3335 Wnarrowing for C++0x and C++98.
3336 * c.opt ([Wnarrowing]): Update.
3337
5f7504f9 33382011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3339
3340 PR c++/45385
3341 * c-common.c (conversion_warning): Remove code looking for
3342 artificial operands.
3343
2a688977 33442011-10-18 Dodji Seketeli <dodji@redhat.com>
3345
3346 PR bootstrap/50760
3347 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 3348 !NO_IMPLICIT_EXTERN_C.
2a688977 3349
326e3391 33502011-10-17 Michael Spertus <mike_spertus@symantec.com>
3351
3352 * c-common.c (c_common_reswords): Add __bases,
3353 __direct_bases.
3354 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3355
33562011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3357
3358 PR c++/50757
3359 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3360
62db153a 33612011-10-15 Tom Tromey <tromey@redhat.com>
3362 Dodji Seketeli <dodji@redhat.com>
3363
3364 * c.opt (fdebug-cpp): New option.
3365 * c-opts.c (c_common_handle_option): Handle the option.
3366 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3367 output stream in parameter. Factorized from ...
3368 (maybe_print_line): ... this. Dump location debug information when
3369 -fdebug-cpp is in effect.
3370 (print_line_1): New static function. Takes an output stream in
3371 parameter. Factorized from ...
3372 (print_line): ... here. Dump location information when -fdebug-cpp
3373 is in effect.
3374 (scan_translation_unit): Dump location information when
3375 -fdebug-cpp is in effect.
3376
ce70f433 33772011-10-15 Tom Tromey <tromey@redhat.com>
3378 Dodji Seketeli <dodji@redhat.com>
3379
3380 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3381 without argument.
3382 * c-opts.c (c_common_handle_option)<case
3383 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3384 cases. Handle -ftrack-macro-expansion with and without argument.
3385
97bfb9ef 33862011-10-15 Tom Tromey <tromey@redhat.com>
3387 Dodji Seketeli <dodji@redhat.com>
3388
3389 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3390 (print_line, cb_define, do_line_change): Adjust to avoid touching
3391 the internals of struct line_map. Use the public API instead.
3392 * c-pch.c (c_common_read_pch): Likewise.
3393 * c-lex.c (fe_file_change): Likewise.
3394
326e3391 33952011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3396
3397 PR c++/17212
3398 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3399
34002011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3401
3402 PR c++/33067
3403 * c-pretty-print.c (pp_c_floating_constant): Output
3404 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3405
b9a16870 34062011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3407
3408 * c-common.c (def_builtin_1): Delete old interface with two
3409 parallel arrays to hold standard builtin declarations, and replace
3410 it with a function based interface that can support creating
3411 builtins on the fly in the future. Change all uses, and poison
3412 the old names. Make sure 0 is not a legitimate builtin index.
3413 * c-omp.c (c_finish_omp_barrier): Ditto.
3414 (c_finish_omp_taskwait): Ditto.
3415 (c_finish_omp_flush): Ditto.
3416
c7964868 34172011-10-11 Tristan Gingold <gingold@adacore.com>
3418
3419 * c.opt: (fallow-parameterless-variadic-functions): New.
3420
a4e3ffad 34212011-09-08 Dodji Seketeli <dodji@redhat.com>
3422
3423 PR c++/33255 - Support -Wunused-local-typedefs warning
3424 * c-common.h (struct c_language_function::local_typedefs): New
3425 field.
19931eea 3426 (record_locally_defined_typedef, maybe_record_typedef_use)
3427 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 3428 * c-common.c (record_locally_defined_typedef)
19931eea 3429 (maybe_record_typedef_use)
3430 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 3431 * c.opt: Declare new -Wunused-local-typedefs flag.
3432
737a23cc 34332011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3434
3435 PR middle-end/50266
3436 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3437 computations.
3438
7542c3b4 34392011-09-05 Richard Guenther <rguenther@suse.de>
3440
3441 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3442 of integer_minus_one_node for empty array upper bounds.
3443
1dc92c59 34442011-08-28 Dodji Seketeli <dodji@redhat.com>
3445
3446 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3447 it's the first time it's being called on this main TU.
3448
2bdf2b6e 34492011-08-24 Richard Guenther <rguenther@suse.de>
3450
3451 PR c/49396
3452 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3453
34542011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 3455
3456 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3457 defined in cpp_init_builtins and c_cpp_builtins.
3458
bff4ad11 34592011-08-19 Joseph Myers <joseph@codesourcery.com>
3460
3461 * c-common.c (c_common_reswords): Add __builtin_complex.
3462 * c-common.h (RID_BUILTIN_COMPLEX): New.
3463
985c6e3a 34642011-08-18 Joseph Myers <joseph@codesourcery.com>
3465
3466 * c-common.c (c_common_reswords): Add _Noreturn.
3467 (keyword_is_function_specifier): Handle RID_NORETURN.
3468 * c-common.h (RID_NORETURN): New.
3469
7dfa155b 34702011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3471
3472 * c-common.c (unsafe_conversion_p): New function. Check if it is
3473 unsafe to convert an expression to the type.
3474 (conversion_warning): Adjust, use unsafe_conversion_p.
3475 * c-common.h (unsafe_conversion_p): New function declaration.
3476
2169f33b 34772011-08-02 Jakub Jelinek <jakub@redhat.com>
3478
3479 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3480 (c_finish_omp_taskyield): New prototype.
3481 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3482 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3483 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3484 or RHS1 have side-effects, evaluate those too in the right spot,
3485 if it is a decl and LHS is also a decl, error out if they
3486 aren't the same.
3487 (c_finish_omp_taskyield): New function.
3488 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3489 * c-pragma.c (omp_pragmas): Add taskyield.
3490 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3491 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3492 PRAGMA_OMP_CLAUSE_MERGEABLE.
3493
ab77850e 34942011-07-25 Dodji Seketeli <dodji@redhat.com>
3495
3496 * c-common.h (set_underlying_type): Remove parm name from
3497 declaration.
3498
6ee97920 34992011-07-25 Romain Geissler <romain.geissler@gmail.com>
3500
3501 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3502
dc251364 35032011-07-22 Jason Merrill <jason@redhat.com>
3504
1a2a35f0 3505 PR c++/49793
3506 * c.opt (Wnarrowing): New.
3507
27282252 3508 PR c++/30112
3509 * c-common.h: Declare c_linkage_bindings.
3510 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3511
dc251364 3512 PR c++/49813
3513 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3514 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3515 as flag_isoc99 for 'restrict'.
3516 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3517
fc501191 35182011-07-21 Ian Lance Taylor <iant@google.com>
3519
3520 PR middle-end/49705
3521 * c-common.c (c_disable_warnings): New static function.
3522 (c_enable_warnings): New static function.
3523 (c_fully_fold_internal): Change local unused_p to bool. Call
3524 c_disable_warnings and c_enable_warnings rather than change
3525 c_inhibit_evaluation_warnings.
3526
07b8f133 35272011-07-20 Jason Merrill <jason@redhat.com>
3528
3529 PR c++/6709 (DR 743)
3530 PR c++/42603 (DR 950)
3531 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3532 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3533 (CPP_DECLTYPE): New.
3534 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3535
2cc66f2a 35362011-07-19 Richard Guenther <rguenther@suse.de>
3537
3538 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3539 * c-omp.c (c_finish_omp_for): Likewise.
3540
3c802a1e 35412011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3542
3543 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3544 body on the next line.
3545
98a33d9f 35462011-07-08 Jason Merrill <jason@redhat.com>
3547
3115bda0 3548 PR c++/45437
3549 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3550
98a33d9f 3551 PR c++/49673
3552 * c-common.c (c_apply_type_quals_to_decl): Don't check
3553 TYPE_NEEDS_CONSTRUCTING.
3554
c38a75b7 35552011-07-06 Richard Guenther <rguenther@suse.de>
3556
3557 * c-common.c (c_common_nodes_and_builtins):
3558 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3559
e593356b 35602011-07-05 Richard Guenther <rguenther@suse.de>
3561
3562 * c-common.c (c_common_nodes_and_builtins): Build all common
3563 tree nodes first.
3564
fca0886c 35652011-06-27 Jakub Jelinek <jakub@redhat.com>
3566
a68f7a8d 3567 * c-common.h (c_tree_chain_next): New static inline function.
3568
fca0886c 3569 * c-common.c (check_builtin_function_arguments): Handle
3570 BUILT_IN_ASSUME_ALIGNED.
3571
2797f13a 35722011-06-21 Andrew MacLeod <amacleod@redhat.com>
3573
3574 * c-common.c: Add sync_ or SYNC__ to builtin names.
3575 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3576
35772011-06-20 Pierre Vittet <piervit@pvittet.com>
3578
3579 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3580 handler.
3581 (gen_pragma_handler): New union.
3582 (internal_pragma_handler): New type.
3583 (c_register_pragma_with_data)
3584 (c_register_pragma_with_expansion_and_data): New functions.
3585
3586 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3587 (c_register_pragma, c_register_pragma_with_expansion)
3588 (c_invoke_pragma_handler): Changed to work with
3589 internal_pragma_handler.
3590 (c_register_pragma_with_data)
3591 (c_register_pragma_with_expansion_and_data): New functions.
3592
218e3e4e 35932011-06-14 Joseph Myers <joseph@codesourcery.com>
3594
3595 * c-common.c: Include common/common-target.h.
3596 (handle_section_attribute): Use
3597 targetm_common.have_named_sections.
3598 * c-cppbuiltin.c: Include common/common-target.h.
3599 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3600
41e53ed2 36012011-06-10 Richard Guenther <rguenther@suse.de>
3602
3603 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3604 to print a IDENTIFIER_NODE.
3605
a6f06169 36062011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3607 Joseph Myers <joseph@codesourcery.com>
3608
3609 * c.opt (fbuilding-libgcc): New option.
3610 * c-cppbuiltin.c (c_cpp_builtins): Define
3611 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3612
1ea9269b 36132011-06-07 Jason Merrill <jason@redhat.com>
3614
8ce59854 3615 * c-common.c (max_tinst_depth): Lower default to 900.
3616
1ea9269b 3617 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3618
1af0124d 36192011-06-07 Richard Guenther <rguenther@suse.de>
3620
3621 * c-common.c (c_common_nodes_and_builtins): Do not set
3622 size_type_node or call set_sizetype.
3623
0e9a4c01 36242011-06-07 Dodji Seketeli <dodji@redhat.com>
3625
3626 PR debug/49130
3627 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3628 type when using pointer comparison to compare types.
0e9a4c01 3629
90b40725 36302011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3631
3632 * c.opt: Add -Wdelete-non-virtual-dtor.
3633 * c-opts.c (c_common_handle_option): Include it in -Wall.
3634
fc9c9e87 36352011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3636
3637 PR bootstrap/49190
3638
3639 Revert:
3640 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3641
3642 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3643 not tree_common.
3644
d0389adc 36452011-05-27 Jakub Jelinek <jakub@redhat.com>
3646
3647 PR c++/49165
3648 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3649 C++ don't call c_common_truthvalue_conversion on void type arms.
3650
cacfdc02 36512011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3652
3653 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3654 (stmt_list_stack): Define.
3655 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3656 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3657
027fc6ef 36582011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3659
3660 * c-common.c (warning_candidate_p): Check for BLOCKs.
3661
f21317a1 36622011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3663
3664 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3665 not tree_common.
3666
789e953d 36672011-05-25 Jakub Jelinek <jakub@redhat.com>
3668
3669 * c-common.c (def_fn_type): Remove extra va_end.
3670
7f506bca 36712011-05-23 Jason Merrill <jason@redhat.com>
3672
3673 PR c++/48106
3674 * c-common.c (c_common_get_narrower): New.
3675 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3676
774e9d58 36772011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3678
3679 * c-common.h (check_function_arguments): Tweak prototype of
3680 check_function_arguments.
3681 * c-common.c (check_function_arguments): Likewise. Adjust
3682 calls to check_function_nonnull, check_function_format, and
3683 check_function_sentinel.
3684 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3685 separate attributes and typelist arguments. Use
3686 FOREACH_FUNCTION_ARGS to iterate over argument types.
3687
23407dc9 36882011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3689
3690 * c-common.c (c_common_reswords): Reorder.
3691 * c-common.h (rid): Likewise.
3692
3a939d12 36932011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3694
3695 * c-common.c (def_fn_type): Don't call build_function_type, call
3696 build_function_type_array or build_varargs_function_type_array
3697 instead.
3698 (c_common_nodes_and_builtins): Likewise.
3699
b6e3dd65 37002011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3701
3702 * c-common.c (c_add_case_label): Omit the loc argument to
3703 build_case_label.
3704 * c-common.h (build_case_label): Remove.
3705 * c-semantics.c (build_case_label): Remove.
3706
4232a958 37072011-05-05 Joseph Myers <joseph@codesourcery.com>
3708
3709 * c-objc.h (objc_start_method_definition): Update prototype.
3710 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3711
d0af78c5 37122011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3713
3714 * c-common.c (check_main_parameter_types): Reindent. Don't use
3715 TYPE_ARG_TYPES directly.
3716 (handle_nonnull_attribute): Likewise.
3717 (sync_resolve_params): Likewise.
3718 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3719 to check_format_string.
3720 (handle_format_attribute): Likewise.
3721 (check_format_string): Take a function type to examine instead of
3722 a type list. Use a function_arg_iterator to step through argument
3723 types.
3724
ceb7b692 37252011-05-04 Richard Guenther <rguenther@suse.de>
3726
3727 * c-common.c (fix_string_type): Use size_int for index type bounds.
3728 (start_fname_decls): Do not pass NULL to build_int_cst.
3729 (c_init_attributes): Likewise.
3730 * c-lex.c (c_lex_with_flags): Likewise.
3731
c66c81be 37322011-04-27 Jason Merrill <jason@redhat.com>
3733
3734 * c-common.c (make_tree_vector_from_list): New.
3735 * c-common.h: Declare it.
3736
16930c72 37372011-04-26 Richard Guenther <rguenther@suse.de>
3738
3739 PR preprocessor/48248
3740 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3741 for output size with -P.
3742
23407dc9 37432011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3744
3745 * c-common.c (struct c_common_resword): Add __underlying_type.
3746 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3747
dd045aee 37482011-04-20 Jim Meyering <meyering@redhat.com>
3749
3750 * c-format.c (init_dollar_format_checking): Remove useless
3751 if-before-free.
3752
394dd737 37532011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3754
3755 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3756 (objc_detect_field_duplicates): New.
394dd737 3757 * stub-objc.c: Likewise.
23407dc9 3758
a758bf7d 37592011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3760
3761 * stub-objc.c (objc_declare_protocols): Renamed to
3762 objc_declare_protocol.
3763 * c-objc.h: Likewise.
23407dc9 3764
29d7200d 37652011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3766
3767 * stub-objc.c (objc_declare_class): Updated argument name.
3768
9b88d08d 37692011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3770
3771 * c-common.h (c_common_init_ts): Declare.
3772 * c-common.c (c_common_init_ts): Define.
3773
4185cf58 37742011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3775
3776 * c-objc.h (objc_build_message_expr): Updated prototype.
3777 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 3778
5a90471f 37792011-04-12 Martin Jambor <mjambor@suse.cz>
3780
3781 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3782 of cgraph_node.
3783
783bb57e 37842011-04-11 Richard Guenther <rguenther@suse.de>
3785
3786 * c-common.c (complete_array_type): Build a range type of
3787 proper type.
3788
c33080b9 37892011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3790
3791 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3792 (handle_type_generic_attribute): Likewise.
3793
f8913d47 37942011-04-07 Jason Merrill <jason@redhat.com>
3795
3796 PR c++/48450
3797 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3798 conversion from C++0x scoped enum.
3799
c94b1d0e 38002011-04-06 Joseph Myers <joseph@codesourcery.com>
3801
3802 * c-target-def.h: New file.
3803 * c-target.def: New file.
3804 * c-target.h: New file.
3805 * c-common.c (targetcm): Don't define here.
3806 * c-common.h (default_handle_c_option): Declare.
3807 * c-format.c: Include c-target.h instead of target.h.
3808 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3809 include tm.h.
3810 (default_handle_c_option): Move from targhooks.c.
3811
acb10f41 38122011-03-29 Jakub Jelinek <jakub@redhat.com>
3813
3814 PR preprocessor/48248
3815 * c-ppoutput.c (print): Add src_file field.
3816 (init_pp_output): Initialize it.
3817 (maybe_print_line): Don't optimize by adding up to 8 newlines
3818 if map->to_file and print.src_file are different file.
3819 (print_line): Update print.src_file.
3820
82715bcd 38212011-03-25 Kai Tietz <ktietz@redhat.com>
3822
3823 * c-ada-spec.c (compare_comment): Use filename_cmp
3824 instead of strcmp for filename.
3825
451c8e2f 38262011-03-25 Jeff Law <law@redhat.com>
3827
1f78217c 3828 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 3829
3c47771c 38302011-03-25 Jason Merrill <jason@redhat.com>
3831
3832 * c.opt: Add -std=c++03.
3833
97e6200f 38342011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3835
3836 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3837
ac86af5d 38382011-03-17 Kai Tietz
3839
3840 PR target/12171
ee212425 3841 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3842 Display allowed attributes for function pointer types.
3843 (pp_c_attributes_display): New function to display
3844 attributes having affects_type_identity flag set to true.
3845 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3846
ac86af5d 3847 * c-common.c (c_common_attribute_table):
3848 Add new element.
3849 (c_common_format_attribute_table): Likewise.
3850
914d1151 38512011-03-18 Jason Merrill <jason@redhat.com>
3852
69788bdf 3853 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3854 * c-common.h: Don't declare it here.
3855 * c-common.c: Or define it here.
3856 * c-opts.c (c_common_handle_option): Or set it here.
3857
914d1151 3858 PR c++/35315
3859 * c-common.c (handle_transparent_union_attribute): Don't
3860 make a duplicate type in C++.
3861
54cf6eed 38622011-03-15 Jason Merrill <jason@redhat.com>
3863
3864 * c-common.c (max_constexpr_depth): New.
3865 * c-common.h: Declare it.
3866 * c-opts.c (c_common_handle_option): Set it.
3867 * c.opt (fconstexpr-depth): New option.
3868
02cb1060 38692011-03-11 Jason Merrill <jason@redhat.com>
3870
9bf1c74e 3871 * c-common.c (attribute_takes_identifier_p): Add missing const.
3872
02cb1060 3873 PR c++/46803
3874 * c-common.c (attribute_takes_identifier_p): Assume that an
3875 unknown attribute takes an identifier.
3876
ecf2703d 38772011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3878
3879 PR c/47786
3880 * c-common.c (c_type_hash): Call list_length instead of iterating
3881 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3882
2b19dfe4 38832011-02-19 Jakub Jelinek <jakub@redhat.com>
3884
3885 PR c/47809
3886 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3887
29cf2335 38882011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3889
3890 * c.opt (fobjc-abi-version=) New.
3891 (fobjc-nilcheck): New.
3892
fad3f658 38932011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3894
3895 PR c++/46890
3896 * c-common.h (keyword_is_decl_specifier): Declare.
3897 * c-common.c (keyword_is_decl_specifier): Define.
3898 (keyword_is_function_specifier): New function.
3899
a12319b3 39002011-01-26 Jakub Jelinek <jakub@redhat.com>
3901
3902 PR c/47473
3903 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3904 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3905 REAL_TYPE.
3906
5c128dc8 39072011-01-26 Arnaud Charlet <charlet@adacore.com>
3908
3909 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3910
8d67b0c7 39112011-01-26 Jakub Jelinek <jakub@redhat.com>
3912
3913 PR pch/47430
3914 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3915 after init_c_lex if pch_file is set.
3916
0675168d 39172011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3918
e8911163 3919 PR c++/43601
0675168d 3920 * c.opt (-fkeep-inline-dllexport): New switch.
3921
0725e25c 39222011-01-12 Richard Guenther <rguenther@suse.de>
3923
3924 PR middle-end/32511
3925 * c-common.c (handle_weak_attribute): Warn instead of error
3926 on declaring an inline function weak.
3927
fdd84b77 39282011-01-05 Tom Tromey <tromey@redhat.com>
3929
3930 * c-common.h (lvalue_error): Update.
3931 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3932 not error.
3933
e6e73d14 39342010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3935
d67e8485 3936 PR objc/47075
3937 * c-objc.h (objc_finish_message_expr): Added argument to
3938 prototype.
3939
a36cf284 39402010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3941
3942 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3943 Use prototype_p.
3944
33b3681f 39452010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3946
3947 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3948 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3949
a1f90215 39502010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3951
3952 * c-common.h (readonly_error): Declare.
3953 * c-common.c (readonly_error): Define.
3954
b1bbc8e5 39552010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3956
3957 * c-common.h (invalid_indirection_error): Declare.
3958 * c-common.c (invalid_indirection_error): Define.
3959
b0d55af9 39602010-12-03 Richard Guenther <rguenther@suse.de>
3961
3962 PR c/46745
3963 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3964 (pp_c_unary_expression): Likewise.
3965 (pp_c_expression): Likewise.
3966
d7489d8d 39672010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3968
3969 * c-common.h (objc_finish_function): New.
3970 (objc_non_volatilized_type): Removed.
3971 (objc_type_quals_match): Removed.
3972 * stub-objc.c (objc_finish_function): New.
3973 (objc_non_volatilized_type): Removed.
3974 (objc_type_quals_match): Removed.
19931eea 3975
92468061 39762010-11-30 Joseph Myers <joseph@codesourcery.com>
3977
3978 * c-common.h (parse_optimize_options): Declare.
3979 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3980 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3981
967958e4 39822010-11-29 Joseph Myers <joseph@codesourcery.com>
3983
3984 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3985 GET_ENVIRONMENT.
3986 * c-pch.c (O_BINARY): Don't define here.
3987 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3988
b213bf24 39892010-11-25 Joseph Myers <joseph@codesourcery.com>
3990
3991 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3992 targetm.except_unwind_info.
3993
9faf44d6 39942010-11-23 Joseph Myers <joseph@codesourcery.com>
3995
3996 * c-opts.c (c_common_handle_option): Pass location to
3997 set_struct_debug_option.
3998
79396169 39992010-11-23 Joseph Myers <joseph@codesourcery.com>
4000
4001 * c-common.c (visibility_options): Move from ../opts.c.
4002 * c-common.h (struct visibility_flags, visibility_options):
4003 Declare here.
4004 * c-opts.c (finish_options): Rename to c_finish_options.
4005 (c_common_init): Update call to finish_options.
4006
b4aa4123 40072010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4008
4009 PR objc/34033
4010 * c-lex.c (lex_string): Check that each string in an Objective-C
4011 string concat sequence starts with either one or zero '@', and
4012 that there are no spurious '@' signs at the end.
4013
3e0e49f2 40142010-11-20 Joseph Myers <joseph@codesourcery.com>
4015
4016 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
4017 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
4018 HANDLE_PRAGMA_VISIBILITY.
4019 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
4020 HANDLE_PRAGMA_VISIBILITY): Don't define.
4021 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
4022
a9ffdd35 40232010-11-20 Nathan Froyd <froydnj@codesourcery.com>
4024
4025 PR c++/16189
4026 PR c++/36888
4027 PR c++/45331
4028 * c-common.h (keyword_begins_type_specifier): Declare.
4029 (keyword_is_storage_class_specifier): Declare.
4030 (keyword_is_type_qualifier): Declare.
4031 * c-common.c (keyword_begins_type_specifier): New function.
4032 (keyword_is_storage_class_specifier): New function.
4033 (keyword_is_type_qualifier): Declare.
4034
93be21c0 40352010-11-19 Joseph Myers <joseph@codesourcery.com>
4036
4037 PR c/46547
4038 * c-common.c (in_late_binary_op): Define.
4039 (c_common_truthvalue_conversion): Check in_late_binary_op before
4040 calling c_save_expr.
4041 * c-common.h (in_late_binary_op): Declare.
4042
d7175aef 40432010-11-19 Joseph Myers <joseph@codesourcery.com>
4044
4045 * c-opts.c (c_common_handle_option): Update calls to
4046 set_struct_debug_option.
4047
c213e196 40482010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4049
4050 * c-common.h (objc_declare_protocols): Added additional argument.
4051 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 4052
0b5fc5d6 40532010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4054
4055 PR c/33193
4056 * c-common.h (build_real_imag_expr): Declare.
4057 * c-semantics.c (build_real_imag_expr): Define.
4058
b8ba44e7 40592010-11-17 Joseph Myers <joseph@codesourcery.com>
4060
4061 * c-opts.c (c_common_parse_file): Take no arguments.
4062 * c-common.h (c_common_parse_file): Update prototype.
4063
6ef8d12f 40642010-11-16 Jakub Jelinek <jakub@redhat.com>
4065
4066 PR c++/46401
4067 * c-common.c (warning_candidate_p): Don't track non-const calls
4068 or STRING_CSTs.
4069
929d2a90 40702010-11-15 Ian Lance Taylor <iant@google.com>
4071
4072 * c-lex.c (init_c_lex): Set macro debug callbacks if
4073 flag_dump_go_spec is set.
4074
e4a7640a 40752010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4076
4077 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4078 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4079
597d2d81 40802010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4081
4082 PR preprocessor/45038
4083 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4084 dialects.
4085
c123f04d 40862010-11-12 Joseph Myers <joseph@codesourcery.com>
4087
4088 * c-common.h (c_family_lang_mask): Declare.
4089 * c-opts.c (c_family_lang_mask): Make extern.
4090 * c-pragma.c (handle_pragma_diagnostic): Use
4091 control_warning_option.
4092
3c6c0e40 40932010-11-12 Joseph Myers <joseph@codesourcery.com>
4094
4095 * c-common.c (parse_optimize_options): Update call to
4096 decode_options.
4097 * c-common.h (c_common_handle_option): Update prototype.
4098 * c-opts.c (c_common_handle_option): Take location_t parameter and
4099 pass it to other functions.
4100
19ec5c9e 41012010-11-11 Joseph Myers <joseph@codesourcery.com>
4102
4103 * c-opts.c (warning_as_error_callback): Remove.
4104 (c_common_initialize_diagnostics): Don't call
4105 register_warning_as_error_callback.
4106 (c_common_handle_option): Handle -Werror=normalized= here.
4107
bf776685 41082010-11-10 Joseph Myers <joseph@codesourcery.com>
4109
4110 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4111 in diagnostic.
4112 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4113 letter.
4114 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4115 Remove trailing '.' from diagnostics.
4116 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4117
6bd9d862 41182010-11-10 Joseph Myers <joseph@codesourcery.com>
4119
4120 * c-common.c (parse_optimize_options): Pass global_dc to
4121 decode_options.
4122 * c-opts.c (c_common_handle_option): Pass &global_options to
4123 set_Wstrict_aliasing.
4124 * c.opt (v): Don't mark Common or document here.
4125
1f6616ee 41262010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4127
4128 PR target/44981
4129 * c-format.c (format_type): New type gcc_objc_string_format_type.
4130 (valid_stringptr_type_p): New.
4131 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 4132 (check_format_string): Pass expected type, use
1f6616ee 4133 valid_stringptr_type_p (), check that the format string types are
4134 consistent with the format specification.
4135 (decode_format_attr): Warn if NSString is used outside objective-c.
4136 (format_types_orig): Add NSString.
4137 (format_name): New.
4138 (format_flags): New.
4139 (check_format_arg): Handle format strings requiring an external parser.
4140 first_target_format_type: New variable.
4141 (handle_format_attribute): Set up first_target_format_type, pass the
4142 expected format arg string type to check_format_string().
4143 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4144 * stub-objc.c (objc_string_ref_type_p): New.
4145 (objc_check_format_arg): New.
4146
b0d0931f 41472010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4148
19931eea 4149 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 4150 * c-common.h (objc_build_class_component_ref): New.
4151 * stub-objc.c (objc_build_class_component_ref): New.
4152
f26877d5 41532010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4154
4155 * c.opt (Wproperty-assign-default): New option.
4156
1ef143b6 41572010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4158
4159 Implemented -fobjc-std=objc1 flag.
4160 * c.opt (fobjc-std=objc1): New option.
4161
8c582e4f 41622010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4163
4164 Implemented format and noreturn attributes for Objective-C methods.
4165 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4166 attribute for Objective-C methods.
4167
8637f1db 41682010-10-31 Jason Merrill <jason@redhat.com>
4169
4170 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4171 EXPR_LOC_OR_HERE.
4172
9d9f5bb3 41732010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4174
4175 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4176 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4177 (objc_add_property_declaration): Removed arguments for copies and
4178 ivar.
4179 (objc_build_getter_call): Renamed to
4180 objc_maybe_build_component_ref.
4181 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4182 (objc_is_property_ref): New.
4183 * c-common.c (c_common_reswords): Removed copies and ivar.
4184 * stub-objc.c (objc_add_property_declaration): Removed arguments
4185 for copies and ivar.
4186 (objc_build_getter_call): Renamed to
4187 objc_maybe_build_component_ref.
4188 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4189 (objc_is_property_ref): New.
19931eea 4190
56f907a0 41912010-10-29 Arnaud Charlet <charlet@adacore.com>
4192 Matthew Gingell <gingell@adacore.com>
4193
4194 * c-ada-spec.c (separate_class_package): New function.
4195 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4196 name of their enclosing package.
4197 (print_ada_declaration): Use separate_class_package.
4198
b5fa273e 41992010-10-27 Jason Merrill <jason@redhat.com>
4200
5290e253 4201 * c-common.c (c_common_reswords): Add __is_literal_type.
4202 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4203
b5fa273e 4204 * c-common.c (check_case_value): Remove special C++ code.
4205
7590f0e5 42062010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4207
4208 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4209 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4210 and RID_LAST_PATTR.
4211 (objc_add_property_declaration): Added additional arguments.
4212 (objc_property_attribute_kind): Removed.
4213 (objc_set_property_attr): Removed.
4214 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4215 copy and nonatomic.
4216 * stub-objc.c (objc_add_property_declaration): Added additional
4217 arguments.
4218 (objc_set_property_attr): Removed.
19931eea 4219
1d894bcf 42202010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4221
4222 * c-common.h (objc_add_property_variable): Renamed to
4223 objc_add_property_declaration. Added location argument.
4224 * stub-objc.c (objc_add_property_variable): Same change.
4225
e23bf1fb 42262010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4227
4228 * c-common.h (objc_maybe_printable_name): New.
4229 * stub-objc.c (objc_maybe_printable_name): New.
4230
93426222 42312010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4232 Andrew Pinski <pinskia@gmail.com>
4233
4234 * c-common.h (c_common_mark_addressable_vec): Declare.
4235 * c-common.c (c_common_mark_addressable_vec): New function.
4236
45b2b110 42372010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4238
4239 * c-common.h (objc_set_method_type): Removed.
4240 (objc_add_method_declaration): Added boolean argument.
4241 (objc_start_method_definition): Same change.
4242 (objc_build_method_signature): Same change.
4243 * stub-objc.c (objc_set_method_type): Removed.
4244 (objc_add_method_declaration): Added boolean argument.
4245 (objc_start_method_definition): Same change.
4246 (objc_build_method_signature): Same change.
4247
64cd9619 42482010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4249
4250 * c-common.h (finish_file): Removed.
4251 (objc_write_global_declarations): New.
4252 * c-opts.c (c_common_parse_file): Do not call finish_file.
4253 * stub-objc.c (objc_write_global_declarations): New.
19931eea 4254
e1f293c0 42552010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4256
4257 Implemented parsing @synthesize and @dynamic for
4258 Objective-C/Objective-C++.
4259 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4260 (objc_add_synthesize_declaration): New.
4261 (objc_add_dynamic_declaration): New.
4262 * c-common.c (c_common_reswords): Add synthesize and dynamic.
4263 * stub-objc.c (objc_add_synthesize_declaration): New.
4264 (objc_add_dynamic_declaration): New.
19931eea 4265
ef97a312 42662010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4267
4268 PR target/46041
4269 * c-cppbuiltin.c (mode_has_fma): Move function here from
4270 builtins.c. Don't use the fma optab, instead just use the
4271 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
4272 using -save-temps.
4273
69b07042 42742010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4275
4276 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 4277
69b07042 4278 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
4279
19931eea 4280 Radar 4330422
69b07042 4281 * c-common.h (objc_non_volatilized_type): New declaration
4282 * stub-objc.c (objc_non_volatilized_type): New stub.
4283
f15f2e56 42842010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4285
69b07042 4286 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 4287
4288 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
4289
19931eea 4290 Radar 4133425
f15f2e56 4291 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 4292 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 4293
4a8875ed 42942010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4295
4296 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
4297 * c-common.h (enum rid): Add RID_AT_PACKAGE.
4298 (objc_ivar_visibility_kind): New enum.
4299 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 4300 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 4301 visibility enum.
4302
7e0713b1 43032010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4304
4305 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4306 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4307 has the appropriate fma builtins.
4308 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4309
86c110ac 43102010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4311
7e0713b1 4312 merge from FSF apple 'trunk' branch.
86c110ac 4313 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 4314
86c110ac 4315 Radars 4436866, 4505126, 4506903, 4517826
4316 * c-common.c (c_common_resword): Define @property and its attributes.
4317 * c-common.h: Define property attribute enum entries.
4318 (OBJC_IS_PATTR_KEYWORD): New.
4319 (objc_property_attribute_kind): New enum.
4320 Declare objc_set_property_attr (), objc_add_property_variable (),
4321 objc_build_getter_call () and objc_build_setter_call ().
4322 * stub-objc.c (objc_set_property_attr): New stub.
4323 (objc_add_property_variable): Likewise.
4324 (objc_build_getter_call): Likewise.
4325 (objc_build_setter_call) Likewise.
7e0713b1 4326
40c8d1dd 43272010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4328
7e0713b1 4329 merge from FSF apple 'trunk' branch.
40c8d1dd 4330 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4331
4332 Radar 3803157 (method attributes)
4333 * c-common.c (handle_deprecated_attribute): Recognize
4334 objc methods as valid declarations.
4335 * c-common.h: Declare objc_method_decl ().
7e0713b1 4336 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 4337
f3f006ad 43382010-10-08 Joseph Myers <joseph@codesourcery.com>
4339
4340 * c-common.c (parse_optimize_options): Call
4341 decode_cmdline_options_to_array_default_mask before
4342 decode_options. Update arguments to decode_options.
4343 * c-common.h (c_common_init_options_struct): Declare.
4344 * c-opts.c (c_common_init_options_struct): New. Split out from
4345 c_common_init_options.
4346
0a65c3bb 43472010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4348
4349 Implemented fast enumeration for Objective-C.
4350 * c-common.h (objc_finish_foreach_loop): New.
4351 * stub-objc.c (objc_finish_foreach_loop): New.
4352
24ca3b4e 43532010-10-05 Joseph Myers <joseph@codesourcery.com>
4354
4355 * c-common.h (struct diagnostic_context): Don't declare here.
4356 (c_common_initialize_diagnostics): Declare using
4357 diagnostic_context typedef.
4358 * c-opts.c (c_common_handle_option): Pass global_dc to
4359 handle_generated_option.
4360
f83b64ca 43612010-10-04 Joseph Myers <joseph@codesourcery.com>
4362
4363 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4364 handle_generated_option.
4365
2fdec027 43662010-10-03 Ian Lance Taylor <iant@google.com>
4367
4368 * c.opt (-fplan9-extensions): New option.
4369
41acdfa4 43702010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4371
4372 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4373 Remove.
4374 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4375 of duplicating code.
4376
069761fb 43772010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4378
4379 * c-common.c: Add two new entries for @optional
4380 and @required keywords.
4381
4382 merge from FSF 'apple/trunk' branch.
4383 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4384
4385 Radar 4386773
4386 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4387 objective-c keywords.
4388 (objc_set_method_opt): New declaration.
4389 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 4390
2c5d2e39 43912010-09-30 Joseph Myers <joseph@codesourcery.com>
4392
4393 * c-common.c (handle_optimize_attribute): Pass &global_options to
4394 cl_optimization_save and cl_optimization_restore.
4395 * c-opts.c (c_common_handle_option): Pass &global_options to
4396 handle_generated_option.
4397 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4398 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4399 &global_options to cl_optimization_restore.
4400
e5c75ac3 44012010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4402
4403 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4404 Objective-C/Objective-C++ keywords.
4405
3511333e 44062010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 4407
19931eea 4408 Merge from 'apple/trunk' branch on FSF servers.
4409
e147d6aa 4410 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4411
4412 Radar 4281748
4413 * c-common.h (objc_check_global_decl): New declaration.
4414 * stub-objc.c (objc_check_global_decl): New stub.
4415
5461e683 44162010-09-29 Joseph Myers <joseph@codesourcery.com>
4417
4418 * c.opt: Don't use VarExists.
4419
5ae82d58 44202010-09-29 Joseph Myers <joseph@codesourcery.com>
4421
4422 * c-common.c (c_cpp_error): Update names of diagnostic_context
4423 members.
4424 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4425 cl_optimization members.
4426 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4427 sanitize_cpp_opts, finish_options): Update names of cpp_options
4428 members.
4429
b27e241e 44302010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4431
4432 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4433 (objc_is_reserved_word): Removed.
4434 * c-common.c: Updated comments.
4435 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4436 objc_is_reserved_word.
4437 * stub-objc.c (objc_is_reserved_word): Removed.
4438
03fc2271 44392010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4440
19931eea 4441 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 4442 include attributes.
4443 (objc_start_method_definition): Likewise.
4444 (objc_build_keyword_decl): Likewise.
4445 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4446 (objc_start_method_definition): Likewise.
4447 (objc_build_keyword_decl): Likewise.
4448
a336eb4b 44492010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4450
4451 * c-common.h (objc_start_class_interface): Adjust prototype.
4452 (objc_start_category_interface): Likewise.
4453 (objc_start_protocol): Likewise.
4454 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4455 (objc_start_class_interface): Likewise.
4456 (objc_start_category_interface): Likewise.
4457
48b14f50 44582010-09-27 Ian Lance Taylor <iant@google.com>
4459
4460 * c-common.c (c_common_attribute_table): Add no_split_stack.
4461 (handle_no_split_stack_attribute): New static function.
4462
4abfc532 44632010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4464
19931eea 4465 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 4466
4467 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4468
19931eea 4469 Radar 4229905
4abfc532 4470 * c-common.h (objc_have_common_type): New declaration.
4471 * stub-objc.c (objc_have_common_type): New stub.
4472
4473 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4474
4475 Radar 4154928
4476 * c-common.h (objc_common_type): New prototype.
19931eea 4477 * stub-objc.c (objc_common_type): New stub.
4abfc532 4478
7bd95dfd 44792010-09-24 Jan Hubicka <jh@suse.cz>
4480
4481 * c-common.c (handle_leaf_attribute): New function.
4482 (struct attribute_spec c_common_att): Add leaf.
4483
5789e05b 44842010-09-22 Joseph Myers <joseph@codesourcery.com>
4485
4486 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4487 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4488 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4489 -include-barrier, -include-directory, -include-directory=,
4490 -include-directory-after, -include-directory-after=,
4491 -include-prefix, -include-prefix=, -include-with-prefix,
4492 -include-with-prefix=, -include-with-prefix-after,
4493 -include-with-prefix-after=, -include-with-prefix-before,
4494 -include-with-prefix-before=, -no-integrated-cpp,
4495 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4496 -output=, -pedantic, -pedantic-errors, -preprocess,
4497 -print-missing-file-dependencies, -trace-includes, -traditional,
4498 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4499 -user-dependencies, -verbose, -write-dependencies,
4500 -write-user-dependencies, no-integrated-cpp, traditional): New.
4501
e6fb54ba 45022010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4503
4504 PR objc/23710
9b60f3b0 4505 * c-common.h (objc_start_method_definition): Return bool instead
4506 of void.
4507 * stub-objc.c (objc_start_method_definition): Return bool instead
4508 of void.
4509
45102010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4511
4512 PR objc/25965
4513 * c-common.h (objc_get_interface_ivars): New declaration.
4514 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4515
e44b0a1f 45162010-09-15 Ian Lance Taylor <iant@google.com>
4517
4518 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4519 messages. Remove period at end of warning message.
e44b0a1f 4520
85c0a25c 45212010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4522
4523 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4524 (handle_alias_attribute): ... here.
4525 (handle_ifunc_attribute): New.
4526
5ba33bf4 45272010-09-06 Mark Mitchell <mark@codesourcery.com>
4528
4529 * c-common.h (do_warn_double_promotion): Declare.
4530 * c-common.c (do_warn_double_promotion): Define.
4531
c920faa3 45322010-09-05 Mark Mitchell <mark@codesourcery.com>
4533
4534 * c.opt (Wdouble-promotion): New.
4535
9604e070 45362010-09-02 Joseph Myers <joseph@codesourcery.com>
4537
4538 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4539 fvtable-thunks, fxref): Mark no longer supported in help text.
4540
3b0273a1 45412010-09-02 Joseph Myers <joseph@codesourcery.com>
4542
4543 * c.opt (Wimport, fall-virtual, falt-external-templates,
4544 fdefault-inline, fenum-int-equiv, fexternal-templates,
4545 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4546 fname-mangling-version-, fnew-abi, fnonnull-objects,
4547 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4548 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4549 applicable.
4550 (fhandle-exceptions): Mark with Alias and Warn.
4551 * c-opts.c (c_common_handle_option): Don't handle options marked
4552 as ignored.
4553
67089c6b 45542010-09-02 Joseph Myers <joseph@codesourcery.com>
4555
4556 * c.opt (Wcomments, Werror-implicit-function-declaration,
4557 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4558 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4559 aliases.
4560 * c-common.c (option_codes): Use OPT_Wcomment instead of
4561 OPT_Wcomments.
4562 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4563 Don't handle options marked as aliases.
4564
2af087f2 45652010-08-25 Richard Guenther <rguenther@suse.de>
4566
4567 * c-common.c (c_common_get_alias_set): Remove special
4568 handling for pointers.
4569
48148244 45702010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4571
4572 * c-common.c: Use FOR_EACH_VEC_ELT.
4573 * c-gimplify.c: Likewise.
4574 * c-pragma.c: Likewise.
4575
89c69892 45762010-08-16 Joseph Myers <joseph@codesourcery.com>
4577
4578 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4579 RejectDriver.
4580 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4581 RejectDriver.
4582 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4583 instead of OPT_MDX and OPT_MMDX.
4584
e28aa114 45852010-08-16 Joseph Myers <joseph@codesourcery.com>
4586
4587 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4588
99b66d21 45892010-08-12 Joseph Myers <joseph@codesourcery.com>
4590
4591 * c.opt (MD, MMD): Change to MDX and MMDX.
4592 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4593
666f4bf0 45942010-08-11 Joseph Myers <joseph@codesourcery.com>
4595
4596 * c-opts.c (c_common_handle_option): Call handle_generated_option
4597 instead of handle_option.
4598
5ec815f6 45992010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4600
4601 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4602 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4603
d13143cf 46042010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4605
4606 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4607 (pending_redefine_extname): Change type to a VEC.
4608 (add_to_renaming_pragma_list): Update for new type of
4609 pending_redefine_extname.
5ec815f6 4610 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4611
2008c983 46122010-08-04 Arnaud Charlet <charlet@adacore.com>
4613
4614 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4615 visited.
4616 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4617 decide whether a type has already been declared/seen.
4618 Do not go to the original type.
4619 (dump_nested_types): New parameter forward.
4620 Generate forward declaration if needed and mark type as visited.
4621 (print_ada_declaration): Call dump_nested_types if not already done.
4622 Mark types as visited.
4623
9b091a73 46242010-08-03 Joseph Myers <joseph@codesourcery.com>
4625
4626 * c.opt (-print-pch-checksum): Remove option.
4627 * c-opts.c (c_common_handle_option): Don't handle
4628 OPT_print_pch_checksum.
4629
b78351e5 46302010-07-27 Joseph Myers <joseph@codesourcery.com>
4631
4632 * c-common.h (c_common_handle_option): Update prototype and return
4633 value type.
4634 * c-opts.c (c_common_handle_option): Update prototype and return
4635 value type. Update calls to handle_option and
4636 enable_warning_as_error.
4637
34416a90 46382010-07-27 Jakub Jelinek <jakub@redhat.com>
4639
4640 PR c/45079
4641 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4642
fecf9011 46432010-07-27 Joseph Myers <joseph@codesourcery.com>
4644
4645 * c-common.h (c_common_missing_argument): Remove.
4646 * c-opts.c (c_common_missing_argument): Remove.
4647 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4648 idirafter, imacros, include, isysroot, isystem, iquote): Add
4649 MissingArgError.
4650 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4651
e88d34f6 46522010-07-27 Joseph Myers <joseph@codesourcery.com>
4653
4654 * c-common.h (c_common_option_lang_mask,
4655 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4656 New.
4657 (c_common_init_options): Update prototype.
4658 * c-opts.c (c_common_option_lang_mask): New.
4659 (c_common_initialize_diagnostics): Split out of
4660 c_common_init_options.
4661 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4662 New.
4663 (c_common_init_options): Update prototype. Use decoded options in
4664 search for -lang-asm.
4665
1767a056 46662010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4667
4668 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4669 * c-format.c: Likewise.
4670
0b205f4c 46712010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4672
4673 * c-common.h: Include diagnostic-core.h. Error if already
4674 included.
4675 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4676
1c58e3f1 46772010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4678
1f78217c 4679 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 4680 Do not include expr.h
4681 (vector_mode_valid_p): Move here.
4682
33cc157c 46832010-06-21 DJ Delorie <dj@redhat.com>
4684
4685 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4686 allow these pragmas anywhere.
4687
46882010-06-14 Jakub Jelinek <jakub@redhat.com>
4689
4690 PR bootstrap/44509
4691 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4692 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4693 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4694 ggc_strdup instead of xstrdup.
4695
46962010-06-10 Jakub Jelinek <jakub@redhat.com>
4697
4698 * c-cppbuiltin.c: Include cpp-id-data.h.
4699 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4700 (lazy_hex_fp_value): New function.
4701 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4702
9b40bfbf 47032010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4704
4705 * c-gimplify.c: Do not include tree-flow.h
4706
202d6e5f 47072010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4708
4709 PR other/44034
4710 * c-common.c: Rename targetm member:
4711 targetm.enum_va_list -> targetm.enum_va_list_p
4712
d3237426 47132010-06-28 Anatoly Sokolov <aesok@post.ru>
4714
4715 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4716
596981c8 47172010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4718
4719 * c-cppbuiltin.c: Do not include except.h.
4720
b9bdfa0b 47212010-06-24 Andi Kleen <ak@linux.intel.com>
4722
19931eea 4723 * c-common.c (warn_for_omitted_condop): New.
4724 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4725
55ad092d 47262010-06-21 Joseph Myers <joseph@codesourcery.com>
4727
4728 * c.opt (lang-objc): Remove.
4729 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4730
9e7c2572 47312010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4732
4733 * c-opts.c: Include "tm_p.h".
4734
615ef0bb 47352010-06-20 Joseph Myers <joseph@codesourcery.com>
4736
4737 * c-common.c (parse_optimize_options): Update call to
4738 decode_options.
4739
aef48c9a 47402010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4741
4742 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4743 new type of types_used_by_cur_var_decl.
4744
d74003b4 47452010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4746
4747 PR bootstrap/44512
4748 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4749 for C++ standard compliance.
4750
1194d077 47512010-06-16 Jason Merrill <jason@redhat.com>
4752
4753 * c.opt: Add -Wnoexcept.
4754
d473d901 47552010-06-16 Richard Guenther <rguenther@suse.de>
4756
4757 PR c/44555
4758 * c-common.c (c_common_truthvalue_conversion): Remove
4759 premature and wrong optimization concering ADDR_EXPRs.
4760
b62dbfd3 47612010-06-15 Arnaud Charlet <charlet@adacore.com>
4762
4763 * c-ada-spec.c (dump_sloc): Remove column info.
4764 (is_simple_enum): New function.
4765 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4766 enum types when relevant.
4767
200dd99c 47682010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4769
19931eea 4770 * c-common.c (conversion_warning): Warn at expression
200dd99c 4771 location.
4772
abf6a617 47732010-06-10 Joseph Myers <joseph@codesourcery.com>
4774
4775 * c-opts.c (c_common_handle_option): Don't handle
4776 OPT_fshow_column.
4777
ba72912a 47782010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4779
4780 * c-pragma.c (push_alignment): Use typed GC allocation.
4781 (handle_pragma_push_options): Likewise.
4782
4783 * c-common.c (parse_optimize_options): Likewise.
4784
4785 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4786 option.
4787
4aafe913 47882010-06-07 Joseph Myers <joseph@codesourcery.com>
4789
4790 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4791 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4792 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4793 flag_signed_bitfields, warn_strict_null_sentinel,
4794 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4795 flag_gen_declaration, flag_no_gnu_keywords,
4796 flag_implement_inlines, flag_implicit_templates,
4797 flag_implicit_inline_templates, flag_optional_diags,
4798 flag_elide_constructors, flag_default_inline, flag_rtti,
4799 flag_conserve_space, flag_access_control, flag_check_new,
4800 flag_new_for_scope, flag_weak, flag_working_directory,
4801 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4802 flag_enforce_eh_specs, flag_threadsafe_statics,
4803 flag_pretty_templates): Remove.
4804 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4805 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4806 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4807 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4808 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4809 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4810 flag_no_gnu_keywords, flag_implement_inlines,
4811 flag_implicit_templates, flag_implicit_inline_templates,
4812 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4813 flag_rtti, flag_conserve_space, flag_access_control,
4814 flag_check_new, flag_new_for_scope, flag_weak,
4815 flag_working_directory, flag_use_cxa_atexit,
4816 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4817 flag_threadsafe_statics, flag_pretty_templates,
4818 warn_strict_null_sentinel): Remove.
4819 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4820 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4821 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4822 fimplicit-inline-templates, fimplicit-templates,
4823 flax-vector-conversions, fms-extensions, fnil-receivers,
4824 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4825 frtti, fshort-double, fshort-enums, fshort-wchar,
4826 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4827 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4828 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4829 gen-decls, undef): Use Var.
4830 (fdefault-inline, foptional-diags): Document as doing nothing.
4831 * c-opts.c (c_common_handle_option): Remove cases for options now
4832 using Var. Mark ignored options as such.
4833
7bedc3a0 48342010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4835
19931eea 4836 * c-common.c: Moved to here from parent directory.
7bedc3a0 4837 * c-common.def: Likewise.
4838 * c-common.h: Likewise.
4839 * c-cppbuiltin.c: Likewise.
4840 * c-dump.c: Likewise.
4841 * c-format.c: Likewise.
4842 * c-format.h : Likewise.
4843 * c-gimplify.c: Likewise.
4844 * c-lex.c: Likewise.
4845 * c-omp.c: Likewise.
4846 * c.opt: Likewise.
4847 * c-opts.c: Likewise.
4848 * c-pch.c: Likewise.
4849 * c-ppoutput.c: Likewise.
4850 * c-pragma.c: Likewise.
4851 * c-pragma.h: Likewise.
4852 * c-pretty-print.c: Likewise.
4853 * c-pretty-print.h: Likewise.
4854 * c-semantics.c: Likewise.
4855 * stub-objc.c: Likewise.
4856
4857 * c-common.c: Include gt-c-family-c-common.h.
4858 * c-pragma.c: Include gt-c-family-c-pragma.h.
4859\f
d353bf18 4860Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 4861
4862Copying and distribution of this file, with or without modification,
4863are permitted in any medium without royalty provided the copyright
4864notice and this notice are preserved.