]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
compiler: Do not declare type switch variable outside case statements.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
9bf8c90b 12015-03-05 Eric Botcazou <ebotcazou@adacore.com>
2
3 PR ada/65319
4 * c-ada-spec.c (print_destructor): Remove obsolete code.
5
037ac54f 62015-03-01 Eric Botcazou <ebotcazou@adacore.com>
7
8 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
9 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
10 DECL_TEMPLATE_RESULT emulations.
11 (dump_ada_template)): Add guard for TYPE_METHODS.
12
495cbfb8 132015-02-27 Marek Polacek <polacek@redhat.com>
14
15 PR c/65040
16 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
17
688a864e 182015-02-27 Kai Tietz <ktietz@redhat.com>
19
20 PR c/35330
21 * c-pragma.c (handle_pragma_weak): Do not try to create
22 weak/alias of declarations not being function, or variable
23 declarations.
24
6349b8cc 252015-02-24 Thomas Schwinge <thomas@codesourcery.com>
26
27 PR libgomp/64625
28 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
29 Remove macros.
30 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
31
3afd5369 322015-02-16 Marek Polacek <polacek@redhat.com>
33
34 PR c/65066
35 * c-format.c (check_format_types): Handle null param.
36
46173d1b 372015-02-13 Marek Polacek <polacek@redhat.com>
38
39 PR c/65040
40 * c-format.c (check_format_types): Don't warn about different
41 signedness if the original value is in the range of WANTED_TYPE.
42
1d524ff7 432015-02-12 Jason Merrill <jason@redhat.com>
44
45 PR c++/64956
46 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
47 to the current highest version.
48 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
49
bbf8fbec 502015-02-04 Jakub Jelinek <jakub@redhat.com>
51
52 PR c/64824
53 PR c/64868
54 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
55 instead of RDIV_EXPR. Use build_binary_op instead of
56 build2_loc.
57
c05be867 582015-01-30 Joseph Myers <joseph@codesourcery.com>
59
60 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
61 to pass input_location as first argument.
62
85977647 632015-01-23 Tom de Vries <tom@codesourcery.com>
64
65 PR libgomp/64672
66 * c.opt (fopenacc): Mark as LTO option.
67
fa175926 682015-01-23 Tom de Vries <tom@codesourcery.com>
69
70 PR libgomp/64707
71 * c.opt (fopenmp): Mark as LTO option.
72
20aad5ba 732015-01-21 Jakub Jelinek <jakub@redhat.com>
74
75 PR c/63307
76 * cilk.c (fill_decls_vec): Only put decls into vector v.
77 (compare_decls): Fix up formatting.
78
792015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
80
81 PR c/63307
82 * cilk.c: Include vec.h.
83 (struct cilk_decls): New structure.
84 (wrapper_parm_cb): Split this function to...
85 (fill_decls_vec): ...this...
86 (create_parm_list): ...and this.
87 (compare_decls): New function.
88 (for_local_cb): Remove.
89 (wrapper_local_cb): Ditto.
90 (build_wrapper_type): For now first traverse and fill vector of
91 declarations then sort it and then deal with sorted vector.
92 (cilk_outline): Ditto.
93 (declare_one_free_variable): Ditto.
94
60b77e28 952015-01-21 Jason Merrill <jason@redhat.com>
96
97 PR c++/64629
98 * c-format.c (check_format_arg): Call decl_constant_value.
99
85fbea97 1002015-01-19 Martin Liska <mliska@suse.cz>
101
102 * c-common.c (handle_noicf_attribute): New function.
103
ca4c3545 1042015-01-15 Thomas Schwinge <thomas@codesourcery.com>
105 Bernd Schmidt <bernds@codesourcery.com>
106 James Norris <jnorris@codesourcery.com>
107 Cesar Philippidis <cesar@codesourcery.com>
108 Ilmir Usmanov <i.usmanov@samsung.com>
109 Jakub Jelinek <jakub@redhat.com>
110
111 * c.opt (fopenacc): New option.
112 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
113 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
114 New macros.
115 * c-common.h (c_finish_oacc_wait): New prototype.
116 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
117 (c_finish_oacc_wait): New function.
118 * c-pragma.c (oacc_pragmas): New variable.
119 (c_pp_lookup_pragma, init_pragma): Handle it.
120 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
121 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
122 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
123 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
124 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
125 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
126 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
127 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
128 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
129 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
130 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
131 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
132 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
133 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
134 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
135 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
136 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
137 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
138 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
139 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
140 PRAGMA_OACC_CLAUSE_WORKER.
141
947aa916 1422015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
143
144 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
145 for the new option fstack-protector_explicit.
146 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
147 (handle_stack_protect_attribute): New function.
148
e4fd7af1 1492015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
150
151 * c.opt: New option -Warray-bounds=.
152
1f78217c 1532015-01-09 Michael Collison <michael.collison@linaro.org>
154
155 * array-notation-common.c: Include hash-set.h, machmode.h,
156 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
157 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
158 * c-ada-spec.c: Ditto.
159 * c-cilkplus.c: Ditto.
160 * c-common.c: Include input.h due to flattening of tree.h.
161 Define macro GCC_C_COMMON_C.
162 * c-common.h: Flatten tree.h header files into c-common.h.
163 Remove include of tree-core.h.
164 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
165 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
166 fold-const.h, wide-int.h, and inchash.h due to
167 flattening of tree.h.
168 * c-dump.c: Ditto.
169 * c-format.c: Flatten tree.h header files into c-common.h.
170 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
171 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
172 fold-const.h, wide-int.h, and inchash.h due to
173 flattening of tree.h.
174 * c-dump.c: Include hash-set.h, machmode.h,
175 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
176 fold-const.h, wide-int.h, and inchash.h due to
177 flattening of tree.h.
178 * c-format.c: Include hash-set.h, machmode.h,
179 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
180 fold-const.h, wide-int.h, inchash.h and real.h due to
181 flattening of tree.h.
182 * c-gimplify.c: Include hash-set.h, machmode.h,
183 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
184 fold-const.h, wide-int.h, and inchash.h due to
185 flattening of tree.h.
186 * cilk.c: Ditto.
187 * c-lex.c: Ditto.
188 * c-omp.c: Ditto.
189 * c-opts.c: Ditto.
190 * c-pch.c: Ditto.
191 * c-ppoutput.c: Ditto.
192 * c-pragma.c: Ditto.
193 * c-pretty-print.c: Ditto.
194 * c-semantics.c: Ditto.
195 * c-ubsan.c: Ditto.
196 * stub-objc.c: Ditto.
197
411b7663 1982015-01-08 Jason Merrill <jason@redhat.com>
199
200 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
201 do_ubsan_in_current_function.
202 (ubsan_maybe_instrument_reference_or_call): Likewise.
203 * c-ubsan.h: Declare it.
204
d1e96383 2052015-01-08 Mike Stump <mikestump@comcast.net>
206
207 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
208
b57910fa 2092015-01-07 Marek Polacek <polacek@redhat.com>
210
211 PR c/64440
212 * c-common.c (c_fully_fold_internal): Warn for division and modulo
213 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
214
678a4e3e 2152015-01-05 Trevor Saunders <tsaunders@mozilla.com>
216
217 PR c++/31397
218 * c.opt (Wsuggest-override): New option.
219
d353bf18 2202015-01-05 Jakub Jelinek <jakub@redhat.com>
221
222 Update copyright years.
223
92b63884 2242015-01-05 Marek Polacek <polacek@redhat.com>
225
226 PR c/64423
227 * c-common.c (warn_array_subscript_with_type_char): Add location_t
228 parameter. Use it.
229 * c-common.h (warn_array_subscript_with_type_char): Update
230 declaration.
231
83715bc4 2322014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
233
234 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
235 Control macro with flag_sized_deallocation.
236
8a8211df 2372014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
238
239 * c.opt (Wdiscarded-array-qualifiers): New option.
240
33058239 2412014-12-19 Jakub Jelinek <jakub@redhat.com>
242
243 PR preprocessor/63831
244 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
245 and __has_cpp_attribute here.
246 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
247 c_common_has_attribute.
248 * c-common.h (c_common_has_attribute): New prototype.
249 * c-lex.c (init_c_lex): Set cb->has_attribute to
250 c_common_has_attribute instead of cb_has_attribute.
251 (get_token_no_padding): New function.
252 (cb_has_attribute): Renamed to ...
253 (c_common_has_attribute): ... this. No longer static. Use
254 get_token_no_padding, require ()s, don't build TREE_LIST
255 unnecessarily, fix up formatting, adjust diagnostics, call
256 init_attributes.
257
d1856d2c 2582014-12-15 Jason Merrill <jason@redhat.com>
259
260 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
261 (-Wsized-deallocation): New.
262 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
263 to on in C++14 and up.
264
4972ed5d 2652014-12-11 Jason Merrill <jason@redhat.com>
266
7d7fa964 267 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
268
4972ed5d 269 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
270 we aren't complaining about VLAs.
271
5ebccf71 2722014-12-06 Marek Polacek <polacek@redhat.com>
273
274 PR tree-optimization/64183
275 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
276 shift-expression if it is integer_type_node. Use types_compatible_p.
277
f9e245b2 2782014-11-29 Jakub Jelinek <jakub@redhat.com>
279
280 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
281 last argument from create_tmp_var_raw and create_tmp_var calls.
282 * cilk.c (gimplify_cilk_spawn): Likewise.
283 * c-omp.c (c_finish_omp_atomic): Likewise.
284
d2f60593 2852014-11-28 Marek Polacek <polacek@redhat.com>
286
287 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
288 instead of unsigned_type_node.
289
fce2dbd1 2902014-11-28 Marek Polacek <polacek@redhat.com>
291
292 PR c/63862
293 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
294 to op1_utype.
295 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
296 expression to unsigned_type_node.
297
3a4a2292 2982014-11-20 Mark Wielaard <mjw@redhat.com>
299
300 PR debug/38757
301 * c-opts.c (set_std_c89): Set lang_hooks.name.
302 (set_std_c99): Likewise.
303 (set_std_c11): Likewise.
304 (set_std_cxx98): Likewise.
305 (set_std_cxx11): Likewise.
306 (set_std_cxx14): Likewise.
307 (set_std_cxx1z): Likewise.
308
c61ef207 3092014-11-21 Jakub Jelinek <jakub@redhat.com>
310
311 PR target/63764
312 * c-common.h (convert_vector_to_pointer_for_subscript): Change
313 return type to bool.
c9ed79de 314 * c-common.c: Include gimple-expr.h.
c61ef207 315 (convert_vector_to_pointer_for_subscript): Change return type to
316 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
317 and copy it into a TARGET_EXPR and use that instead of *vecp
318 directly.
319
1a91d914 3202014-11-19 David Malcolm <dmalcolm@redhat.com>
321
322 Merger of git branch "gimple-classes-v2-option-3".
323 * ChangeLog.gimple-classes: New.
324 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
325 from being just a vec<gimple> to a vec<gbind *>.
326
f8fc8b8e 3272014-11-18 Jakub Jelinek <jakub@redhat.com>
328
329 PR sanitizer/63813
330 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
331 argument to ptype, set type to TREE_TYPE (ptype). Don't call
332 get_pointer_alignment for non-pointers. Use ptype, or if it is
333 reference type, corresponding pointer type, as type of kind
334 argument.
335 (ubsan_maybe_instrument_reference,
336 ubsan_maybe_instrument_member_call): Adjust callers.
337
8315e35e 3382014-11-15 Marek Polacek <polacek@redhat.com>
339
340 PR middle-end/63884
341 * array-notation-common.c (is_sec_implicit_index_fn): Return false
342 for NULL fndecl.
343 (extract_array_notation_exprs): Return for NULL node.
344
86b9f14b 3452014-11-12 Joseph Myers <joseph@codesourcery.com>
346
347 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
348 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
349
0c93c8a9 3502014-11-12 Jakub Jelinek <jakub@redhat.com>
351
352 PR c/59708
353 * c-common.c (check_builtin_function_arguments): Handle
354 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
355
fdd735a7 3562014-11-10 Andi Kleen <ak@linux.intel.com>
357
358 PR c/60804
359 * c-common.h (check_no_cilk): Declare.
360 * cilk.c (get_error_location): New function.
361 (check_no_cilk): Dito.
362
5cb678b4 3632014-11-10 Andi Kleen <ak@linux.intel.com>
364
365 * cilk.c (recognize_spawn): Use expression location
366 for error message.
367
0feb4de1 3682014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
369
370 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
371
3aa2fa44 3722014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
373
374 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
375 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
376 (__cpp_range_based_for, __cpp_initializer_lists,
377 __cpp_delegating_constructors, __cpp_nsdmi,
378 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
379 for C++11; (__cpp_attribute_deprecated): Remove in favor of
380 __has_cpp_attribute.
381 * c-lex.c (cb_has_attribute): New callback CPP function;
382 (init_c_lex): Set has_attribute callback.
383
7fd22aae 3842014-11-04 Richard Biener <rguenther@suse.de>
385
386 * c-common.c (shorten_compare): Do not shorten mixed
387 DFP and non-DFP compares.
388
4af203ac 3892014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
390
391 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
392 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
393 Commentary and rearrangement of tests.
394 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
395 Commentary and rearrangement of tests.
396 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
397 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
398
3754d046 3992014-10-29 Richard Sandiford <richard.sandiford@arm.com>
400
401 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
402 enum from machine_mode.
403
1140c305 4042014-10-28 Andrew MacLeod <amacleod@redhat.com>
405
1f78217c 406 * c-common.c: Adjust include files.
407 * c-gimplify.c: Ditto.
408 * cilk.c: Ditto.
409 * c-pragma.c: Ditto.
410 * c-ubsan.c: Ditto.
1140c305 411
94ea8568 4122014-10-27 Andrew MacLeod <amacleod@redhat.com>
413
414 * c-gimplify.c: Adjust include files.
415
32ecf960 4162014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
417
418 PR c++/53061
419 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
420 c_common_initialize_diagnostics.
421 * c-common.h: Likewise.
422
85fecbe2 4232014-10-24 Marek Polacek <polacek@redhat.com>
424
425 PR c/56980
426 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
427 print "struct"/"union"/"enum" for typedefed names.
428
e7ec033a 4292014-10-23 Marek Polacek <polacek@redhat.com>
430
431 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
432 in unsigned type.
433
c2598081 4342014-10-22 Jakub Jelinek <jakub@redhat.com>
435 Yury Gribov <y.gribov@samsung.com>
436
437 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
438 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
439 instead of flag_sanitize_recover as bool flag.
440
acebb7e2 4412014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
442
443 * cilk.c: Revert previous change.
444
6115016c 4452014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
446
447 PR c/63307
448 * cilk.c: Include vec.h.
449 (struct cilk_decls): New structure.
450 (wrapper_parm_cb): Split this function to...
451 (fill_decls_vec): ...this...
452 (create_parm_list): ...and this.
453 (compare_decls): New function.
454 (for_local_cb): Remove.
455 (wrapper_local_cb): Ditto.
456 (build_wrapper_type): For now first traverse and fill vector of
457 declarations then sort it and then deal with sorted vector.
458 (cilk_outline): Ditto.
459 (declare_one_free_variable): Ditto.
460
e610d2b2 4612014-10-17 Marek Polacek <polacek@redhat.com>
462
463 * c-opts.c (c_common_post_options): Set warn_implicit_int.
464 * c.opt (Wimplicit-int): Initialize to -1.
465
a3020f2f 4662014-10-16 Andrew MacLeod <amacleod@redhat.com>
467
468 * c-pragma.c: Adjust include files.
469 * c-semantics.c: Likewise.
470
926ddd2c 4712014-10-16 DJ Delorie <dj@redhat.com>
472
473 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
474 multiples of bytes.
475
b0542e7c 4762014-10-14 Jason Merrill <jason@redhat.com>
477
478 PR c++/63455
479 * c-common.h (CPP_PREPARSED_EXPR): New.
480 (N_CP_TTYPES): Adjust.
481
b2601928 4822014-10-15 Marek Polacek <polacek@redhat.com>
483
484 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
485
9f75f026 4862014-10-14 DJ Delorie <dj@redhat.com>
487
488 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
489 types, not just __int128.
490 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
491 types, not just __int128.
492 (cpp_atomic_builtins): Round pointer sizes up.
493 (type_suffix): Use type precision, not specific types.
494 * c-common.c (c_common_reswords): Remove __int128 special case.
495 (c_common_type_for_size): Check for all __intN types, not just
496 __int128.
497 (c_common_type_for_mode): Likewise.
498 (c_common_signed_or_unsigned_type): Likewise.
499 (c_build_bitfield_integer_type): Likewise.
500 (c_common_nodes_and_builtins): Likewise.
501 (keyword_begins_type_specifier): Likewise.
502 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
503 __intN variants.
504
2ef51f0e 5052014-10-12 Trevor Saunders <tsaunders@mozilla.com>
506
507 * c-common.c: Use hash_table instead of hashtab.
508
5b8257e3 5092014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
510
1f78217c 511 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 512 C++11 section.
513
5e84569c 5142014-10-03 Marc Glisse <marc.glisse@inria.fr>
515
516 PR c++/54427
517 PR c++/57198
518 PR c++/58845
519 * c-common.c (warn_logical_operator): Punt for vectors.
520
f6751ff2 5212014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
522
523 Implement SD-6: SG10 Feature Test Recommendations
524 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
525 macros and the __has_header macro.
526
c33e051d 5272014-09-30 Jason Merrill <jason@redhat.com>
528
f76a9aa8 529 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
530 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
531 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
532
717e52f9 533 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
534 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
535
c33e051d 536 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
537 * c-common.c (c_common_reswords): Remove __is_convertible_to.
538
5213d6c9 5392014-09-24 Marek Polacek <polacek@redhat.com>
540
541 PR c/61405
542 PR c/53874
543 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
544
6b722052 5452014-09-23 Andi Kleen <ak@linux.intel.com>
546
547 * c-common.c (handle_no_reorder_attribute): New function.
548 (c_common_attribute_table): Add no_reorder attribute.
549
0cb69d12 5502014-09-22 Joseph Myers <joseph@codesourcery.com>
551
552 * c-cppbuiltin.c (c_cpp_builtins): Define
553 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
554 modes.
555
168dfbf0 5562014-09-18 Joseph Myers <joseph@codesourcery.com>
557
558 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
559 for supported floating-point modes.
560
b83705f4 5612014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
562
563 * c.opt (Wpsabi): Use LangEnabledBy.
564 * c-opts.c (c_common_handle_option): Do not handle here.
565
d5957f0d 5662014-09-12 Joseph Myers <joseph@codesourcery.com>
567
568 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
569 macros for floating-point modes.
570
bae6edff 5712014-09-11 Marc Glisse <marc.glisse@inria.fr>
572
573 PR target/58757
574 * c-cppbuiltin.c (builtin_define_float_constants): Correct
575 __*_DENORM_MIN__ without denormals.
576
73a69d02 5772014-09-10 Jakub Jelinek <jakub@redhat.com>
578
579 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
580 ubsan_instrument_vla, ubsan_instrument_return): Adjust
581 ubsan_create_data callers.
582 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
583 index is constant or BIT_AND_EXPR with constant mask and is
584 small enough for the bound.
585 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
586 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
587
7ff8db31 5882014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
589
590 * c.opt: Add CppReason to various flags.
591 (Wdate-time): Re-sort.
592 * c-common.c: Include c-common.h earlier.
593 (struct reason_option_codes_t): Delete.
594 (c_option_controlling_cpp_error): Prefix global type and struct
595 with cpp_.
596
bcc1f37e 5972014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
598
599 * c.opt (Wnormalized): New.
600 (Wnormalized=): Use Enum and Reject Negative.
601 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
602
b660d3c6 6032014-09-08 Joseph Myers <joseph@codesourcery.com>
604
605 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
606 digits of floating-point modes if -fbuilding-libgcc.
607
325b8c3c 6082014-09-05 Joseph Myers <joseph@codesourcery.com>
609
610 * c-cppbuiltin.c (c_cpp_builtins): Also define
611 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
612 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
613 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
614 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
615 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
616 __LIBGCC_STACK_GROWS_DOWNWARD__,
617 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
618 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
619 __LIBGCC_DWARF_FRAME_REGISTERS__,
620 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
621 __LIBGCC_STACK_POINTER_REGNUM__ and
622 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
623 (builtin_define_with_value): Handle backslash-escaping in string
624 macro values.
625
1e074e77 6262014-09-05 Richard Biener <rguenther@suse.de>
627
628 PR middle-end/63148
629 * c-format.c (check_format_arg): Properly handle
630 effectively signed POINTER_PLUS_EXPR offset.
631
04afd878 6322014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
633
634 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
635 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
636 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
637 and Init.
638 * c-opts.c (c_common_handle_option): Do not handle here.
639 (sanitize_cpp_opts): Likewise.
640 * c-common.c (struct reason_option_codes_t): Handle
641 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
642
a3f448f0 6432014-09-03 Marek Polacek <polacek@redhat.com>
644
645 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
646
40750995 6472014-09-02 Jakub Jelinek <jakub@redhat.com>
648 Balaji V. Iyer <balaji.v.iyer@intel.com>
649 Igor Zamyatin <igor.zamyatin@intel.com>
650
651 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
652 * c-common.c (c_common_reswords): Added _Cilk_for.
653 * c-common.h (enum rid): Added RID_CILK_FOR.
654 (cilk_for_number_of_iterations): Add declaration.
655 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
656 CILK_FOR.
657 * c-pragma.c (init_pragma): Register "grainsize" pragma.
658 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
659
f0fbe519 6602014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
661
662 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
663 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
664 Wundef): Use CPP, Var and Init.
665 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
666
a7d2e480 6672014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
668
669 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
670 * c-opts.c (c_common_handle_option): Do not handle here.
671
c35e53f1 6722014-08-25 Jason Merrill <jason@redhat.com>
673
674 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
675 -std=c++14 and -std=gnu++14, rather than the reverse.
676 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
677 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
678 * c-common.h (cxx_dialect): Remove cxx1y.
679
4e454776 6802014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
681
682 * c-common.h (enum cxx_dialect): Add cxx14.
683 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
684 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
685 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
686
af1a80f2 6872014-08-22 Jason Merrill <jason@redhat.com>
688
689 * c.opt (std=gnu++17): Fix alias.
690
dc6229e8 6912014-08-22 Marek Polacek <polacek@redhat.com>
692
693 PR c++/62199
694 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
695 check for vector types. Drop LHS argument.
696 * c-common.h (warn_logical_not_parentheses): Adjust.
697
ba7f7c88 6982014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
699
700 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
701 (Wmultichar): Likewise.
702 (Wdate-time): Use C-family languages instead of Common. Use CPP
703 and Var.
704 * c-opts.c (c_common_handle_option): Do not handle the above
705 options here.
706 (sanitize_cpp_opts): Likewise.
707
399d4f80 7082014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
709
710 PR fortran/44054
711 * c-opts.c: Include tree-diagnostics.h.
712 (c_diagnostic_finalizer): New.
713 (c_common_initialize_diagnostics): Use it.
714
1babed5f 7152014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
716
717 PR preprocessor/51303
718 * c-common.c (struct reason_option_codes_t option_codes):
719 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
720
3636964b 7212014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
722
723 PR c/60975
724 PR c/53063
725 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
726 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
727 (c_common_post_options): Call init_global_opts_from_cpp.
728 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
729
78bf4156 7302014-08-19 Marek Polacek <polacek@redhat.com>
731
732 PR c++/62153
733 * c-common.c (maybe_warn_bool_compare): New function.
734 * c-common.h (maybe_warn_bool_compare): Declare.
735 * c.opt (Wbool-compare): New option.
736
508ea33a 7372014-08-19 Marek Polacek <polacek@redhat.com>
738
739 * c.opt (Wc99-c11-compat): New option.
740
806fe15e 7412014-08-19 Marek Polacek <polacek@redhat.com>
742
743 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
744 to warn_c90_c99_compat.
745 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
746 to -1.
747
6c867de1 7482014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
749 Steven Bosscher <steven@gcc.gnu.org>
750
751 PR c/52952
752 * c-format.c: Add extra_arg_loc and format_string_loc to struct
753 format_check_results.
754 (check_function_format): Use true and add comment for boolean
755 argument.
756 (finish_dollar_format_checking): Use explicit location when warning.
757 (check_format_info): Likewise.
758 (check_format_arg): Set extra_arg_loc and format_string_loc.
759 (check_format_info_main): Use explicit location when warning.
760 (check_format_types): Pass explicit location.
761 (format_type_warning): Likewise.
762
dc8078a3 7632014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
764
765 PR fortran/44054
766 * c-format.c: Handle Fortran flags.
767
d271ec7e 7682014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
769
770 PR other/61962
771 * array-notation-common.c (find_rank): Added handling for other
772 types of references.
773
890c2e2f 7742014-08-10 Marek Polacek <polacek@redhat.com>
775
776 PR c/51849
777 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
778 * c.opt (Wc90-c99-compat): Add option.
779
7149db5f 7802014-08-07 Trevor Saunders <tsaunders@mozilla.com>
781
782 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
783
2d2f6a15 7842014-08-03 Marek Polacek <polacek@redhat.com>
785
786 * c-common.c (check_case_value): Add location_t parameter. Use it.
787 (c_add_case_label): Pass loc to check_case_value.
788
06ecf488 7892014-08-02 Trevor Saunders <tsaunders@mozilla.com>
790
791 * cilk.c: Use hash_map instead of pointer_map.
792
431205b7 7932014-08-02 Trevor Saunders <tsaunders@mozilla.com>
794
795 * c-gimplify.c: Use hash_set instead of pointer_set.
796
3394c80c 7972014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
798
799 PR middle-end/61455
800 * array-notation-common.c (extract_array_notation_exprs): Handling
801 of DECL_EXPR added.
802
392dee1e 8032014-08-01 Jakub Jelinek <jakub@redhat.com>
804
805 * c-common.h (min_align_of_type): Removed prototype.
806 * c-common.c (min_align_of_type): Removed.
807 * c-ubsan.h (ubsan_maybe_instrument_reference,
808 ubsan_maybe_instrument_member_call): New prototypes.
809 * c-ubsan.c: Include stor-layout.h and builtins.h.
810 (ubsan_maybe_instrument_reference_or_call,
811 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
812 functions.
813
f22a2cb7 8142014-07-31 Marc Glisse <marc.glisse@inria.fr>
815
816 PR c++/60517
817 * c.opt (-Wreturn-local-addr): Move to common.opt.
818
87b0198f 8192014-07-30 Jason Merrill <jason@redhat.com>
820
821 PR c++/61659
822 PR c++/61687
823 Revert:
824 * c.opt (-fuse-all-virtuals): New.
825
74691f46 8262014-07-30 Tom Tromey <tromey@redhat.com>
827
828 PR c/59855
829 * c.opt (Wdesignated-init): New option.
830 * c-common.c (c_common_attribute_table): Add "designated_init".
831 (handle_designated_init): New function.
832
9140d56f 8332014-07-24 Marek Polacek <polacek@redhat.com>
834
835 PR c/57653
836 * c-opts.c (c_finish_options): If -imacros is in effect, return.
837
a09c5cc2 8382014-07-16 Dodji Seketeli <dodji@redhat.com>
839
840 PR preprocessor/60723 - missing system-ness marks for macro tokens
841 * c-ppoutput.c (struct print::prev_was_system_token): New data
842 member.
843 (init_pp_output): Initialize it.
844 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
845 (do_line_change): Return a flag saying if a line marker was
846 emitted or not.
847 (scan_translation_unit): Detect if the system-ness of the token we
848 are about to emit is different from the one of the previously
849 emitted token. If so, emit a line marker. Avoid emitting useless
850 adjacent line markers. Avoid emitting line markers for tokens
851 originating from the expansion of built-in macros.
852 (scan_translation_unit_directives_only): Adjust.
853
2b25b62f 8542014-07-15 Marek Polacek <polacek@redhat.com>
855
856 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
857 TYPE_MAX_VALUE is NULL.
858
305d96bc 8592014-07-14 Jakub Jelinek <jakub@redhat.com>
860
861 PR middle-end/61294
862 * c.opt (Wmemset-transposed-args): New warning.
863
8ea4660d 8642014-07-10 Jason Merrill <jason@redhat.com>
865
866 PR c++/61659
867 PR c++/61687
868 * c.opt (-fuse-all-virtuals): New.
869
cd480f3d 8702014-07-09 Richard Biener <rguenther@suse.de>
871
872 PR c-family/61741
873 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
874 using unsigned arithmetic if overflow does not wrap instead of
875 if overflow is undefined.
876
87d59e72 8772014-07-06 Marek Polacek <polacek@redhat.com>
878
879 PR c/6940
880 * c.opt (Wsizeof-array-argument): New option.
881
d69521d8 8822014-07-03 Jakub Jelinek <jakub@redhat.com>
883
884 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
885 comments->count <= 1, as comments->entries might be NULL.
886
1207866e 8872014-07-01 Marek Polacek <polacek@redhat.com>
888
889 * c.opt (Wint-conversion): New option.
890
7a6bbb76 8912014-07-01 Marek Polacek <polacek@redhat.com>
892
893 PR c/58286
894 * c.opt (Wincompatible-pointer-types): New option.
895
9d4eeb52 8962014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
897
898 PR c++/51400
899 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
900 Do not discard TYPE_QUALS of type.
901
4b53bc0f 9022014-06-26 Jason Merrill <jason@redhat.com>
903
904 * c-common.h (enum cxx_dialect): Add cxx1z.
905 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
906 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
907
a8a8d4ea 9082014-06-26 Teresa Johnson <tejohnson@google.com>
909
910 * c-common.h (get_dump_info): Declare.
911 * c-gimplify.c (c_genericize): Use saved dump files.
912 * c-opts.c (c_common_parse_file): Begin and end dumps
913 once around parsing invocation.
914 (get_dump_info): New function.
915
1f6be080 9162014-06-23 Marek Polacek <polacek@redhat.com>
917 Andrew MacLeod <amacleod@redhat.com>
918
919 PR c/61553
920 * c-common.c (get_atomic_generic_size): Don't segfault if the
921 type doesn't have a size.
922
5ef6b660 9232014-06-20 Marek Polacek <polacek@redhat.com>
924
925 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
926 (ubsan_walk_array_refs_r): New function.
927 (c_genericize): Instrument array bounds.
928 * c-ubsan.c: Include "internal-fn.h".
929 (ubsan_instrument_division): Mark instrumented arrays as having
930 side effects. Adjust ubsan_type_descriptor call.
931 (ubsan_instrument_shift): Likewise.
932 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
933 (ubsan_instrument_bounds): New function.
934 (ubsan_array_ref_instrumented_p): New function.
935 (ubsan_maybe_instrument_array_ref): New function.
936 * c-ubsan.h (ubsan_instrument_bounds): Declare.
937 (ubsan_array_ref_instrumented_p): Declare.
938 (ubsan_maybe_instrument_array_ref): Declare.
939
9402014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 941
942 PR lto/61123
943 * c.opt (fshort-enums): Add to LTO.
944 * c.opt (fshort-wchar): Likewise.
945
78438f31 9462014-06-16 Marek Polacek <polacek@redhat.com>
947
948 PR c/60439
949 * c.opt (Wswitch-bool): Add Var.
950
5fddcf34 9512014-06-12 Jakub Jelinek <jakub@redhat.com>
952
953 PR middle-end/61486
954 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
955 #pragma omp target teams or
956 #pragma omp {,target }teams distribute simd.
957
74b777e5 9582014-06-12 Jason Merrill <jason@redhat.com>
959
960 * c.opt (Wabi=, fabi-compat-version): New.
961 * c-opts.c (c_common_handle_option): Handle -Wabi=.
962 (c_common_post_options): Handle flag_abi_compat_version default.
963 Disallow -fabi-compat-version=1.
964 * c-common.h (abi_version_crosses): New.
965
738a6bda 9662014-06-11 Jan Hubicka <hubicka@ucw.cz>
967
1f78217c 968 * c-common.c (handle_section_attribute): Update handling for
738a6bda 969 section names that are no longer trees.
970
cf5f881f 9712014-06-10 Jakub Jelinek <jakub@redhat.com>
972
973 PR fortran/60928
974 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
975 (omp_pragmas): ... back here.
976
32dc1512 9772014-06-05 Marek Polacek <polacek@redhat.com>
978
979 PR c/49706
980 * c-common.c (warn_logical_not_parentheses): New function.
981 * c-common.h (warn_logical_not_parentheses): Declare.
982 * c.opt (Wlogical-not-parentheses): New option.
983
f61a9bc2 9842014-06-04 Marek Polacek <polacek@redhat.com>
985
986 PR c/30020
987 * c-common.c (check_case_bounds): Add location parameter.
988 Use it.
989 (c_add_case_label): Pass loc to check_case_bounds.
990
c69ec07d 9912014-06-03 Marek Polacek <polacek@redhat.com>
992
993 PR c/60439
994 * c.opt (Wswitch-bool): New option.
995
3c77ca67 9962014-05-22 Thomas Schwinge <thomas@codesourcery.com>
997
68a2c870 998 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
999 Remove prototypes.
1000 (record_types_used_by_current_var_decl): Move prototype to where
1001 it belongs.
1002
3c77ca67 1003 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1004 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1005 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1006
3ab4693e 10072014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1008
1009 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1010 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1011 void_zero_node.
1012 * c-pretty-print.c (pp_c_void_constant): New function.
1013 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1014 (c_pretty_printer::expression): Handle VOID_CST.
1015 * cilk.c (extract_free_variables): Likewise.
1016 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1017 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1018
25a27413 10192014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1020
1021 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1022 * c-pragma.c (push_alignment): Adjust.
1023 (handle_pragma_push_options): Likewise.
1024
3e5a8b00 10252014-05-09 Marek Polacek <polacek@redhat.com>
1026
1027 PR c/50459
1028 * c-common.c (check_user_alignment): Return -1 if alignment is error
1029 node.
1030 (handle_aligned_attribute): Don't call default_conversion on
1031 FUNCTION_DECLs.
1032 (handle_vector_size_attribute): Likewise.
1033 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1034 (handle_sentinel_attribute): Call default_conversion and allow even
1035 integral types as an argument.
1036
c2c4ae8d 10372014-05-08 Marek Polacek <polacek@redhat.com>
1038
1039 PR c/61053
1040 * c-common.c (min_align_of_type): New function factored out from...
1041 (c_sizeof_or_alignof_type): ...here.
1042 * c-common.h (min_align_of_type): Declare.
1043
2026249a 10442014-05-08 Marek Polacek <polacek@redhat.com>
1045
1046 PR c/61077
1047 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1048 parameter type of main.
1049
33c8dcfe 10502014-05-07 DJ Delorie <dj@redhat.com>
1051
1052 * c-cppbuiltin.c (print_bits_of_hex): New.
1053 (builtin_define_type_minmax): Print values using hex so as not to
1054 require a pre-computed list of string values.
1055
960d5a55 10562014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1057 Mike Stump <mikestump@comcast.net>
1058 Richard Sandiford <rdsandiford@googlemail.com>
1059
1060 * c-ada-spec.c: Include wide-int.h.
1061 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1062 (dump_generic_ada_node): Use wide-int interfaces.
1063 * c-common.c: Include wide-int-print.h.
1064 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1065 (pointer_int_sum): Use wide-int interfaces.
1066 (c_common_nodes_and_builtins): Use make_int_cst.
1067 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1068 (handle_alloc_size_attribute): Use wide-int interfaces.
1069 (get_nonnull_operand): Likewise.
1070 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1071 * c-lex.c: Include wide-int.h.
1072 (narrowest_unsigned_type): Take a widest_int rather than two
1073 HOST_WIDE_INTs.
1074 (narrowest_signed_type): Likewise.
1075 (interpret_integer): Update accordingly. Use wide-int interfaces.
1076 (lex_charconst): Use wide-int interfaces.
1077 * c-pretty-print.c: Include wide-int.h.
1078 (pp_c_integer_constant): Use wide-int interfaces.
1079 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1080 INT_CST_LT_UNSIGNED.
1081
bbb88b31 10822014-05-06 Richard Biener <rguenther@suse.de>
1083
1084 * c-opts.c (c_common_post_options): For -freestanding,
1085 -fno-hosted and -fno-builtin disable pattern recognition
1086 if not enabled explicitely.
1087
022d4718 10882014-05-02 Marek Polacek <polacek@redhat.com>
1089
1090 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1091
e4ab2ef3 10922014-05-01 Marek Polacek <polacek@redhat.com>
1093
1094 PR c/43245
1095 * c.opt (Wdiscarded-qualifiers): Add.
1096
52cc0072 10972014-04-30 Marek Polacek <polacek@redhat.com>
1098
1099 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1100 INT_MIN / -1 sanitization only for integer types.
1101
4a026b48 11022014-04-25 Marek Polacek <polacek@redhat.com>
1103
1104 PR c/18079
1105 * c-common.c (handle_noinline_attribute): Warn if the attribute
1106 conflicts with always_inline attribute.
1107 (handle_always_inline_attribute): Warn if the attribute conflicts
1108 with noinline attribute.
1109
90e645fa 11102014-04-25 Marek Polacek <polacek@redhat.com>
1111
1112 PR c/60156
1113 * c-common.c (check_main_parameter_types): Warn about variadic main.
1114
db103ea4 11152014-04-24 Mike Stump <mikestump@comcast.net>
1116
1117 * c.opt (Wshadow-ivar): Default to on.
1118
06511efd 11192014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1120
1121 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1122
cdf34fca 11232014-04-23 Marek Polacek <polacek@redhat.com>
1124
1125 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1126
7311d7c1 11272014-04-22 Jakub Jelinek <jakub@redhat.com>
1128
1129 PR sanitizer/60275
1130 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1131 if flag_sanitize_undefined_trap_on_error.
1132 (ubsan_instrument_division, ubsan_instrument_shift,
1133 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1134 if !flag_sanitize_recover.
1135
c1917557 11362014-04-22 Marc Glisse <marc.glisse@inria.fr>
1137
1138 PR libstdc++/43622
1139 * c-common.c (registered_builtin_types): Make non-static.
1140 * c-common.h (registered_builtin_types): Declare.
1141
b2ca6510 11422014-04-14 Richard Biener <rguenther@suse.de>
1143 Marc Glisse <marc.glisse@inria.fr>
1144
1145 PR c/60819
1146 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1147 apply may-alias the scalar pointer type when applicable.
1148
855372a3 11492014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1150
1151 PR middle-end/60467
1152 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1153 as possible argument for Cilk_spawn.
1154
4012a986 11552014-04-11 Tobias Burnus <burnus@net-b.de>
1156
1157 PR c/60194
1158 * c.opt (Wformat-signedness): Add
1159 * c-format.c(check_format_types): Use it.
1160
0d284870 11612014-04-11 Jason Merrill <jason@redhat.com>
1162
1163 PR c++/57926
1164 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
1165 default_conversion for an array argument.
1166
a34c1231 11672014-04-08 Marek Polacek <polacek@redhat.com>
1168
1169 PR sanitizer/60745
1170 * c-ubsan.c: Include asan.h.
1171 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
1172
a35a8e18 11732014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1174
1175 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
1176
b23e42b6 11772014-04-02 Marek Polacek <polacek@redhat.com>
1178
1179 * c-common.h (c_expand_expr): Remove declaration.
1180
5a672e62 11812014-03-28 Jakub Jelinek <jakub@redhat.com>
1182
1183 PR c++/60689
1184 * c-common.c (add_atomic_size_parameter): When creating new
1185 params vector, push the size argument first.
1186
d4d068c0 11872014-03-26 Jakub Jelinek <jakub@redhat.com>
1188
1189 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1190 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1191 ubsan_create_data callers.
1192
446bdf5f 11932014-03-22 Jakub Jelinek <jakub@redhat.com>
1194
1195 PR debug/60603
1196 * c-opts.c (c_finish_options): Restore cb_file_change call to
1197 <built-in>.
1198
8895f0a3 11992014-03-13 Jakub Jelinek <jakub@redhat.com>
1200
1201 PR middle-end/36282
1202 * c-pragma.c (apply_pragma_weak): Only look at
1203 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1204 DECL_ASSEMBLER_NAME_SET_P (decl).
1205 (maybe_apply_pending_pragma_weaks): Exit early if
1206 vec_safe_is_empty (pending_weaks) rather than only when
1207 !pending_weaks.
1208 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1209 set assembler name back to NULL afterwards.
1210
7a5da2cd 12112014-03-11 Jason Merrill <jason@redhat.com>
1212
1213 * c.opt: Add -std=gnu++14.
1214
95093889 12152014-03-11 Ian Bolton <ian.bolton@arm.com>
1216
1217 * c-opts.c (c_common_post_options): Don't override
1218 -ffp-contract=fast if unsafe-math-optimizations is on.
1219
c9a24b37 12202014-03-08 Paulo Matos <paulo@matos-sorge.com>
1221
1222 * c.opt: Enable LTO FE for fshort-double.
1223
3f6dba6e 12242014-03-07 Jason Merrill <jason@redhat.com>
1225
1226 * c.opt: Add -std=c++14.
1227
3bfdc94f 12282014-03-06 Marek Polacek <polacek@redhat.com>
1229
1230 PR c/60197
1231 * cilk.c (contains_cilk_spawn_stmt): New function.
1232 (contains_cilk_spawn_stmt_walker): Likewise.
1233 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1234 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1235
8b3a6a4c 12362014-03-03 Jakub Jelinek <jakub@redhat.com>
1237
1238 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1239 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1240 even when flag_preprocess_only.
1241
734ec290 12422014-02-26 Jason Merrill <jason@redhat.com>
1243
1244 PR c++/59231
1245 PR c++/11586
1246 * c-common.c (shorten_compare): Don't check
1247 c_inhibit_evaluation_warnings.
1248
81aec8b8 12492014-02-19 Jakub Jelinek <jakub@redhat.com>
1250
d1081017 1251 PR c/37743
1252 * c-common.c (c_common_nodes_and_builtins): When initializing
1253 c_uint{16,32,64}_type_node, also set corresponding
1254 uint{16,32,64}_type_node to the same value.
1255
81aec8b8 1256 PR c++/60267
1257 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1258 for PRAGMA_IVDEP if flag_preprocess_only.
1259
312243bb 12602014-02-12 Jakub Jelinek <jakub@redhat.com>
1261
1262 PR c/60101
1263 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1264 if false, add ADD itself, rather than vice versa.
1265 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1266 copy. For SAVE_EXPR, only call merge_tlist once.
1267
237e78b1 12682014-02-08 Jakub Jelinek <jakub@redhat.com>
1269
1270 PR middle-end/60092
1271 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1272 and tree_to_uhwi.
1273 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1274 functions.
1275 (c_common_attribute_table): Add alloc_align and assume_aligned
1276 attributes.
1277
76fdceeb 12782014-02-06 Marek Polacek <polacek@redhat.com>
1279
1280 PR c/60087
1281 * c-common.c (warn_for_sign_compare): Call warning_at with location
1282 instead of warning.
1283
4a4dea42 12842014-02-05 Marek Polacek <polacek@redhat.com>
1285
1286 PR c/53123
1287 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1288 statement.
1289
ec704957 12902014-02-04 Marek Polacek <polacek@redhat.com>
1291
1292 PR c/60036
1293 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1294 SAVE_EXPR.
1295
caf62483 12962014-02-03 Marc Glisse <marc.glisse@inria.fr>
1297
1298 PR c++/53017
1299 PR c++/59211
1300 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1301 handle_vector_size_attribute, handle_nonnull_attribute): Call
1302 default_conversion on the attribute argument.
1303 (handle_nonnull_attribute): Increment the argument number.
1304
ec761d5a 13052014-01-31 Marek Polacek <polacek@redhat.com>
1306
1307 PR c/59963
1308 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1309 build_function_call_vec.
1310 (resolve_overloaded_builtin): Likewise.
1311 * c-common.h (build_function_call_vec): Adjust declaration.
1312
22a75734 13132014-01-30 Marek Polacek <polacek@redhat.com>
1314
1315 PR c/59940
1316 * c-common.h (unsafe_conversion_p): Adjust declaration.
1317 (warnings_for_convert_and_check): Likewise.
1318 (convert_and_check): Likewise.
1319 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1320 expansion_point_location_if_in_system_header on it.
1321 (warnings_for_convert_and_check): Add location parameter. Call
1322 expansion_point_location_if_in_system_header on it. Use it.
1323 (convert_and_check): Add location parameter. Use it.
1324 (conversion_warning): Likewise.
1325 (c_add_case_label): Adjust convert_and_check calls.
1326 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1327
a89e6c15 13282014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1329
1330 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1331 flag_cilkplus.
1332 * c-pragma.c (init_pragma): Likewise.
1333 * c.opt: Likewise.
1334
2623625f 13352014-01-23 Marek Polacek <polacek@redhat.com>
1336
1337 PR c/59846
1338 * c-common.c (shorten_compare): Add location_t parameter.
1339 * c-common.h (shorten_binary_op): Adjust declaration.
1340
46da3601 13412014-01-23 Marek Polacek <polacek@redhat.com>
1342
1343 PR c/58346
1344 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1345 * c-common.h: Declare it.
1346
c9743c6a 13472014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1348
1349 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1350 * c-ada-spec.c (dump_ads): Likewise.
1351 (cpp_check): Likewise.
1352 (dump_ada_specs): Likewise.
1353
13542014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 1355
1356 PR c++/49718
1357 * c-common.c (handle_no_instrument_function_attribute): Allow
1358 no_instrument_function attribute in class member
1359 definition/declaration.
1360
1248c663 13612014-01-15 Jakub Jelinek <jakub@redhat.com>
1362
1363 PR c/58943
1364 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1365 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1366 being COMPOUND_EXPR.
1367 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1368 operand a SAVE_EXPR and second MODIFY_EXPR.
1369
6e5c480b 13702014-01-09 Jakub Jelinek <jakub@redhat.com>
1371
1372 PR target/58115
1373 * c-pch.c (c_common_write_pch): Call
1374 prepare_target_option_nodes_for_pch.
1375
3aea1f79 13762014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1377
1378 Update copyright years
1379
e4f22041 13802014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1381
1382 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1383 the copyright notice.
1384
7fb0fe24 13852013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1386
1387 * c-ada-spec.c (print_constructor): New function.
1388 (print_destructor): Retrieve the origin of the destructor.
1389 (print_ada_declaration): Revamp handling of constructors/destructors.
1390
468088ac 13912013-12-23 Stuart Hastings <stuart@apple.com>
1392 Bill Maddox <maddox@google.com>
1393 Jason Merrill <jason@redhat.com>
1394
1395 * c.opt: Add -fdeclone-ctor-dtor.
1396 * c-opts.c (c_common_post_options): Default to on iff -Os.
1397
74acc703 13982013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1399
1400 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1401 attribute.
1402 * c-pragma.h (enum pragma_cilk_clause): Remove.
1403 (enum pragma_omp_clause): Added the following fields:
1404 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1405 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1406 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1407 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1408 PRAGMA_CILK_CLAUSE_UNIFORM.
1409
1410
433e804e 14112013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1412
1413 * cilk.c (cilk_outline): Made this function non-static.
1414 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1415 (create_cilk_wrapper): Added a new parameter: a function pointer.
1416 (c_install_body_w_frame_cleanup): Remove
1417 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1418 * c-common.h (cilk_outline): New prototype.
1419 (gimplify_cilk_spawn): Removed two parameters.
1420 (cilk_install_body_with_frame_cleanup): New prototype.
1421 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1422 CILK_SPAWN_STMT case.
1423
5bcc7e60 14242013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1425
e66325ea 1426 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1427
5bcc7e60 1428 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1429 (int_array_type_node): Remove.
1430 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1431
0b26ec77 14322013-12-05 Marek Polacek <polacek@redhat.com>
1433
1434 PR c/52023
1435 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1436 [ADJUST_FIELD_ALIGN].
1437
a179a7dc 14382013-12-04 Joseph Myers <joseph@codesourcery.com>
1439
1440 PR c/52023
1441 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1442 and check field alignment if set.
1443 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1444 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1445
137559b2 14462013-12-04 Jakub Jelinek <jakub@redhat.com>
1447 Marek Polacek <polacek@redhat.com>
1448
1449 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1450 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1451
648fd348 14522013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1453
1454 PR c/59309
1455 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1456 arguments.
1457
253e1cae 14582013-11-29 Jakub Jelinek <jakub@redhat.com>
1459
1460 PR c/59280
1461 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1462 goto invalid. If it is error_mark_node, don't issue further
1463 diagnostics.
1464
3e398f5b 14652013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1466
1467 * c.opt (Wopenmp-simd): New.
1468
020bc656 14692013-11-22 Jakub Jelinek <jakub@redhat.com>
1470
1471 * c-ubsan.h (ubsan_instrument_return): New prototype.
1472 * c-ubsan.c (ubsan_instrument_return): New function.
1473
bc61cadb 14742013-11-22 Andrew MacLeod <amacleod@redhat.com>
1475
1476 * c-common.c: Add required include files from gimple.h.
1477 * c-gimplify.c: Likewise
1478 * cilk.c: Likewise
1479
3df42822 14802013-11-22 David Malcolm <dmalcolm@redhat.com>
1481
1482 * c-common.c (unsafe_conversion_p): Remove use of
1483 EXPR_LOC_OR_HERE macro.
1484 (conversion_warning): Likewise.
1485 (warnings_for_convert_and_check): Likewise.
1486 (warn_for_collisions_1): Likewise.
1487 (shorten_compare): Likewise, and remove use of in_system_header
1488 macro, using the location from the former.
1489 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1490 (cb_def_pragma): Remove use of in_system_header macro.
1491 (lex_string): Likewise.
1492 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1493
8c53c46c 14942013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1495 Mike Stump <mikestump@comcast.net>
1496 Richard Sandiford <rdsandiford@googlemail.com>
1497
1498 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1499 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1500 tree_fits_shwi_p or tree_fits_uhwi_p.
1501 (dump_generic_ada_node): Likewise.
1502 * c-format.c (check_format_arg): Likewise.
1503 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1504
5200ef07 15052013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1506
1507 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1508
ca9d7d74 15092013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1510
1511 PR c/53001
1512 * c-common.c (unsafe_conversion_p): Make this function
1513 return an enumeration with more detail.
1514 (conversion_warning): Use the new return type of
1515 unsafe_conversion_p to separately warn either about conversions
1516 that lower floating point number precision or about the other
1517 kinds of conversions.
1518 * c-common.h (enum conversion_safety): New enumeration.
1519 (unsafe_conversion_p): switching return type to
1520 conversion_safety enumeration.
1521 * c.opt: Adding new warning -Wfloat-conversion and
1522 enabling it with -Wconversion.
1523
0391a567 15242013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1525
1526 * c-opts.c: Include plugin.h.
1527 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1528
19b928d9 15292013-11-19 Marek Polacek <polacek@redhat.com>
1530
1531 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1532 call.
1533 (ubsan_instrument_shift): Likewise.
1534 (ubsan_instrument_vla): Likewise.
1535
aa59f000 15362013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1537
1538 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1539 cast to unsigned type.
1540
08f817b3 15412013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1542
1543 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1544 tree_low_cst.
1545 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1546 rather than tree_low_cst.
1547
6a0712d4 15482013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1549
1550 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1551 tree_to_uhwi throughout.
1552
fcb97e84 15532013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1554
1555 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1556 tree_low_cst (..., 0) with tree_to_shwi throughout.
1557
cd4547bf 15582013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1559
1560 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1561 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1562
35ec552a 15632013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1564
1565 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1566 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1567
f2697631 15682013-11-15 Aldy Hernandez <aldyh@redhat.com>
1569
1570 * c-cilkplus.c: New file.
1571 * c-common.c (readonly_error): Add location argument.
1572 * c-common.h (readonly_error): Same.
1573 (c_finish_cilk_clauses): Protoize.
1574 (c_check_cilk_loop): Same.
1575 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1576 Do not fail on error_mark_node.
1577 Abstract increment canonicalization to here...
1578 (c_omp_for_incr_canonicalize_ptr): New.
1579 c-pragma.c (init_pragma): Register "simd" pragma.
1580 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1581 (enum pragma_cilk_clause): New.
1582
0aa8c34e 15832013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1584
1585 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1586 wchar_type and host_integerp checks.
1587
e795d6e1 15882013-11-14 Andrew MacLeod <amacleod@redhat.com>
1589
1590 * c-common.c: Likewise.
1591 * c-gimplify.c: Likewise.
1592 * cilk.c: Likewise.
1593
9ed99284 15942013-11-14 Diego Novillo <dnovillo@google.com>
1595
1596 * c-common.c: Include fold-const.h.
1597 Include stor-layout.h.
1598 Include calls.h.
1599 Include stringpool.h.
1600 Include attribs.h.
1601 Include varasm.h.
1602 Include trans-mem.h.
1603 * c-cppbuiltin.c: Include stor-layout.h.
1604 Include stringpool.h.
1605 * c-format.c: Include stringpool.h.
1606 * c-lex.c: Include stringpool.h.
1607 Include stor-layout.h.
1608 * c-pragma.c: Include stringpool.h.
1609 Include attribs.h.
1610 Include varasm.h.
1611 Include gcc-symtab.h.
1612 * c-pretty-print.c: Include stor-layout.h.
1613 Include attribs.h.
1614 * cilk.c: Include stringpool.h.
1615 Include calls.h.
1616
4fba5eb9 16172013-11-13 Joseph Myers <joseph@codesourcery.com>
1618
1619 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1620 * c-common.c (c_common_reswords): Add __auto_type.
1621 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1622
a8783bee 16232013-11-12 Andrew MacLeod <amacleod@redhat.com>
1624
e795d6e1 1625 * c-common.c: Include gimplify.h.
1626 * c-gimplify.c: Likewise.
1627 * cilk.c: Likewise.
1628 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1629 * c-ubsan.c: Don't include gimple.h.
a8783bee 1630
d184e0c0 16312013-11-12 Joseph Myers <joseph@codesourcery.com>
1632
1633 * c-common.c (c_common_reswords): Add _Thread_local.
1634
a056826c 16352013-11-09 Joseph Myers <joseph@codesourcery.com>
1636
1637 * c-common.c (atomic_size_supported_p): New function.
1638 (resolve_overloaded_atomic_exchange)
1639 (resolve_overloaded_atomic_compare_exchange)
1640 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1641 Use it instead of comparing size with a local list of sizes.
1642
b560fabd 16432013-11-07 Andrew MacLeod <amacleod@redhat.com>
1644 Joseph Myers <joseph@codesourcery.com>
1645
1646 * c-common.h (enum rid): Add RID_ATOMIC.
1647 * c-common.c (c_common_reswords): Add _Atomic.
1648 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1649 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1650 * c-format.c (check_format_types): Check for extra _Atomic
1651 qualifiers in format argument.
1652 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1653 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1654
5b1a0622 16552013-11-06 Tobias Burnus <burnus@net-b.de>
1656
1657 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1658
4f8f4cb8 16592013-11-06 Joseph Myers <joseph@codesourcery.com>
1660
1661 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1662 standards modes.
1663 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1664 to mean lack of IEEE 754 support.
1665
9148bda3 16662013-11-05 Tobias Burnus <burnus@net-b.de>
1667
1668 * c.opt (-Wdate-time): New option
1669 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1670
08c5f4d5 16712013-11-05 Joseph Myers <joseph@codesourcery.com>
1672
1673 * c-cppbuiltin.c (cpp_iec_559_value): Test
1674 flag_excess_precision_cmdline not flag_excess_precision.
1675
c630ef93 16762013-11-05 Tobias Burnus <burnus@net-b.de>
1677
1678 * c.opt (fopenmp-simd): New option.
1679 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1680 (omp_pragmas): ... this new struct.
1681 (c_pp_lookup_pragma): Also walk omp_pragmas.
1682 (init_pragma): Init pragmas for -fopenmp-simd.
1683
7354a89b 16842013-11-04 Marek Polacek <polacek@redhat.com>
1685
1686 PR c++/58979
1687 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1688
4c866b9b 16892013-11-04 Joseph Myers <joseph@codesourcery.com>
1690
1691 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1692 New functions.
1693 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1694
e2a6a333 16952013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1696
1697 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1698 (dump_ada_specs): Adjust prototype of second callback.
1699 * c-ada-spec.c (cpp_check): New global variable.
1700 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1701 (print_generic_ada_decl): Likewise.
1702 (has_static_fields): Change return type to bool and add guard.
1703 (has_nontrivial_methods): New predicate.
1704 (is_tagged_type): Change return type to bool.
1705 (separate_class_package): Call has_nontrivial_methods.
1706 (pp_ada_tree_identifier): Minor tweaks.
1707 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1708 (dump_ada_array_domains): Likewise.
1709 (dump_ada_array_type): Likewise.
1710 (dump_template_types): Remove cpp_check parameter and do not pass it to
1711 dump_generic_ada_node.
1712 (dump_ada_template): Likewise.
1713 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1714 recursively.
1715 (print_ada_methods): Change return type to integer. Remove cpp_check
1716 parameter and do not pass it down.
1717 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1718 dump_generic_ada_node.
1719 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1720 accessing methods.
1721 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1722 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1723 value of print_ada_methods.
1724 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1725 Set cpp_check to it before invoking dump_ada_nodes.
1726 (dump_ada_specs): Likewise.
1727
2c4c3477 17282013-11-03 Marek Polacek <polacek@redhat.com>
1729
1730 * c-ubsan.c: Don't include hash-table.h.
1731 (ubsan_instrument_vla): New function.
1732 * c-ubsan.h: Declare it.
1733
452659af 17342013-10-31 David Malcolm <dmalcolm@redhat.com>
1735
1736 Automated part of renaming of symtab_node_base to symtab_node.
1737
1738 Patch autogenerated by rename_symtab.py from
1739 https://github.com/davidmalcolm/gcc-refactoring-scripts
1740 revision 58bb219cc090b2f4516a9297d868c245495ee622
1741
1742 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1743 symtab_node_base to symtab_node.
1744
4d6f7dd4 17452013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1746
1747 Implement C++14 digit separators.
1748 * c-lex.c (interpret_float): Remove digit separators from scratch string
1749 before building real literal.
1750
06cfe805 17512013-10-30 Jakub Jelinek <jakub@redhat.com>
1752
1753 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1754
d037099f 17552013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1756
1757 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1758 fields.
1759 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1760 enabled.
1761 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1762 (insert_cilk_frame): New prototype.
1763 (cilk_init_builtins): Likewise.
1764 (gimplify_cilk_spawn): Likewise.
1765 (c_cilk_install_body_w_frame_cleanup): Likewise.
1766 (cilk_detect_spawn_and_unwrap): Likewise.
1767 (cilk_set_spawn_marker): Likewise.
1768 (build_cilk_sync): Likewise.
1769 (build_cilk_spawn): Likewise.
1770 * cilk.c: New file.
1771
02774f2d 17722013-10-29 David Malcolm <dmalcolm@redhat.com>
1773
1774 Patch autogenerated by refactor_symtab.py from
1775 https://github.com/davidmalcolm/gcc-refactoring-scripts
1776 revision 58bb219cc090b2f4516a9297d868c245495ee622
1777
1778 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1779 to a true class hierarchy.
1780 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1781
31fe10fd 17822013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1783
1784 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1785
b1c06ff9 17862013-10-26 Jeff Law <law@redhat.com>
1787
1f78217c 1788 * c-common.c (c_define_builtins): Remove mudflap support.
1789 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 1790
48a972c8 17912013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 1792
1793 PR other/33426
1794 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1795 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1796
546a04b1 17972013-10-23 Jason Merrill <jason@redhat.com>
1798
1799 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1800
bc7bff74 18012013-10-11 Jakub Jelinek <jakub@redhat.com>
1802
d62c713e 1803 * c-common.h (omp_clause_mask::operator !=): New method.
1804 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1805 instead of if (mask & something) tests everywhere.
1806
bc7bff74 1807 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1808 201307 instead of 201107.
1809 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1810 (c_common_attribute_table): Add "omp declare target" and
1811 "omp declare simd" attributes.
1812 (handle_omp_declare_target_attribute,
1813 handle_omp_declare_simd_attribute): New functions.
1814 * c-omp.c: Include c-pragma.h.
1815 (c_finish_omp_taskgroup): New function.
1816 (c_finish_omp_atomic): Add swapped argument, if true,
1817 build the operation first with rhs, lhs arguments and use NOP_EXPR
1818 build_modify_expr.
1819 (c_finish_omp_for): Add code argument, pass it down to make_code.
1820 (c_omp_split_clauses): New function.
1821 (c_split_parallel_clauses): Removed.
1822 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1823 c_omp_declare_simd_clauses_to_decls): New functions.
1824 * c-common.h (omp_clause_mask): New type.
1825 (OMP_CLAUSE_MASK_1): Define.
1826 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1827 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1828 omp_clause_mask::operator |, omp_clause_mask::operator &,
1829 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1830 omp_clause_mask::operator ==): New methods.
1831 (enum c_omp_clause_split): New.
1832 (c_finish_omp_taskgroup): New prototype.
1833 (c_finish_omp_atomic): Add swapped argument.
1834 (c_finish_omp_for): Add code argument.
1835 (c_omp_split_clauses): New prototype.
1836 (c_split_parallel_clauses): Removed.
1837 (c_omp_declare_simd_clauses_to_numbers,
1838 c_omp_declare_simd_clauses_to_decls): New prototypes.
1839 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1840 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1841 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1842 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1843 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1844 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1845 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1846 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1847 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1848 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1849 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1850 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1851 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1852 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1853 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1854 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1855 PRAGMA_OMP_CLAUSE_UNIFORM.
1856
d7dcba40 18572013-10-09 Marc Glisse <marc.glisse@inria.fr>
1858
1859 PR tree-optimization/20318
1860 * c-common.c (handle_returns_nonnull_attribute): New function.
1861 (c_common_attribute_table): Add returns_nonnull.
1862
0b7282f1 18632013-10-03 Marc Glisse <marc.glisse@inria.fr>
1864
1865 PR c++/19476
1866 * c.opt (fcheck-new): Move to common.opt.
1867
51f553af 18682013-09-25 Marek Polacek <polacek@redhat.com>
1869 Jakub Jelinek <jakub@redhat.com>
1870
1871 PR sanitizer/58413
1872 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1873 an expression if we can prove it is correct.
1874 (ubsan_instrument_division): Likewise. Remove unnecessary
1875 check.
1876
05f893e1 18772013-09-18 Marek Polacek <polacek@redhat.com>
1878
1879 PR sanitizer/58411
1880 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1881 Declare it.
1882 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1883
236ce1d1 18842013-09-14 Iain Sandoe <iain@codesourcery.com>
1885
1886 PR target/48094
1887 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1888 fobjc-gc, freplace-objc-classes): Accept for LTO.
1889
f9f68d35 18902013-09-13 Jacek Caban <jacek@codeweavers.com>
1891
1892 * c-target.def: New hook
1893
ba2f764e 18942013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1895
1896 PR c++/43452
1897 * c.opt (Wdelete-incomplete): Add.
1898
73437615 18992013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1900
1901 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1902 (vector_types_compatible_elements_p): New function.
1903 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1904 declaration.
1905 (vector_types_compatible_elements_p): Declare.
1906
95af4c75 19072013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1908
1909 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1910 a virtual member function.
1911 (pp_simple_type_specifier): Remove.
1912 (pp_c_type_specifier): Likewise.
1913 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1914 Rename from pp_c_type_specifier. Adjust.
1915 (c_pretty_printer::c_pretty_printer): Do not assign to
1916 simple_type_specifier.
1917
eaab24b9 19182013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1919
1920 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1921 member function.
1922 (c_pretty_printer::storage_class_specifier): Likewise.
1923 (c_pretty_printer::initializer): Likewise.
1924 (pp_declaration): Remove.
1925 (pp_declaration_specifiers): Likewise.
1926 (pp_abstract_declarator): Likewise.
1927 (pp_declarator): Likewise.
1928 (pp_type_id): Likewise.
1929 (pp_statement): Likewise.
1930 (pp_constant): Likewise.
1931 (pp_id_expression): Likewise.
1932 (pp_primary_expression): Likewise.
1933 (pp_unary_expression): Likewise.
1934 (pp_multiplicative_expression): Likewise.
1935 (pp_conditional_expression): Likewise.
1936 (pp_assignment_expression): Likewise.
1937 (pp_expression): Likewise.
1938 (pp_c_type_id): Likewise.
1939 (pp_c_storage_class_specifier): Likewise.
1940 * c-pretty-print.c (pp_c_type_cast): Tidy.
1941 (pp_c_pointer): Likewise.
1942 (pp_c_type_specifier): Likewise.
1943 (pp_c_parameter_type_list): Likewise.
1944 (pp_c_function_definition): Likewise.
1945 (pp_c_init_declarator): Likewise.
1946 (pp_c_initializer_list): Likewise.
1947 (pp_c_constructor_elts): Likewise.
1948 (c_pretty_printer::direct_abstract_declarator): Likewise.
1949 (c_pretty_printer::declaration_specifiers): Likewise.
1950 (c_pretty_printer::primary_expression): Likewise.
1951 (c_pretty_printer::postfix_expression): Likewise.
1952 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1953 (c_pretty_printer::storage_class_specifier): Rename from
1954 pp_c_storage_class_specifier.
1955 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1956 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1957 storage_class_specifier, initializer, offset_list, flags.
1958
9e46467d 19592013-08-30 Marek Polacek <polacek@redhat.com>
1960
1961 * c-ubsan.c: New file.
1962 * c-ubsan.h: New file.
1963
36a8d9b9 19642013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1965
1966 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1967 member function.
1968 (c_pretty_printer::declaration_specifiers): Likewise.
1969 (c_pretty_printer::declarator): Likewise.
1970 (c_pretty_printer::abstract_declarator): Likewise.
1971 (c_pretty_printer::direct_abstract_declarator): Likewise.
1972 (c_pretty_printer::direct_declarator): Likewise.
1973 (c_pretty_printer::function_specifier): Likewise.
1974 (pp_declaration): Adjust.
1975 (pp_declaration_specifiers): Likewise.
1976 (pp_abstract_declarator): Likewise.
1977 (pp_direct_declarator): Likewise.
1978 (pp_function_specifier): Likewise.
1979 (pp_direct_abstract_declarator): Remove as unused.
1980 (pp_c_declaration): Remove.
1981 (pp_c_declaration_specifiers): Likewise.
1982 (pp_c_declarator): Likewise.
1983 (pp_c_direct_declarator): Likewise.
1984 (pp_c_function_specifier): Likewise.
1985 (pp_c_direct_abstract_declarator): Likewise.
1986 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1987 from pp_c_abstract_declarator. Adjust.
1988 (c_pretty_printer::direct_abstract_declarator): Rename from
1989 pp_c_direct_abstract_declarator. Adjust.
1990 (c_pretty_printer::function_specifier): Rename from
1991 pp_c_function_specifier. Adjust.
1992 (c_pretty_printer::declaration_specifiers): Rename from
1993 pp_c_declaration_specifiers. Adjust.
1994 (c_pretty_printer::direct_declarator): Rename from
1995 pp_c_direct_declarator. Adjust.
1996 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
1997 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
1998 (c_pretty_printer::c_pretty_printer): Do not assign to
1999 declaration, declaration_specifiers, declarator,
2000 direct_declarator, direct_abstract_declarator, function_specifier.
2001
30635c2e 20022013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2003
2004 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2005 virtual member function.
2006 (c_pretty_printer::multiplicative_expression): Likewise.
2007 (c_pretty_printer::conditional_expression): Likewise.
2008 (c_pretty_printer::assignment_expression): Likewise.
2009 (c_pretty_printer::expression): Likewise.
2010 (pp_unary_expression): Adjust.
2011 (pp_multiplicative_expression): Likewise.
2012 (pp_assignment_expression): Likewise.
2013 (pp_conditional_expression): Likewise.
2014 (pp_expression): Likewise.
2015 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2016 from pp_c_unary_expression. Adjust.
2017 (c_pretty_printer::multiplicative_expression): Rename from
2018 pp_c_multiplicative_expression. Adjust.
2019 (c_pretty_printer::conditional_expression): Rename from
2020 pp_c_conditional_expression. Adjust.
2021 (c_pretty_printer::assignment_expression): Rename from
2022 pp_c_assignment_expression. Adjust.
2023 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2024 (c_pretty_printer::c_pretty_printer): Do not assign to
2025 unary_expression, multiplicative_expression,
2026 conditional_expression, expression.
2027
027d08ed 20282013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2029
2030 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2031 virtual member function.
2032 (pp_postfix_expression): Adjust.
2033 (pp_c_postfix_expression): Remove.
2034 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2035 from pp_c_postfix_expression. Adjust.
2036 (c_pretty_printer::c_pretty_printer): Do not assign to
2037 postfix_expression.
2038
f873303a 20392013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2040
2041 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2042 virtua member function.
2043 (pp_primary_expression): Adjust.
2044 (pp_c_primary_expression): Remove.
2045 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2046 from pp_c_primary_expression. Adjust.
2047 (pp_c_initializer_list): Use pp_primary_expression.
2048 (c_pretty_printer::c_pretty_printer): Do not assign to
2049 primary_expression.
2050
08e3e481 20512013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2052
2053 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2054 * c-pretty-print.c (M_): Remove.
2055 (c_pretty_printer::translate_string): Define.
2056 (pp_c_type_specifier): Use it.
2057 (pp_c_primary_expression): Likewise.
2058 (pp_c_expression): Likewise.
2059
1fc4a87f 20602013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2061
2062 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2063 virtual function.
2064 (pp_c_id_expression): Remove.
2065 (pp_id_expression): Adjust.
2066 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2067 pp_c_id_expression. Adjust.
2068 (pp_c_postfix_expression): Use pp_id_expression.
2069 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2070
a6cb161b 20712013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2072
2073 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2074 member function.
2075 (pp_constant): Adjust.
2076 (pp_c_constant): Remove.
2077 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2078 pp_c_constant. Adjust.
2079 (pp_c_constant)
2080 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2081 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2082
eed6bc21 20832013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2084
2085 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2086 (c_pretty_printer::c_pretty_printer): Declare.
2087 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2088 c_pretty_printer_init. Adjust.
2089 (print_c_tree): Do not call c_pretty_printer_init.
2090 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2091
df558d2e 20922013-08-09 Arnaud Charlet <charlet@adacore.com>
2093
2094 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2095
42f9a786 20962013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2097
2098 PR c++/58080
2099 * c-common.c (pointer_int_sum): Add bool parameter.
2100 * c-common.h (pointer_int_sum): Adjust declaration.
2101
f874ddad 21022013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2103
2104 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2105 c_pretty_printer variable.
2106
a94db6b0 21072013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2108
2109 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2110 (pp_base): Remove.
2111 (pp_c_base): Likewise. Adjust users.
2112 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2113 (pp_c_whitespace): Do not call pp_base.
2114 (pp_c_left_paren): Likewise.
2115 (pp_c_right_paren): Likewise.
2116 (pp_c_left_brace): Likewise.
2117 (pp_c_right_brace): Likewise.
2118 (pp_c_left_bracket): Likewise.
2119 (pp_c_right_bracket): Likewise.
2120 (pp_c_dot): Likewise.
2121 (pp_c_ampersand): Likewise.
2122 (pp_c_star): Likewise.
2123 (pp_c_arrow): Likewise.
2124 (pp_c_semicolon): Likewise.
2125 (pp_c_complement): Likewise.
2126 (pp_c_exclamation): Likewise.
2127 (pp_c_direct_declarator): Likewise.
2128 (pp_c_ws_string): Likewise.
2129 (pp_c_identifier): Likewise.
2130 (pp_c_statement): Likewise.
2131 (print_c_tree): Likewise.
2132
1898176c 21332013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2134
2135 PR c++/58072
2136 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2137 provide useful error strings.
2138
70d60d1d 21392013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2140
2141 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2142 printer functions instead of pp_string or operators and punctuators.
2143 (dump_generic_ada_node): Likewise.
2144 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2145 (pp_c_relational_expression): Likewise.
2146 (pp_c_logical_or_expression): Likewise.
2147
dda4f0ec 21482013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2149
2150 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2151 functions instead of pp_character.
2152 (pp_ada_tree_identifier): Likewise.
2153 (dump_ada_double_name): Likewise.
2154 (dump_ada_function_declaration): Likewise.
2155 (dump_ada_array_domains): Likewise.
2156 (dump_template_types): Likewise.
2157 (dump_generic_ada_node): Likewise.
2158 (print_ada_declaration): Likewise.
2159 (print_ada_struct_decl): Likewise.
2160 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2161
7aa04c8d 21622013-07-23 Tom Tromey <tromey@redhat.com>
2163
2164 * c-common.h (enum rid) <RID_GENERIC>: New constant.
2165 * c-common.c (c_common_reswords): Add _Generic.
2166
a04e8d62 21672013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2168
2169 * c-common.c: Fix typos.
2170 * c-common.h: Likewise.
2171
a96c3cc1 21722013-07-13 Lubos Lunak <l.lunak@suse.cz>
2173
2174 PR c++/55203
2175 * c-common.c (c_common_attribute_table): Add warn_unused.
2176 (handle_warn_unused_attribute): New.
2177
da31536d 21782013-07-10 Jakub Jelinek <jakub@redhat.com>
2179
2180 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
2181 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
2182
839f2f70 21832013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
2184
2185 PR c++/57869
2186 * c.opt: Add Wconditionally-supported.
2187
73f353d0 21882013-07-08 Graham Stott <graham.stott@btinternet.com>
2189
1f78217c 2190 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 2191 unused variables l_length and l_node.
2192
21ebaa24 21932013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 2194
2195 PR c/57821
2196 * c-common.c (complete_array_type): Delay folding first index
2197 like other indices. When folding, check for index overflow.
2198
68ea4406 21992013-06-27 Marc Glisse <marc.glisse@inria.fr>
2200
2201 PR c++/57509
2202 * c-common.h (c_build_vec_perm_expr): New complain argument.
2203 * c-common.c (c_build_vec_perm_expr): Likewise.
2204 Use save_expr also in C++.
2205
60777f69 22062013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2207
2208 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2209 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2210 * c-opts.c (c_common_post_options): Likewise.
2211
839f2f70 22122013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 2213
2214 * array-notation-common.c (length_mismatch_in_expr): Changed the
2215 parameter type's from a dynamic array to a vec_tree. Also removed
2216 the size parameters.
2217 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2218 the change above.
2219
e9331eab 22202013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2221
2222 * c-common.h (struct cilkplus_an_parts): New structure.
2223 (struct cilkplus_an_loop_parts): Likewise.
2224 (cilkplus_extract_an_triplets): New prototype.
2225 (fix_sec_implicit_args): Likewise.
2226 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2227 (fix_sec_implicit_args): Likewise.
60777f69 2228
a9c99fc4 22292013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2230
2231 * array-notation-common.c (find_inv_trees): Removed an unwanted
2232 typecasting.
2233 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2234 enum rid to enum tree_code.
2235
f2526cce 22362013-06-11 Jan Hubicka <jh@suse.cz>
2237
2238 * c-common.c (handle_alias_ifunc_attribute): Do not set
2239 DECL_EXTERNAL for weakref variables.
2240 * c-pragma.c (handle_pragma_weak): Make sure aliases
2241 are not declared as external.
2242
09970d67 22432013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2244
2245 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2246 function from c/c-array-notation.c.
2247 (is_cilkplus_reduce_builtin): Likewise.
2248 (find_rank): Likewise.
2249 (extract_array_notation_exprs): Likewise.
2250 (replace_array_notations): Likewise.
2251 (find_inv_trees): Likewise.
2252 (replace_inv_trees): Likewise.
2253 (contains_array_notation_expr): Likewise.
2254 (find_correct_array_notation_type): Likewise.
2255 * c-common.h (struct inv_list): Moved this struct from the file
2256 c/c-array-notation.c and added a new field called additional tcodes.
2257 (length_mismatch_in_expr_p): New prototype.
2258 (is_cilkplus_reduce_builtin): Likewise.
2259 (find_rank): Likewise.
2260 (extract_array_notation_exprs): Likewise.
2261 (replace_array_notation): Likewise.
2262 (find_inv_trees): Likewise.
2263 (replace_inv_trees): Likewise.
2264 (find_correct_array_notation_type): Likewise.
839f2f70 2265
3c6d4197 22662013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2267
2268 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2269 function array_notation_init_builtins is called.
2270 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2271 * c-common.def (ARRAY_NOTATION_REF): New tree.
2272 * c-common.h (build_array_notation_expr): New function declaration.
2273 (build_array_notation_ref): Likewise.
2274 (extract_sec_implicit_index_arg): New extern declaration.
2275 (is_sec_implicit_index_fn): Likewise.
2276 (ARRAY_NOTATION_CHECK): New define.
2277 (ARRAY_NOTATION_ARRAY): Likewise.
2278 (ARRAY_NOTATION_START): Likewise.
2279 (ARRAY_NOTATION_LENGTH): Likewise.
2280 (ARRAY_NOTATION_STRIDE): Likewise.
2281 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2282 ARRAY_NOTATION_REF.
2283 (pp_c_expression): Likewise.
2284 * c.opt (flag_enable_cilkplus): New flag.
2285 * array-notation-common.c: New file.
2286
8e71dad2 22872013-05-14 Jakub Jelinek <jakub@redhat.com>
2288
2289 PR c++/57274
2290 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2291
432dd330 22922013-05-10 Marc Glisse <marc.glisse@inria.fr>
2293
2294 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2295 vectors.
2296
b156ec37 22972013-05-07 Han Shen <shenhan@google.com>
2298
2299 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2300
1a087624 23012013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2302
2303 * c-common.c (check_user_alignment): Emit error for negative values.
2304
1638c736 23052013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2306
2307 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2308
949dbf93 23092013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2310
2311 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2312 __GXX_EXPERIMENTAL_CXX1Y__.
2313
9205a6cc 23142013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2315 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2316
2317 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2318 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2319 to simply use OPT_Wpointer_arith.
2320 (c_sizeof_or_alignof_type): Likewise.
2321
05d0bce1 23222013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2323
2324 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2325
41609f8b 23262013-04-12 Jakub Jelinek <jakub@redhat.com>
2327
2328 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2329 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2330 specifiers.
2331
c671dc4f 23322013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2333
2334 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2335
ba125576 23362013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2337
2338 * c-common.c (pointer_int_sum): Remove dead code.
2339
9d3fa937 23402013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2341
2342 PR middle-end/56524
2343 * c-common.c (handle_optimize_attribute): Don't call
2344 save_optabs_if_changed.
2345
5ceebb21 23462013-03-05 Jakub Jelinek <jakub@redhat.com>
2347
2348 PR middle-end/56461
2349 * c-pch.c (pch_init): Free target_validity at the end.
2350
18eeed2b 23512013-03-04 Jakub Jelinek <jakub@redhat.com>
2352
2353 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2354
a9196da9 23552013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2356 Jakub Jelinek <jakub@redhat.com>
2357
2358 PR sanitizer/56454
2359 * c-common.c (handle_no_sanitize_address_attribute): New function.
2360 (c_common_attribute_table): Add no_sanitize_address attribute.
2361 (handle_no_address_safety_analysis_attribute): Add
2362 no_sanitize_address attribute, not no_address_safety_analysis
2363 attribute.
2364
15c27dda 23652013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 2366
2367 PR target/52555
2368 * c-common.c (handle_optimize_attribute): Call
2369 save_optabs_if_changed.
2370
19426fe1 23712013-02-18 Jakub Jelinek <jakub@redhat.com>
2372 Steven Bosscher <steven@gcc.gnu.org>
2373
2374 PR pch/54117
2375 * c-opts.c (c_common_post_options): If debug info is enabled
2376 and non-dwarf*, refuse to load PCH files and when writing PCH
2377 file warn.
2378
df936998 23792013-02-05 Jakub Jelinek <jakub@redhat.com>
2380
2381 PR middle-end/56167
2382 * c-common.c (handle_error_attribute): Fix condition.
2383
ae0c3984 23842013-01-30 Jakub Jelinek <jakub@redhat.com>
2385
2386 PR c++/55742
2387 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2388
1c4973d7 23892013-01-18 Jason Merrill <jason@redhat.com>
2390
2391 PR target/54908
2392 * c.opt (-fextern-tls-init): New.
2393 * c-opts.c (c_common_post_options): Handle it.
2394
7c834436 23952013-01-09 Jakub Jelinek <jakub@redhat.com>
2396
2397 PR c/48418
2398 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2399 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2400 and is either negative or bigger or equal to type precision
2401 of the first operand.
2402
5abaa10a 24032012-12-03 Marek Polacek <polacek@redhat.com>
2404
2405 PR c/55570
2406 * c-common.c (check_user_alignment): Swap order of tests,
2407 check TREE_CODE first.
2408
324ca377 24092012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2410
2411 PR c++/52654
2412 * c-common.h (overflow_type): New enum.
2413 (build_userdef_literal): Add overflow_type argument.
2414 (tree_userdef_literal): Add overflow_type.
2415 (USERDEF_LITERAL_OVERFLOW): New access macro.
2416 * c-common.c (build_userdef_literal): Add overflow_type
2417 argument.
2418 * c-lex.c (c_lex_with_flags): Add overflow_type to
2419 build_userdef_literal calls.
2420 (interpret_integer, interpret_float): Add overflow_type argument.
2421
b4c4a429 24222012-11-28 Richard Biener <rguenther@suse.de>
2423
2424 PR c/35634
2425 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2426 here and use a type with proper overflow behavior for types that would
2427 need to be promoted for the arithmetic.
2428
d413ffdd 24292012-11-23 Jakub Jelinek <jakub@redhat.com>
2430
2431 PR sanitizer/55435
2432 * c-common.c (handle_no_address_safety_analysis_attribute): New
2433 function.
2434 (c_common_attribute_table): Add no_address_safety_analysis.
2435
52bc861d 24362012-11-16 Simon Baldwin <simonb@google.com>
2437
2438 * c.opt: Add f[no-]canonical-system-headers.
2439 * c-opts.c (c_common_handle_option): Handle
2440 OPT_fcanonical_system_headers.
2441
2dd00636 24422012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2443
2444 PR c++/54413
2445 * c-opts.c (c_common_handle_option): Set new flags.
2446 * c.opt: Describe new flags.
2447
d4701f6c 24482012-11-09 Jason Merrill <jason@redhat.com>
2449
2450 * c.opt (Wabi-tag): New.
2451
72d65da9 24522012-11-09 Andi Kleen <ak@linux.intel.com>
2453
2454 PR 55139
2455 * c-common.c (get_atomic_generic_size): Mask with
2456 MEMMODEL_MASK
2457
77a357e3 24582012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2459
2460 PR c/53063
2461 * c.opt (Wformat): Make it Alias Wformat=1.
2462 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2463 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2464 LangEnabledBy.
2465 (Wformat=): RejectNegative. Use LangEnabledBy.
2466 (Wnonnull): Use LangEnabledBy.
2467 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2468 * c-format.c (set_Wformat): Delete.
2469 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2470 (maybe_read_dollar_number): Likewise.
2471 (avoid_dollar_number): Likewise.
2472 (finish_dollar_format_checking): Likewise.
2473 (check_format_info): Likewise.
2474 (check_format_info_main): Likewise.
2475 (check_format_types): Likewise.
2476 (format_type_warning): Likewise.
2477 * c-common.c (int): Likewise.
2478 (check_function_sentinel): Likewise.
2479 * c-common.h (warn_format,set_Wformat): Do not declare here.
2480
45efa6b9 24812012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2482
2483 PR c/53063
2484 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2485 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2486 Use LangEnabledBy.
2487 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2488 common.opt.
2489 (Wvariadic-macros): Init(1).
2490 * c-opts.c (c_common_handle_option): Do not handle them
2491 explicitly.
2492 (c_common_post_options): Likewise.
2493 (sanitize_cpp_opts): warn_unused_macros is now
2494 cpp_warn_unused_macros.
2495 (push_command_line_include): Likewise.
2496 * c-common.c (warn_unknown_pragmas): Do not define.
2497 * c-common.h (warn_unknown_pragmas): Do not declare.
2498
0e4e775a 24992012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2500
2501 PR c/51294
2502 * c-common.c (conversion_warning): Handle conditional expressions.
2503
8b447d3f 25042012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2505
2506 PR c++/54930
2507 * c.opt (Wreturn_local_addr): Define new option.
2508
f4a61754 25092012-10-25 Jason Merrill <jason@redhat.com>
2510
ecb10e6a 2511 * c.opt (Wvirtual-move-assign): New.
2512
f4a61754 2513 * c.opt (Winherited-variadic-ctor): New.
2514
7b463b19 25152012-10-25 Marc Glisse <marc.glisse@inria.fr>
2516
2517 PR c++/54427
2518 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2519
6adc88f8 25202012-10-23 Joseph Myers <joseph@codesourcery.com>
2521
2522 * c-common.h (pch_cpp_save_state): Declare.
2523 * c-target.def (c_preinclude): New hook.
2524 * c-opts.c (done_preinclude): New.
2525 (push_command_line_include): Handle default preincluded header.
2526 (cb_file_change): Call pch_cpp_save_state when calling
2527 push_command_line_include.
2528 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2529 (pch_cpp_save_state): New.
2530 (pch_init): Call pch_cpp_save_state conditionally, instead of
2531 calling cpp_save_state.
2532
fa816b0b 25332012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2534
2535 PR c/53063
2536 PR c/40989
2537 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2538 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2539 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2540 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2541 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2542 * c-opts.c (c_common_handle_option): Remove explicit handling from
2543 here.
2544 (c_common_post_options): Likewise.
2545
d214ccee 25462012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2547
2548 * c-ada-spec.c (LOCATION_COL): Delete.
2549 (compare_location): New function.
2550 (compare_node): Use it.
2551 (compare_comment): Likewise.
2552
77b27208 25532012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2554
2555 PR c/53063
2556 PR c/40989
2557 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2558 * c-opts.c (c_common_handle_option): Do not set them here. Add
2559 comment.
2560 (c_common_post_options): Likewise.
2561
cc02ca4d 25622012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2563
2564 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2565 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2566 Remove POINTER_TYPE handling, add large unsigned handling and use
2567 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2568
57f872a2 25692012-10-12 Jakub Jelinek <jakub@redhat.com>
2570
2571 PR c/54381
2572 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2573 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2574 locs and array of 3 trees instead of just single loc and single
2575 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2576 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2577 For *cmp* builtins that take two sources strings report warnings
2578 about first and second source, not about destination and source.
2579
7354ad2e 25802012-10-12 Marc Glisse <marc.glisse@inria.fr>
2581
2582 PR c++/53055
2583 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2584
1ac7f120 25852012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2586
2587 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2588 declaring something coming from another file.
2589
1e0cc9e3 25902012-10-10 Arnaud Charlet <charlet@adacore.com>
2591
1ac7f120 2592 PR ada/54845
1e0cc9e3 2593 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2594
b0e7825e 25952012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2596
2597 PR c++/54194
2598 * c-common.c (warn_about_parentheses): Add location_t parameter;
2599 use EXPR_LOC_OR_LOC.
2600 * c-common.h: Update declaration.
2601
41ed701a 26022012-10-09 Marc Glisse <marc.glisse@inria.fr>
2603
2604 PR c++/54427
2605 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2606 more operations. Make error messages optional.
2607 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2608 (scalar_to_vector): Declare.
2609
3740094c 26102012-10-08 Jason Merrill <jason@redhat.com>
2611
2612 * c-common.c (c_common_reswords): Add thread_local.
2613
ffcdbf9c 26142012-10-08 Dodji Seketeli <dodji@redhat.com>
2615
2616 PR c++/53528 C++11 attribute support
2617 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2618 new functions.
2619 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2620 static function.
2621 (handle_aligned_attribute): In choose strictest alignment
2622 among many. Use new check_cxx_fundamental_alignment_constraints.
2623 (handle_transparent_union_attribute): In c++11 attribute syntax,
2624 don't look through typedefs.
2625
ef34afc1 26262012-10-04 Arnaud Charlet <charlet@adacore.com>
2627
2628 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2629 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2630 out of dumpfile.h.
2631
f1ff4562 26322012-09-25 Dehao Chen <dehao@google.com>
2633
2634 PR middle-end/54645
ef34afc1 2635 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2636 map when read in the pch.
2637
735538a1 26382012-09-18 Arnaud Charlet <charlet@adacore.com>
2639
2640 * c-ada-spec.c: Style fixes.
2641
9120cdc8 26422012-09-18 Thomas Quinot <quinot@adacore.com>
2643
2644 * c.opt (-fada-spec-parent): Define new command line switch.
2645 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2646 is specified, generate binding spec as a child of the specified unit.
2647
8eba82c2 26482012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2649 Manuel López-Ibáñez <manu@gcc.gnu.org>
2650
2651 PR c++/53210
2652 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2653
38682990 26542012-08-23 Arnaud Charlet <charlet@adacore.com>
2655
2656 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2657 for pointers, and add missing Convention C pragma.
2658 (print_ada_struct_decl): Add missing aliased keyword.
2659 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2660
f003f5dc 26612012-08-17 Jakub Jelinek <jakub@redhat.com>
2662
2663 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2664 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2665 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2666 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2667 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2668
ec11736b 26692012-08-10 Richard Guenther <rguenther@suse.de>
2670
2671 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2672
5f7f600e 26732012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2674
2675 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2676 instead of separate pp_newline and pp_flush.
2677 (print_c_tree): Likewise.
2678
758a38ab 26792012-07-26 Richard Henderson <rth@redhat.com>
2680
2681 * c-common.c (handle_hot_attribute): Allow labels.
2682 (handle_cold_attribute): Likewise.
2683
9ca77b08 26842012-07-20 Jakub Jelinek <jakub@redhat.com>
2685
2686 PR c++/28656
2687 * c-common.c (check_function_nonnull): Handle multiple nonnull
2688 attributes properly.
2689
b9ed1410 26902012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2691
2692 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2693 * c-ada-spec.c: Likewise.
2694 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2695
c2a65b90 26962012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2697
2698 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2699 Remove code conditional on it.
2700
88c5a1d1 27012012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2702
2703 * c-gimplify.c: Do not include basic-block.h.
2704 * c-common.c: Do not include linfuncs.h.
2705
4a020a8c 27062012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2707
2708 * c-common.h: Include tree.h.
2709
c28ddc97 27102012-07-02 Jason Merrill <jason@redhat.com>
2711
2712 PR c++/53524
2713 * c-common.c (get_priority): Call default_conversion.
2714
405ed67f 27152012-07-01 Uros Bizjak <ubizjak@gmail.com>
2716
2717 * c-pch.c (c_common_write_pch): Remove unused variables.
2718
e53d55e7 27192012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2720
2721 * cppspec.c: Moved from gcc/ to here.
2722
3d9c25ec 27232012-06-27 Kai Tietz <ktietz@redhat.com>
2724
2725 PR preprocessor/37215
2726 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2727
3169c57a 27282012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2729
2730 * c-common.h (c_common_print_pch_checksum): Remove.
2731 * c-pch.c: Do not include output.h.
2732 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2733 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2734 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2735 (struct c_pch_header): Remove.
2736 (get_ident): Update gpch version.
2737 (pch_init): Do not print executable_checksum to asm_out_file.
2738 Do not fail if there is no asm_out_file to read back from. Set
2739 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2740 (c_common_write_pch): Verify that nothing was written to asm_out_file
2741 since pch_init was called. Do not write a c_pch_header, and do not
2742 copy from asm_out_file to the PCH.
2743 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2744 the content of asm_out_file from the PCH.
2745 (c_common_print_pch_checksum): Remove.
2746 * c-opts.c (c_common_init): Print out executable_checksum directly.
2747
ff6624bc 27482012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2749
2750 * c-target.def (objc_declare_unresolved_class_reference,
2751 objc_declare_class_definition): Add new hooks.
2752
367b1459 27532012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2754
2755 * c-lex.c: Do not include output.h.
2756 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2757 Remove uses of ASM_OUTPUT_IDENT.
2758
bf0cb017 27592012-06-15 Marc Glisse <marc.glisse@inria.fr>
2760
2761 PR c++/51033
2762 * c-common.h (c_build_vec_perm_expr): Move decl here.
2763 * c-common.c (c_build_vec_perm_expr): Move definition
2764 here.
2765
b37a3600 27662012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2767
2768 * c.opt (fconserve-space): Turn into a no-op.
2769
19931eea 27702012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 2771
2772 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2773 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2774 both the start and end of the function.
2775
dff12c10 27762012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2777
2778 * c-common.c: Do not include output.h.
2779 * c-pragma.c: Likewise.
2780
5f9e7dd5 27812012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2782
2783 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2784 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2785 (lang_decl_name): Handle namespace decls.
2786
b5369b7d 27872012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2788
2789 * c-ada-spec.c: Do not include output.h.
2790 * c-semantics.c: Likewise.
2791
8032877c 27922012-05-29 Joseph Myers <joseph@codesourcery.com>
2793
2794 * c-common.c: Fix typo.
2795
7843e4bc 27962012-05-29 Michael Matz <matz@suse.de>
2797
2798 * c-common.h (c_expand_decl): Remove prototype.
2799
8cf857d4 28002012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2801
2802 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2803 * c-opts.c (c_common_handle_option): Remove code handling
2804 warn_missing_braces.
2805
8b64dc3c 28062012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2807
2808 PR c++/25137
2809 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2810 -Wmissing_braces.
2811
43cbde16 28122012-05-22 Dodji Seketeli <dodji@redhat.com>
2813
2814 PR c++/53322
2815 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2816
db490cb6 28172012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2818
2819 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2820 * c-opts.c (c_common_handle_option): Do not handle explicitly
2821 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2822
a60f3e81 28232012-05-16 Dodji Seketeli <dodji@redhat.com>
2824
2825 PR preprocessor/7263
2826 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2827 to cpp_classify_number. For diagnostics, use the precise location
2828 instead of the global input_location.
2829
82e6ef7c 28302012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2831
cd4797ff 2832 PR c++/11856
82e6ef7c 2833 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2834
258a168d 28352012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2836
82e6ef7c 2837 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 2838
d3b7ee7c 28392012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2840
2841 PR 53063
2842 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2843 Wreorder): Use LangEnabledBy.
2844 * c-opts.c (c_common_handle_option): Do not enable them
2845 explicitly. Call lang-specific generated functions.
2846 (c_common_post_options): Do not set them here.
2847
70059cea 28482012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2849
2850 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2851 Wmissing-field-initializers,Wmissing-parameter-type,
2852 Wold-style-declaration,Woverride-init): Use EnabledBy.
2853 * c-opts.c (c_common_post_options): Do not set here explicitly.
2854
fbb6fbd8 28552012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2856
2857 PR 53063
2858 * c-opts.c (c_common_handle_option): Use handle_generated_option
2859 to enable sub-options.
2860
61f69bc9 28612012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2862
2863 PR c++/53158
2864 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2865
5a1fe2db 28662012-05-10 Richard Guenther <rguenther@suse.de>
2867
2868 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2869 adjust commentary about TYPE_IS_SIZETYPE types.
2870
d42e7c5a 28712012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2872
2873 PR c++/53261
2874 * c-common.c (warn_logical_operator): Check that argument of
2875 integer_zerop is not NULL.
2876
686369e8 28772012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2878
2879 PR c/43772
2880 * c-common.c (warn_logical_operator): Do not warn if either side
2881 is already true or false.
2882
03fe1dc2 28832012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2884
2885 PR c/51712
2886 * c-common.c (expr_original_type): New.
2887 (shorten_compare): Do not warn for enumeration types.
2888
bba5a206 28892012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2890
2891 * c.opt (fpermissive): Add Var(flag_permissive).
2892
7059d45d 28932012-04-30 Marc Glisse <marc.glisse@inria.fr>
2894
2895 PR c++/51033
2896 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2897 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2898
7edb1062 28992012-04-30 Dodji Seketeli <dodji@redhat.com>
2900
2901 Add -Wvarargs option
2902 * c.opt (Wvarargs): Define new option.
2903
068bea1e 29042012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2905
2906 * c-common.c (check_function_arguments): Replace
2907 Wmissing-format-attribute with Wsuggest-attribute=format.
2908
b86527d8 29092012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2910
2911 * c.opt (Wsuggest-attribute=format): New. Alias of
2912 Wmissing-format-attribute.
2913 * c-format.c (decode_format_type): Replace
2914 Wmissing-format-attribute with Wsuggest-attribute=format.
2915 (check_function_format): Likewise.
2916
19931eea 29172012-04-27 Ollie Wild <aaw@google.com>
76d340ac 2918
2919 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2920 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2921 * c.opt: Add Wliteral-suffix.
2922
29438999 29232012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2924
2925 PR c/44774
2926 * c.opt (Wpedantic): New.
2927 (pedantic): Alias Wpedantic.
2928 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2929 (c_common_post_options): Likewise.
2930 (sanitize_cpp_opts): Likewise.
2931 * c-lex.c (interpret_float): Likewise.
2932 * c-format.c (check_format_types): Likewise.
2933 * c-common.c (pointer_int_sum): Likewise.
2934 (c_sizeof_or_alignof_type): Likewise.
2935 (c_add_case_label): Likewise.
2936 (c_do_switch_warnings): Likewise.
2937 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2938
4f9d6b8b 29392012-04-15 Jason Merrill <jason@redhat.com>
2940
2941 PR c++/52818
2942 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2943 (C_STD_NAME): Distinguish between C++98 and C++11.
2944
74bdbe96 29452012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2946
2947 PR target/52624
2948 * c-common.h (uint16_type_node): Rename into...
2949 (c_uint16_type_node): ...this.
2950 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2951 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2952
3d177e8c 29532012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2954
2955 * c-common.c (warn_if_unused_value): Move definition to here.
2956 * c-common.h (warn_if_unused_value): Move declaration to here.
2957
6a9a958f 29582012-03-23 William Bader <williambader@hotmail.com>
2959
2960 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2961
543efdbe 29622012-03-20 Jason Merrill <jason@redhat.com>
2963
2964 * c-common.h (enum cxx_dialect): Add cxx1y.
2965 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2966 test.
2967 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2968 * c-opts.c (c_common_post_options): Likewise.
2969 (set_std_cxx1y): New.
2970 (c_common_handle_option): Call it.
2971 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2972
62206d34 29732012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2974
2975 PR c++/14710
2976 * c.opt ([Wuseless-cast]): Add.
2977
fadf62f4 29782012-03-16 Richard Guenther <rguenther@suse.de>
2979
2980 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2981
249faa35 29822012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2983
2984 PR c++/44783
2985 * c.opt (ftemplate-backtrace-limit) Add.
2986
126b6848 29872012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2988
2989 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2990 handling.
2991 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2992 (init_pragma): Don't register extern_prefix.
2993
a51edb4c 29942012-03-12 Richard Guenther <rguenther@suse.de>
2995
2996 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
2997 (builtin_type_for_size): Likewise.
2998
0f6a7cb7 29992012-02-13 Jakub Jelinek <jakub@redhat.com>
3000
3001 PR c++/52215
3002 * c-common.c (sync_resolve_params): Don't decide whether to convert
3003 or not based on TYPE_SIZE comparison, convert whenever arg_type
3004 is unsigned INTEGER_TYPE.
3005
0779e32c 30062012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3007
3008 PR c/52118
3009 * c.opt ([Wunused-local-typedefs]): Fix description.
3010
baec58e1 30112012-01-24 Mike Stump <mikestump@comcast.net>
3012
3013 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3014 exactly.
3015
c779d8cc 30162012-01-18 Richard Guenther <rguenther@suse.de>
3017
3018 * c-opts.c (c_common_post_options): Reset LTO flags if
3019 we are about to generate a PCH.
3020
ee917d24 30212012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3022
3023 PR c++/51777
3024 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3025 use pp_unsigned_wide_integer.
3026
90e2341f 30272012-01-10 Richard Guenther <rguenther@suse.de>
3028
3029 PR middle-end/51806
3030 * c-opts.c (c_common_handle_option): Move -Werror handling
3031 to language independent code.
3032
9ea022ce 30332012-01-05 Richard Guenther <rguenther@suse.de>
3034
3035 PR middle-end/51764
3036 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3037 from common.opt.
3038
3df19e1b 30392011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3040
3041 PR c++/51316
3042 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3043 of array types with an unknown bound.
3044
32074525 30452011-12-20 Joseph Myers <joseph@codesourcery.com>
3046
3047 * c-common.c (flag_isoc99): Update comment to refer to C11.
3048 (flag_isoc1x): Change to flag_isoc11.
3049 * c-common.h (flag_isoc99): Update comment to refer to C11.
3050 (flag_isoc1x): Change to flag_isoc11.
3051 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3052 C11.
3053 * c-opts.c (set_std_c1x): Change to set_std_c11.
3054 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3055 Call set_std_c11.
3056 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3057 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3058 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3059 standard.
3060 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3061 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3062 (std=gnu1x): Make alias of std=gnu11.
3063
fca86134 30642011-12-19 Jason Merrill <jason@redhat.com>
3065
3066 PR c++/51228
3067 * c-common.c (handle_transparent_union_attribute): Check the first
3068 field if the type is complete.
3069
aa4313eb 30702011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3071
3072 PR libstdc++/51365
3073 * c-common.c (RID_IS_FINAL): Add.
3074 * c-common.h (RID_IS_FINAL): Add.
3075
3f3d5ad4 30762011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3077
3078 * c.opt (fgnu-runtime): Provide full description.
3079 (fnext-runtime): Likewise.
3080 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3081
c4606d19 30822011-11-28 Andrew MacLeod <amacleod@redhat.com>
3083
3084 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3085 predefines in one place. Add LOCK_FREE predefines.
3086 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3087 new func.
3088
1d581089 30892011-11-24 Andrew MacLeod <amacleod@redhat.com>
3090
3091 PR c/51256
19931eea 3092 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 3093 conditions
19931eea 3094 (resolve_overloaded_atomic_exchange,
3095 resolve_overloaded_atomic_compare_exchange,
1d581089 3096 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3097 error_mark_node for error conditions.
19931eea 3098
6aa221fa 30992011-11-08 Richard Guenther <rguenther@suse.de>
3100
3101 PR middle-end/51010
3102 c-family/
3103
4c0315d0 31042011-11-07 Richard Henderson <rth@redhat.com>
3105 Aldy Hernandez <aldyh@redhat.com>
3106 Torvald Riegel <triegel@redhat.com>
3107
3108 Merged from transactional-memory.
3109
3110 * c-common.c (handle_tm_wrap_attribute,
3111 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3112 (struct c_common_reswords): Added __transaction* keywords.
3113 (struct c_common_attribute_table): Added transaction* and tm_regparm
3114 attributes.
3115 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3116 masks.
3117 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3118 find_tm_attribute): Declare.
3119
920f5a70 31202011-11-07 Jason Merrill <jason@redhat.com>
3121
3122 PR c++/35688
3123 * c-common.c, c-common.h: Revert yesterday's changes.
3124
b4f861b4 31252011-11-06 Jason Merrill <jason@redhat.com>
3126
3127 PR c++/35688
3128 * c-common.c (decl_has_visibility_attr): Split out from...
3129 (c_determine_visibility): ...here.
3130 * c-common.h: Declare it.
3131
83e25171 31322011-11-06 Joseph Myers <joseph@codesourcery.com>
3133
3134 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3135 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3136 type.
3137 (check_user_alignment): New. Split out of
3138 handle_aligned_attribute. Disallow integer constants with
3139 noninteger types. Conditionally allow zero.
3140 (handle_aligned_attribute): Use check_user_alignment.
3141 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3142
1cd6e20d 31432011-11-06 Andrew MacLeod <amacleod@redhat.com>
3144 Richard Henderson <rth@redhat.com>
3145
3146 Merged from cxx-mem-model.
3147
3148 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 3149 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 3150 parameters that are the same type size.
3151 (get_atomic_generic_size): New. Find size of generic
3152 atomic function parameters and do typechecking.
3153 (add_atomic_size_parameter): New. Insert size into parameter list.
3154 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3155 either __atomic_exchange_n or external library call.
19931eea 3156 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 3157 __atomic_compare_exchange to either _n variant or external library call.
19931eea 3158 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 3159 __atomic_load_n or an external library call.
3160 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
3161 __atomic_store_n or an external library call.
3162 (resolve_overloaded_builtin): Handle new __atomic builtins.
3163
7549df0d 31642011-11-04 Eric Botcazou <ebotcazou@adacore.com>
3165
3166 PR c++/50608
3167 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
3168 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
3169 <INDIRECT_REF>: Return the argument.
3170 <ARRAY_REF>: Remove special code for negative offset.
3171 Call fold_build_pointer_plus instead of size_binop.
3172 (fold_offsetof): Remove STOP_REF argument and adjust.
3173 * c-common.h (fold_offsetof_1): Declare.
3174 (fold_offsetof): Remove STOP_REF argument.
3175
7e783eb3 31762011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
3177
3178 PR c++/50810
3179 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3180 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3181 Wnarrowing for C++0x and C++98.
3182 * c.opt ([Wnarrowing]): Update.
3183
8fe701f5 31842011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
3185
3186 PR c++/44277
3187 * c.opt: Add Wzero-as-null-pointer-constant.
3188
0d84dc2d 31892011-10-31 Jason Merrill <jason@redhat.com>
3190
67031f52 3191 * c.opt (-fdeduce-init-list): Off by default.
3192
0d84dc2d 3193 PR c++/50920
3194 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
3195 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
3196 and -Wc++11-compat.
3197 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3198
66f24c41 31992011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3200
3201 PR c++/30066
3202 * c.opt (fvisibility-inlines-hidden): Description change.
3203
244db24d 32042011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3205
3206 Implement C++11 user-defined literals.
3207 * c-common.c (build_userdef_literal): New.
3208 * c-common.def: New tree code.
3209 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3210 * c-lex.c (interpret_float): Add suffix parm.
3211 (c_lex_with_flags): Build literal tokens.
3212
235be70f 32132011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3214
3215 PR c++/50841
3216 Revert:
3217 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3218
3219 PR c++/50810
3220 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3221 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3222 Wnarrowing for C++0x and C++98.
3223 * c.opt ([Wnarrowing]): Update.
3224
4fe0fb1c 32252011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3226
3227 PR c++/50810
3228 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3229 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3230 Wnarrowing for C++0x and C++98.
3231 * c.opt ([Wnarrowing]): Update.
3232
5f7504f9 32332011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3234
3235 PR c++/45385
3236 * c-common.c (conversion_warning): Remove code looking for
3237 artificial operands.
3238
2a688977 32392011-10-18 Dodji Seketeli <dodji@redhat.com>
3240
3241 PR bootstrap/50760
3242 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 3243 !NO_IMPLICIT_EXTERN_C.
2a688977 3244
326e3391 32452011-10-17 Michael Spertus <mike_spertus@symantec.com>
3246
3247 * c-common.c (c_common_reswords): Add __bases,
3248 __direct_bases.
3249 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3250
32512011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3252
3253 PR c++/50757
3254 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3255
62db153a 32562011-10-15 Tom Tromey <tromey@redhat.com>
3257 Dodji Seketeli <dodji@redhat.com>
3258
3259 * c.opt (fdebug-cpp): New option.
3260 * c-opts.c (c_common_handle_option): Handle the option.
3261 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3262 output stream in parameter. Factorized from ...
3263 (maybe_print_line): ... this. Dump location debug information when
3264 -fdebug-cpp is in effect.
3265 (print_line_1): New static function. Takes an output stream in
3266 parameter. Factorized from ...
3267 (print_line): ... here. Dump location information when -fdebug-cpp
3268 is in effect.
3269 (scan_translation_unit): Dump location information when
3270 -fdebug-cpp is in effect.
3271
ce70f433 32722011-10-15 Tom Tromey <tromey@redhat.com>
3273 Dodji Seketeli <dodji@redhat.com>
3274
3275 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3276 without argument.
3277 * c-opts.c (c_common_handle_option)<case
3278 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3279 cases. Handle -ftrack-macro-expansion with and without argument.
3280
97bfb9ef 32812011-10-15 Tom Tromey <tromey@redhat.com>
3282 Dodji Seketeli <dodji@redhat.com>
3283
3284 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3285 (print_line, cb_define, do_line_change): Adjust to avoid touching
3286 the internals of struct line_map. Use the public API instead.
3287 * c-pch.c (c_common_read_pch): Likewise.
3288 * c-lex.c (fe_file_change): Likewise.
3289
326e3391 32902011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3291
3292 PR c++/17212
3293 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3294
32952011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3296
3297 PR c++/33067
3298 * c-pretty-print.c (pp_c_floating_constant): Output
3299 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3300
b9a16870 33012011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3302
3303 * c-common.c (def_builtin_1): Delete old interface with two
3304 parallel arrays to hold standard builtin declarations, and replace
3305 it with a function based interface that can support creating
3306 builtins on the fly in the future. Change all uses, and poison
3307 the old names. Make sure 0 is not a legitimate builtin index.
3308 * c-omp.c (c_finish_omp_barrier): Ditto.
3309 (c_finish_omp_taskwait): Ditto.
3310 (c_finish_omp_flush): Ditto.
3311
c7964868 33122011-10-11 Tristan Gingold <gingold@adacore.com>
3313
3314 * c.opt: (fallow-parameterless-variadic-functions): New.
3315
a4e3ffad 33162011-09-08 Dodji Seketeli <dodji@redhat.com>
3317
3318 PR c++/33255 - Support -Wunused-local-typedefs warning
3319 * c-common.h (struct c_language_function::local_typedefs): New
3320 field.
19931eea 3321 (record_locally_defined_typedef, maybe_record_typedef_use)
3322 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 3323 * c-common.c (record_locally_defined_typedef)
19931eea 3324 (maybe_record_typedef_use)
3325 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 3326 * c.opt: Declare new -Wunused-local-typedefs flag.
3327
737a23cc 33282011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3329
3330 PR middle-end/50266
3331 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3332 computations.
3333
7542c3b4 33342011-09-05 Richard Guenther <rguenther@suse.de>
3335
3336 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3337 of integer_minus_one_node for empty array upper bounds.
3338
1dc92c59 33392011-08-28 Dodji Seketeli <dodji@redhat.com>
3340
3341 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3342 it's the first time it's being called on this main TU.
3343
2bdf2b6e 33442011-08-24 Richard Guenther <rguenther@suse.de>
3345
3346 PR c/49396
3347 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3348
33492011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 3350
3351 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3352 defined in cpp_init_builtins and c_cpp_builtins.
3353
bff4ad11 33542011-08-19 Joseph Myers <joseph@codesourcery.com>
3355
3356 * c-common.c (c_common_reswords): Add __builtin_complex.
3357 * c-common.h (RID_BUILTIN_COMPLEX): New.
3358
985c6e3a 33592011-08-18 Joseph Myers <joseph@codesourcery.com>
3360
3361 * c-common.c (c_common_reswords): Add _Noreturn.
3362 (keyword_is_function_specifier): Handle RID_NORETURN.
3363 * c-common.h (RID_NORETURN): New.
3364
7dfa155b 33652011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3366
3367 * c-common.c (unsafe_conversion_p): New function. Check if it is
3368 unsafe to convert an expression to the type.
3369 (conversion_warning): Adjust, use unsafe_conversion_p.
3370 * c-common.h (unsafe_conversion_p): New function declaration.
3371
2169f33b 33722011-08-02 Jakub Jelinek <jakub@redhat.com>
3373
3374 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3375 (c_finish_omp_taskyield): New prototype.
3376 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3377 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3378 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3379 or RHS1 have side-effects, evaluate those too in the right spot,
3380 if it is a decl and LHS is also a decl, error out if they
3381 aren't the same.
3382 (c_finish_omp_taskyield): New function.
3383 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3384 * c-pragma.c (omp_pragmas): Add taskyield.
3385 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3386 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3387 PRAGMA_OMP_CLAUSE_MERGEABLE.
3388
ab77850e 33892011-07-25 Dodji Seketeli <dodji@redhat.com>
3390
3391 * c-common.h (set_underlying_type): Remove parm name from
3392 declaration.
3393
6ee97920 33942011-07-25 Romain Geissler <romain.geissler@gmail.com>
3395
3396 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3397
dc251364 33982011-07-22 Jason Merrill <jason@redhat.com>
3399
1a2a35f0 3400 PR c++/49793
3401 * c.opt (Wnarrowing): New.
3402
27282252 3403 PR c++/30112
3404 * c-common.h: Declare c_linkage_bindings.
3405 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3406
dc251364 3407 PR c++/49813
3408 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3409 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3410 as flag_isoc99 for 'restrict'.
3411 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3412
fc501191 34132011-07-21 Ian Lance Taylor <iant@google.com>
3414
3415 PR middle-end/49705
3416 * c-common.c (c_disable_warnings): New static function.
3417 (c_enable_warnings): New static function.
3418 (c_fully_fold_internal): Change local unused_p to bool. Call
3419 c_disable_warnings and c_enable_warnings rather than change
3420 c_inhibit_evaluation_warnings.
3421
07b8f133 34222011-07-20 Jason Merrill <jason@redhat.com>
3423
3424 PR c++/6709 (DR 743)
3425 PR c++/42603 (DR 950)
3426 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3427 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3428 (CPP_DECLTYPE): New.
3429 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3430
2cc66f2a 34312011-07-19 Richard Guenther <rguenther@suse.de>
3432
3433 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3434 * c-omp.c (c_finish_omp_for): Likewise.
3435
3c802a1e 34362011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3437
3438 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3439 body on the next line.
3440
98a33d9f 34412011-07-08 Jason Merrill <jason@redhat.com>
3442
3115bda0 3443 PR c++/45437
3444 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3445
98a33d9f 3446 PR c++/49673
3447 * c-common.c (c_apply_type_quals_to_decl): Don't check
3448 TYPE_NEEDS_CONSTRUCTING.
3449
c38a75b7 34502011-07-06 Richard Guenther <rguenther@suse.de>
3451
3452 * c-common.c (c_common_nodes_and_builtins):
3453 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3454
e593356b 34552011-07-05 Richard Guenther <rguenther@suse.de>
3456
3457 * c-common.c (c_common_nodes_and_builtins): Build all common
3458 tree nodes first.
3459
fca0886c 34602011-06-27 Jakub Jelinek <jakub@redhat.com>
3461
a68f7a8d 3462 * c-common.h (c_tree_chain_next): New static inline function.
3463
fca0886c 3464 * c-common.c (check_builtin_function_arguments): Handle
3465 BUILT_IN_ASSUME_ALIGNED.
3466
2797f13a 34672011-06-21 Andrew MacLeod <amacleod@redhat.com>
3468
3469 * c-common.c: Add sync_ or SYNC__ to builtin names.
3470 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3471
34722011-06-20 Pierre Vittet <piervit@pvittet.com>
3473
3474 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3475 handler.
3476 (gen_pragma_handler): New union.
3477 (internal_pragma_handler): New type.
3478 (c_register_pragma_with_data)
3479 (c_register_pragma_with_expansion_and_data): New functions.
3480
3481 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3482 (c_register_pragma, c_register_pragma_with_expansion)
3483 (c_invoke_pragma_handler): Changed to work with
3484 internal_pragma_handler.
3485 (c_register_pragma_with_data)
3486 (c_register_pragma_with_expansion_and_data): New functions.
3487
218e3e4e 34882011-06-14 Joseph Myers <joseph@codesourcery.com>
3489
3490 * c-common.c: Include common/common-target.h.
3491 (handle_section_attribute): Use
3492 targetm_common.have_named_sections.
3493 * c-cppbuiltin.c: Include common/common-target.h.
3494 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3495
41e53ed2 34962011-06-10 Richard Guenther <rguenther@suse.de>
3497
3498 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3499 to print a IDENTIFIER_NODE.
3500
a6f06169 35012011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3502 Joseph Myers <joseph@codesourcery.com>
3503
3504 * c.opt (fbuilding-libgcc): New option.
3505 * c-cppbuiltin.c (c_cpp_builtins): Define
3506 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3507
1ea9269b 35082011-06-07 Jason Merrill <jason@redhat.com>
3509
8ce59854 3510 * c-common.c (max_tinst_depth): Lower default to 900.
3511
1ea9269b 3512 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3513
1af0124d 35142011-06-07 Richard Guenther <rguenther@suse.de>
3515
3516 * c-common.c (c_common_nodes_and_builtins): Do not set
3517 size_type_node or call set_sizetype.
3518
0e9a4c01 35192011-06-07 Dodji Seketeli <dodji@redhat.com>
3520
3521 PR debug/49130
3522 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3523 type when using pointer comparison to compare types.
0e9a4c01 3524
90b40725 35252011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3526
3527 * c.opt: Add -Wdelete-non-virtual-dtor.
3528 * c-opts.c (c_common_handle_option): Include it in -Wall.
3529
fc9c9e87 35302011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3531
3532 PR bootstrap/49190
3533
3534 Revert:
3535 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3536
3537 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3538 not tree_common.
3539
d0389adc 35402011-05-27 Jakub Jelinek <jakub@redhat.com>
3541
3542 PR c++/49165
3543 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3544 C++ don't call c_common_truthvalue_conversion on void type arms.
3545
cacfdc02 35462011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3547
3548 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3549 (stmt_list_stack): Define.
3550 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3551 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3552
027fc6ef 35532011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3554
3555 * c-common.c (warning_candidate_p): Check for BLOCKs.
3556
f21317a1 35572011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3558
3559 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3560 not tree_common.
3561
789e953d 35622011-05-25 Jakub Jelinek <jakub@redhat.com>
3563
3564 * c-common.c (def_fn_type): Remove extra va_end.
3565
7f506bca 35662011-05-23 Jason Merrill <jason@redhat.com>
3567
3568 PR c++/48106
3569 * c-common.c (c_common_get_narrower): New.
3570 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3571
774e9d58 35722011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3573
3574 * c-common.h (check_function_arguments): Tweak prototype of
3575 check_function_arguments.
3576 * c-common.c (check_function_arguments): Likewise. Adjust
3577 calls to check_function_nonnull, check_function_format, and
3578 check_function_sentinel.
3579 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3580 separate attributes and typelist arguments. Use
3581 FOREACH_FUNCTION_ARGS to iterate over argument types.
3582
23407dc9 35832011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3584
3585 * c-common.c (c_common_reswords): Reorder.
3586 * c-common.h (rid): Likewise.
3587
3a939d12 35882011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3589
3590 * c-common.c (def_fn_type): Don't call build_function_type, call
3591 build_function_type_array or build_varargs_function_type_array
3592 instead.
3593 (c_common_nodes_and_builtins): Likewise.
3594
b6e3dd65 35952011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3596
3597 * c-common.c (c_add_case_label): Omit the loc argument to
3598 build_case_label.
3599 * c-common.h (build_case_label): Remove.
3600 * c-semantics.c (build_case_label): Remove.
3601
4232a958 36022011-05-05 Joseph Myers <joseph@codesourcery.com>
3603
3604 * c-objc.h (objc_start_method_definition): Update prototype.
3605 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3606
d0af78c5 36072011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3608
3609 * c-common.c (check_main_parameter_types): Reindent. Don't use
3610 TYPE_ARG_TYPES directly.
3611 (handle_nonnull_attribute): Likewise.
3612 (sync_resolve_params): Likewise.
3613 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3614 to check_format_string.
3615 (handle_format_attribute): Likewise.
3616 (check_format_string): Take a function type to examine instead of
3617 a type list. Use a function_arg_iterator to step through argument
3618 types.
3619
ceb7b692 36202011-05-04 Richard Guenther <rguenther@suse.de>
3621
3622 * c-common.c (fix_string_type): Use size_int for index type bounds.
3623 (start_fname_decls): Do not pass NULL to build_int_cst.
3624 (c_init_attributes): Likewise.
3625 * c-lex.c (c_lex_with_flags): Likewise.
3626
c66c81be 36272011-04-27 Jason Merrill <jason@redhat.com>
3628
3629 * c-common.c (make_tree_vector_from_list): New.
3630 * c-common.h: Declare it.
3631
16930c72 36322011-04-26 Richard Guenther <rguenther@suse.de>
3633
3634 PR preprocessor/48248
3635 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3636 for output size with -P.
3637
23407dc9 36382011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3639
3640 * c-common.c (struct c_common_resword): Add __underlying_type.
3641 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3642
dd045aee 36432011-04-20 Jim Meyering <meyering@redhat.com>
3644
3645 * c-format.c (init_dollar_format_checking): Remove useless
3646 if-before-free.
3647
394dd737 36482011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3649
3650 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3651 (objc_detect_field_duplicates): New.
394dd737 3652 * stub-objc.c: Likewise.
23407dc9 3653
a758bf7d 36542011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3655
3656 * stub-objc.c (objc_declare_protocols): Renamed to
3657 objc_declare_protocol.
3658 * c-objc.h: Likewise.
23407dc9 3659
29d7200d 36602011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3661
3662 * stub-objc.c (objc_declare_class): Updated argument name.
3663
9b88d08d 36642011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3665
3666 * c-common.h (c_common_init_ts): Declare.
3667 * c-common.c (c_common_init_ts): Define.
3668
4185cf58 36692011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3670
3671 * c-objc.h (objc_build_message_expr): Updated prototype.
3672 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 3673
5a90471f 36742011-04-12 Martin Jambor <mjambor@suse.cz>
3675
3676 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3677 of cgraph_node.
3678
783bb57e 36792011-04-11 Richard Guenther <rguenther@suse.de>
3680
3681 * c-common.c (complete_array_type): Build a range type of
3682 proper type.
3683
c33080b9 36842011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3685
3686 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3687 (handle_type_generic_attribute): Likewise.
3688
f8913d47 36892011-04-07 Jason Merrill <jason@redhat.com>
3690
3691 PR c++/48450
3692 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3693 conversion from C++0x scoped enum.
3694
c94b1d0e 36952011-04-06 Joseph Myers <joseph@codesourcery.com>
3696
3697 * c-target-def.h: New file.
3698 * c-target.def: New file.
3699 * c-target.h: New file.
3700 * c-common.c (targetcm): Don't define here.
3701 * c-common.h (default_handle_c_option): Declare.
3702 * c-format.c: Include c-target.h instead of target.h.
3703 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3704 include tm.h.
3705 (default_handle_c_option): Move from targhooks.c.
3706
acb10f41 37072011-03-29 Jakub Jelinek <jakub@redhat.com>
3708
3709 PR preprocessor/48248
3710 * c-ppoutput.c (print): Add src_file field.
3711 (init_pp_output): Initialize it.
3712 (maybe_print_line): Don't optimize by adding up to 8 newlines
3713 if map->to_file and print.src_file are different file.
3714 (print_line): Update print.src_file.
3715
82715bcd 37162011-03-25 Kai Tietz <ktietz@redhat.com>
3717
3718 * c-ada-spec.c (compare_comment): Use filename_cmp
3719 instead of strcmp for filename.
3720
451c8e2f 37212011-03-25 Jeff Law <law@redhat.com>
3722
1f78217c 3723 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 3724
3c47771c 37252011-03-25 Jason Merrill <jason@redhat.com>
3726
3727 * c.opt: Add -std=c++03.
3728
97e6200f 37292011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3730
3731 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3732
ac86af5d 37332011-03-17 Kai Tietz
3734
3735 PR target/12171
ee212425 3736 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3737 Display allowed attributes for function pointer types.
3738 (pp_c_attributes_display): New function to display
3739 attributes having affects_type_identity flag set to true.
3740 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3741
ac86af5d 3742 * c-common.c (c_common_attribute_table):
3743 Add new element.
3744 (c_common_format_attribute_table): Likewise.
3745
914d1151 37462011-03-18 Jason Merrill <jason@redhat.com>
3747
69788bdf 3748 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3749 * c-common.h: Don't declare it here.
3750 * c-common.c: Or define it here.
3751 * c-opts.c (c_common_handle_option): Or set it here.
3752
914d1151 3753 PR c++/35315
3754 * c-common.c (handle_transparent_union_attribute): Don't
3755 make a duplicate type in C++.
3756
54cf6eed 37572011-03-15 Jason Merrill <jason@redhat.com>
3758
3759 * c-common.c (max_constexpr_depth): New.
3760 * c-common.h: Declare it.
3761 * c-opts.c (c_common_handle_option): Set it.
3762 * c.opt (fconstexpr-depth): New option.
3763
02cb1060 37642011-03-11 Jason Merrill <jason@redhat.com>
3765
9bf1c74e 3766 * c-common.c (attribute_takes_identifier_p): Add missing const.
3767
02cb1060 3768 PR c++/46803
3769 * c-common.c (attribute_takes_identifier_p): Assume that an
3770 unknown attribute takes an identifier.
3771
ecf2703d 37722011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3773
3774 PR c/47786
3775 * c-common.c (c_type_hash): Call list_length instead of iterating
3776 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3777
2b19dfe4 37782011-02-19 Jakub Jelinek <jakub@redhat.com>
3779
3780 PR c/47809
3781 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3782
29cf2335 37832011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3784
3785 * c.opt (fobjc-abi-version=) New.
3786 (fobjc-nilcheck): New.
3787
fad3f658 37882011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3789
3790 PR c++/46890
3791 * c-common.h (keyword_is_decl_specifier): Declare.
3792 * c-common.c (keyword_is_decl_specifier): Define.
3793 (keyword_is_function_specifier): New function.
3794
a12319b3 37952011-01-26 Jakub Jelinek <jakub@redhat.com>
3796
3797 PR c/47473
3798 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3799 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3800 REAL_TYPE.
3801
5c128dc8 38022011-01-26 Arnaud Charlet <charlet@adacore.com>
3803
3804 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3805
8d67b0c7 38062011-01-26 Jakub Jelinek <jakub@redhat.com>
3807
3808 PR pch/47430
3809 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3810 after init_c_lex if pch_file is set.
3811
0675168d 38122011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3813
e8911163 3814 PR c++/43601
0675168d 3815 * c.opt (-fkeep-inline-dllexport): New switch.
3816
0725e25c 38172011-01-12 Richard Guenther <rguenther@suse.de>
3818
3819 PR middle-end/32511
3820 * c-common.c (handle_weak_attribute): Warn instead of error
3821 on declaring an inline function weak.
3822
fdd84b77 38232011-01-05 Tom Tromey <tromey@redhat.com>
3824
3825 * c-common.h (lvalue_error): Update.
3826 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3827 not error.
3828
e6e73d14 38292010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 3830
d67e8485 3831 PR objc/47075
3832 * c-objc.h (objc_finish_message_expr): Added argument to
3833 prototype.
3834
a36cf284 38352010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3836
3837 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3838 Use prototype_p.
3839
33b3681f 38402010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3841
3842 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 3843 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 3844
a1f90215 38452010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3846
3847 * c-common.h (readonly_error): Declare.
3848 * c-common.c (readonly_error): Define.
3849
b1bbc8e5 38502010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3851
3852 * c-common.h (invalid_indirection_error): Declare.
3853 * c-common.c (invalid_indirection_error): Define.
3854
b0d55af9 38552010-12-03 Richard Guenther <rguenther@suse.de>
3856
3857 PR c/46745
3858 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3859 (pp_c_unary_expression): Likewise.
3860 (pp_c_expression): Likewise.
3861
d7489d8d 38622010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3863
3864 * c-common.h (objc_finish_function): New.
3865 (objc_non_volatilized_type): Removed.
3866 (objc_type_quals_match): Removed.
3867 * stub-objc.c (objc_finish_function): New.
3868 (objc_non_volatilized_type): Removed.
3869 (objc_type_quals_match): Removed.
19931eea 3870
92468061 38712010-11-30 Joseph Myers <joseph@codesourcery.com>
3872
3873 * c-common.h (parse_optimize_options): Declare.
3874 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3875 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3876
967958e4 38772010-11-29 Joseph Myers <joseph@codesourcery.com>
3878
3879 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3880 GET_ENVIRONMENT.
3881 * c-pch.c (O_BINARY): Don't define here.
3882 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3883
b213bf24 38842010-11-25 Joseph Myers <joseph@codesourcery.com>
3885
3886 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3887 targetm.except_unwind_info.
3888
9faf44d6 38892010-11-23 Joseph Myers <joseph@codesourcery.com>
3890
3891 * c-opts.c (c_common_handle_option): Pass location to
3892 set_struct_debug_option.
3893
79396169 38942010-11-23 Joseph Myers <joseph@codesourcery.com>
3895
3896 * c-common.c (visibility_options): Move from ../opts.c.
3897 * c-common.h (struct visibility_flags, visibility_options):
3898 Declare here.
3899 * c-opts.c (finish_options): Rename to c_finish_options.
3900 (c_common_init): Update call to finish_options.
3901
b4aa4123 39022010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3903
3904 PR objc/34033
3905 * c-lex.c (lex_string): Check that each string in an Objective-C
3906 string concat sequence starts with either one or zero '@', and
3907 that there are no spurious '@' signs at the end.
3908
3e0e49f2 39092010-11-20 Joseph Myers <joseph@codesourcery.com>
3910
3911 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3912 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3913 HANDLE_PRAGMA_VISIBILITY.
3914 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3915 HANDLE_PRAGMA_VISIBILITY): Don't define.
3916 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3917
a9ffdd35 39182010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3919
3920 PR c++/16189
3921 PR c++/36888
3922 PR c++/45331
3923 * c-common.h (keyword_begins_type_specifier): Declare.
3924 (keyword_is_storage_class_specifier): Declare.
3925 (keyword_is_type_qualifier): Declare.
3926 * c-common.c (keyword_begins_type_specifier): New function.
3927 (keyword_is_storage_class_specifier): New function.
3928 (keyword_is_type_qualifier): Declare.
3929
93be21c0 39302010-11-19 Joseph Myers <joseph@codesourcery.com>
3931
3932 PR c/46547
3933 * c-common.c (in_late_binary_op): Define.
3934 (c_common_truthvalue_conversion): Check in_late_binary_op before
3935 calling c_save_expr.
3936 * c-common.h (in_late_binary_op): Declare.
3937
d7175aef 39382010-11-19 Joseph Myers <joseph@codesourcery.com>
3939
3940 * c-opts.c (c_common_handle_option): Update calls to
3941 set_struct_debug_option.
3942
c213e196 39432010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3944
3945 * c-common.h (objc_declare_protocols): Added additional argument.
3946 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 3947
0b5fc5d6 39482010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3949
3950 PR c/33193
3951 * c-common.h (build_real_imag_expr): Declare.
3952 * c-semantics.c (build_real_imag_expr): Define.
3953
b8ba44e7 39542010-11-17 Joseph Myers <joseph@codesourcery.com>
3955
3956 * c-opts.c (c_common_parse_file): Take no arguments.
3957 * c-common.h (c_common_parse_file): Update prototype.
3958
6ef8d12f 39592010-11-16 Jakub Jelinek <jakub@redhat.com>
3960
3961 PR c++/46401
3962 * c-common.c (warning_candidate_p): Don't track non-const calls
3963 or STRING_CSTs.
3964
929d2a90 39652010-11-15 Ian Lance Taylor <iant@google.com>
3966
3967 * c-lex.c (init_c_lex): Set macro debug callbacks if
3968 flag_dump_go_spec is set.
3969
e4a7640a 39702010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3971
3972 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3973 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3974
597d2d81 39752010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3976
3977 PR preprocessor/45038
3978 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3979 dialects.
3980
c123f04d 39812010-11-12 Joseph Myers <joseph@codesourcery.com>
3982
3983 * c-common.h (c_family_lang_mask): Declare.
3984 * c-opts.c (c_family_lang_mask): Make extern.
3985 * c-pragma.c (handle_pragma_diagnostic): Use
3986 control_warning_option.
3987
3c6c0e40 39882010-11-12 Joseph Myers <joseph@codesourcery.com>
3989
3990 * c-common.c (parse_optimize_options): Update call to
3991 decode_options.
3992 * c-common.h (c_common_handle_option): Update prototype.
3993 * c-opts.c (c_common_handle_option): Take location_t parameter and
3994 pass it to other functions.
3995
19ec5c9e 39962010-11-11 Joseph Myers <joseph@codesourcery.com>
3997
3998 * c-opts.c (warning_as_error_callback): Remove.
3999 (c_common_initialize_diagnostics): Don't call
4000 register_warning_as_error_callback.
4001 (c_common_handle_option): Handle -Werror=normalized= here.
4002
bf776685 40032010-11-10 Joseph Myers <joseph@codesourcery.com>
4004
4005 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4006 in diagnostic.
4007 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4008 letter.
4009 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4010 Remove trailing '.' from diagnostics.
4011 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4012
6bd9d862 40132010-11-10 Joseph Myers <joseph@codesourcery.com>
4014
4015 * c-common.c (parse_optimize_options): Pass global_dc to
4016 decode_options.
4017 * c-opts.c (c_common_handle_option): Pass &global_options to
4018 set_Wstrict_aliasing.
4019 * c.opt (v): Don't mark Common or document here.
4020
1f6616ee 40212010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4022
4023 PR target/44981
4024 * c-format.c (format_type): New type gcc_objc_string_format_type.
4025 (valid_stringptr_type_p): New.
4026 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 4027 (check_format_string): Pass expected type, use
1f6616ee 4028 valid_stringptr_type_p (), check that the format string types are
4029 consistent with the format specification.
4030 (decode_format_attr): Warn if NSString is used outside objective-c.
4031 (format_types_orig): Add NSString.
4032 (format_name): New.
4033 (format_flags): New.
4034 (check_format_arg): Handle format strings requiring an external parser.
4035 first_target_format_type: New variable.
4036 (handle_format_attribute): Set up first_target_format_type, pass the
4037 expected format arg string type to check_format_string().
4038 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4039 * stub-objc.c (objc_string_ref_type_p): New.
4040 (objc_check_format_arg): New.
4041
b0d0931f 40422010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4043
19931eea 4044 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 4045 * c-common.h (objc_build_class_component_ref): New.
4046 * stub-objc.c (objc_build_class_component_ref): New.
4047
f26877d5 40482010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4049
4050 * c.opt (Wproperty-assign-default): New option.
4051
1ef143b6 40522010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4053
4054 Implemented -fobjc-std=objc1 flag.
4055 * c.opt (fobjc-std=objc1): New option.
4056
8c582e4f 40572010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4058
4059 Implemented format and noreturn attributes for Objective-C methods.
4060 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4061 attribute for Objective-C methods.
4062
8637f1db 40632010-10-31 Jason Merrill <jason@redhat.com>
4064
4065 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4066 EXPR_LOC_OR_HERE.
4067
9d9f5bb3 40682010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4069
4070 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4071 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4072 (objc_add_property_declaration): Removed arguments for copies and
4073 ivar.
4074 (objc_build_getter_call): Renamed to
4075 objc_maybe_build_component_ref.
4076 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4077 (objc_is_property_ref): New.
4078 * c-common.c (c_common_reswords): Removed copies and ivar.
4079 * stub-objc.c (objc_add_property_declaration): Removed arguments
4080 for copies and ivar.
4081 (objc_build_getter_call): Renamed to
4082 objc_maybe_build_component_ref.
4083 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4084 (objc_is_property_ref): New.
19931eea 4085
56f907a0 40862010-10-29 Arnaud Charlet <charlet@adacore.com>
4087 Matthew Gingell <gingell@adacore.com>
4088
4089 * c-ada-spec.c (separate_class_package): New function.
4090 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4091 name of their enclosing package.
4092 (print_ada_declaration): Use separate_class_package.
4093
b5fa273e 40942010-10-27 Jason Merrill <jason@redhat.com>
4095
5290e253 4096 * c-common.c (c_common_reswords): Add __is_literal_type.
4097 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4098
b5fa273e 4099 * c-common.c (check_case_value): Remove special C++ code.
4100
7590f0e5 41012010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4102
4103 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4104 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4105 and RID_LAST_PATTR.
4106 (objc_add_property_declaration): Added additional arguments.
4107 (objc_property_attribute_kind): Removed.
4108 (objc_set_property_attr): Removed.
4109 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4110 copy and nonatomic.
4111 * stub-objc.c (objc_add_property_declaration): Added additional
4112 arguments.
4113 (objc_set_property_attr): Removed.
19931eea 4114
1d894bcf 41152010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4116
4117 * c-common.h (objc_add_property_variable): Renamed to
4118 objc_add_property_declaration. Added location argument.
4119 * stub-objc.c (objc_add_property_variable): Same change.
4120
e23bf1fb 41212010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4122
4123 * c-common.h (objc_maybe_printable_name): New.
4124 * stub-objc.c (objc_maybe_printable_name): New.
4125
93426222 41262010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4127 Andrew Pinski <pinskia@gmail.com>
4128
4129 * c-common.h (c_common_mark_addressable_vec): Declare.
4130 * c-common.c (c_common_mark_addressable_vec): New function.
4131
45b2b110 41322010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4133
4134 * c-common.h (objc_set_method_type): Removed.
4135 (objc_add_method_declaration): Added boolean argument.
4136 (objc_start_method_definition): Same change.
4137 (objc_build_method_signature): Same change.
4138 * stub-objc.c (objc_set_method_type): Removed.
4139 (objc_add_method_declaration): Added boolean argument.
4140 (objc_start_method_definition): Same change.
4141 (objc_build_method_signature): Same change.
4142
64cd9619 41432010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4144
4145 * c-common.h (finish_file): Removed.
4146 (objc_write_global_declarations): New.
4147 * c-opts.c (c_common_parse_file): Do not call finish_file.
4148 * stub-objc.c (objc_write_global_declarations): New.
19931eea 4149
e1f293c0 41502010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4151
4152 Implemented parsing @synthesize and @dynamic for
4153 Objective-C/Objective-C++.
4154 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4155 (objc_add_synthesize_declaration): New.
4156 (objc_add_dynamic_declaration): New.
4157 * c-common.c (c_common_reswords): Add synthesize and dynamic.
4158 * stub-objc.c (objc_add_synthesize_declaration): New.
4159 (objc_add_dynamic_declaration): New.
19931eea 4160
ef97a312 41612010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4162
4163 PR target/46041
4164 * c-cppbuiltin.c (mode_has_fma): Move function here from
4165 builtins.c. Don't use the fma optab, instead just use the
4166 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
4167 using -save-temps.
4168
69b07042 41692010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4170
4171 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 4172
69b07042 4173 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
4174
19931eea 4175 Radar 4330422
69b07042 4176 * c-common.h (objc_non_volatilized_type): New declaration
4177 * stub-objc.c (objc_non_volatilized_type): New stub.
4178
f15f2e56 41792010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4180
69b07042 4181 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 4182
4183 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
4184
19931eea 4185 Radar 4133425
f15f2e56 4186 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 4187 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 4188
4a8875ed 41892010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4190
4191 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
4192 * c-common.h (enum rid): Add RID_AT_PACKAGE.
4193 (objc_ivar_visibility_kind): New enum.
4194 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 4195 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 4196 visibility enum.
4197
7e0713b1 41982010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4199
4200 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4201 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4202 has the appropriate fma builtins.
4203 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4204
86c110ac 42052010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4206
7e0713b1 4207 merge from FSF apple 'trunk' branch.
86c110ac 4208 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 4209
86c110ac 4210 Radars 4436866, 4505126, 4506903, 4517826
4211 * c-common.c (c_common_resword): Define @property and its attributes.
4212 * c-common.h: Define property attribute enum entries.
4213 (OBJC_IS_PATTR_KEYWORD): New.
4214 (objc_property_attribute_kind): New enum.
4215 Declare objc_set_property_attr (), objc_add_property_variable (),
4216 objc_build_getter_call () and objc_build_setter_call ().
4217 * stub-objc.c (objc_set_property_attr): New stub.
4218 (objc_add_property_variable): Likewise.
4219 (objc_build_getter_call): Likewise.
4220 (objc_build_setter_call) Likewise.
7e0713b1 4221
40c8d1dd 42222010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4223
7e0713b1 4224 merge from FSF apple 'trunk' branch.
40c8d1dd 4225 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4226
4227 Radar 3803157 (method attributes)
4228 * c-common.c (handle_deprecated_attribute): Recognize
4229 objc methods as valid declarations.
4230 * c-common.h: Declare objc_method_decl ().
7e0713b1 4231 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 4232
f3f006ad 42332010-10-08 Joseph Myers <joseph@codesourcery.com>
4234
4235 * c-common.c (parse_optimize_options): Call
4236 decode_cmdline_options_to_array_default_mask before
4237 decode_options. Update arguments to decode_options.
4238 * c-common.h (c_common_init_options_struct): Declare.
4239 * c-opts.c (c_common_init_options_struct): New. Split out from
4240 c_common_init_options.
4241
0a65c3bb 42422010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4243
4244 Implemented fast enumeration for Objective-C.
4245 * c-common.h (objc_finish_foreach_loop): New.
4246 * stub-objc.c (objc_finish_foreach_loop): New.
4247
24ca3b4e 42482010-10-05 Joseph Myers <joseph@codesourcery.com>
4249
4250 * c-common.h (struct diagnostic_context): Don't declare here.
4251 (c_common_initialize_diagnostics): Declare using
4252 diagnostic_context typedef.
4253 * c-opts.c (c_common_handle_option): Pass global_dc to
4254 handle_generated_option.
4255
f83b64ca 42562010-10-04 Joseph Myers <joseph@codesourcery.com>
4257
4258 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4259 handle_generated_option.
4260
2fdec027 42612010-10-03 Ian Lance Taylor <iant@google.com>
4262
4263 * c.opt (-fplan9-extensions): New option.
4264
41acdfa4 42652010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4266
4267 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4268 Remove.
4269 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4270 of duplicating code.
4271
069761fb 42722010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4273
4274 * c-common.c: Add two new entries for @optional
4275 and @required keywords.
4276
4277 merge from FSF 'apple/trunk' branch.
4278 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4279
4280 Radar 4386773
4281 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4282 objective-c keywords.
4283 (objc_set_method_opt): New declaration.
4284 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 4285
2c5d2e39 42862010-09-30 Joseph Myers <joseph@codesourcery.com>
4287
4288 * c-common.c (handle_optimize_attribute): Pass &global_options to
4289 cl_optimization_save and cl_optimization_restore.
4290 * c-opts.c (c_common_handle_option): Pass &global_options to
4291 handle_generated_option.
4292 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4293 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4294 &global_options to cl_optimization_restore.
4295
e5c75ac3 42962010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4297
4298 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4299 Objective-C/Objective-C++ keywords.
4300
3511333e 43012010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 4302
19931eea 4303 Merge from 'apple/trunk' branch on FSF servers.
4304
e147d6aa 4305 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4306
4307 Radar 4281748
4308 * c-common.h (objc_check_global_decl): New declaration.
4309 * stub-objc.c (objc_check_global_decl): New stub.
4310
5461e683 43112010-09-29 Joseph Myers <joseph@codesourcery.com>
4312
4313 * c.opt: Don't use VarExists.
4314
5ae82d58 43152010-09-29 Joseph Myers <joseph@codesourcery.com>
4316
4317 * c-common.c (c_cpp_error): Update names of diagnostic_context
4318 members.
4319 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4320 cl_optimization members.
4321 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4322 sanitize_cpp_opts, finish_options): Update names of cpp_options
4323 members.
4324
b27e241e 43252010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4326
4327 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4328 (objc_is_reserved_word): Removed.
4329 * c-common.c: Updated comments.
4330 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4331 objc_is_reserved_word.
4332 * stub-objc.c (objc_is_reserved_word): Removed.
4333
03fc2271 43342010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4335
19931eea 4336 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 4337 include attributes.
4338 (objc_start_method_definition): Likewise.
4339 (objc_build_keyword_decl): Likewise.
4340 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4341 (objc_start_method_definition): Likewise.
4342 (objc_build_keyword_decl): Likewise.
4343
a336eb4b 43442010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4345
4346 * c-common.h (objc_start_class_interface): Adjust prototype.
4347 (objc_start_category_interface): Likewise.
4348 (objc_start_protocol): Likewise.
4349 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4350 (objc_start_class_interface): Likewise.
4351 (objc_start_category_interface): Likewise.
4352
48b14f50 43532010-09-27 Ian Lance Taylor <iant@google.com>
4354
4355 * c-common.c (c_common_attribute_table): Add no_split_stack.
4356 (handle_no_split_stack_attribute): New static function.
4357
4abfc532 43582010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4359
19931eea 4360 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 4361
4362 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4363
19931eea 4364 Radar 4229905
4abfc532 4365 * c-common.h (objc_have_common_type): New declaration.
4366 * stub-objc.c (objc_have_common_type): New stub.
4367
4368 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4369
4370 Radar 4154928
4371 * c-common.h (objc_common_type): New prototype.
19931eea 4372 * stub-objc.c (objc_common_type): New stub.
4abfc532 4373
7bd95dfd 43742010-09-24 Jan Hubicka <jh@suse.cz>
4375
4376 * c-common.c (handle_leaf_attribute): New function.
4377 (struct attribute_spec c_common_att): Add leaf.
4378
5789e05b 43792010-09-22 Joseph Myers <joseph@codesourcery.com>
4380
4381 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4382 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4383 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4384 -include-barrier, -include-directory, -include-directory=,
4385 -include-directory-after, -include-directory-after=,
4386 -include-prefix, -include-prefix=, -include-with-prefix,
4387 -include-with-prefix=, -include-with-prefix-after,
4388 -include-with-prefix-after=, -include-with-prefix-before,
4389 -include-with-prefix-before=, -no-integrated-cpp,
4390 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4391 -output=, -pedantic, -pedantic-errors, -preprocess,
4392 -print-missing-file-dependencies, -trace-includes, -traditional,
4393 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4394 -user-dependencies, -verbose, -write-dependencies,
4395 -write-user-dependencies, no-integrated-cpp, traditional): New.
4396
e6fb54ba 43972010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4398
4399 PR objc/23710
9b60f3b0 4400 * c-common.h (objc_start_method_definition): Return bool instead
4401 of void.
4402 * stub-objc.c (objc_start_method_definition): Return bool instead
4403 of void.
4404
44052010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4406
4407 PR objc/25965
4408 * c-common.h (objc_get_interface_ivars): New declaration.
4409 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4410
e44b0a1f 44112010-09-15 Ian Lance Taylor <iant@google.com>
4412
4413 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4414 messages. Remove period at end of warning message.
e44b0a1f 4415
85c0a25c 44162010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4417
4418 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4419 (handle_alias_attribute): ... here.
4420 (handle_ifunc_attribute): New.
4421
5ba33bf4 44222010-09-06 Mark Mitchell <mark@codesourcery.com>
4423
4424 * c-common.h (do_warn_double_promotion): Declare.
4425 * c-common.c (do_warn_double_promotion): Define.
4426
c920faa3 44272010-09-05 Mark Mitchell <mark@codesourcery.com>
4428
4429 * c.opt (Wdouble-promotion): New.
4430
9604e070 44312010-09-02 Joseph Myers <joseph@codesourcery.com>
4432
4433 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4434 fvtable-thunks, fxref): Mark no longer supported in help text.
4435
3b0273a1 44362010-09-02 Joseph Myers <joseph@codesourcery.com>
4437
4438 * c.opt (Wimport, fall-virtual, falt-external-templates,
4439 fdefault-inline, fenum-int-equiv, fexternal-templates,
4440 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4441 fname-mangling-version-, fnew-abi, fnonnull-objects,
4442 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4443 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4444 applicable.
4445 (fhandle-exceptions): Mark with Alias and Warn.
4446 * c-opts.c (c_common_handle_option): Don't handle options marked
4447 as ignored.
4448
67089c6b 44492010-09-02 Joseph Myers <joseph@codesourcery.com>
4450
4451 * c.opt (Wcomments, Werror-implicit-function-declaration,
4452 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4453 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4454 aliases.
4455 * c-common.c (option_codes): Use OPT_Wcomment instead of
4456 OPT_Wcomments.
4457 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4458 Don't handle options marked as aliases.
4459
2af087f2 44602010-08-25 Richard Guenther <rguenther@suse.de>
4461
4462 * c-common.c (c_common_get_alias_set): Remove special
4463 handling for pointers.
4464
48148244 44652010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4466
4467 * c-common.c: Use FOR_EACH_VEC_ELT.
4468 * c-gimplify.c: Likewise.
4469 * c-pragma.c: Likewise.
4470
89c69892 44712010-08-16 Joseph Myers <joseph@codesourcery.com>
4472
4473 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4474 RejectDriver.
4475 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4476 RejectDriver.
4477 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4478 instead of OPT_MDX and OPT_MMDX.
4479
e28aa114 44802010-08-16 Joseph Myers <joseph@codesourcery.com>
4481
4482 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4483
99b66d21 44842010-08-12 Joseph Myers <joseph@codesourcery.com>
4485
4486 * c.opt (MD, MMD): Change to MDX and MMDX.
4487 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4488
666f4bf0 44892010-08-11 Joseph Myers <joseph@codesourcery.com>
4490
4491 * c-opts.c (c_common_handle_option): Call handle_generated_option
4492 instead of handle_option.
4493
5ec815f6 44942010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4495
4496 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4497 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4498
d13143cf 44992010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4500
4501 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4502 (pending_redefine_extname): Change type to a VEC.
4503 (add_to_renaming_pragma_list): Update for new type of
4504 pending_redefine_extname.
5ec815f6 4505 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4506
2008c983 45072010-08-04 Arnaud Charlet <charlet@adacore.com>
4508
4509 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4510 visited.
4511 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4512 decide whether a type has already been declared/seen.
4513 Do not go to the original type.
4514 (dump_nested_types): New parameter forward.
4515 Generate forward declaration if needed and mark type as visited.
4516 (print_ada_declaration): Call dump_nested_types if not already done.
4517 Mark types as visited.
4518
9b091a73 45192010-08-03 Joseph Myers <joseph@codesourcery.com>
4520
4521 * c.opt (-print-pch-checksum): Remove option.
4522 * c-opts.c (c_common_handle_option): Don't handle
4523 OPT_print_pch_checksum.
4524
b78351e5 45252010-07-27 Joseph Myers <joseph@codesourcery.com>
4526
4527 * c-common.h (c_common_handle_option): Update prototype and return
4528 value type.
4529 * c-opts.c (c_common_handle_option): Update prototype and return
4530 value type. Update calls to handle_option and
4531 enable_warning_as_error.
4532
34416a90 45332010-07-27 Jakub Jelinek <jakub@redhat.com>
4534
4535 PR c/45079
4536 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4537
fecf9011 45382010-07-27 Joseph Myers <joseph@codesourcery.com>
4539
4540 * c-common.h (c_common_missing_argument): Remove.
4541 * c-opts.c (c_common_missing_argument): Remove.
4542 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4543 idirafter, imacros, include, isysroot, isystem, iquote): Add
4544 MissingArgError.
4545 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4546
e88d34f6 45472010-07-27 Joseph Myers <joseph@codesourcery.com>
4548
4549 * c-common.h (c_common_option_lang_mask,
4550 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4551 New.
4552 (c_common_init_options): Update prototype.
4553 * c-opts.c (c_common_option_lang_mask): New.
4554 (c_common_initialize_diagnostics): Split out of
4555 c_common_init_options.
4556 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4557 New.
4558 (c_common_init_options): Update prototype. Use decoded options in
4559 search for -lang-asm.
4560
1767a056 45612010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4562
4563 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4564 * c-format.c: Likewise.
4565
0b205f4c 45662010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4567
4568 * c-common.h: Include diagnostic-core.h. Error if already
4569 included.
4570 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4571
1c58e3f1 45722010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4573
1f78217c 4574 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 4575 Do not include expr.h
4576 (vector_mode_valid_p): Move here.
4577
33cc157c 45782010-06-21 DJ Delorie <dj@redhat.com>
4579
4580 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4581 allow these pragmas anywhere.
4582
45832010-06-14 Jakub Jelinek <jakub@redhat.com>
4584
4585 PR bootstrap/44509
4586 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4587 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4588 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4589 ggc_strdup instead of xstrdup.
4590
45912010-06-10 Jakub Jelinek <jakub@redhat.com>
4592
4593 * c-cppbuiltin.c: Include cpp-id-data.h.
4594 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4595 (lazy_hex_fp_value): New function.
4596 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4597
9b40bfbf 45982010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4599
4600 * c-gimplify.c: Do not include tree-flow.h
4601
202d6e5f 46022010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4603
4604 PR other/44034
4605 * c-common.c: Rename targetm member:
4606 targetm.enum_va_list -> targetm.enum_va_list_p
4607
d3237426 46082010-06-28 Anatoly Sokolov <aesok@post.ru>
4609
4610 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4611
596981c8 46122010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4613
4614 * c-cppbuiltin.c: Do not include except.h.
4615
b9bdfa0b 46162010-06-24 Andi Kleen <ak@linux.intel.com>
4617
19931eea 4618 * c-common.c (warn_for_omitted_condop): New.
4619 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4620
55ad092d 46212010-06-21 Joseph Myers <joseph@codesourcery.com>
4622
4623 * c.opt (lang-objc): Remove.
4624 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4625
9e7c2572 46262010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4627
4628 * c-opts.c: Include "tm_p.h".
4629
615ef0bb 46302010-06-20 Joseph Myers <joseph@codesourcery.com>
4631
4632 * c-common.c (parse_optimize_options): Update call to
4633 decode_options.
4634
aef48c9a 46352010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4636
4637 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4638 new type of types_used_by_cur_var_decl.
4639
d74003b4 46402010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4641
4642 PR bootstrap/44512
4643 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4644 for C++ standard compliance.
4645
1194d077 46462010-06-16 Jason Merrill <jason@redhat.com>
4647
4648 * c.opt: Add -Wnoexcept.
4649
d473d901 46502010-06-16 Richard Guenther <rguenther@suse.de>
4651
4652 PR c/44555
4653 * c-common.c (c_common_truthvalue_conversion): Remove
4654 premature and wrong optimization concering ADDR_EXPRs.
4655
b62dbfd3 46562010-06-15 Arnaud Charlet <charlet@adacore.com>
4657
4658 * c-ada-spec.c (dump_sloc): Remove column info.
4659 (is_simple_enum): New function.
4660 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4661 enum types when relevant.
4662
200dd99c 46632010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4664
19931eea 4665 * c-common.c (conversion_warning): Warn at expression
200dd99c 4666 location.
4667
abf6a617 46682010-06-10 Joseph Myers <joseph@codesourcery.com>
4669
4670 * c-opts.c (c_common_handle_option): Don't handle
4671 OPT_fshow_column.
4672
ba72912a 46732010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4674
4675 * c-pragma.c (push_alignment): Use typed GC allocation.
4676 (handle_pragma_push_options): Likewise.
4677
4678 * c-common.c (parse_optimize_options): Likewise.
4679
4680 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4681 option.
4682
4aafe913 46832010-06-07 Joseph Myers <joseph@codesourcery.com>
4684
4685 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4686 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4687 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4688 flag_signed_bitfields, warn_strict_null_sentinel,
4689 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4690 flag_gen_declaration, flag_no_gnu_keywords,
4691 flag_implement_inlines, flag_implicit_templates,
4692 flag_implicit_inline_templates, flag_optional_diags,
4693 flag_elide_constructors, flag_default_inline, flag_rtti,
4694 flag_conserve_space, flag_access_control, flag_check_new,
4695 flag_new_for_scope, flag_weak, flag_working_directory,
4696 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4697 flag_enforce_eh_specs, flag_threadsafe_statics,
4698 flag_pretty_templates): Remove.
4699 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4700 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4701 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4702 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4703 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4704 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4705 flag_no_gnu_keywords, flag_implement_inlines,
4706 flag_implicit_templates, flag_implicit_inline_templates,
4707 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4708 flag_rtti, flag_conserve_space, flag_access_control,
4709 flag_check_new, flag_new_for_scope, flag_weak,
4710 flag_working_directory, flag_use_cxa_atexit,
4711 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4712 flag_threadsafe_statics, flag_pretty_templates,
4713 warn_strict_null_sentinel): Remove.
4714 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4715 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4716 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4717 fimplicit-inline-templates, fimplicit-templates,
4718 flax-vector-conversions, fms-extensions, fnil-receivers,
4719 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4720 frtti, fshort-double, fshort-enums, fshort-wchar,
4721 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4722 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4723 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4724 gen-decls, undef): Use Var.
4725 (fdefault-inline, foptional-diags): Document as doing nothing.
4726 * c-opts.c (c_common_handle_option): Remove cases for options now
4727 using Var. Mark ignored options as such.
4728
7bedc3a0 47292010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4730
19931eea 4731 * c-common.c: Moved to here from parent directory.
7bedc3a0 4732 * c-common.def: Likewise.
4733 * c-common.h: Likewise.
4734 * c-cppbuiltin.c: Likewise.
4735 * c-dump.c: Likewise.
4736 * c-format.c: Likewise.
4737 * c-format.h : Likewise.
4738 * c-gimplify.c: Likewise.
4739 * c-lex.c: Likewise.
4740 * c-omp.c: Likewise.
4741 * c.opt: Likewise.
4742 * c-opts.c: Likewise.
4743 * c-pch.c: Likewise.
4744 * c-ppoutput.c: Likewise.
4745 * c-pragma.c: Likewise.
4746 * c-pragma.h: Likewise.
4747 * c-pretty-print.c: Likewise.
4748 * c-pretty-print.h: Likewise.
4749 * c-semantics.c: Likewise.
4750 * stub-objc.c: Likewise.
4751
4752 * c-common.c: Include gt-c-family-c-common.h.
4753 * c-pragma.c: Include gt-c-family-c-pragma.h.
4754\f
d353bf18 4755Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 4756
4757Copying and distribution of this file, with or without modification,
4758are permitted in any medium without royalty provided the copyright
4759notice and this notice are preserved.