]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
tree-vect-data-refs.c (vect_analyze_group_access): Properly compute GROUP_SIZE for...
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
ecd0e562
TV
12015-04-28 Tom de Vries <tom@codesourcery.com>
2
3 PR tree-optimization/65887
4 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
5
2a877204
EB
62015-04-28 Eric Botcazou <ebotcazou@adacore.com>
7 Pierre-Marie de Rodat <derodat@adacore.com>
8
9 * c-ada-spec.c (in_function): Delete.
10 (dump_generic_ada_node): Do not change in_function and remove the
11 redundant code dealing with it.
12 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
13 (print_ada_methods): Output the static member functions in a nested
14 package after the regular methods as well as associated renamings.
15
4853031e
MP
162015-04-24 Marek Polacek <polacek@redhat.com>
17
18 PR c/65830
19 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
20 and OPT_Wshift_count_overflow.
21
8c2b7f79
MP
22 PR c/63357
23 * c-common.c (warn_logical_operator): Warn if the operands have the
24 same expressions.
25
b8787813
MP
262015-04-24 Marek Polacek <polacek@redhat.com>
27
28 PR c/61534
29 * c-common.c (warn_logical_operator): Bail if either operand comes
30 from a macro expansion.
31
8fba1830
BRF
322015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
33
34 PR target/55143
35 * c-common.c (c_default_pointer_mode): Add definition.
36 * c-common.h (c_default_pointer_mode): Add declaration.
37
17958621
JJ
382015-03-11 Jakub Jelinek <jakub@redhat.com>
39
40 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
41 on record_builtin_type argument.
42
7ccb1a11
JJ
432015-03-10 Jakub Jelinek <jakub@redhat.com>
44
45 PR c/65120
46 * c-common.c (warn_logical_not_parentheses): Don't warn for
47 !x == 0 or !x != 0.
48
04fd785e
MP
492015-03-07 Marek Polacek <polacek@redhat.com>
50
51 PR sanitizer/65280
52 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
53 before trying to figure out whether we have a flexible array member.
54
a4e26206
EB
552015-03-06 Eric Botcazou <ebotcazou@adacore.com>
56 Jonathan Wakely <jwakely.gcc@gmail.com>
57
58 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
59
0d2489f4
EB
602015-03-05 Eric Botcazou <ebotcazou@adacore.com>
61
62 PR ada/65319
63 * c-ada-spec.c (print_destructor): Remove obsolete code.
64
83ed54d7
EB
652015-03-01 Eric Botcazou <ebotcazou@adacore.com>
66
67 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
68 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
69 DECL_TEMPLATE_RESULT emulations.
70 (dump_ada_template)): Add guard for TYPE_METHODS.
71
7631f0e2
MP
722015-02-27 Marek Polacek <polacek@redhat.com>
73
74 PR c/65040
75 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
76
d1783ae5
KT
772015-02-27 Kai Tietz <ktietz@redhat.com>
78
79 PR c/35330
80 * c-pragma.c (handle_pragma_weak): Do not try to create
81 weak/alias of declarations not being function, or variable
82 declarations.
83
56a9f6bc
TS
842015-02-24 Thomas Schwinge <thomas@codesourcery.com>
85
86 PR libgomp/64625
87 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
88 Remove macros.
89 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
90
3d5cb23d
MP
912015-02-16 Marek Polacek <polacek@redhat.com>
92
93 PR c/65066
94 * c-format.c (check_format_types): Handle null param.
95
fa008882
MP
962015-02-13 Marek Polacek <polacek@redhat.com>
97
98 PR c/65040
99 * c-format.c (check_format_types): Don't warn about different
100 signedness if the original value is in the range of WANTED_TYPE.
101
785f21af
JM
1022015-02-12 Jason Merrill <jason@redhat.com>
103
104 PR c++/64956
105 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
106 to the current highest version.
107 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
108
4886ec8e
JJ
1092015-02-04 Jakub Jelinek <jakub@redhat.com>
110
111 PR c/64824
112 PR c/64868
113 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
114 instead of RDIV_EXPR. Use build_binary_op instead of
115 build2_loc.
116
40fecdd6
JM
1172015-01-30 Joseph Myers <joseph@codesourcery.com>
118
119 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
120 to pass input_location as first argument.
121
a0c88d06
TV
1222015-01-23 Tom de Vries <tom@codesourcery.com>
123
124 PR libgomp/64672
125 * c.opt (fopenacc): Mark as LTO option.
126
1506ae0e
TV
1272015-01-23 Tom de Vries <tom@codesourcery.com>
128
129 PR libgomp/64707
130 * c.opt (fopenmp): Mark as LTO option.
131
31be63ab
JJ
1322015-01-21 Jakub Jelinek <jakub@redhat.com>
133
134 PR c/63307
135 * cilk.c (fill_decls_vec): Only put decls into vector v.
136 (compare_decls): Fix up formatting.
137
1382015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
139
140 PR c/63307
141 * cilk.c: Include vec.h.
142 (struct cilk_decls): New structure.
143 (wrapper_parm_cb): Split this function to...
144 (fill_decls_vec): ...this...
145 (create_parm_list): ...and this.
146 (compare_decls): New function.
147 (for_local_cb): Remove.
148 (wrapper_local_cb): Ditto.
149 (build_wrapper_type): For now first traverse and fill vector of
150 declarations then sort it and then deal with sorted vector.
151 (cilk_outline): Ditto.
152 (declare_one_free_variable): Ditto.
153
6875457f
JM
1542015-01-21 Jason Merrill <jason@redhat.com>
155
156 PR c++/64629
157 * c-format.c (check_format_arg): Call decl_constant_value.
158
185c9e56
ML
1592015-01-19 Martin Liska <mliska@suse.cz>
160
161 * c-common.c (handle_noicf_attribute): New function.
162
41dbbb37
TS
1632015-01-15 Thomas Schwinge <thomas@codesourcery.com>
164 Bernd Schmidt <bernds@codesourcery.com>
165 James Norris <jnorris@codesourcery.com>
166 Cesar Philippidis <cesar@codesourcery.com>
167 Ilmir Usmanov <i.usmanov@samsung.com>
168 Jakub Jelinek <jakub@redhat.com>
169
170 * c.opt (fopenacc): New option.
171 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
172 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
173 New macros.
174 * c-common.h (c_finish_oacc_wait): New prototype.
175 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
176 (c_finish_oacc_wait): New function.
177 * c-pragma.c (oacc_pragmas): New variable.
178 (c_pp_lookup_pragma, init_pragma): Handle it.
179 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
180 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
181 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
182 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
183 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
184 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
185 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
186 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
187 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
188 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
189 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
190 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
191 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
192 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
193 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
194 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
195 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
196 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
197 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
198 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
199 PRAGMA_OACC_CLAUSE_WORKER.
200
5434dc07
MD
2012015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
202
203 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
204 for the new option fstack-protector_explicit.
205 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
206 (handle_stack_protect_attribute): New function.
207
de1b5c17
MU
2082015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
209
210 * c.opt: New option -Warray-bounds=.
211
adfac8df
JJ
2122015-01-09 Michael Collison <michael.collison@linaro.org>
213
214 * array-notation-common.c: Include hash-set.h, machmode.h,
215 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
216 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
217 * c-ada-spec.c: Ditto.
218 * c-cilkplus.c: Ditto.
219 * c-common.c: Include input.h due to flattening of tree.h.
220 Define macro GCC_C_COMMON_C.
221 * c-common.h: Flatten tree.h header files into c-common.h.
222 Remove include of tree-core.h.
223 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
224 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
225 fold-const.h, wide-int.h, and inchash.h due to
226 flattening of tree.h.
227 * c-dump.c: Ditto.
228 * c-format.c: Flatten tree.h header files into c-common.h.
229 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
230 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
231 fold-const.h, wide-int.h, and inchash.h due to
232 flattening of tree.h.
233 * c-dump.c: Include hash-set.h, machmode.h,
234 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
235 fold-const.h, wide-int.h, and inchash.h due to
236 flattening of tree.h.
237 * c-format.c: Include hash-set.h, machmode.h,
238 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
239 fold-const.h, wide-int.h, inchash.h and real.h due to
240 flattening of tree.h.
241 * c-gimplify.c: Include hash-set.h, machmode.h,
242 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
243 fold-const.h, wide-int.h, and inchash.h due to
244 flattening of tree.h.
245 * cilk.c: Ditto.
246 * c-lex.c: Ditto.
247 * c-omp.c: Ditto.
248 * c-opts.c: Ditto.
249 * c-pch.c: Ditto.
250 * c-ppoutput.c: Ditto.
251 * c-pragma.c: Ditto.
252 * c-pretty-print.c: Ditto.
253 * c-semantics.c: Ditto.
254 * c-ubsan.c: Ditto.
255 * stub-objc.c: Ditto.
256
f5481fc4
JM
2572015-01-08 Jason Merrill <jason@redhat.com>
258
259 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
260 do_ubsan_in_current_function.
261 (ubsan_maybe_instrument_reference_or_call): Likewise.
262 * c-ubsan.h: Declare it.
263
de35aa66
MS
2642015-01-08 Mike Stump <mikestump@comcast.net>
265
266 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
267
4a9a42ab
MP
2682015-01-07 Marek Polacek <polacek@redhat.com>
269
270 PR c/64440
271 * c-common.c (c_fully_fold_internal): Warn for division and modulo
272 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
273
2f42e5de
TS
2742015-01-05 Trevor Saunders <tsaunders@mozilla.com>
275
276 PR c++/31397
277 * c.opt (Wsuggest-override): New option.
278
5624e564
JJ
2792015-01-05 Jakub Jelinek <jakub@redhat.com>
280
281 Update copyright years.
282
5bd012f8
MP
2832015-01-05 Marek Polacek <polacek@redhat.com>
284
285 PR c/64423
286 * c-common.c (warn_array_subscript_with_type_char): Add location_t
287 parameter. Use it.
288 * c-common.h (warn_array_subscript_with_type_char): Update
289 declaration.
290
a7fa8d18
ESR
2912014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
292
293 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
294 Control macro with flag_sized_deallocation.
295
768952be
MU
2962014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
297
298 * c.opt (Wdiscarded-array-qualifiers): New option.
299
1f8d3e84
JJ
3002014-12-19 Jakub Jelinek <jakub@redhat.com>
301
302 PR preprocessor/63831
303 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
304 and __has_cpp_attribute here.
305 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
306 c_common_has_attribute.
307 * c-common.h (c_common_has_attribute): New prototype.
308 * c-lex.c (init_c_lex): Set cb->has_attribute to
309 c_common_has_attribute instead of cb_has_attribute.
310 (get_token_no_padding): New function.
311 (cb_has_attribute): Renamed to ...
312 (c_common_has_attribute): ... this. No longer static. Use
313 get_token_no_padding, require ()s, don't build TREE_LIST
314 unnecessarily, fix up formatting, adjust diagnostics, call
315 init_attributes.
316
20b06add
JM
3172014-12-15 Jason Merrill <jason@redhat.com>
318
319 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
320 (-Wsized-deallocation): New.
321 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
322 to on in C++14 and up.
323
94a073b2
JM
3242014-12-11 Jason Merrill <jason@redhat.com>
325
acaa5911
JM
326 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
327
94a073b2
JM
328 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
329 we aren't complaining about VLAs.
330
7fb66c15
MP
3312014-12-06 Marek Polacek <polacek@redhat.com>
332
333 PR tree-optimization/64183
334 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
335 shift-expression if it is integer_type_node. Use types_compatible_p.
336
b731b390
JJ
3372014-11-29 Jakub Jelinek <jakub@redhat.com>
338
339 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
340 last argument from create_tmp_var_raw and create_tmp_var calls.
341 * cilk.c (gimplify_cilk_spawn): Likewise.
342 * c-omp.c (c_finish_omp_atomic): Likewise.
343
6a4da643
MP
3442014-11-28 Marek Polacek <polacek@redhat.com>
345
346 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
347 instead of unsigned_type_node.
348
541e35a6
MP
3492014-11-28 Marek Polacek <polacek@redhat.com>
350
351 PR c/63862
352 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
353 to op1_utype.
354 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
355 expression to unsigned_type_node.
356
dcc97066
MW
3572014-11-20 Mark Wielaard <mjw@redhat.com>
358
359 PR debug/38757
360 * c-opts.c (set_std_c89): Set lang_hooks.name.
361 (set_std_c99): Likewise.
362 (set_std_c11): Likewise.
363 (set_std_cxx98): Likewise.
364 (set_std_cxx11): Likewise.
365 (set_std_cxx14): Likewise.
366 (set_std_cxx1z): Likewise.
367
aa7da51a
JJ
3682014-11-21 Jakub Jelinek <jakub@redhat.com>
369
370 PR target/63764
371 * c-common.h (convert_vector_to_pointer_for_subscript): Change
372 return type to bool.
009a3480 373 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
374 (convert_vector_to_pointer_for_subscript): Change return type to
375 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
376 and copy it into a TARGET_EXPR and use that instead of *vecp
377 directly.
378
538dd0b7
DM
3792014-11-19 David Malcolm <dmalcolm@redhat.com>
380
381 Merger of git branch "gimple-classes-v2-option-3".
382 * ChangeLog.gimple-classes: New.
383 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
384 from being just a vec<gimple> to a vec<gbind *>.
385
c39a5e99
JJ
3862014-11-18 Jakub Jelinek <jakub@redhat.com>
387
388 PR sanitizer/63813
389 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
390 argument to ptype, set type to TREE_TYPE (ptype). Don't call
391 get_pointer_alignment for non-pointers. Use ptype, or if it is
392 reference type, corresponding pointer type, as type of kind
393 argument.
394 (ubsan_maybe_instrument_reference,
395 ubsan_maybe_instrument_member_call): Adjust callers.
396
8537a4a9
MP
3972014-11-15 Marek Polacek <polacek@redhat.com>
398
399 PR middle-end/63884
400 * array-notation-common.c (is_sec_implicit_index_fn): Return false
401 for NULL fndecl.
402 (extract_array_notation_exprs): Return for NULL node.
403
2079956a
JM
4042014-11-12 Joseph Myers <joseph@codesourcery.com>
405
406 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
407 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
408
1304953e
JJ
4092014-11-12 Jakub Jelinek <jakub@redhat.com>
410
411 PR c/59708
412 * c-common.c (check_builtin_function_arguments): Handle
413 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
414
e5e44252
AK
4152014-11-10 Andi Kleen <ak@linux.intel.com>
416
417 PR c/60804
418 * c-common.h (check_no_cilk): Declare.
419 * cilk.c (get_error_location): New function.
420 (check_no_cilk): Dito.
421
e64b984d
AK
4222014-11-10 Andi Kleen <ak@linux.intel.com>
423
424 * cilk.c (recognize_spawn): Use expression location
425 for error message.
426
13c21655
PC
4272014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
428
429 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
430
42fd12b1
ESR
4312014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
432
433 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
434 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
435 (__cpp_range_based_for, __cpp_initializer_lists,
436 __cpp_delegating_constructors, __cpp_nsdmi,
437 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
438 for C++11; (__cpp_attribute_deprecated): Remove in favor of
439 __has_cpp_attribute.
440 * c-lex.c (cb_has_attribute): New callback CPP function;
441 (init_c_lex): Set has_attribute callback.
442
6f450181
RB
4432014-11-04 Richard Biener <rguenther@suse.de>
444
445 * c-common.c (shorten_compare): Do not shorten mixed
446 DFP and non-DFP compares.
447
26f0e1d6
ESR
4482014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
449
450 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
451 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
452 Commentary and rearrangement of tests.
453 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
454 Commentary and rearrangement of tests.
455 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
456 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
457
ef4bddc2
RS
4582014-10-29 Richard Sandiford <richard.sandiford@arm.com>
459
460 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
461 enum from machine_mode.
462
c582198b
AM
4632014-10-28 Andrew MacLeod <amacleod@redhat.com>
464
adfac8df
JJ
465 * c-common.c: Adjust include files.
466 * c-gimplify.c: Ditto.
467 * cilk.c: Ditto.
468 * c-pragma.c: Ditto.
469 * c-ubsan.c: Ditto.
c582198b 470
60393bbc
AM
4712014-10-27 Andrew MacLeod <amacleod@redhat.com>
472
473 * c-gimplify.c: Adjust include files.
474
d723bb7c
MLI
4752014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
476
477 PR c++/53061
478 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
479 c_common_initialize_diagnostics.
480 * c-common.h: Likewise.
481
90f3520e
MP
4822014-10-24 Marek Polacek <polacek@redhat.com>
483
484 PR c/56980
485 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
486 print "struct"/"union"/"enum" for typedefed names.
487
59d7607a
MP
4882014-10-23 Marek Polacek <polacek@redhat.com>
489
490 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
491 in unsigned type.
492
d95a2703
JJ
4932014-10-22 Jakub Jelinek <jakub@redhat.com>
494 Yury Gribov <y.gribov@samsung.com>
495
496 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
497 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
498 instead of flag_sanitize_recover as bool flag.
499
8e6ef852
KY
5002014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
501
502 * cilk.c: Revert previous change.
503
948cf550
IZ
5042014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
505
506 PR c/63307
507 * cilk.c: Include vec.h.
508 (struct cilk_decls): New structure.
509 (wrapper_parm_cb): Split this function to...
510 (fill_decls_vec): ...this...
511 (create_parm_list): ...and this.
512 (compare_decls): New function.
513 (for_local_cb): Remove.
514 (wrapper_local_cb): Ditto.
515 (build_wrapper_type): For now first traverse and fill vector of
516 declarations then sort it and then deal with sorted vector.
517 (cilk_outline): Ditto.
518 (declare_one_free_variable): Ditto.
519
92574c7c
MP
5202014-10-17 Marek Polacek <polacek@redhat.com>
521
522 * c-opts.c (c_common_post_options): Set warn_implicit_int.
523 * c.opt (Wimplicit-int): Initialize to -1.
524
83685514
AM
5252014-10-16 Andrew MacLeod <amacleod@redhat.com>
526
527 * c-pragma.c: Adjust include files.
528 * c-semantics.c: Likewise.
529
5b8300ea
DD
5302014-10-16 DJ Delorie <dj@redhat.com>
531
532 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
533 multiples of bytes.
534
5f83e90b
JM
5352014-10-14 Jason Merrill <jason@redhat.com>
536
537 PR c++/63455
538 * c-common.h (CPP_PREPARSED_EXPR): New.
539 (N_CP_TTYPES): Adjust.
540
d73326ca
MP
5412014-10-15 Marek Polacek <polacek@redhat.com>
542
543 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
544
78a7c317
DD
5452014-10-14 DJ Delorie <dj@redhat.com>
546
547 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
548 types, not just __int128.
549 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
550 types, not just __int128.
551 (cpp_atomic_builtins): Round pointer sizes up.
552 (type_suffix): Use type precision, not specific types.
553 * c-common.c (c_common_reswords): Remove __int128 special case.
554 (c_common_type_for_size): Check for all __intN types, not just
555 __int128.
556 (c_common_type_for_mode): Likewise.
557 (c_common_signed_or_unsigned_type): Likewise.
558 (c_build_bitfield_integer_type): Likewise.
559 (c_common_nodes_and_builtins): Likewise.
560 (keyword_begins_type_specifier): Likewise.
561 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
562 __intN variants.
563
2a22f99c
TS
5642014-10-12 Trevor Saunders <tsaunders@mozilla.com>
565
566 * c-common.c: Use hash_table instead of hashtab.
567
2a8ef767
ESR
5682014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
569
adfac8df 570 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
571 C++11 section.
572
3c9aabbd
MG
5732014-10-03 Marc Glisse <marc.glisse@inria.fr>
574
575 PR c++/54427
576 PR c++/57198
577 PR c++/58845
578 * c-common.c (warn_logical_operator): Punt for vectors.
579
a15f7cb8
ESR
5802014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
581
582 Implement SD-6: SG10 Feature Test Recommendations
583 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
584 macros and the __has_header macro.
585
8d0cf15e
JM
5862014-09-30 Jason Merrill <jason@redhat.com>
587
dd5d5481
JM
588 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
589 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
590 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
591
b752325e
JM
592 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
593 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
594
8d0cf15e
JM
595 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
596 * c-common.c (c_common_reswords): Remove __is_convertible_to.
597
083e891e
MP
5982014-09-24 Marek Polacek <polacek@redhat.com>
599
600 PR c/61405
601 PR c/53874
602 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
603
7861b648
AK
6042014-09-23 Andi Kleen <ak@linux.intel.com>
605
606 * c-common.c (handle_no_reorder_attribute): New function.
607 (c_common_attribute_table): Add no_reorder attribute.
608
9a79452d
JM
6092014-09-22 Joseph Myers <joseph@codesourcery.com>
610
611 * c-cppbuiltin.c (c_cpp_builtins): Define
612 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
613 modes.
614
dd69f047
JM
6152014-09-18 Joseph Myers <joseph@codesourcery.com>
616
617 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
618 for supported floating-point modes.
619
737a4826
MLI
6202014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
621
622 * c.opt (Wpsabi): Use LangEnabledBy.
623 * c-opts.c (c_common_handle_option): Do not handle here.
624
8cc4b7a2
JM
6252014-09-12 Joseph Myers <joseph@codesourcery.com>
626
627 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
628 macros for floating-point modes.
629
179b5a55
MG
6302014-09-11 Marc Glisse <marc.glisse@inria.fr>
631
632 PR target/58757
633 * c-cppbuiltin.c (builtin_define_float_constants): Correct
634 __*_DENORM_MIN__ without denormals.
635
570a11fe
JJ
6362014-09-10 Jakub Jelinek <jakub@redhat.com>
637
638 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
639 ubsan_instrument_vla, ubsan_instrument_return): Adjust
640 ubsan_create_data callers.
641 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
642 index is constant or BIT_AND_EXPR with constant mask and is
643 small enough for the bound.
644 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
645 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
646
b559c810
MLI
6472014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
648
649 * c.opt: Add CppReason to various flags.
650 (Wdate-time): Re-sort.
651 * c-common.c: Include c-common.h earlier.
652 (struct reason_option_codes_t): Delete.
653 (c_option_controlling_cpp_error): Prefix global type and struct
654 with cpp_.
655
1ef33fd4
MLI
6562014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
657
658 * c.opt (Wnormalized): New.
659 (Wnormalized=): Use Enum and Reject Negative.
660 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
661
66bb34c0
JM
6622014-09-08 Joseph Myers <joseph@codesourcery.com>
663
664 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
665 digits of floating-point modes if -fbuilding-libgcc.
666
53d68b9f
JM
6672014-09-05 Joseph Myers <joseph@codesourcery.com>
668
669 * c-cppbuiltin.c (c_cpp_builtins): Also define
670 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
671 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
672 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
673 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
674 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
675 __LIBGCC_STACK_GROWS_DOWNWARD__,
676 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
677 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
678 __LIBGCC_DWARF_FRAME_REGISTERS__,
679 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
680 __LIBGCC_STACK_POINTER_REGNUM__ and
681 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
682 (builtin_define_with_value): Handle backslash-escaping in string
683 macro values.
684
f65586dc
RB
6852014-09-05 Richard Biener <rguenther@suse.de>
686
687 PR middle-end/63148
688 * c-format.c (check_format_arg): Properly handle
689 effectively signed POINTER_PLUS_EXPR offset.
690
2b71f4a4
MLI
6912014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
692
693 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
694 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
695 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
696 and Init.
697 * c-opts.c (c_common_handle_option): Do not handle here.
698 (sanitize_cpp_opts): Likewise.
699 * c-common.c (struct reason_option_codes_t): Handle
700 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
701
d2e4feca
MP
7022014-09-03 Marek Polacek <polacek@redhat.com>
703
704 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
705
9a771876
JJ
7062014-09-02 Jakub Jelinek <jakub@redhat.com>
707 Balaji V. Iyer <balaji.v.iyer@intel.com>
708 Igor Zamyatin <igor.zamyatin@intel.com>
709
710 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
711 * c-common.c (c_common_reswords): Added _Cilk_for.
712 * c-common.h (enum rid): Added RID_CILK_FOR.
713 (cilk_for_number_of_iterations): Add declaration.
714 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
715 CILK_FOR.
716 * c-pragma.c (init_pragma): Register "grainsize" pragma.
717 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
718
81b5d104
MLI
7192014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
720
721 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
722 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
723 Wundef): Use CPP, Var and Init.
724 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
725
b753b37b
MLI
7262014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
727
728 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
729 * c-opts.c (c_common_handle_option): Do not handle here.
730
028aee17
JM
7312014-08-25 Jason Merrill <jason@redhat.com>
732
733 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
734 -std=c++14 and -std=gnu++14, rather than the reverse.
735 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
736 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
737 * c-common.h (cxx_dialect): Remove cxx1y.
738
e4276ba5
ESR
7392014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
740
741 * c-common.h (enum cxx_dialect): Add cxx14.
742 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
743 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
744 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
745
a545cacd
JM
7462014-08-22 Jason Merrill <jason@redhat.com>
747
748 * c.opt (std=gnu++17): Fix alias.
749
59ea0364
MP
7502014-08-22 Marek Polacek <polacek@redhat.com>
751
752 PR c++/62199
753 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
754 check for vector types. Drop LHS argument.
755 * c-common.h (warn_logical_not_parentheses): Adjust.
756
596e808c
MLI
7572014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
758
759 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
760 (Wmultichar): Likewise.
761 (Wdate-time): Use C-family languages instead of Common. Use CPP
762 and Var.
763 * c-opts.c (c_common_handle_option): Do not handle the above
764 options here.
765 (sanitize_cpp_opts): Likewise.
766
18767f65
MLI
7672014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
768
769 PR fortran/44054
770 * c-opts.c: Include tree-diagnostics.h.
771 (c_diagnostic_finalizer): New.
772 (c_common_initialize_diagnostics): Use it.
773
b4413594
MLI
7742014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
775
776 PR preprocessor/51303
777 * c-common.c (struct reason_option_codes_t option_codes):
778 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
779
43f9a13c
MLI
7802014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
781
782 PR c/60975
783 PR c/53063
784 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
785 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
786 (c_common_post_options): Call init_global_opts_from_cpp.
787 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
788
04159acf
MP
7892014-08-19 Marek Polacek <polacek@redhat.com>
790
791 PR c++/62153
792 * c-common.c (maybe_warn_bool_compare): New function.
793 * c-common.h (maybe_warn_bool_compare): Declare.
794 * c.opt (Wbool-compare): New option.
795
35aff4fb
MP
7962014-08-19 Marek Polacek <polacek@redhat.com>
797
798 * c.opt (Wc99-c11-compat): New option.
799
177cce46
MP
8002014-08-19 Marek Polacek <polacek@redhat.com>
801
802 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
803 to warn_c90_c99_compat.
804 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
805 to -1.
806
6ae9194f
MLI
8072014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
808 Steven Bosscher <steven@gcc.gnu.org>
809
810 PR c/52952
811 * c-format.c: Add extra_arg_loc and format_string_loc to struct
812 format_check_results.
813 (check_function_format): Use true and add comment for boolean
814 argument.
815 (finish_dollar_format_checking): Use explicit location when warning.
816 (check_format_info): Likewise.
817 (check_format_arg): Set extra_arg_loc and format_string_loc.
818 (check_format_info_main): Use explicit location when warning.
819 (check_format_types): Pass explicit location.
820 (format_type_warning): Likewise.
821
8e54f6d3
MLI
8222014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
823
824 PR fortran/44054
825 * c-format.c: Handle Fortran flags.
826
cd4e76fc
IZ
8272014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
828
829 PR other/61962
830 * array-notation-common.c (find_rank): Added handling for other
831 types of references.
832
f3bede71
MP
8332014-08-10 Marek Polacek <polacek@redhat.com>
834
835 PR c/51849
836 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
837 * c.opt (Wc90-c99-compat): Add option.
838
9f25a338
TS
8392014-08-07 Trevor Saunders <tsaunders@mozilla.com>
840
841 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
842
62e4eb35
MP
8432014-08-03 Marek Polacek <polacek@redhat.com>
844
845 * c-common.c (check_case_value): Add location_t parameter. Use it.
846 (c_add_case_label): Pass loc to check_case_value.
847
b787e7a2
TS
8482014-08-02 Trevor Saunders <tsaunders@mozilla.com>
849
850 * cilk.c: Use hash_map instead of pointer_map.
851
6e2830c3
TS
8522014-08-02 Trevor Saunders <tsaunders@mozilla.com>
853
854 * c-gimplify.c: Use hash_set instead of pointer_set.
855
a7ee52fb
IZ
8562014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
857
858 PR middle-end/61455
859 * array-notation-common.c (extract_array_notation_exprs): Handling
860 of DECL_EXPR added.
861
944fa280
JJ
8622014-08-01 Jakub Jelinek <jakub@redhat.com>
863
864 * c-common.h (min_align_of_type): Removed prototype.
865 * c-common.c (min_align_of_type): Removed.
866 * c-ubsan.h (ubsan_maybe_instrument_reference,
867 ubsan_maybe_instrument_member_call): New prototypes.
868 * c-ubsan.c: Include stor-layout.h and builtins.h.
869 (ubsan_maybe_instrument_reference_or_call,
870 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
871 functions.
872
b4dfdc11
MG
8732014-07-31 Marc Glisse <marc.glisse@inria.fr>
874
875 PR c++/60517
876 * c.opt (-Wreturn-local-addr): Move to common.opt.
877
a41844e5
JM
8782014-07-30 Jason Merrill <jason@redhat.com>
879
880 PR c++/61659
881 PR c++/61687
882 Revert:
883 * c.opt (-fuse-all-virtuals): New.
884
976d5a22
TT
8852014-07-30 Tom Tromey <tromey@redhat.com>
886
887 PR c/59855
888 * c.opt (Wdesignated-init): New option.
889 * c-common.c (c_common_attribute_table): Add "designated_init".
890 (handle_designated_init): New function.
891
cdc94aca
MP
8922014-07-24 Marek Polacek <polacek@redhat.com>
893
894 PR c/57653
895 * c-opts.c (c_finish_options): If -imacros is in effect, return.
896
f41373b6
DS
8972014-07-16 Dodji Seketeli <dodji@redhat.com>
898
899 PR preprocessor/60723 - missing system-ness marks for macro tokens
900 * c-ppoutput.c (struct print::prev_was_system_token): New data
901 member.
902 (init_pp_output): Initialize it.
903 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
904 (do_line_change): Return a flag saying if a line marker was
905 emitted or not.
906 (scan_translation_unit): Detect if the system-ness of the token we
907 are about to emit is different from the one of the previously
908 emitted token. If so, emit a line marker. Avoid emitting useless
909 adjacent line markers. Avoid emitting line markers for tokens
910 originating from the expansion of built-in macros.
911 (scan_translation_unit_directives_only): Adjust.
912
4d661eaa
MP
9132014-07-15 Marek Polacek <polacek@redhat.com>
914
915 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
916 TYPE_MAX_VALUE is NULL.
917
b108f48f
JJ
9182014-07-14 Jakub Jelinek <jakub@redhat.com>
919
920 PR middle-end/61294
921 * c.opt (Wmemset-transposed-args): New warning.
922
c0221884
JM
9232014-07-10 Jason Merrill <jason@redhat.com>
924
925 PR c++/61659
926 PR c++/61687
927 * c.opt (-fuse-all-virtuals): New.
928
63dfbb95
RB
9292014-07-09 Richard Biener <rguenther@suse.de>
930
931 PR c-family/61741
932 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
933 using unsigned arithmetic if overflow does not wrap instead of
934 if overflow is undefined.
935
773ec47f
MP
9362014-07-06 Marek Polacek <polacek@redhat.com>
937
938 PR c/6940
939 * c.opt (Wsizeof-array-argument): New option.
940
00a7ba58
JJ
9412014-07-03 Jakub Jelinek <jakub@redhat.com>
942
943 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
944 comments->count <= 1, as comments->entries might be NULL.
945
52ec0ea3
MP
9462014-07-01 Marek Polacek <polacek@redhat.com>
947
948 * c.opt (Wint-conversion): New option.
949
d5c3d343
MP
9502014-07-01 Marek Polacek <polacek@redhat.com>
951
952 PR c/58286
953 * c.opt (Wincompatible-pointer-types): New option.
954
6e7ceb17
PC
9552014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
956
957 PR c++/51400
958 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
959 Do not discard TYPE_QUALS of type.
960
da73100b
JM
9612014-06-26 Jason Merrill <jason@redhat.com>
962
963 * c-common.h (enum cxx_dialect): Add cxx1z.
964 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
965 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
966
08eedf75
TJ
9672014-06-26 Teresa Johnson <tejohnson@google.com>
968
969 * c-common.h (get_dump_info): Declare.
970 * c-gimplify.c (c_genericize): Use saved dump files.
971 * c-opts.c (c_common_parse_file): Begin and end dumps
972 once around parsing invocation.
973 (get_dump_info): New function.
974
7b56b2f8
MP
9752014-06-23 Marek Polacek <polacek@redhat.com>
976 Andrew MacLeod <amacleod@redhat.com>
977
978 PR c/61553
979 * c-common.c (get_atomic_generic_size): Don't segfault if the
980 type doesn't have a size.
981
0e37a2f3
MP
9822014-06-20 Marek Polacek <polacek@redhat.com>
983
984 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
985 (ubsan_walk_array_refs_r): New function.
986 (c_genericize): Instrument array bounds.
987 * c-ubsan.c: Include "internal-fn.h".
988 (ubsan_instrument_division): Mark instrumented arrays as having
989 side effects. Adjust ubsan_type_descriptor call.
990 (ubsan_instrument_shift): Likewise.
991 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
992 (ubsan_instrument_bounds): New function.
993 (ubsan_array_ref_instrumented_p): New function.
994 (ubsan_maybe_instrument_array_ref): New function.
995 * c-ubsan.h (ubsan_instrument_bounds): Declare.
996 (ubsan_array_ref_instrumented_p): Declare.
997 (ubsan_maybe_instrument_array_ref): Declare.
998
9992014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
1000
1001 PR lto/61123
1002 * c.opt (fshort-enums): Add to LTO.
1003 * c.opt (fshort-wchar): Likewise.
1004
5c3d09f7
MP
10052014-06-16 Marek Polacek <polacek@redhat.com>
1006
1007 PR c/60439
1008 * c.opt (Wswitch-bool): Add Var.
1009
9cf32741
JJ
10102014-06-12 Jakub Jelinek <jakub@redhat.com>
1011
1012 PR middle-end/61486
1013 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1014 #pragma omp target teams or
1015 #pragma omp {,target }teams distribute simd.
1016
62984918
JM
10172014-06-12 Jason Merrill <jason@redhat.com>
1018
1019 * c.opt (Wabi=, fabi-compat-version): New.
1020 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1021 (c_common_post_options): Handle flag_abi_compat_version default.
1022 Disallow -fabi-compat-version=1.
1023 * c-common.h (abi_version_crosses): New.
1024
f961457f
JH
10252014-06-11 Jan Hubicka <hubicka@ucw.cz>
1026
adfac8df 1027 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
1028 section names that are no longer trees.
1029
92d28cbb
JJ
10302014-06-10 Jakub Jelinek <jakub@redhat.com>
1031
1032 PR fortran/60928
1033 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1034 (omp_pragmas): ... back here.
1035
742938c9
MP
10362014-06-05 Marek Polacek <polacek@redhat.com>
1037
1038 PR c/49706
1039 * c-common.c (warn_logical_not_parentheses): New function.
1040 * c-common.h (warn_logical_not_parentheses): Declare.
1041 * c.opt (Wlogical-not-parentheses): New option.
1042
9d548dfb
MP
10432014-06-04 Marek Polacek <polacek@redhat.com>
1044
1045 PR c/30020
1046 * c-common.c (check_case_bounds): Add location parameter.
1047 Use it.
1048 (c_add_case_label): Pass loc to check_case_bounds.
1049
fedfecef
MP
10502014-06-03 Marek Polacek <polacek@redhat.com>
1051
1052 PR c/60439
1053 * c.opt (Wswitch-bool): New option.
1054
f6a7cffc
TS
10552014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1056
040d18b6
TS
1057 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1058 Remove prototypes.
1059 (record_types_used_by_current_var_decl): Move prototype to where
1060 it belongs.
1061
f6a7cffc
TS
1062 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1063 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1064 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1065
632f2871
RS
10662014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1067
1068 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1069 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1070 void_zero_node.
1071 * c-pretty-print.c (pp_c_void_constant): New function.
1072 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1073 (c_pretty_printer::expression): Handle VOID_CST.
1074 * cilk.c (extract_free_variables): Likewise.
1075 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1076 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1077
766090c2
TS
10782014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1079
1080 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1081 * c-pragma.c (push_alignment): Adjust.
1082 (handle_pragma_push_options): Likewise.
1083
661a0813
MP
10842014-05-09 Marek Polacek <polacek@redhat.com>
1085
1086 PR c/50459
1087 * c-common.c (check_user_alignment): Return -1 if alignment is error
1088 node.
1089 (handle_aligned_attribute): Don't call default_conversion on
1090 FUNCTION_DECLs.
1091 (handle_vector_size_attribute): Likewise.
1092 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1093 (handle_sentinel_attribute): Call default_conversion and allow even
1094 integral types as an argument.
1095
2793eeab
MP
10962014-05-08 Marek Polacek <polacek@redhat.com>
1097
1098 PR c/61053
1099 * c-common.c (min_align_of_type): New function factored out from...
1100 (c_sizeof_or_alignof_type): ...here.
1101 * c-common.h (min_align_of_type): Declare.
1102
f827930a
MP
11032014-05-08 Marek Polacek <polacek@redhat.com>
1104
1105 PR c/61077
1106 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1107 parameter type of main.
1108
ca49b74e
DD
11092014-05-07 DJ Delorie <dj@redhat.com>
1110
1111 * c-cppbuiltin.c (print_bits_of_hex): New.
1112 (builtin_define_type_minmax): Print values using hex so as not to
1113 require a pre-computed list of string values.
1114
1d60af08
KZ
11152014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1116 Mike Stump <mikestump@comcast.net>
1117 Richard Sandiford <rdsandiford@googlemail.com>
1118
1119 * c-ada-spec.c: Include wide-int.h.
1120 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1121 (dump_generic_ada_node): Use wide-int interfaces.
1122 * c-common.c: Include wide-int-print.h.
1123 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1124 (pointer_int_sum): Use wide-int interfaces.
1125 (c_common_nodes_and_builtins): Use make_int_cst.
1126 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1127 (handle_alloc_size_attribute): Use wide-int interfaces.
1128 (get_nonnull_operand): Likewise.
1129 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1130 * c-lex.c: Include wide-int.h.
1131 (narrowest_unsigned_type): Take a widest_int rather than two
1132 HOST_WIDE_INTs.
1133 (narrowest_signed_type): Likewise.
1134 (interpret_integer): Update accordingly. Use wide-int interfaces.
1135 (lex_charconst): Use wide-int interfaces.
1136 * c-pretty-print.c: Include wide-int.h.
1137 (pp_c_integer_constant): Use wide-int interfaces.
1138 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1139 INT_CST_LT_UNSIGNED.
1140
b15458be
RB
11412014-05-06 Richard Biener <rguenther@suse.de>
1142
1143 * c-opts.c (c_common_post_options): For -freestanding,
1144 -fno-hosted and -fno-builtin disable pattern recognition
1145 if not enabled explicitely.
1146
6577374e
MP
11472014-05-02 Marek Polacek <polacek@redhat.com>
1148
1149 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1150
d00887e8
MP
11512014-05-01 Marek Polacek <polacek@redhat.com>
1152
1153 PR c/43245
1154 * c.opt (Wdiscarded-qualifiers): Add.
1155
f8ed5150
MP
11562014-04-30 Marek Polacek <polacek@redhat.com>
1157
1158 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1159 INT_MIN / -1 sanitization only for integer types.
1160
45484dcf
MP
11612014-04-25 Marek Polacek <polacek@redhat.com>
1162
1163 PR c/18079
1164 * c-common.c (handle_noinline_attribute): Warn if the attribute
1165 conflicts with always_inline attribute.
1166 (handle_always_inline_attribute): Warn if the attribute conflicts
1167 with noinline attribute.
1168
38e514c0
MP
11692014-04-25 Marek Polacek <polacek@redhat.com>
1170
1171 PR c/60156
1172 * c-common.c (check_main_parameter_types): Warn about variadic main.
1173
44875f92
MS
11742014-04-24 Mike Stump <mikestump@comcast.net>
1175
1176 * c.opt (Wshadow-ivar): Default to on.
1177
dcaaa5a0
DP
11782014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1179
1180 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1181
c07d7c02
MP
11822014-04-23 Marek Polacek <polacek@redhat.com>
1183
1184 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1185
1c33c9b7
JJ
11862014-04-22 Jakub Jelinek <jakub@redhat.com>
1187
1188 PR sanitizer/60275
1189 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1190 if flag_sanitize_undefined_trap_on_error.
1191 (ubsan_instrument_division, ubsan_instrument_shift,
1192 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1193 if !flag_sanitize_recover.
1194
793c625f
MG
11952014-04-22 Marc Glisse <marc.glisse@inria.fr>
1196
1197 PR libstdc++/43622
1198 * c-common.c (registered_builtin_types): Make non-static.
1199 * c-common.h (registered_builtin_types): Declare.
1200
b0f1bf36
RB
12012014-04-14 Richard Biener <rguenther@suse.de>
1202 Marc Glisse <marc.glisse@inria.fr>
1203
1204 PR c/60819
1205 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1206 apply may-alias the scalar pointer type when applicable.
1207
3b07fa4a
IZ
12082014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1209
1210 PR middle-end/60467
1211 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1212 as possible argument for Cilk_spawn.
1213
cbbd2b1c
TB
12142014-04-11 Tobias Burnus <burnus@net-b.de>
1215
1216 PR c/60194
1217 * c.opt (Wformat-signedness): Add
1218 * c-format.c(check_format_types): Use it.
1219
6415bd5d
JM
12202014-04-11 Jason Merrill <jason@redhat.com>
1221
1222 PR c++/57926
1223 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
1224 default_conversion for an array argument.
1225
6525783a
MP
12262014-04-08 Marek Polacek <polacek@redhat.com>
1227
1228 PR sanitizer/60745
1229 * c-ubsan.c: Include asan.h.
1230 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
1231
880a467b
NS
12322014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1233
1234 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
1235
7b59ff2d
MP
12362014-04-02 Marek Polacek <polacek@redhat.com>
1237
1238 * c-common.h (c_expand_expr): Remove declaration.
1239
8edbfaa6
JJ
12402014-03-28 Jakub Jelinek <jakub@redhat.com>
1241
1242 PR c++/60689
1243 * c-common.c (add_atomic_size_parameter): When creating new
1244 params vector, push the size argument first.
1245
07d72e1d
JJ
12462014-03-26 Jakub Jelinek <jakub@redhat.com>
1247
1248 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1249 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1250 ubsan_create_data callers.
1251
b35e0fa0
JJ
12522014-03-22 Jakub Jelinek <jakub@redhat.com>
1253
1254 PR debug/60603
1255 * c-opts.c (c_finish_options): Restore cb_file_change call to
1256 <built-in>.
1257
39a1ebb3
JJ
12582014-03-13 Jakub Jelinek <jakub@redhat.com>
1259
1260 PR middle-end/36282
1261 * c-pragma.c (apply_pragma_weak): Only look at
1262 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1263 DECL_ASSEMBLER_NAME_SET_P (decl).
1264 (maybe_apply_pending_pragma_weaks): Exit early if
1265 vec_safe_is_empty (pending_weaks) rather than only when
1266 !pending_weaks.
1267 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1268 set assembler name back to NULL afterwards.
1269
a07f6ed2
JM
12702014-03-11 Jason Merrill <jason@redhat.com>
1271
1272 * c.opt: Add -std=gnu++14.
1273
75b107f5
IB
12742014-03-11 Ian Bolton <ian.bolton@arm.com>
1275
1276 * c-opts.c (c_common_post_options): Don't override
1277 -ffp-contract=fast if unsafe-math-optimizations is on.
1278
f42c637e
PM
12792014-03-08 Paulo Matos <paulo@matos-sorge.com>
1280
1281 * c.opt: Enable LTO FE for fshort-double.
1282
70e24808
JM
12832014-03-07 Jason Merrill <jason@redhat.com>
1284
1285 * c.opt: Add -std=c++14.
1286
3af9c5e9
MP
12872014-03-06 Marek Polacek <polacek@redhat.com>
1288
1289 PR c/60197
1290 * cilk.c (contains_cilk_spawn_stmt): New function.
1291 (contains_cilk_spawn_stmt_walker): Likewise.
1292 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1293 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1294
b3bdf019
JJ
12952014-03-03 Jakub Jelinek <jakub@redhat.com>
1296
1297 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1298 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1299 even when flag_preprocess_only.
1300
ca7e759d
JM
13012014-02-26 Jason Merrill <jason@redhat.com>
1302
1303 PR c++/59231
1304 PR c++/11586
1305 * c-common.c (shorten_compare): Don't check
1306 c_inhibit_evaluation_warnings.
1307
28e41874
JJ
13082014-02-19 Jakub Jelinek <jakub@redhat.com>
1309
cca615af
JJ
1310 PR c/37743
1311 * c-common.c (c_common_nodes_and_builtins): When initializing
1312 c_uint{16,32,64}_type_node, also set corresponding
1313 uint{16,32,64}_type_node to the same value.
1314
28e41874
JJ
1315 PR c++/60267
1316 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1317 for PRAGMA_IVDEP if flag_preprocess_only.
1318
c2bf53a1
JJ
13192014-02-12 Jakub Jelinek <jakub@redhat.com>
1320
1321 PR c/60101
1322 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1323 if false, add ADD itself, rather than vice versa.
1324 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1325 copy. For SAVE_EXPR, only call merge_tlist once.
1326
8fcbce72
JJ
13272014-02-08 Jakub Jelinek <jakub@redhat.com>
1328
1329 PR middle-end/60092
1330 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1331 and tree_to_uhwi.
1332 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1333 functions.
1334 (c_common_attribute_table): Add alloc_align and assume_aligned
1335 attributes.
1336
0a756a3f
MP
13372014-02-06 Marek Polacek <polacek@redhat.com>
1338
1339 PR c/60087
1340 * c-common.c (warn_for_sign_compare): Call warning_at with location
1341 instead of warning.
1342
7ec4847a
MP
13432014-02-05 Marek Polacek <polacek@redhat.com>
1344
1345 PR c/53123
1346 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1347 statement.
1348
66f20604
MP
13492014-02-04 Marek Polacek <polacek@redhat.com>
1350
1351 PR c/60036
1352 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1353 SAVE_EXPR.
1354
5d77fb19
MG
13552014-02-03 Marc Glisse <marc.glisse@inria.fr>
1356
1357 PR c++/53017
1358 PR c++/59211
1359 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1360 handle_vector_size_attribute, handle_nonnull_attribute): Call
1361 default_conversion on the attribute argument.
1362 (handle_nonnull_attribute): Increment the argument number.
1363
81e5eca8
MP
13642014-01-31 Marek Polacek <polacek@redhat.com>
1365
1366 PR c/59963
1367 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1368 build_function_call_vec.
1369 (resolve_overloaded_builtin): Likewise.
1370 * c-common.h (build_function_call_vec): Adjust declaration.
1371
68fca595
MP
13722014-01-30 Marek Polacek <polacek@redhat.com>
1373
1374 PR c/59940
1375 * c-common.h (unsafe_conversion_p): Adjust declaration.
1376 (warnings_for_convert_and_check): Likewise.
1377 (convert_and_check): Likewise.
1378 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1379 expansion_point_location_if_in_system_header on it.
1380 (warnings_for_convert_and_check): Add location parameter. Call
1381 expansion_point_location_if_in_system_header on it. Use it.
1382 (convert_and_check): Add location parameter. Use it.
1383 (conversion_warning): Likewise.
1384 (c_add_case_label): Adjust convert_and_check calls.
1385 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1386
b72271b9
BI
13872014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1388
1389 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1390 flag_cilkplus.
1391 * c-pragma.c (init_pragma): Likewise.
1392 * c.opt: Likewise.
1393
393e8e8b
MP
13942014-01-23 Marek Polacek <polacek@redhat.com>
1395
1396 PR c/59846
1397 * c-common.c (shorten_compare): Add location_t parameter.
1398 * c-common.h (shorten_binary_op): Adjust declaration.
1399
f04dda30
MP
14002014-01-23 Marek Polacek <polacek@redhat.com>
1401
1402 PR c/58346
1403 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1404 * c-common.h: Declare it.
1405
621955cb
EB
14062014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1407
1408 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1409 * c-ada-spec.c (dump_ads): Likewise.
1410 (cpp_check): Likewise.
1411 (dump_ada_specs): Likewise.
1412
14132014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
1414
1415 PR c++/49718
1416 * c-common.c (handle_no_instrument_function_attribute): Allow
1417 no_instrument_function attribute in class member
1418 definition/declaration.
1419
241f845a
JJ
14202014-01-15 Jakub Jelinek <jakub@redhat.com>
1421
1422 PR c/58943
1423 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1424 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1425 being COMPOUND_EXPR.
1426 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1427 operand a SAVE_EXPR and second MODIFY_EXPR.
1428
e83b8e2e
JJ
14292014-01-09 Jakub Jelinek <jakub@redhat.com>
1430
1431 PR target/58115
1432 * c-pch.c (c_common_write_pch): Call
1433 prepare_target_option_nodes_for_pch.
1434
23a5b65a
RS
14352014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1436
1437 Update copyright years
1438
f9030485
RS
14392014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1440
1441 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1442 the copyright notice.
1443
f2aa696b
EB
14442013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1445
1446 * c-ada-spec.c (print_constructor): New function.
1447 (print_destructor): Retrieve the origin of the destructor.
1448 (print_ada_declaration): Revamp handling of constructors/destructors.
1449
1f26ac87
JM
14502013-12-23 Stuart Hastings <stuart@apple.com>
1451 Bill Maddox <maddox@google.com>
1452 Jason Merrill <jason@redhat.com>
1453
1454 * c.opt: Add -fdeclone-ctor-dtor.
1455 * c-opts.c (c_common_post_options): Default to on iff -Os.
1456
41958c28
BI
14572013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1458
1459 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1460 attribute.
1461 * c-pragma.h (enum pragma_cilk_clause): Remove.
1462 (enum pragma_omp_clause): Added the following fields:
1463 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1464 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1465 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1466 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1467 PRAGMA_CILK_CLAUSE_UNIFORM.
1468
1469
12893402
BI
14702013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1471
1472 * cilk.c (cilk_outline): Made this function non-static.
1473 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1474 (create_cilk_wrapper): Added a new parameter: a function pointer.
1475 (c_install_body_w_frame_cleanup): Remove
1476 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1477 * c-common.h (cilk_outline): New prototype.
1478 (gimplify_cilk_spawn): Removed two parameters.
1479 (cilk_install_body_with_frame_cleanup): New prototype.
1480 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1481 CILK_SPAWN_STMT case.
1482
085b42ed
BS
14832013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1484
2ce064c3
BS
1485 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1486
085b42ed
BS
1487 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1488 (int_array_type_node): Remove.
1489 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1490
9e36c9ed
MP
14912013-12-05 Marek Polacek <polacek@redhat.com>
1492
1493 PR c/52023
1494 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1495 [ADJUST_FIELD_ALIGN].
1496
296674db
JM
14972013-12-04 Joseph Myers <joseph@codesourcery.com>
1498
1499 PR c/52023
1500 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1501 and check field alignment if set.
1502 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1503 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1504
31e071ae
MP
15052013-12-04 Jakub Jelinek <jakub@redhat.com>
1506 Marek Polacek <polacek@redhat.com>
1507
1508 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1509 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1510
d7947e19
L
15112013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1512
1513 PR c/59309
1514 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1515 arguments.
1516
fad7652e
JJ
15172013-11-29 Jakub Jelinek <jakub@redhat.com>
1518
1519 PR c/59280
1520 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1521 goto invalid. If it is error_mark_node, don't issue further
1522 diagnostics.
1523
8b5e1202
SO
15242013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1525
1526 * c.opt (Wopenmp-simd): New.
1527
0a508bb6
JJ
15282013-11-22 Jakub Jelinek <jakub@redhat.com>
1529
1530 * c-ubsan.h (ubsan_instrument_return): New prototype.
1531 * c-ubsan.c (ubsan_instrument_return): New function.
1532
2fb9a547
AM
15332013-11-22 Andrew MacLeod <amacleod@redhat.com>
1534
1535 * c-common.c: Add required include files from gimple.h.
1536 * c-gimplify.c: Likewise
1537 * cilk.c: Likewise
1538
8400e75e
DM
15392013-11-22 David Malcolm <dmalcolm@redhat.com>
1540
1541 * c-common.c (unsafe_conversion_p): Remove use of
1542 EXPR_LOC_OR_HERE macro.
1543 (conversion_warning): Likewise.
1544 (warnings_for_convert_and_check): Likewise.
1545 (warn_for_collisions_1): Likewise.
1546 (shorten_compare): Likewise, and remove use of in_system_header
1547 macro, using the location from the former.
1548 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1549 (cb_def_pragma): Remove use of in_system_header macro.
1550 (lex_string): Likewise.
1551 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1552
eb1ce453
KZ
15532013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1554 Mike Stump <mikestump@comcast.net>
1555 Richard Sandiford <rdsandiford@googlemail.com>
1556
1557 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1558 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1559 tree_fits_shwi_p or tree_fits_uhwi_p.
1560 (dump_generic_ada_node): Likewise.
1561 * c-format.c (check_format_arg): Likewise.
1562 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1563
6b3b8c27
KZ
15642013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1565
1566 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1567
49b0aa18
JC
15682013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1569
1570 PR c/53001
1571 * c-common.c (unsafe_conversion_p): Make this function
1572 return an enumeration with more detail.
1573 (conversion_warning): Use the new return type of
1574 unsafe_conversion_p to separately warn either about conversions
1575 that lower floating point number precision or about the other
1576 kinds of conversions.
1577 * c-common.h (enum conversion_safety): New enumeration.
1578 (unsafe_conversion_p): switching return type to
1579 conversion_safety enumeration.
1580 * c.opt: Adding new warning -Wfloat-conversion and
1581 enabling it with -Wconversion.
1582
b826515a
BS
15832013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1584
1585 * c-opts.c: Include plugin.h.
1586 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1587
b9a55b13
MP
15882013-11-19 Marek Polacek <polacek@redhat.com>
1589
1590 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1591 call.
1592 (ubsan_instrument_shift): Likewise.
1593 (ubsan_instrument_vla): Likewise.
1594
7d362f6c
RS
15952013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1596
1597 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1598 cast to unsigned type.
1599
386b1f1f
RS
16002013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1601
1602 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1603 tree_low_cst.
1604 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1605 rather than tree_low_cst.
1606
ae7e9ddd
RS
16072013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1608
1609 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1610 tree_to_uhwi throughout.
1611
9439e9a1
RS
16122013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1613
1614 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1615 tree_low_cst (..., 0) with tree_to_shwi throughout.
1616
cc269bb6
RS
16172013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1618
1619 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1620 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1621
9541ffee
RS
16222013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1623
1624 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1625 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1626
c02065fc
AH
16272013-11-15 Aldy Hernandez <aldyh@redhat.com>
1628
1629 * c-cilkplus.c: New file.
1630 * c-common.c (readonly_error): Add location argument.
1631 * c-common.h (readonly_error): Same.
1632 (c_finish_cilk_clauses): Protoize.
1633 (c_check_cilk_loop): Same.
1634 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1635 Do not fail on error_mark_node.
1636 Abstract increment canonicalization to here...
1637 (c_omp_for_incr_canonicalize_ptr): New.
1638 c-pragma.c (init_pragma): Register "simd" pragma.
1639 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1640 (enum pragma_cilk_clause): New.
1641
9cc65f15
RS
16422013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1643
1644 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1645 wchar_type and host_integerp checks.
1646
18f429e2
AM
16472013-11-14 Andrew MacLeod <amacleod@redhat.com>
1648
1649 * c-common.c: Likewise.
1650 * c-gimplify.c: Likewise.
1651 * cilk.c: Likewise.
1652
d8a2d370
DN
16532013-11-14 Diego Novillo <dnovillo@google.com>
1654
1655 * c-common.c: Include fold-const.h.
1656 Include stor-layout.h.
1657 Include calls.h.
1658 Include stringpool.h.
1659 Include attribs.h.
1660 Include varasm.h.
1661 Include trans-mem.h.
1662 * c-cppbuiltin.c: Include stor-layout.h.
1663 Include stringpool.h.
1664 * c-format.c: Include stringpool.h.
1665 * c-lex.c: Include stringpool.h.
1666 Include stor-layout.h.
1667 * c-pragma.c: Include stringpool.h.
1668 Include attribs.h.
1669 Include varasm.h.
1670 Include gcc-symtab.h.
1671 * c-pretty-print.c: Include stor-layout.h.
1672 Include attribs.h.
1673 * cilk.c: Include stringpool.h.
1674 Include calls.h.
1675
38b7bc7f
JM
16762013-11-13 Joseph Myers <joseph@codesourcery.com>
1677
1678 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1679 * c-common.c (c_common_reswords): Add __auto_type.
1680 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1681
45b0be94
AM
16822013-11-12 Andrew MacLeod <amacleod@redhat.com>
1683
18f429e2
AM
1684 * c-common.c: Include gimplify.h.
1685 * c-gimplify.c: Likewise.
1686 * cilk.c: Likewise.
1687 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1688 * c-ubsan.c: Don't include gimple.h.
45b0be94 1689
582d9b50
JM
16902013-11-12 Joseph Myers <joseph@codesourcery.com>
1691
1692 * c-common.c (c_common_reswords): Add _Thread_local.
1693
6b28e197
JM
16942013-11-09 Joseph Myers <joseph@codesourcery.com>
1695
1696 * c-common.c (atomic_size_supported_p): New function.
1697 (resolve_overloaded_atomic_exchange)
1698 (resolve_overloaded_atomic_compare_exchange)
1699 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1700 Use it instead of comparing size with a local list of sizes.
1701
267bac10
JM
17022013-11-07 Andrew MacLeod <amacleod@redhat.com>
1703 Joseph Myers <joseph@codesourcery.com>
1704
1705 * c-common.h (enum rid): Add RID_ATOMIC.
1706 * c-common.c (c_common_reswords): Add _Atomic.
1707 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1708 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1709 * c-format.c (check_format_types): Check for extra _Atomic
1710 qualifiers in format argument.
1711 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1712 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1713
5157b91e
TB
17142013-11-06 Tobias Burnus <burnus@net-b.de>
1715
1716 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1717
6dbe0958
JM
17182013-11-06 Joseph Myers <joseph@codesourcery.com>
1719
1720 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1721 standards modes.
1722 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1723 to mean lack of IEEE 754 support.
1724
e8ff5196
TB
17252013-11-05 Tobias Burnus <burnus@net-b.de>
1726
1727 * c.opt (-Wdate-time): New option
1728 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1729
254a0760
JM
17302013-11-05 Joseph Myers <joseph@codesourcery.com>
1731
1732 * c-cppbuiltin.c (cpp_iec_559_value): Test
1733 flag_excess_precision_cmdline not flag_excess_precision.
1734
6d7f7e0a
TB
17352013-11-05 Tobias Burnus <burnus@net-b.de>
1736
1737 * c.opt (fopenmp-simd): New option.
1738 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1739 (omp_pragmas): ... this new struct.
1740 (c_pp_lookup_pragma): Also walk omp_pragmas.
1741 (init_pragma): Init pragmas for -fopenmp-simd.
1742
55a7f02f
MP
17432013-11-04 Marek Polacek <polacek@redhat.com>
1744
1745 PR c++/58979
1746 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1747
9193fb05
JM
17482013-11-04 Joseph Myers <joseph@codesourcery.com>
1749
1750 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1751 New functions.
1752 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1753
94159ecf
EB
17542013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1755
1756 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1757 (dump_ada_specs): Adjust prototype of second callback.
1758 * c-ada-spec.c (cpp_check): New global variable.
1759 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1760 (print_generic_ada_decl): Likewise.
1761 (has_static_fields): Change return type to bool and add guard.
1762 (has_nontrivial_methods): New predicate.
1763 (is_tagged_type): Change return type to bool.
1764 (separate_class_package): Call has_nontrivial_methods.
1765 (pp_ada_tree_identifier): Minor tweaks.
1766 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1767 (dump_ada_array_domains): Likewise.
1768 (dump_ada_array_type): Likewise.
1769 (dump_template_types): Remove cpp_check parameter and do not pass it to
1770 dump_generic_ada_node.
1771 (dump_ada_template): Likewise.
1772 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1773 recursively.
1774 (print_ada_methods): Change return type to integer. Remove cpp_check
1775 parameter and do not pass it down.
1776 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1777 dump_generic_ada_node.
1778 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1779 accessing methods.
1780 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1781 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1782 value of print_ada_methods.
1783 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1784 Set cpp_check to it before invoking dump_ada_nodes.
1785 (dump_ada_specs): Likewise.
1786
b906f4ca
MP
17872013-11-03 Marek Polacek <polacek@redhat.com>
1788
1789 * c-ubsan.c: Don't include hash-table.h.
1790 (ubsan_instrument_vla): New function.
1791 * c-ubsan.h: Declare it.
1792
5e20cdc9
DM
17932013-10-31 David Malcolm <dmalcolm@redhat.com>
1794
1795 Automated part of renaming of symtab_node_base to symtab_node.
1796
1797 Patch autogenerated by rename_symtab.py from
1798 https://github.com/davidmalcolm/gcc-refactoring-scripts
1799 revision 58bb219cc090b2f4516a9297d868c245495ee622
1800
1801 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1802 symtab_node_base to symtab_node.
1803
7057e645
ESR
18042013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1805
1806 Implement C++14 digit separators.
1807 * c-lex.c (interpret_float): Remove digit separators from scratch string
1808 before building real literal.
1809
193ea7bc
JJ
18102013-10-30 Jakub Jelinek <jakub@redhat.com>
1811
1812 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1813
939b37da
BI
18142013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1815
1816 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1817 fields.
1818 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1819 enabled.
1820 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1821 (insert_cilk_frame): New prototype.
1822 (cilk_init_builtins): Likewise.
1823 (gimplify_cilk_spawn): Likewise.
1824 (c_cilk_install_body_w_frame_cleanup): Likewise.
1825 (cilk_detect_spawn_and_unwrap): Likewise.
1826 (cilk_set_spawn_marker): Likewise.
1827 (build_cilk_sync): Likewise.
1828 (build_cilk_spawn): Likewise.
1829 * cilk.c: New file.
1830
67348ccc
DM
18312013-10-29 David Malcolm <dmalcolm@redhat.com>
1832
1833 Patch autogenerated by refactor_symtab.py from
1834 https://github.com/davidmalcolm/gcc-refactoring-scripts
1835 revision 58bb219cc090b2f4516a9297d868c245495ee622
1836
1837 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1838 to a true class hierarchy.
1839 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1840
d570872d
RS
18412013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1842
1843 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1844
98906124
JL
18452013-10-26 Jeff Law <law@redhat.com>
1846
adfac8df
JJ
1847 * c-common.c (c_define_builtins): Remove mudflap support.
1848 * c.opt: Ignore and warn for mudflap options.
98906124 1849
d73749df 18502013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
1851
1852 PR other/33426
1853 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1854 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1855
3f04b1bb
JM
18562013-10-23 Jason Merrill <jason@redhat.com>
1857
1858 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1859
acf0174b
JJ
18602013-10-11 Jakub Jelinek <jakub@redhat.com>
1861
acd15a28
JJ
1862 * c-common.h (omp_clause_mask::operator !=): New method.
1863 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1864 instead of if (mask & something) tests everywhere.
1865
acf0174b
JJ
1866 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1867 201307 instead of 201107.
1868 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1869 (c_common_attribute_table): Add "omp declare target" and
1870 "omp declare simd" attributes.
1871 (handle_omp_declare_target_attribute,
1872 handle_omp_declare_simd_attribute): New functions.
1873 * c-omp.c: Include c-pragma.h.
1874 (c_finish_omp_taskgroup): New function.
1875 (c_finish_omp_atomic): Add swapped argument, if true,
1876 build the operation first with rhs, lhs arguments and use NOP_EXPR
1877 build_modify_expr.
1878 (c_finish_omp_for): Add code argument, pass it down to make_code.
1879 (c_omp_split_clauses): New function.
1880 (c_split_parallel_clauses): Removed.
1881 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1882 c_omp_declare_simd_clauses_to_decls): New functions.
1883 * c-common.h (omp_clause_mask): New type.
1884 (OMP_CLAUSE_MASK_1): Define.
1885 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1886 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1887 omp_clause_mask::operator |, omp_clause_mask::operator &,
1888 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1889 omp_clause_mask::operator ==): New methods.
1890 (enum c_omp_clause_split): New.
1891 (c_finish_omp_taskgroup): New prototype.
1892 (c_finish_omp_atomic): Add swapped argument.
1893 (c_finish_omp_for): Add code argument.
1894 (c_omp_split_clauses): New prototype.
1895 (c_split_parallel_clauses): Removed.
1896 (c_omp_declare_simd_clauses_to_numbers,
1897 c_omp_declare_simd_clauses_to_decls): New prototypes.
1898 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1899 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1900 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1901 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1902 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1903 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1904 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1905 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1906 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1907 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1908 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1909 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1910 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1911 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1912 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1913 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1914 PRAGMA_OMP_CLAUSE_UNIFORM.
1915
826cacfe
MG
19162013-10-09 Marc Glisse <marc.glisse@inria.fr>
1917
1918 PR tree-optimization/20318
1919 * c-common.c (handle_returns_nonnull_attribute): New function.
1920 (c_common_attribute_table): Add returns_nonnull.
1921
2284b034
MG
19222013-10-03 Marc Glisse <marc.glisse@inria.fr>
1923
1924 PR c++/19476
1925 * c.opt (fcheck-new): Move to common.opt.
1926
b56e9788
MP
19272013-09-25 Marek Polacek <polacek@redhat.com>
1928 Jakub Jelinek <jakub@redhat.com>
1929
1930 PR sanitizer/58413
1931 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1932 an expression if we can prove it is correct.
1933 (ubsan_instrument_division): Likewise. Remove unnecessary
1934 check.
1935
ce6923c5
MP
19362013-09-18 Marek Polacek <polacek@redhat.com>
1937
1938 PR sanitizer/58411
1939 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1940 Declare it.
1941 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1942
fb5610fb
IS
19432013-09-14 Iain Sandoe <iain@codesourcery.com>
1944
1945 PR target/48094
1946 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1947 fobjc-gc, freplace-objc-classes): Accept for LTO.
1948
88b0e79e
JC
19492013-09-13 Jacek Caban <jacek@codeweavers.com>
1950
1951 * c-target.def: New hook
1952
c9b0866a
PC
19532013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1954
1955 PR c++/43452
1956 * c.opt (Wdelete-incomplete): Add.
1957
0af94e6f
JR
19582013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1959
1960 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1961 (vector_types_compatible_elements_p): New function.
1962 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1963 declaration.
1964 (vector_types_compatible_elements_p): Declare.
1965
7c26172c
GDR
19662013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1967
1968 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1969 a virtual member function.
1970 (pp_simple_type_specifier): Remove.
1971 (pp_c_type_specifier): Likewise.
1972 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1973 Rename from pp_c_type_specifier. Adjust.
1974 (c_pretty_printer::c_pretty_printer): Do not assign to
1975 simple_type_specifier.
1976
20059c8b
GDR
19772013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1978
1979 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1980 member function.
1981 (c_pretty_printer::storage_class_specifier): Likewise.
1982 (c_pretty_printer::initializer): Likewise.
1983 (pp_declaration): Remove.
1984 (pp_declaration_specifiers): Likewise.
1985 (pp_abstract_declarator): Likewise.
1986 (pp_declarator): Likewise.
1987 (pp_type_id): Likewise.
1988 (pp_statement): Likewise.
1989 (pp_constant): Likewise.
1990 (pp_id_expression): Likewise.
1991 (pp_primary_expression): Likewise.
1992 (pp_unary_expression): Likewise.
1993 (pp_multiplicative_expression): Likewise.
1994 (pp_conditional_expression): Likewise.
1995 (pp_assignment_expression): Likewise.
1996 (pp_expression): Likewise.
1997 (pp_c_type_id): Likewise.
1998 (pp_c_storage_class_specifier): Likewise.
1999 * c-pretty-print.c (pp_c_type_cast): Tidy.
2000 (pp_c_pointer): Likewise.
2001 (pp_c_type_specifier): Likewise.
2002 (pp_c_parameter_type_list): Likewise.
2003 (pp_c_function_definition): Likewise.
2004 (pp_c_init_declarator): Likewise.
2005 (pp_c_initializer_list): Likewise.
2006 (pp_c_constructor_elts): Likewise.
2007 (c_pretty_printer::direct_abstract_declarator): Likewise.
2008 (c_pretty_printer::declaration_specifiers): Likewise.
2009 (c_pretty_printer::primary_expression): Likewise.
2010 (c_pretty_printer::postfix_expression): Likewise.
2011 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2012 (c_pretty_printer::storage_class_specifier): Rename from
2013 pp_c_storage_class_specifier.
2014 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2015 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2016 storage_class_specifier, initializer, offset_list, flags.
2017
de5a5fa1
MP
20182013-08-30 Marek Polacek <polacek@redhat.com>
2019
2020 * c-ubsan.c: New file.
2021 * c-ubsan.h: New file.
2022
8f0e4d72
GDR
20232013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2024
2025 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2026 member function.
2027 (c_pretty_printer::declaration_specifiers): Likewise.
2028 (c_pretty_printer::declarator): Likewise.
2029 (c_pretty_printer::abstract_declarator): Likewise.
2030 (c_pretty_printer::direct_abstract_declarator): Likewise.
2031 (c_pretty_printer::direct_declarator): Likewise.
2032 (c_pretty_printer::function_specifier): Likewise.
2033 (pp_declaration): Adjust.
2034 (pp_declaration_specifiers): Likewise.
2035 (pp_abstract_declarator): Likewise.
2036 (pp_direct_declarator): Likewise.
2037 (pp_function_specifier): Likewise.
2038 (pp_direct_abstract_declarator): Remove as unused.
2039 (pp_c_declaration): Remove.
2040 (pp_c_declaration_specifiers): Likewise.
2041 (pp_c_declarator): Likewise.
2042 (pp_c_direct_declarator): Likewise.
2043 (pp_c_function_specifier): Likewise.
2044 (pp_c_direct_abstract_declarator): Likewise.
2045 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2046 from pp_c_abstract_declarator. Adjust.
2047 (c_pretty_printer::direct_abstract_declarator): Rename from
2048 pp_c_direct_abstract_declarator. Adjust.
2049 (c_pretty_printer::function_specifier): Rename from
2050 pp_c_function_specifier. Adjust.
2051 (c_pretty_printer::declaration_specifiers): Rename from
2052 pp_c_declaration_specifiers. Adjust.
2053 (c_pretty_printer::direct_declarator): Rename from
2054 pp_c_direct_declarator. Adjust.
2055 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2056 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2057 (c_pretty_printer::c_pretty_printer): Do not assign to
2058 declaration, declaration_specifiers, declarator,
2059 direct_declarator, direct_abstract_declarator, function_specifier.
2060
00d34d3a
GDR
20612013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2062
2063 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2064 virtual member function.
2065 (c_pretty_printer::multiplicative_expression): Likewise.
2066 (c_pretty_printer::conditional_expression): Likewise.
2067 (c_pretty_printer::assignment_expression): Likewise.
2068 (c_pretty_printer::expression): Likewise.
2069 (pp_unary_expression): Adjust.
2070 (pp_multiplicative_expression): Likewise.
2071 (pp_assignment_expression): Likewise.
2072 (pp_conditional_expression): Likewise.
2073 (pp_expression): Likewise.
2074 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2075 from pp_c_unary_expression. Adjust.
2076 (c_pretty_printer::multiplicative_expression): Rename from
2077 pp_c_multiplicative_expression. Adjust.
2078 (c_pretty_printer::conditional_expression): Rename from
2079 pp_c_conditional_expression. Adjust.
2080 (c_pretty_printer::assignment_expression): Rename from
2081 pp_c_assignment_expression. Adjust.
2082 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2083 (c_pretty_printer::c_pretty_printer): Do not assign to
2084 unary_expression, multiplicative_expression,
2085 conditional_expression, expression.
2086
fb22178f
GDR
20872013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2088
2089 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2090 virtual member function.
2091 (pp_postfix_expression): Adjust.
2092 (pp_c_postfix_expression): Remove.
2093 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2094 from pp_c_postfix_expression. Adjust.
2095 (c_pretty_printer::c_pretty_printer): Do not assign to
2096 postfix_expression.
2097
7ecc2600
GDR
20982013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2099
2100 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2101 virtua member function.
2102 (pp_primary_expression): Adjust.
2103 (pp_c_primary_expression): Remove.
2104 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2105 from pp_c_primary_expression. Adjust.
2106 (pp_c_initializer_list): Use pp_primary_expression.
2107 (c_pretty_printer::c_pretty_printer): Do not assign to
2108 primary_expression.
2109
0691175f
GDR
21102013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2111
2112 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2113 * c-pretty-print.c (M_): Remove.
2114 (c_pretty_printer::translate_string): Define.
2115 (pp_c_type_specifier): Use it.
2116 (pp_c_primary_expression): Likewise.
2117 (pp_c_expression): Likewise.
2118
66dfe4c4
GDR
21192013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2120
2121 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2122 virtual function.
2123 (pp_c_id_expression): Remove.
2124 (pp_id_expression): Adjust.
2125 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2126 pp_c_id_expression. Adjust.
2127 (pp_c_postfix_expression): Use pp_id_expression.
2128 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2129
ca43e9d5
GDR
21302013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2131
2132 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2133 member function.
2134 (pp_constant): Adjust.
2135 (pp_c_constant): Remove.
2136 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2137 pp_c_constant. Adjust.
2138 (pp_c_constant)
2139 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2140 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2141
da6ca2b5
GDR
21422013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2143
2144 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2145 (c_pretty_printer::c_pretty_printer): Declare.
2146 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2147 c_pretty_printer_init. Adjust.
2148 (print_c_tree): Do not call c_pretty_printer_init.
2149 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2150
65a372f4
AC
21512013-08-09 Arnaud Charlet <charlet@adacore.com>
2152
2153 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2154
fd9b0f32
PC
21552013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2156
2157 PR c++/58080
2158 * c-common.c (pointer_int_sum): Add bool parameter.
2159 * c-common.h (pointer_int_sum): Adjust declaration.
2160
e0aec1e9
GDR
21612013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2162
2163 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2164 c_pretty_printer variable.
2165
b066401f
GDR
21662013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2167
2168 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2169 (pp_base): Remove.
2170 (pp_c_base): Likewise. Adjust users.
2171 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2172 (pp_c_whitespace): Do not call pp_base.
2173 (pp_c_left_paren): Likewise.
2174 (pp_c_right_paren): Likewise.
2175 (pp_c_left_brace): Likewise.
2176 (pp_c_right_brace): Likewise.
2177 (pp_c_left_bracket): Likewise.
2178 (pp_c_right_bracket): Likewise.
2179 (pp_c_dot): Likewise.
2180 (pp_c_ampersand): Likewise.
2181 (pp_c_star): Likewise.
2182 (pp_c_arrow): Likewise.
2183 (pp_c_semicolon): Likewise.
2184 (pp_c_complement): Likewise.
2185 (pp_c_exclamation): Likewise.
2186 (pp_c_direct_declarator): Likewise.
2187 (pp_c_ws_string): Likewise.
2188 (pp_c_identifier): Likewise.
2189 (pp_c_statement): Likewise.
2190 (print_c_tree): Likewise.
2191
65e5a578
ESR
21922013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2193
2194 PR c++/58072
2195 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2196 provide useful error strings.
2197
137a1a27
GDR
21982013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2199
2200 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2201 printer functions instead of pp_string or operators and punctuators.
2202 (dump_generic_ada_node): Likewise.
2203 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2204 (pp_c_relational_expression): Likewise.
2205 (pp_c_logical_or_expression): Likewise.
2206
07838b13
GDR
22072013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2208
2209 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2210 functions instead of pp_character.
2211 (pp_ada_tree_identifier): Likewise.
2212 (dump_ada_double_name): Likewise.
2213 (dump_ada_function_declaration): Likewise.
2214 (dump_ada_array_domains): Likewise.
2215 (dump_template_types): Likewise.
2216 (dump_generic_ada_node): Likewise.
2217 (print_ada_declaration): Likewise.
2218 (print_ada_struct_decl): Likewise.
2219 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2220
433cc7b0
TT
22212013-07-23 Tom Tromey <tromey@redhat.com>
2222
2223 * c-common.h (enum rid) <RID_GENERIC>: New constant.
2224 * c-common.c (c_common_reswords): Add _Generic.
2225
688010ba
OB
22262013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2227
2228 * c-common.c: Fix typos.
2229 * c-common.h: Likewise.
2230
2a99e5e6
LL
22312013-07-13 Lubos Lunak <l.lunak@suse.cz>
2232
2233 PR c++/55203
2234 * c-common.c (c_common_attribute_table): Add warn_unused.
2235 (handle_warn_unused_attribute): New.
2236
c26302d5
JJ
22372013-07-10 Jakub Jelinek <jakub@redhat.com>
2238
2239 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
2240 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
2241
dfeadaa0
PC
22422013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
2243
2244 PR c++/57869
2245 * c.opt: Add Wconditionally-supported.
2246
6a2fa4b2
GS
22472013-07-08 Graham Stott <graham.stott@btinternet.com>
2248
adfac8df 2249 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
2250 unused variables l_length and l_node.
2251
ecdbd01a 22522013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
2253
2254 PR c/57821
2255 * c-common.c (complete_array_type): Delay folding first index
2256 like other indices. When folding, check for index overflow.
2257
bedc293e
MG
22582013-06-27 Marc Glisse <marc.glisse@inria.fr>
2259
2260 PR c++/57509
2261 * c-common.h (c_build_vec_perm_expr): New complain argument.
2262 * c-common.c (c_build_vec_perm_expr): Likewise.
2263 Use save_expr also in C++.
2264
604b2bfc
GDR
22652013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2266
2267 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2268 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2269 * c-opts.c (c_common_post_options): Likewise.
2270
dfeadaa0 22712013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
2272
2273 * array-notation-common.c (length_mismatch_in_expr): Changed the
2274 parameter type's from a dynamic array to a vec_tree. Also removed
2275 the size parameters.
2276 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2277 the change above.
2278
2ce86d2e
BI
22792013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2280
2281 * c-common.h (struct cilkplus_an_parts): New structure.
2282 (struct cilkplus_an_loop_parts): Likewise.
2283 (cilkplus_extract_an_triplets): New prototype.
2284 (fix_sec_implicit_args): Likewise.
2285 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2286 (fix_sec_implicit_args): Likewise.
604b2bfc 2287
07a6825b
BI
22882013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2289
2290 * array-notation-common.c (find_inv_trees): Removed an unwanted
2291 typecasting.
2292 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2293 enum rid to enum tree_code.
2294
08346abd
JH
22952013-06-11 Jan Hubicka <jh@suse.cz>
2296
2297 * c-common.c (handle_alias_ifunc_attribute): Do not set
2298 DECL_EXTERNAL for weakref variables.
2299 * c-pragma.c (handle_pragma_weak): Make sure aliases
2300 are not declared as external.
2301
d60f1706
BI
23022013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2303
2304 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2305 function from c/c-array-notation.c.
2306 (is_cilkplus_reduce_builtin): Likewise.
2307 (find_rank): Likewise.
2308 (extract_array_notation_exprs): Likewise.
2309 (replace_array_notations): Likewise.
2310 (find_inv_trees): Likewise.
2311 (replace_inv_trees): Likewise.
2312 (contains_array_notation_expr): Likewise.
2313 (find_correct_array_notation_type): Likewise.
2314 * c-common.h (struct inv_list): Moved this struct from the file
2315 c/c-array-notation.c and added a new field called additional tcodes.
2316 (length_mismatch_in_expr_p): New prototype.
2317 (is_cilkplus_reduce_builtin): Likewise.
2318 (find_rank): Likewise.
2319 (extract_array_notation_exprs): Likewise.
2320 (replace_array_notation): Likewise.
2321 (find_inv_trees): Likewise.
2322 (replace_inv_trees): Likewise.
2323 (find_correct_array_notation_type): Likewise.
dfeadaa0 2324
36536d79
BI
23252013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2326
2327 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2328 function array_notation_init_builtins is called.
2329 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2330 * c-common.def (ARRAY_NOTATION_REF): New tree.
2331 * c-common.h (build_array_notation_expr): New function declaration.
2332 (build_array_notation_ref): Likewise.
2333 (extract_sec_implicit_index_arg): New extern declaration.
2334 (is_sec_implicit_index_fn): Likewise.
2335 (ARRAY_NOTATION_CHECK): New define.
2336 (ARRAY_NOTATION_ARRAY): Likewise.
2337 (ARRAY_NOTATION_START): Likewise.
2338 (ARRAY_NOTATION_LENGTH): Likewise.
2339 (ARRAY_NOTATION_STRIDE): Likewise.
2340 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2341 ARRAY_NOTATION_REF.
2342 (pp_c_expression): Likewise.
2343 * c.opt (flag_enable_cilkplus): New flag.
2344 * array-notation-common.c: New file.
2345
f7716d57
JJ
23462013-05-14 Jakub Jelinek <jakub@redhat.com>
2347
2348 PR c++/57274
2349 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2350
a5e0cd1d
MG
23512013-05-10 Marc Glisse <marc.glisse@inria.fr>
2352
2353 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2354 vectors.
2355
f6bc1c4a
HS
23562013-05-07 Han Shen <shenhan@google.com>
2357
2358 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2359
3f12f6e9
SKS
23602013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2361
2362 * c-common.c (check_user_alignment): Emit error for negative values.
2363
61949153
PC
23642013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2365
2366 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2367
e93e18e9
PC
23682013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2369
2370 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2371 __GXX_EXPERIMENTAL_CXX1Y__.
2372
44d90fe1
PC
23732013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2374 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2375
2376 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2377 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2378 to simply use OPT_Wpointer_arith.
2379 (c_sizeof_or_alignof_type): Likewise.
2380
13f39b2e
PC
23812013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2382
2383 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2384
4b84d650
JJ
23852013-04-12 Jakub Jelinek <jakub@redhat.com>
2386
2387 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2388 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2389 specifiers.
2390
fb037b5d
SB
23912013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2392
2393 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2394
4e856798
PC
23952013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2396
2397 * c-common.c (pointer_int_sum): Remove dead code.
2398
4b1baac8
RS
23992013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2400
2401 PR middle-end/56524
2402 * c-common.c (handle_optimize_attribute): Don't call
2403 save_optabs_if_changed.
2404
0b50e654
JJ
24052013-03-05 Jakub Jelinek <jakub@redhat.com>
2406
2407 PR middle-end/56461
2408 * c-pch.c (pch_init): Free target_validity at the end.
2409
48c41403
JJ
24102013-03-04 Jakub Jelinek <jakub@redhat.com>
2411
2412 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2413
e664c61c
KS
24142013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2415 Jakub Jelinek <jakub@redhat.com>
2416
2417 PR sanitizer/56454
2418 * c-common.c (handle_no_sanitize_address_attribute): New function.
2419 (c_common_attribute_table): Add no_sanitize_address attribute.
2420 (handle_no_address_safety_analysis_attribute): Add
2421 no_sanitize_address attribute, not no_address_safety_analysis
2422 attribute.
2423
a475fd3d 24242013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
2425
2426 PR target/52555
2427 * c-common.c (handle_optimize_attribute): Call
2428 save_optabs_if_changed.
2429
f6007d99
JJ
24302013-02-18 Jakub Jelinek <jakub@redhat.com>
2431 Steven Bosscher <steven@gcc.gnu.org>
2432
2433 PR pch/54117
2434 * c-opts.c (c_common_post_options): If debug info is enabled
2435 and non-dwarf*, refuse to load PCH files and when writing PCH
2436 file warn.
2437
cf35e2b1
JJ
24382013-02-05 Jakub Jelinek <jakub@redhat.com>
2439
2440 PR middle-end/56167
2441 * c-common.c (handle_error_attribute): Fix condition.
2442
32887460
JJ
24432013-01-30 Jakub Jelinek <jakub@redhat.com>
2444
2445 PR c++/55742
2446 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2447
5af057d8
JM
24482013-01-18 Jason Merrill <jason@redhat.com>
2449
2450 PR target/54908
2451 * c.opt (-fextern-tls-init): New.
2452 * c-opts.c (c_common_post_options): Handle it.
2453
cc83c823
JJ
24542013-01-09 Jakub Jelinek <jakub@redhat.com>
2455
2456 PR c/48418
2457 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2458 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2459 and is either negative or bigger or equal to type precision
2460 of the first operand.
2461
a859517f
MP
24622012-12-03 Marek Polacek <polacek@redhat.com>
2463
2464 PR c/55570
2465 * c-common.c (check_user_alignment): Swap order of tests,
2466 check TREE_CODE first.
2467
2d7aa578
ESR
24682012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2469
2470 PR c++/52654
2471 * c-common.h (overflow_type): New enum.
2472 (build_userdef_literal): Add overflow_type argument.
2473 (tree_userdef_literal): Add overflow_type.
2474 (USERDEF_LITERAL_OVERFLOW): New access macro.
2475 * c-common.c (build_userdef_literal): Add overflow_type
2476 argument.
2477 * c-lex.c (c_lex_with_flags): Add overflow_type to
2478 build_userdef_literal calls.
2479 (interpret_integer, interpret_float): Add overflow_type argument.
2480
cc3c4f62
RB
24812012-11-28 Richard Biener <rguenther@suse.de>
2482
2483 PR c/35634
2484 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2485 here and use a type with proper overflow behavior for types that would
2486 need to be promoted for the arithmetic.
2487
77bc5132
JJ
24882012-11-23 Jakub Jelinek <jakub@redhat.com>
2489
2490 PR sanitizer/55435
2491 * c-common.c (handle_no_address_safety_analysis_attribute): New
2492 function.
2493 (c_common_attribute_table): Add no_address_safety_analysis.
2494
5dc99c46
SB
24952012-11-16 Simon Baldwin <simonb@google.com>
2496
2497 * c.opt: Add f[no-]canonical-system-headers.
2498 * c-opts.c (c_common_handle_option): Handle
2499 OPT_fcanonical_system_headers.
2500
a4a0016d
ESR
25012012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2502
2503 PR c++/54413
2504 * c-opts.c (c_common_handle_option): Set new flags.
2505 * c.opt: Describe new flags.
2506
7dbb85a7
JM
25072012-11-09 Jason Merrill <jason@redhat.com>
2508
2509 * c.opt (Wabi-tag): New.
2510
ad7bac31
AK
25112012-11-09 Andi Kleen <ak@linux.intel.com>
2512
2513 PR 55139
2514 * c-common.c (get_atomic_generic_size): Mask with
2515 MEMMODEL_MASK
2516
7332899a
MLI
25172012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2518
2519 PR c/53063
2520 * c.opt (Wformat): Make it Alias Wformat=1.
2521 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2522 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2523 LangEnabledBy.
2524 (Wformat=): RejectNegative. Use LangEnabledBy.
2525 (Wnonnull): Use LangEnabledBy.
2526 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2527 * c-format.c (set_Wformat): Delete.
2528 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2529 (maybe_read_dollar_number): Likewise.
2530 (avoid_dollar_number): Likewise.
2531 (finish_dollar_format_checking): Likewise.
2532 (check_format_info): Likewise.
2533 (check_format_info_main): Likewise.
2534 (check_format_types): Likewise.
2535 (format_type_warning): Likewise.
2536 * c-common.c (int): Likewise.
2537 (check_function_sentinel): Likewise.
2538 * c-common.h (warn_format,set_Wformat): Do not declare here.
2539
34a180a6
MLI
25402012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2541
2542 PR c/53063
2543 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2544 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2545 Use LangEnabledBy.
2546 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2547 common.opt.
2548 (Wvariadic-macros): Init(1).
2549 * c-opts.c (c_common_handle_option): Do not handle them
2550 explicitly.
2551 (c_common_post_options): Likewise.
2552 (sanitize_cpp_opts): warn_unused_macros is now
2553 cpp_warn_unused_macros.
2554 (push_command_line_include): Likewise.
2555 * c-common.c (warn_unknown_pragmas): Do not define.
2556 * c-common.h (warn_unknown_pragmas): Do not declare.
2557
3f46d6a5
MLI
25582012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2559
2560 PR c/51294
2561 * c-common.c (conversion_warning): Handle conditional expressions.
2562
880661a4
JW
25632012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2564
2565 PR c++/54930
2566 * c.opt (Wreturn_local_addr): Define new option.
2567
4514a96b
JM
25682012-10-25 Jason Merrill <jason@redhat.com>
2569
f14edc1a
JM
2570 * c.opt (Wvirtual-move-assign): New.
2571
4514a96b
JM
2572 * c.opt (Winherited-variadic-ctor): New.
2573
93100c6b
MG
25742012-10-25 Marc Glisse <marc.glisse@inria.fr>
2575
2576 PR c++/54427
2577 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2578
1efcb8c6
JM
25792012-10-23 Joseph Myers <joseph@codesourcery.com>
2580
2581 * c-common.h (pch_cpp_save_state): Declare.
2582 * c-target.def (c_preinclude): New hook.
2583 * c-opts.c (done_preinclude): New.
2584 (push_command_line_include): Handle default preincluded header.
2585 (cb_file_change): Call pch_cpp_save_state when calling
2586 push_command_line_include.
2587 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2588 (pch_cpp_save_state): New.
2589 (pch_init): Call pch_cpp_save_state conditionally, instead of
2590 calling cpp_save_state.
2591
4a0ae68e
MLI
25922012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2593
2594 PR c/53063
2595 PR c/40989
2596 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2597 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2598 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2599 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2600 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2601 * c-opts.c (c_common_handle_option): Remove explicit handling from
2602 here.
2603 (c_common_post_options): Likewise.
2604
67e4210b
EB
26052012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2606
2607 * c-ada-spec.c (LOCATION_COL): Delete.
2608 (compare_location): New function.
2609 (compare_node): Use it.
2610 (compare_comment): Likewise.
2611
65d4f2cd
MLI
26122012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2613
2614 PR c/53063
2615 PR c/40989
2616 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2617 * c-opts.c (c_common_handle_option): Do not set them here. Add
2618 comment.
2619 (c_common_post_options): Likewise.
2620
909881cb
EB
26212012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2622
2623 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2624 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2625 Remove POINTER_TYPE handling, add large unsigned handling and use
2626 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2627
3a785c97
JJ
26282012-10-12 Jakub Jelinek <jakub@redhat.com>
2629
2630 PR c/54381
2631 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2632 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2633 locs and array of 3 trees instead of just single loc and single
2634 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2635 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2636 For *cmp* builtins that take two sources strings report warnings
2637 about first and second source, not about destination and source.
2638
5e54f81d
MG
26392012-10-12 Marc Glisse <marc.glisse@inria.fr>
2640
2641 PR c++/53055
2642 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2643
f5b02f1e
EB
26442012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2645
2646 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2647 declaring something coming from another file.
2648
b46dbc6c
AC
26492012-10-10 Arnaud Charlet <charlet@adacore.com>
2650
f5b02f1e 2651 PR ada/54845
b46dbc6c
AC
2652 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2653
5d9de0d0
PC
26542012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2655
2656 PR c++/54194
2657 * c-common.c (warn_about_parentheses): Add location_t parameter;
2658 use EXPR_LOC_OR_LOC.
2659 * c-common.h: Update declaration.
2660
a212e43f
MG
26612012-10-09 Marc Glisse <marc.glisse@inria.fr>
2662
2663 PR c++/54427
2664 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2665 more operations. Make error messages optional.
2666 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2667 (scalar_to_vector): Declare.
2668
b1db7f91
JM
26692012-10-08 Jason Merrill <jason@redhat.com>
2670
2671 * c-common.c (c_common_reswords): Add thread_local.
2672
e28d52cf
DS
26732012-10-08 Dodji Seketeli <dodji@redhat.com>
2674
2675 PR c++/53528 C++11 attribute support
2676 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2677 new functions.
2678 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2679 static function.
2680 (handle_aligned_attribute): In choose strictest alignment
2681 among many. Use new check_cxx_fundamental_alignment_constraints.
2682 (handle_transparent_union_attribute): In c++11 attribute syntax,
2683 don't look through typedefs.
2684
3b78de56
AC
26852012-10-04 Arnaud Charlet <charlet@adacore.com>
2686
2687 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2688 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2689 out of dumpfile.h.
2690
6040bb5f
DC
26912012-09-25 Dehao Chen <dehao@google.com>
2692
2693 PR middle-end/54645
3b78de56 2694 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
2695 map when read in the pch.
2696
0b07a57e
AC
26972012-09-18 Arnaud Charlet <charlet@adacore.com>
2698
2699 * c-ada-spec.c: Style fixes.
2700
da5182be
TQ
27012012-09-18 Thomas Quinot <quinot@adacore.com>
2702
2703 * c.opt (-fada-spec-parent): Define new command line switch.
2704 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2705 is specified, generate binding spec as a child of the specified unit.
2706
0ccb505d
PC
27072012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2708 Manuel López-Ibáñez <manu@gcc.gnu.org>
2709
2710 PR c++/53210
2711 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2712
c583af79
AC
27132012-08-23 Arnaud Charlet <charlet@adacore.com>
2714
2715 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2716 for pointers, and add missing Convention C pragma.
2717 (print_ada_struct_decl): Add missing aliased keyword.
2718 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2719
1a4049e7
JJ
27202012-08-17 Jakub Jelinek <jakub@redhat.com>
2721
2722 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2723 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2724 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2725 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2726 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2727
70b5e7dc
RG
27282012-08-10 Richard Guenther <rguenther@suse.de>
2729
2730 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2731
f8923f7e
SB
27322012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2733
2734 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2735 instead of separate pp_newline and pp_flush.
2736 (print_c_tree): Likewise.
2737
e45abe1f
RH
27382012-07-26 Richard Henderson <rth@redhat.com>
2739
2740 * c-common.c (handle_hot_attribute): Allow labels.
2741 (handle_cold_attribute): Likewise.
2742
332f1d24
JJ
27432012-07-20 Jakub Jelinek <jakub@redhat.com>
2744
2745 PR c++/28656
2746 * c-common.c (check_function_nonnull): Handle multiple nonnull
2747 attributes properly.
2748
7ee2468b
SB
27492012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2750
2751 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2752 * c-ada-spec.c: Likewise.
2753 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2754
ee7b28eb
SB
27552012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2756
2757 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2758 Remove code conditional on it.
2759
6bdf3519
SB
27602012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2761
2762 * c-gimplify.c: Do not include basic-block.h.
2763 * c-common.c: Do not include linfuncs.h.
2764
532aafad
SB
27652012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2766
2767 * c-common.h: Include tree.h.
2768
8d0d1915
JM
27692012-07-02 Jason Merrill <jason@redhat.com>
2770
2771 PR c++/53524
2772 * c-common.c (get_priority): Call default_conversion.
2773
fbc873ad
UB
27742012-07-01 Uros Bizjak <ubizjak@gmail.com>
2775
2776 * c-pch.c (c_common_write_pch): Remove unused variables.
2777
d4a10d0a
SB
27782012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2779
2780 * cppspec.c: Moved from gcc/ to here.
2781
6f3a2e23
KT
27822012-06-27 Kai Tietz <ktietz@redhat.com>
2783
2784 PR preprocessor/37215
2785 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2786
8ca92d04
SB
27872012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2788
2789 * c-common.h (c_common_print_pch_checksum): Remove.
2790 * c-pch.c: Do not include output.h.
2791 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2792 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2793 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2794 (struct c_pch_header): Remove.
2795 (get_ident): Update gpch version.
2796 (pch_init): Do not print executable_checksum to asm_out_file.
2797 Do not fail if there is no asm_out_file to read back from. Set
2798 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2799 (c_common_write_pch): Verify that nothing was written to asm_out_file
2800 since pch_init was called. Do not write a c_pch_header, and do not
2801 copy from asm_out_file to the PCH.
2802 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2803 the content of asm_out_file from the PCH.
2804 (c_common_print_pch_checksum): Remove.
2805 * c-opts.c (c_common_init): Print out executable_checksum directly.
2806
70f42967
SB
28072012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2808
2809 * c-target.def (objc_declare_unresolved_class_reference,
2810 objc_declare_class_definition): Add new hooks.
2811
a8781821
SB
28122012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2813
2814 * c-lex.c: Do not include output.h.
2815 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2816 Remove uses of ASM_OUTPUT_IDENT.
2817
9e1a8dd1
RR
28182012-06-15 Marc Glisse <marc.glisse@inria.fr>
2819
2820 PR c++/51033
2821 * c-common.h (c_build_vec_perm_expr): Move decl here.
2822 * c-common.c (c_build_vec_perm_expr): Move definition
2823 here.
2824
6f07a821
SB
28252012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2826
2827 * c.opt (fconserve-space): Turn into a no-op.
2828
9faeb493 28292012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
2830
2831 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2832 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2833 both the start and end of the function.
2834
a4b7d13c
SB
28352012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2836
2837 * c-common.c: Do not include output.h.
2838 * c-pragma.c: Likewise.
2839
c265f413
SA
28402012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2841
2842 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2843 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2844 (lang_decl_name): Handle namespace decls.
2845
be7a421e
SB
28462012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2847
2848 * c-ada-spec.c: Do not include output.h.
2849 * c-semantics.c: Likewise.
2850
65de6659
JM
28512012-05-29 Joseph Myers <joseph@codesourcery.com>
2852
2853 * c-common.c: Fix typo.
2854
ca5f4331
MM
28552012-05-29 Michael Matz <matz@suse.de>
2856
2857 * c-common.h (c_expand_decl): Remove prototype.
2858
4f7f7aca
MLI
28592012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2860
2861 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2862 * c-opts.c (c_common_handle_option): Remove code handling
2863 warn_missing_braces.
2864
4a792f9b
PC
28652012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2866
2867 PR c++/25137
2868 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2869 -Wmissing_braces.
2870
650dc14a
DS
28712012-05-22 Dodji Seketeli <dodji@redhat.com>
2872
2873 PR c++/53322
2874 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2875
9b095bf1
MLI
28762012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2877
2878 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2879 * c-opts.c (c_common_handle_option): Do not handle explicitly
2880 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2881
0b2c4be5
DS
28822012-05-16 Dodji Seketeli <dodji@redhat.com>
2883
2884 PR preprocessor/7263
2885 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2886 to cpp_classify_number. For diagnostics, use the precise location
2887 instead of the global input_location.
2888
a1bde5af
PC
28892012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2890
d02924ef 2891 PR c++/11856
a1bde5af
PC
2892 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2893
d1ede5f4
BS
28942012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2895
a1bde5af 2896 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 2897
f2bc201f
MLI
28982012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2899
2900 PR 53063
2901 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2902 Wreorder): Use LangEnabledBy.
2903 * c-opts.c (c_common_handle_option): Do not enable them
2904 explicitly. Call lang-specific generated functions.
2905 (c_common_post_options): Do not set them here.
2906
95744782
MLI
29072012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2908
2909 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2910 Wmissing-field-initializers,Wmissing-parameter-type,
2911 Wold-style-declaration,Woverride-init): Use EnabledBy.
2912 * c-opts.c (c_common_post_options): Do not set here explicitly.
2913
7d5a5747
MLI
29142012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2915
2916 PR 53063
2917 * c-opts.c (c_common_handle_option): Use handle_generated_option
2918 to enable sub-options.
2919
5a3c9cf2
PC
29202012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2921
2922 PR c++/53158
2923 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2924
3ac8781c
RG
29252012-05-10 Richard Guenther <rguenther@suse.de>
2926
2927 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2928 adjust commentary about TYPE_IS_SIZETYPE types.
2929
1e537948
MLI
29302012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2931
2932 PR c++/53261
2933 * c-common.c (warn_logical_operator): Check that argument of
2934 integer_zerop is not NULL.
2935
f2c4a785
MLI
29362012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2937
2938 PR c/43772
2939 * c-common.c (warn_logical_operator): Do not warn if either side
2940 is already true or false.
2941
50f305ca
MLI
29422012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2943
2944 PR c/51712
2945 * c-common.c (expr_original_type): New.
2946 (shorten_compare): Do not warn for enumeration types.
2947
0c3641b0
MLI
29482012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2949
2950 * c.opt (fpermissive): Add Var(flag_permissive).
2951
7edaa4d2
MG
29522012-04-30 Marc Glisse <marc.glisse@inria.fr>
2953
2954 PR c++/51033
2955 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2956 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2957
b9c8da34
DS
29582012-04-30 Dodji Seketeli <dodji@redhat.com>
2959
2960 Add -Wvarargs option
2961 * c.opt (Wvarargs): Define new option.
2962
e6c69da0
MLI
29632012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2964
2965 * c-common.c (check_function_arguments): Replace
2966 Wmissing-format-attribute with Wsuggest-attribute=format.
2967
90137d8f
MLI
29682012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2969
2970 * c.opt (Wsuggest-attribute=format): New. Alias of
2971 Wmissing-format-attribute.
2972 * c-format.c (decode_format_type): Replace
2973 Wmissing-format-attribute with Wsuggest-attribute=format.
2974 (check_function_format): Likewise.
2975
9faeb493 29762012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
2977
2978 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2979 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2980 * c.opt: Add Wliteral-suffix.
2981
c1771a20
MLI
29822012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2983
2984 PR c/44774
2985 * c.opt (Wpedantic): New.
2986 (pedantic): Alias Wpedantic.
2987 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2988 (c_common_post_options): Likewise.
2989 (sanitize_cpp_opts): Likewise.
2990 * c-lex.c (interpret_float): Likewise.
2991 * c-format.c (check_format_types): Likewise.
2992 * c-common.c (pointer_int_sum): Likewise.
2993 (c_sizeof_or_alignof_type): Likewise.
2994 (c_add_case_label): Likewise.
2995 (c_do_switch_warnings): Likewise.
2996 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2997
04b391c1
JM
29982012-04-15 Jason Merrill <jason@redhat.com>
2999
3000 PR c++/52818
3001 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3002 (C_STD_NAME): Distinguish between C++98 and C++11.
3003
ac868f29
EB
30042012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3005
3006 PR target/52624
3007 * c-common.h (uint16_type_node): Rename into...
3008 (c_uint16_type_node): ...this.
3009 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3010 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3011
fd4116f4
MLI
30122012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3013
3014 * c-common.c (warn_if_unused_value): Move definition to here.
3015 * c-common.h (warn_if_unused_value): Move declaration to here.
3016
573ac65e
WB
30172012-03-23 William Bader <williambader@hotmail.com>
3018
3019 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3020
552b8185
JM
30212012-03-20 Jason Merrill <jason@redhat.com>
3022
3023 * c-common.h (enum cxx_dialect): Add cxx1y.
3024 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3025 test.
3026 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3027 * c-opts.c (c_common_post_options): Likewise.
3028 (set_std_cxx1y): New.
3029 (c_common_handle_option): Call it.
3030 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3031
04398fa8
PC
30322012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3033
3034 PR c++/14710
3035 * c.opt ([Wuseless-cast]): Add.
3036
d2a12ae7
RG
30372012-03-16 Richard Guenther <rguenther@suse.de>
3038
3039 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3040
a12bf402
MLI
30412012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3042
3043 PR c++/44783
3044 * c.opt (ftemplate-backtrace-limit) Add.
3045
5c30094f
RO
30462012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3047
3048 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3049 handling.
3050 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3051 (init_pragma): Don't register extern_prefix.
3052
21fa2faf
RG
30532012-03-12 Richard Guenther <rguenther@suse.de>
3054
3055 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3056 (builtin_type_for_size): Likewise.
3057
e3793c6f
JJ
30582012-02-13 Jakub Jelinek <jakub@redhat.com>
3059
3060 PR c++/52215
3061 * c-common.c (sync_resolve_params): Don't decide whether to convert
3062 or not based on TYPE_SIZE comparison, convert whenever arg_type
3063 is unsigned INTEGER_TYPE.
3064
93286335
PC
30652012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3066
3067 PR c/52118
3068 * c.opt ([Wunused-local-typedefs]): Fix description.
3069
7a421706
MS
30702012-01-24 Mike Stump <mikestump@comcast.net>
3071
3072 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3073 exactly.
3074
ba9b1f11
RG
30752012-01-18 Richard Guenther <rguenther@suse.de>
3076
3077 * c-opts.c (c_common_post_options): Reset LTO flags if
3078 we are about to generate a PCH.
3079
465406be
PC
30802012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3081
3082 PR c++/51777
3083 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3084 use pp_unsigned_wide_integer.
3085
aee15221
RG
30862012-01-10 Richard Guenther <rguenther@suse.de>
3087
3088 PR middle-end/51806
3089 * c-opts.c (c_common_handle_option): Move -Werror handling
3090 to language independent code.
3091
5720c0dc
RG
30922012-01-05 Richard Guenther <rguenther@suse.de>
3093
3094 PR middle-end/51764
3095 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3096 from common.opt.
3097
73ac190a
PC
30982011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3099
3100 PR c++/51316
3101 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3102 of array types with an unknown bound.
3103
48b0b196
JM
31042011-12-20 Joseph Myers <joseph@codesourcery.com>
3105
3106 * c-common.c (flag_isoc99): Update comment to refer to C11.
3107 (flag_isoc1x): Change to flag_isoc11.
3108 * c-common.h (flag_isoc99): Update comment to refer to C11.
3109 (flag_isoc1x): Change to flag_isoc11.
3110 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3111 C11.
3112 * c-opts.c (set_std_c1x): Change to set_std_c11.
3113 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3114 Call set_std_c11.
3115 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3116 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3117 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3118 standard.
3119 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3120 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3121 (std=gnu1x): Make alias of std=gnu11.
3122
d58d6eb5
JM
31232011-12-19 Jason Merrill <jason@redhat.com>
3124
3125 PR c++/51228
3126 * c-common.c (handle_transparent_union_attribute): Check the first
3127 field if the type is complete.
3128
b3908fcc
JW
31292011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3130
3131 PR libstdc++/51365
3132 * c-common.c (RID_IS_FINAL): Add.
3133 * c-common.h (RID_IS_FINAL): Add.
3134
fea3ca91
IS
31352011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3136
3137 * c.opt (fgnu-runtime): Provide full description.
3138 (fnext-runtime): Likewise.
3139 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3140
62bad7cd
AM
31412011-11-28 Andrew MacLeod <amacleod@redhat.com>
3142
3143 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3144 predefines in one place. Add LOCK_FREE predefines.
3145 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3146 new func.
3147
c466c4ff
AM
31482011-11-24 Andrew MacLeod <amacleod@redhat.com>
3149
3150 PR c/51256
9faeb493 3151 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 3152 conditions
9faeb493
UB
3153 (resolve_overloaded_atomic_exchange,
3154 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
3155 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3156 error_mark_node for error conditions.
9faeb493 3157
a5952633
RG
31582011-11-08 Richard Guenther <rguenther@suse.de>
3159
3160 PR middle-end/51010
3161 c-family/
3162
0a35513e
AH
31632011-11-07 Richard Henderson <rth@redhat.com>
3164 Aldy Hernandez <aldyh@redhat.com>
3165 Torvald Riegel <triegel@redhat.com>
3166
3167 Merged from transactional-memory.
3168
3169 * c-common.c (handle_tm_wrap_attribute,
3170 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3171 (struct c_common_reswords): Added __transaction* keywords.
3172 (struct c_common_attribute_table): Added transaction* and tm_regparm
3173 attributes.
3174 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3175 masks.
3176 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3177 find_tm_attribute): Declare.
3178
6d87092d
JM
31792011-11-07 Jason Merrill <jason@redhat.com>
3180
3181 PR c++/35688
3182 * c-common.c, c-common.h: Revert yesterday's changes.
3183
8e7860a1
JM
31842011-11-06 Jason Merrill <jason@redhat.com>
3185
3186 PR c++/35688
3187 * c-common.c (decl_has_visibility_attr): Split out from...
3188 (c_determine_visibility): ...here.
3189 * c-common.h: Declare it.
3190
d19fa6b5
JM
31912011-11-06 Joseph Myers <joseph@codesourcery.com>
3192
3193 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3194 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3195 type.
3196 (check_user_alignment): New. Split out of
3197 handle_aligned_attribute. Disallow integer constants with
3198 noninteger types. Conditionally allow zero.
3199 (handle_aligned_attribute): Use check_user_alignment.
3200 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3201
86951993
AM
32022011-11-06 Andrew MacLeod <amacleod@redhat.com>
3203 Richard Henderson <rth@redhat.com>
3204
3205 Merged from cxx-mem-model.
3206
3207 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 3208 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
3209 parameters that are the same type size.
3210 (get_atomic_generic_size): New. Find size of generic
3211 atomic function parameters and do typechecking.
3212 (add_atomic_size_parameter): New. Insert size into parameter list.
3213 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3214 either __atomic_exchange_n or external library call.
9faeb493 3215 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 3216 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 3217 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
3218 __atomic_load_n or an external library call.
3219 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
3220 __atomic_store_n or an external library call.
3221 (resolve_overloaded_builtin): Handle new __atomic builtins.
3222
cf9e9959
EB
32232011-11-04 Eric Botcazou <ebotcazou@adacore.com>
3224
3225 PR c++/50608
3226 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
3227 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
3228 <INDIRECT_REF>: Return the argument.
3229 <ARRAY_REF>: Remove special code for negative offset.
3230 Call fold_build_pointer_plus instead of size_binop.
3231 (fold_offsetof): Remove STOP_REF argument and adjust.
3232 * c-common.h (fold_offsetof_1): Declare.
3233 (fold_offsetof): Remove STOP_REF argument.
3234
25339f10
JM
32352011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
3236
3237 PR c++/50810
3238 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3239 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3240 Wnarrowing for C++0x and C++98.
3241 * c.opt ([Wnarrowing]): Update.
3242
89401152
PC
32432011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
3244
3245 PR c++/44277
3246 * c.opt: Add Wzero-as-null-pointer-constant.
3247
97e3ad20
JM
32482011-10-31 Jason Merrill <jason@redhat.com>
3249
15694fdd
JM
3250 * c.opt (-fdeduce-init-list): Off by default.
3251
97e3ad20
JM
3252 PR c++/50920
3253 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
3254 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
3255 and -Wc++11-compat.
3256 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3257
fb9120e3
RAV
32582011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3259
3260 PR c++/30066
3261 * c.opt (fvisibility-inlines-hidden): Description change.
3262
3ce4f9e4
ESR
32632011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3264
3265 Implement C++11 user-defined literals.
3266 * c-common.c (build_userdef_literal): New.
3267 * c-common.def: New tree code.
3268 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3269 * c-lex.c (interpret_float): Add suffix parm.
3270 (c_lex_with_flags): Build literal tokens.
3271
5f53c243
PC
32722011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3273
3274 PR c++/50841
3275 Revert:
3276 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3277
3278 PR c++/50810
3279 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3280 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3281 Wnarrowing for C++0x and C++98.
3282 * c.opt ([Wnarrowing]): Update.
3283
263734e1
PC
32842011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3285
3286 PR c++/50810
3287 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3288 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3289 Wnarrowing for C++0x and C++98.
3290 * c.opt ([Wnarrowing]): Update.
3291
d2e312d7
PC
32922011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3293
3294 PR c++/45385
3295 * c-common.c (conversion_warning): Remove code looking for
3296 artificial operands.
3297
d17687f6
DS
32982011-10-18 Dodji Seketeli <dodji@redhat.com>
3299
3300 PR bootstrap/50760
3301 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 3302 !NO_IMPLICIT_EXTERN_C.
d17687f6 3303
fc8396e9
PC
33042011-10-17 Michael Spertus <mike_spertus@symantec.com>
3305
3306 * c-common.c (c_common_reswords): Add __bases,
3307 __direct_bases.
3308 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3309
33102011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3311
3312 PR c++/50757
3313 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3314
847e697a
TT
33152011-10-15 Tom Tromey <tromey@redhat.com>
3316 Dodji Seketeli <dodji@redhat.com>
3317
3318 * c.opt (fdebug-cpp): New option.
3319 * c-opts.c (c_common_handle_option): Handle the option.
3320 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3321 output stream in parameter. Factorized from ...
3322 (maybe_print_line): ... this. Dump location debug information when
3323 -fdebug-cpp is in effect.
3324 (print_line_1): New static function. Takes an output stream in
3325 parameter. Factorized from ...
3326 (print_line): ... here. Dump location information when -fdebug-cpp
3327 is in effect.
3328 (scan_translation_unit): Dump location information when
3329 -fdebug-cpp is in effect.
3330
92582b75
TT
33312011-10-15 Tom Tromey <tromey@redhat.com>
3332 Dodji Seketeli <dodji@redhat.com>
3333
3334 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3335 without argument.
3336 * c-opts.c (c_common_handle_option)<case
3337 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3338 cases. Handle -ftrack-macro-expansion with and without argument.
3339
46427374
TT
33402011-10-15 Tom Tromey <tromey@redhat.com>
3341 Dodji Seketeli <dodji@redhat.com>
3342
3343 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3344 (print_line, cb_define, do_line_change): Adjust to avoid touching
3345 the internals of struct line_map. Use the public API instead.
3346 * c-pch.c (c_common_read_pch): Likewise.
3347 * c-lex.c (fe_file_change): Likewise.
3348
fc8396e9
PC
33492011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3350
3351 PR c++/17212
3352 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3353
33542011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3355
3356 PR c++/33067
3357 * c-pretty-print.c (pp_c_floating_constant): Output
3358 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3359
e79983f4
MM
33602011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3361
3362 * c-common.c (def_builtin_1): Delete old interface with two
3363 parallel arrays to hold standard builtin declarations, and replace
3364 it with a function based interface that can support creating
3365 builtins on the fly in the future. Change all uses, and poison
3366 the old names. Make sure 0 is not a legitimate builtin index.
3367 * c-omp.c (c_finish_omp_barrier): Ditto.
3368 (c_finish_omp_taskwait): Ditto.
3369 (c_finish_omp_flush): Ditto.
3370
6637388f
TG
33712011-10-11 Tristan Gingold <gingold@adacore.com>
3372
3373 * c.opt: (fallow-parameterless-variadic-functions): New.
3374
3797cb21
DS
33752011-09-08 Dodji Seketeli <dodji@redhat.com>
3376
3377 PR c++/33255 - Support -Wunused-local-typedefs warning
3378 * c-common.h (struct c_language_function::local_typedefs): New
3379 field.
9faeb493
UB
3380 (record_locally_defined_typedef, maybe_record_typedef_use)
3381 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 3382 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
3383 (maybe_record_typedef_use)
3384 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
3385 * c.opt: Declare new -Wunused-local-typedefs flag.
3386
693ddb1b
EB
33872011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3388
3389 PR middle-end/50266
3390 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3391 computations.
3392
830c740f
RG
33932011-09-05 Richard Guenther <rguenther@suse.de>
3394
3395 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3396 of integer_minus_one_node for empty array upper bounds.
3397
892a371f
DS
33982011-08-28 Dodji Seketeli <dodji@redhat.com>
3399
3400 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3401 it's the first time it's being called on this main TU.
3402
0e3fdb48
RB
34032011-08-24 Richard Guenther <rguenther@suse.de>
3404
3405 PR c/49396
3406 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3407
34082011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
3409
3410 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3411 defined in cpp_init_builtins and c_cpp_builtins.
3412
d4a83c10
JM
34132011-08-19 Joseph Myers <joseph@codesourcery.com>
3414
3415 * c-common.c (c_common_reswords): Add __builtin_complex.
3416 * c-common.h (RID_BUILTIN_COMPLEX): New.
3417
bbceee64
JM
34182011-08-18 Joseph Myers <joseph@codesourcery.com>
3419
3420 * c-common.c (c_common_reswords): Add _Noreturn.
3421 (keyword_is_function_specifier): Handle RID_NORETURN.
3422 * c-common.h (RID_NORETURN): New.
3423
0e3a99ae
AS
34242011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3425
3426 * c-common.c (unsafe_conversion_p): New function. Check if it is
3427 unsafe to convert an expression to the type.
3428 (conversion_warning): Adjust, use unsafe_conversion_p.
3429 * c-common.h (unsafe_conversion_p): New function declaration.
3430
20906c66
JJ
34312011-08-02 Jakub Jelinek <jakub@redhat.com>
3432
3433 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3434 (c_finish_omp_taskyield): New prototype.
3435 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3436 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3437 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3438 or RHS1 have side-effects, evaluate those too in the right spot,
3439 if it is a decl and LHS is also a decl, error out if they
3440 aren't the same.
3441 (c_finish_omp_taskyield): New function.
3442 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3443 * c-pragma.c (omp_pragmas): Add taskyield.
3444 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3445 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3446 PRAGMA_OMP_CLAUSE_MERGEABLE.
3447
770e5a2e
DS
34482011-07-25 Dodji Seketeli <dodji@redhat.com>
3449
3450 * c-common.h (set_underlying_type): Remove parm name from
3451 declaration.
3452
1baae426
RG
34532011-07-25 Romain Geissler <romain.geissler@gmail.com>
3454
3455 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 3456
fcb21722
JM
34572011-07-22 Jason Merrill <jason@redhat.com>
3458
76f86d00
JM
3459 PR c++/49793
3460 * c.opt (Wnarrowing): New.
3461
3a636414
JM
3462 PR c++/30112
3463 * c-common.h: Declare c_linkage_bindings.
3464 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3465
fcb21722
JM
3466 PR c++/49813
3467 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3468 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3469 as flag_isoc99 for 'restrict'.
3470 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3471
02614448
ILT
34722011-07-21 Ian Lance Taylor <iant@google.com>
3473
3474 PR middle-end/49705
3475 * c-common.c (c_disable_warnings): New static function.
3476 (c_enable_warnings): New static function.
3477 (c_fully_fold_internal): Change local unused_p to bool. Call
3478 c_disable_warnings and c_enable_warnings rather than change
3479 c_inhibit_evaluation_warnings.
3480
34429675
JM
34812011-07-20 Jason Merrill <jason@redhat.com>
3482
3483 PR c++/6709 (DR 743)
3484 PR c++/42603 (DR 950)
3485 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3486 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3487 (CPP_DECLTYPE): New.
3488 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3489
5d49b6a7
RG
34902011-07-19 Richard Guenther <rguenther@suse.de>
3491
3492 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3493 * c-omp.c (c_finish_omp_for): Likewise.
3494
e84a58ff
EB
34952011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3496
3497 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3498 body on the next line.
3499
329af3c7
JM
35002011-07-08 Jason Merrill <jason@redhat.com>
3501
4063e61b
JM
3502 PR c++/45437
3503 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3504
329af3c7
JM
3505 PR c++/49673
3506 * c-common.c (c_apply_type_quals_to_decl): Don't check
3507 TYPE_NEEDS_CONSTRUCTING.
3508
1a072294
RG
35092011-07-06 Richard Guenther <rguenther@suse.de>
3510
3511 * c-common.c (c_common_nodes_and_builtins):
3512 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3513
fce5dddd
RG
35142011-07-05 Richard Guenther <rguenther@suse.de>
3515
3516 * c-common.c (c_common_nodes_and_builtins): Build all common
3517 tree nodes first.
3518
45d439ac
JJ
35192011-06-27 Jakub Jelinek <jakub@redhat.com>
3520
56300785
JJ
3521 * c-common.h (c_tree_chain_next): New static inline function.
3522
45d439ac
JJ
3523 * c-common.c (check_builtin_function_arguments): Handle
3524 BUILT_IN_ASSUME_ALIGNED.
3525
e0a8ecf2
AM
35262011-06-21 Andrew MacLeod <amacleod@redhat.com>
3527
3528 * c-common.c: Add sync_ or SYNC__ to builtin names.
3529 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
3530
35312011-06-20 Pierre Vittet <piervit@pvittet.com>
3532
3533 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3534 handler.
3535 (gen_pragma_handler): New union.
3536 (internal_pragma_handler): New type.
3537 (c_register_pragma_with_data)
3538 (c_register_pragma_with_expansion_and_data): New functions.
3539
3540 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3541 (c_register_pragma, c_register_pragma_with_expansion)
3542 (c_invoke_pragma_handler): Changed to work with
3543 internal_pragma_handler.
3544 (c_register_pragma_with_data)
3545 (c_register_pragma_with_expansion_and_data): New functions.
3546
677f3fa8
JM
35472011-06-14 Joseph Myers <joseph@codesourcery.com>
3548
3549 * c-common.c: Include common/common-target.h.
3550 (handle_section_attribute): Use
3551 targetm_common.have_named_sections.
3552 * c-cppbuiltin.c: Include common/common-target.h.
3553 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3554
d7fc8c14
RG
35552011-06-10 Richard Guenther <rguenther@suse.de>
3556
3557 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3558 to print a IDENTIFIER_NODE.
3559
10e48e39
RO
35602011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3561 Joseph Myers <joseph@codesourcery.com>
3562
3563 * c.opt (fbuilding-libgcc): New option.
3564 * c-cppbuiltin.c (c_cpp_builtins): Define
3565 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3566
6976ae51
JM
35672011-06-07 Jason Merrill <jason@redhat.com>
3568
3ff60975
JM
3569 * c-common.c (max_tinst_depth): Lower default to 900.
3570
6976ae51
JM
3571 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3572
009db074
RG
35732011-06-07 Richard Guenther <rguenther@suse.de>
3574
3575 * c-common.c (c_common_nodes_and_builtins): Do not set
3576 size_type_node or call set_sizetype.
3577
b4592b92
DS
35782011-06-07 Dodji Seketeli <dodji@redhat.com>
3579
3580 PR debug/49130
3581 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 3582 type when using pointer comparison to compare types.
b4592b92 3583
014ab419
JW
35842011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3585
3586 * c.opt: Add -Wdelete-non-virtual-dtor.
3587 * c-opts.c (c_common_handle_option): Include it in -Wall.
3588
4f60111f
NF
35892011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3590
3591 PR bootstrap/49190
3592
3593 Revert:
3594 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3595
3596 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3597 not tree_common.
3598
4cc4f2f4
JJ
35992011-05-27 Jakub Jelinek <jakub@redhat.com>
3600
3601 PR c++/49165
3602 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3603 C++ don't call c_common_truthvalue_conversion on void type arms.
3604
38e01f9e
NF
36052011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3606
3607 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3608 (stmt_list_stack): Define.
3609 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3610 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3611
92e948a8
NF
36122011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3613
3614 * c-common.c (warning_candidate_p): Check for BLOCKs.
3615
a2fc3e63
NF
36162011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3617
3618 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3619 not tree_common.
3620
0957c029
JJ
36212011-05-25 Jakub Jelinek <jakub@redhat.com>
3622
3623 * c-common.c (def_fn_type): Remove extra va_end.
3624
828fb3ba
JM
36252011-05-23 Jason Merrill <jason@redhat.com>
3626
3627 PR c++/48106
3628 * c-common.c (c_common_get_narrower): New.
3629 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3630
dde05067
NF
36312011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3632
3633 * c-common.h (check_function_arguments): Tweak prototype of
3634 check_function_arguments.
3635 * c-common.c (check_function_arguments): Likewise. Adjust
3636 calls to check_function_nonnull, check_function_format, and
3637 check_function_sentinel.
3638 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3639 separate attributes and typelist arguments. Use
3640 FOREACH_FUNCTION_ARGS to iterate over argument types.
3641
3c0d13bf
PC
36422011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3643
3644 * c-common.c (c_common_reswords): Reorder.
3645 * c-common.h (rid): Likewise.
3646
8242dd04
NF
36472011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3648
3649 * c-common.c (def_fn_type): Don't call build_function_type, call
3650 build_function_type_array or build_varargs_function_type_array
3651 instead.
3652 (c_common_nodes_and_builtins): Likewise.
3653
3d528853
NF
36542011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3655
3656 * c-common.c (c_add_case_label): Omit the loc argument to
3657 build_case_label.
3658 * c-common.h (build_case_label): Remove.
3659 * c-semantics.c (build_case_label): Remove.
3660
a04a722b
JM
36612011-05-05 Joseph Myers <joseph@codesourcery.com>
3662
3663 * c-objc.h (objc_start_method_definition): Update prototype.
3664 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3665
e19a18d4
NF
36662011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3667
3668 * c-common.c (check_main_parameter_types): Reindent. Don't use
3669 TYPE_ARG_TYPES directly.
3670 (handle_nonnull_attribute): Likewise.
3671 (sync_resolve_params): Likewise.
3672 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3673 to check_format_string.
3674 (handle_format_attribute): Likewise.
3675 (check_format_string): Take a function type to examine instead of
3676 a type list. Use a function_arg_iterator to step through argument
3677 types.
3678
c62c040f
RG
36792011-05-04 Richard Guenther <rguenther@suse.de>
3680
3681 * c-common.c (fix_string_type): Use size_int for index type bounds.
3682 (start_fname_decls): Do not pass NULL to build_int_cst.
3683 (c_init_attributes): Likewise.
3684 * c-lex.c (c_lex_with_flags): Likewise.
3685
c12ff9d8
JM
36862011-04-27 Jason Merrill <jason@redhat.com>
3687
3688 * c-common.c (make_tree_vector_from_list): New.
3689 * c-common.h: Declare it.
3690
304dfbe3
RG
36912011-04-26 Richard Guenther <rguenther@suse.de>
3692
3693 PR preprocessor/48248
3694 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3695 for output size with -P.
3696
3c0d13bf
PC
36972011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3698
3699 * c-common.c (struct c_common_resword): Add __underlying_type.
3700 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3701
04695783
JM
37022011-04-20 Jim Meyering <meyering@redhat.com>
3703
3704 * c-format.c (init_dollar_format_checking): Remove useless
3705 if-before-free.
3706
0dc33c3c
NP
37072011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3708
3709 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 3710 (objc_detect_field_duplicates): New.
0dc33c3c 3711 * stub-objc.c: Likewise.
3c0d13bf 3712
c59633d9
NP
37132011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3714
3715 * stub-objc.c (objc_declare_protocols): Renamed to
3716 objc_declare_protocol.
3717 * c-objc.h: Likewise.
3c0d13bf 3718
32dabdaf
NP
37192011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3720
3721 * stub-objc.c (objc_declare_class): Updated argument name.
3722
81f653d6
NF
37232011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3724
3725 * c-common.h (c_common_init_ts): Declare.
3726 * c-common.c (c_common_init_ts): Define.
3727
eb345401
NP
37282011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3729
3730 * c-objc.h (objc_build_message_expr): Updated prototype.
3731 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 3732
a358e188
MJ
37332011-04-12 Martin Jambor <mjambor@suse.cz>
3734
3735 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3736 of cgraph_node.
3737
e6313a78
RG
37382011-04-11 Richard Guenther <rguenther@suse.de>
3739
3740 * c-common.c (complete_array_type): Build a range type of
3741 proper type.
3742
dcf0c47e
NF
37432011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3744
3745 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3746 (handle_type_generic_attribute): Likewise.
3747
1ee44b26
JM
37482011-04-07 Jason Merrill <jason@redhat.com>
3749
3750 PR c++/48450
3751 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3752 conversion from C++0x scoped enum.
3753
acce4e77
JM
37542011-04-06 Joseph Myers <joseph@codesourcery.com>
3755
3756 * c-target-def.h: New file.
3757 * c-target.def: New file.
3758 * c-target.h: New file.
3759 * c-common.c (targetcm): Don't define here.
3760 * c-common.h (default_handle_c_option): Declare.
3761 * c-format.c: Include c-target.h instead of target.h.
3762 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3763 include tm.h.
3764 (default_handle_c_option): Move from targhooks.c.
3765
e2eefb55
JJ
37662011-03-29 Jakub Jelinek <jakub@redhat.com>
3767
3768 PR preprocessor/48248
3769 * c-ppoutput.c (print): Add src_file field.
3770 (init_pp_output): Initialize it.
3771 (maybe_print_line): Don't optimize by adding up to 8 newlines
3772 if map->to_file and print.src_file are different file.
3773 (print_line): Update print.src_file.
3774
ba78087b
KT
37752011-03-25 Kai Tietz <ktietz@redhat.com>
3776
3777 * c-ada-spec.c (compare_comment): Use filename_cmp
3778 instead of strcmp for filename.
3779
0edf1bb2
JL
37802011-03-25 Jeff Law <law@redhat.com>
3781
adfac8df 3782 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 3783
c7dc8804
JM
37842011-03-25 Jason Merrill <jason@redhat.com>
3785
3786 * c.opt: Add -std=c++03.
3787
d1d879b1
EB
37882011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3789
3790 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3791
62d784f7
KT
37922011-03-17 Kai Tietz
3793
3794 PR target/12171
5050afdf
KT
3795 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3796 Display allowed attributes for function pointer types.
3797 (pp_c_attributes_display): New function to display
3798 attributes having affects_type_identity flag set to true.
3799 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3800
62d784f7
KT
3801 * c-common.c (c_common_attribute_table):
3802 Add new element.
3803 (c_common_format_attribute_table): Likewise.
3804
82d37118
JM
38052011-03-18 Jason Merrill <jason@redhat.com>
3806
49a000c3
JM
3807 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3808 * c-common.h: Don't declare it here.
3809 * c-common.c: Or define it here.
3810 * c-opts.c (c_common_handle_option): Or set it here.
3811
82d37118
JM
3812 PR c++/35315
3813 * c-common.c (handle_transparent_union_attribute): Don't
3814 make a duplicate type in C++.
3815
17bc631c
JM
38162011-03-15 Jason Merrill <jason@redhat.com>
3817
3818 * c-common.c (max_constexpr_depth): New.
3819 * c-common.h: Declare it.
3820 * c-opts.c (c_common_handle_option): Set it.
3821 * c.opt (fconstexpr-depth): New option.
3822
1b9b91a6
JM
38232011-03-11 Jason Merrill <jason@redhat.com>
3824
f231b5ff
JM
3825 * c-common.c (attribute_takes_identifier_p): Add missing const.
3826
1b9b91a6
JM
3827 PR c++/46803
3828 * c-common.c (attribute_takes_identifier_p): Assume that an
3829 unknown attribute takes an identifier.
3830
a19e4d44
NF
38312011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3832
3833 PR c/47786
3834 * c-common.c (c_type_hash): Call list_length instead of iterating
3835 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3836
982d62f6
JJ
38372011-02-19 Jakub Jelinek <jakub@redhat.com>
3838
3839 PR c/47809
3840 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3841
0a256240
NP
38422011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3843
3844 * c.opt (fobjc-abi-version=) New.
3845 (fobjc-nilcheck): New.
3846
ba9e6dd5
NF
38472011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3848
3849 PR c++/46890
3850 * c-common.h (keyword_is_decl_specifier): Declare.
3851 * c-common.c (keyword_is_decl_specifier): Define.
3852 (keyword_is_function_specifier): New function.
3853
7273813a
JJ
38542011-01-26 Jakub Jelinek <jakub@redhat.com>
3855
3856 PR c/47473
3857 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3858 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3859 REAL_TYPE.
3860
908ef79b
AC
38612011-01-26 Arnaud Charlet <charlet@adacore.com>
3862
3863 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3864
237e9384
JJ
38652011-01-26 Jakub Jelinek <jakub@redhat.com>
3866
3867 PR pch/47430
3868 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3869 after init_c_lex if pch_file is set.
3870
47ea1edf
DK
38712011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3872
d4dba752 3873 PR c++/43601
47ea1edf
DK
3874 * c.opt (-fkeep-inline-dllexport): New switch.
3875
2aa9c6ae
RG
38762011-01-12 Richard Guenther <rguenther@suse.de>
3877
3878 PR middle-end/32511
3879 * c-common.c (handle_weak_attribute): Warn instead of error
3880 on declaring an inline function weak.
3881
7bd11157
TT
38822011-01-05 Tom Tromey <tromey@redhat.com>
3883
3884 * c-common.h (lvalue_error): Update.
3885 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3886 not error.
3887
0e66e494 38882010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 3889
b4f588c4
NP
3890 PR objc/47075
3891 * c-objc.h (objc_finish_message_expr): Added argument to
3892 prototype.
3893
f4da8dce
NF
38942010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3895
3896 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3897 Use prototype_p.
3898
46270f14
NP
38992010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3900
3901 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 3902 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 3903
4816c593
NF
39042010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3905
3906 * c-common.h (readonly_error): Declare.
3907 * c-common.c (readonly_error): Define.
3908
7a6daeb0
NF
39092010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3910
3911 * c-common.h (invalid_indirection_error): Declare.
3912 * c-common.c (invalid_indirection_error): Define.
3913
892f6119
RG
39142010-12-03 Richard Guenther <rguenther@suse.de>
3915
3916 PR c/46745
3917 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3918 (pp_c_unary_expression): Likewise.
3919 (pp_c_expression): Likewise.
3920
6c39e757
NP
39212010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3922
3923 * c-common.h (objc_finish_function): New.
3924 (objc_non_volatilized_type): Removed.
3925 (objc_type_quals_match): Removed.
3926 * stub-objc.c (objc_finish_function): New.
3927 (objc_non_volatilized_type): Removed.
3928 (objc_type_quals_match): Removed.
9faeb493 3929
7c475d11
JM
39302010-11-30 Joseph Myers <joseph@codesourcery.com>
3931
3932 * c-common.h (parse_optimize_options): Declare.
3933 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3934 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3935
71f3e391
JM
39362010-11-29 Joseph Myers <joseph@codesourcery.com>
3937
3938 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3939 GET_ENVIRONMENT.
3940 * c-pch.c (O_BINARY): Don't define here.
3941 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3942
d5fabb58
JM
39432010-11-25 Joseph Myers <joseph@codesourcery.com>
3944
3945 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3946 targetm.except_unwind_info.
3947
299404a1
JM
39482010-11-23 Joseph Myers <joseph@codesourcery.com>
3949
3950 * c-opts.c (c_common_handle_option): Pass location to
3951 set_struct_debug_option.
3952
c98cd5bf
JM
39532010-11-23 Joseph Myers <joseph@codesourcery.com>
3954
3955 * c-common.c (visibility_options): Move from ../opts.c.
3956 * c-common.h (struct visibility_flags, visibility_options):
3957 Declare here.
3958 * c-opts.c (finish_options): Rename to c_finish_options.
3959 (c_common_init): Update call to finish_options.
3960
a9546771
NP
39612010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3962
3963 PR objc/34033
3964 * c-lex.c (lex_string): Check that each string in an Objective-C
3965 string concat sequence starts with either one or zero '@', and
3966 that there are no spurious '@' signs at the end.
3967
24a57808
JM
39682010-11-20 Joseph Myers <joseph@codesourcery.com>
3969
3970 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3971 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3972 HANDLE_PRAGMA_VISIBILITY.
3973 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3974 HANDLE_PRAGMA_VISIBILITY): Don't define.
3975 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3976
a9aa2c3a
NF
39772010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3978
3979 PR c++/16189
3980 PR c++/36888
3981 PR c++/45331
3982 * c-common.h (keyword_begins_type_specifier): Declare.
3983 (keyword_is_storage_class_specifier): Declare.
3984 (keyword_is_type_qualifier): Declare.
3985 * c-common.c (keyword_begins_type_specifier): New function.
3986 (keyword_is_storage_class_specifier): New function.
3987 (keyword_is_type_qualifier): Declare.
3988
5386338c
JM
39892010-11-19 Joseph Myers <joseph@codesourcery.com>
3990
3991 PR c/46547
3992 * c-common.c (in_late_binary_op): Define.
3993 (c_common_truthvalue_conversion): Check in_late_binary_op before
3994 calling c_save_expr.
3995 * c-common.h (in_late_binary_op): Declare.
3996
69ccdddb
JM
39972010-11-19 Joseph Myers <joseph@codesourcery.com>
3998
3999 * c-opts.c (c_common_handle_option): Update calls to
4000 set_struct_debug_option.
4001
6b192a09
NP
40022010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4003
4004 * c-common.h (objc_declare_protocols): Added additional argument.
4005 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 4006
fb52b50a
NF
40072010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4008
4009 PR c/33193
4010 * c-common.h (build_real_imag_expr): Declare.
4011 * c-semantics.c (build_real_imag_expr): Define.
4012
b37421c6
JM
40132010-11-17 Joseph Myers <joseph@codesourcery.com>
4014
4015 * c-opts.c (c_common_parse_file): Take no arguments.
4016 * c-common.h (c_common_parse_file): Update prototype.
4017
07078664
JJ
40182010-11-16 Jakub Jelinek <jakub@redhat.com>
4019
4020 PR c++/46401
4021 * c-common.c (warning_candidate_p): Don't track non-const calls
4022 or STRING_CSTs.
4023
c6a13190
ILT
40242010-11-15 Ian Lance Taylor <iant@google.com>
4025
4026 * c-lex.c (init_c_lex): Set macro debug callbacks if
4027 flag_dump_go_spec is set.
4028
925e8657
NP
40292010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4030
4031 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4032 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4033
bb0a9581
NF
40342010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4035
4036 PR preprocessor/45038
4037 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4038 dialects.
4039
c5fa0890
JM
40402010-11-12 Joseph Myers <joseph@codesourcery.com>
4041
4042 * c-common.h (c_family_lang_mask): Declare.
4043 * c-opts.c (c_family_lang_mask): Make extern.
4044 * c-pragma.c (handle_pragma_diagnostic): Use
4045 control_warning_option.
4046
a4d8c676
JM
40472010-11-12 Joseph Myers <joseph@codesourcery.com>
4048
4049 * c-common.c (parse_optimize_options): Update call to
4050 decode_options.
4051 * c-common.h (c_common_handle_option): Update prototype.
4052 * c-opts.c (c_common_handle_option): Take location_t parameter and
4053 pass it to other functions.
4054
f954bd2c
JM
40552010-11-11 Joseph Myers <joseph@codesourcery.com>
4056
4057 * c-opts.c (warning_as_error_callback): Remove.
4058 (c_common_initialize_diagnostics): Don't call
4059 register_warning_as_error_callback.
4060 (c_common_handle_option): Handle -Werror=normalized= here.
4061
d8a07487
JM
40622010-11-10 Joseph Myers <joseph@codesourcery.com>
4063
4064 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4065 in diagnostic.
4066 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4067 letter.
4068 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4069 Remove trailing '.' from diagnostics.
4070 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4071
d5478783
JM
40722010-11-10 Joseph Myers <joseph@codesourcery.com>
4073
4074 * c-common.c (parse_optimize_options): Pass global_dc to
4075 decode_options.
4076 * c-opts.c (c_common_handle_option): Pass &global_options to
4077 set_Wstrict_aliasing.
4078 * c.opt (v): Don't mark Common or document here.
4079
91ebb981
IS
40802010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4081
4082 PR target/44981
4083 * c-format.c (format_type): New type gcc_objc_string_format_type.
4084 (valid_stringptr_type_p): New.
4085 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 4086 (check_format_string): Pass expected type, use
91ebb981
IS
4087 valid_stringptr_type_p (), check that the format string types are
4088 consistent with the format specification.
4089 (decode_format_attr): Warn if NSString is used outside objective-c.
4090 (format_types_orig): Add NSString.
4091 (format_name): New.
4092 (format_flags): New.
4093 (check_format_arg): Handle format strings requiring an external parser.
4094 first_target_format_type: New variable.
4095 (handle_format_attribute): Set up first_target_format_type, pass the
4096 expected format arg string type to check_format_string().
4097 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4098 * stub-objc.c (objc_string_ref_type_p): New.
4099 (objc_check_format_arg): New.
4100
bede2adc
NP
41012010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4102
9faeb493 4103 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
4104 * c-common.h (objc_build_class_component_ref): New.
4105 * stub-objc.c (objc_build_class_component_ref): New.
4106
9a179d01
NP
41072010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4108
4109 * c.opt (Wproperty-assign-default): New option.
4110
22d8d616
NP
41112010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4112
4113 Implemented -fobjc-std=objc1 flag.
4114 * c.opt (fobjc-std=objc1): New option.
4115
2debdb4f
NP
41162010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4117
4118 Implemented format and noreturn attributes for Objective-C methods.
4119 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4120 attribute for Objective-C methods.
4121
ec52b111
JM
41222010-10-31 Jason Merrill <jason@redhat.com>
4123
4124 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4125 EXPR_LOC_OR_HERE.
4126
46a88c12
NP
41272010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4128
4129 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4130 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4131 (objc_add_property_declaration): Removed arguments for copies and
4132 ivar.
4133 (objc_build_getter_call): Renamed to
4134 objc_maybe_build_component_ref.
4135 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4136 (objc_is_property_ref): New.
4137 * c-common.c (c_common_reswords): Removed copies and ivar.
4138 * stub-objc.c (objc_add_property_declaration): Removed arguments
4139 for copies and ivar.
4140 (objc_build_getter_call): Renamed to
4141 objc_maybe_build_component_ref.
4142 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4143 (objc_is_property_ref): New.
9faeb493 4144
1e4bf85b
AC
41452010-10-29 Arnaud Charlet <charlet@adacore.com>
4146 Matthew Gingell <gingell@adacore.com>
4147
4148 * c-ada-spec.c (separate_class_package): New function.
4149 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4150 name of their enclosing package.
4151 (print_ada_declaration): Use separate_class_package.
4152
81f0bab2
JM
41532010-10-27 Jason Merrill <jason@redhat.com>
4154
2b08f2c5
JM
4155 * c-common.c (c_common_reswords): Add __is_literal_type.
4156 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4157
81f0bab2
JM
4158 * c-common.c (check_case_value): Remove special C++ code.
4159
200290f2
NP
41602010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4161
4162 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4163 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4164 and RID_LAST_PATTR.
4165 (objc_add_property_declaration): Added additional arguments.
4166 (objc_property_attribute_kind): Removed.
4167 (objc_set_property_attr): Removed.
4168 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4169 copy and nonatomic.
4170 * stub-objc.c (objc_add_property_declaration): Added additional
4171 arguments.
4172 (objc_set_property_attr): Removed.
9faeb493 4173
f614132b
NP
41742010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4175
4176 * c-common.h (objc_add_property_variable): Renamed to
4177 objc_add_property_declaration. Added location argument.
4178 * stub-objc.c (objc_add_property_variable): Same change.
4179
b8a18805
NP
41802010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4181
4182 * c-common.h (objc_maybe_printable_name): New.
4183 * stub-objc.c (objc_maybe_printable_name): New.
4184
30cd1c5d
AS
41852010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4186 Andrew Pinski <pinskia@gmail.com>
4187
4188 * c-common.h (c_common_mark_addressable_vec): Declare.
4189 * c-common.c (c_common_mark_addressable_vec): New function.
4190
249a82c4
NP
41912010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4192
4193 * c-common.h (objc_set_method_type): Removed.
4194 (objc_add_method_declaration): Added boolean argument.
4195 (objc_start_method_definition): Same change.
4196 (objc_build_method_signature): Same change.
4197 * stub-objc.c (objc_set_method_type): Removed.
4198 (objc_add_method_declaration): Added boolean argument.
4199 (objc_start_method_definition): Same change.
4200 (objc_build_method_signature): Same change.
4201
977e30bc
NP
42022010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4203
4204 * c-common.h (finish_file): Removed.
4205 (objc_write_global_declarations): New.
4206 * c-opts.c (c_common_parse_file): Do not call finish_file.
4207 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 4208
da57d1b9
NP
42092010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4210
4211 Implemented parsing @synthesize and @dynamic for
4212 Objective-C/Objective-C++.
4213 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4214 (objc_add_synthesize_declaration): New.
4215 (objc_add_dynamic_declaration): New.
4216 * c-common.c (c_common_reswords): Add synthesize and dynamic.
4217 * stub-objc.c (objc_add_synthesize_declaration): New.
4218 (objc_add_dynamic_declaration): New.
9faeb493 4219
0069111f
MM
42202010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4221
4222 PR target/46041
4223 * c-cppbuiltin.c (mode_has_fma): Move function here from
4224 builtins.c. Don't use the fma optab, instead just use the
4225 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
4226 using -save-temps.
4227
e426b47b
NP
42282010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4229
4230 Merge from 'apple/trunk' branch on FSF servers.
0069111f 4231
e426b47b
NP
4232 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
4233
9faeb493 4234 Radar 4330422
e426b47b
NP
4235 * c-common.h (objc_non_volatilized_type): New declaration
4236 * stub-objc.c (objc_non_volatilized_type): New stub.
4237
90fbfdc3
NP
42382010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4239
e426b47b 4240 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3
NP
4241
4242 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
4243
9faeb493 4244 Radar 4133425
90fbfdc3 4245 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 4246 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 4247
c37d8c30
IS
42482010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4249
4250 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
4251 * c-common.h (enum rid): Add RID_AT_PACKAGE.
4252 (objc_ivar_visibility_kind): New enum.
4253 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 4254 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
4255 visibility enum.
4256
1b1562a5
MM
42572010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4258
4259 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4260 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4261 has the appropriate fma builtins.
4262 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4263
668ea4b1
IS
42642010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4265
1b1562a5 4266 merge from FSF apple 'trunk' branch.
668ea4b1 4267 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 4268
668ea4b1
IS
4269 Radars 4436866, 4505126, 4506903, 4517826
4270 * c-common.c (c_common_resword): Define @property and its attributes.
4271 * c-common.h: Define property attribute enum entries.
4272 (OBJC_IS_PATTR_KEYWORD): New.
4273 (objc_property_attribute_kind): New enum.
4274 Declare objc_set_property_attr (), objc_add_property_variable (),
4275 objc_build_getter_call () and objc_build_setter_call ().
4276 * stub-objc.c (objc_set_property_attr): New stub.
4277 (objc_add_property_variable): Likewise.
4278 (objc_build_getter_call): Likewise.
4279 (objc_build_setter_call) Likewise.
1b1562a5 4280
a1178b30
IS
42812010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4282
1b1562a5 4283 merge from FSF apple 'trunk' branch.
a1178b30
IS
4284 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4285
4286 Radar 3803157 (method attributes)
4287 * c-common.c (handle_deprecated_attribute): Recognize
4288 objc methods as valid declarations.
4289 * c-common.h: Declare objc_method_decl ().
1b1562a5 4290 * stub-objc.c (objc_method_decl): New stub.
a1178b30 4291
a75bfaa6
JM
42922010-10-08 Joseph Myers <joseph@codesourcery.com>
4293
4294 * c-common.c (parse_optimize_options): Call
4295 decode_cmdline_options_to_array_default_mask before
4296 decode_options. Update arguments to decode_options.
4297 * c-common.h (c_common_init_options_struct): Declare.
4298 * c-opts.c (c_common_init_options_struct): New. Split out from
4299 c_common_init_options.
4300
f05b9d93
NP
43012010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4302
4303 Implemented fast enumeration for Objective-C.
4304 * c-common.h (objc_finish_foreach_loop): New.
4305 * stub-objc.c (objc_finish_foreach_loop): New.
4306
1ebe4b4f
JM
43072010-10-05 Joseph Myers <joseph@codesourcery.com>
4308
4309 * c-common.h (struct diagnostic_context): Don't declare here.
4310 (c_common_initialize_diagnostics): Declare using
4311 diagnostic_context typedef.
4312 * c-opts.c (c_common_handle_option): Pass global_dc to
4313 handle_generated_option.
4314
d4d24ba4
JM
43152010-10-04 Joseph Myers <joseph@codesourcery.com>
4316
4317 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4318 handle_generated_option.
4319
478a1c5b
ILT
43202010-10-03 Ian Lance Taylor <iant@google.com>
4321
4322 * c.opt (-fplan9-extensions): New option.
4323
82a1c2fe
FXC
43242010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4325
4326 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4327 Remove.
4328 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4329 of duplicating code.
4330
92902b1b
IS
43312010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4332
4333 * c-common.c: Add two new entries for @optional
4334 and @required keywords.
4335
4336 merge from FSF 'apple/trunk' branch.
4337 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4338
4339 Radar 4386773
4340 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4341 objective-c keywords.
4342 (objc_set_method_opt): New declaration.
4343 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 4344
46625112
JM
43452010-09-30 Joseph Myers <joseph@codesourcery.com>
4346
4347 * c-common.c (handle_optimize_attribute): Pass &global_options to
4348 cl_optimization_save and cl_optimization_restore.
4349 * c-opts.c (c_common_handle_option): Pass &global_options to
4350 handle_generated_option.
4351 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4352 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4353 &global_options to cl_optimization_restore.
4354
49b91f05
NP
43552010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4356
4357 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4358 Objective-C/Objective-C++ keywords.
4359
13ed556f 43602010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 4361
9faeb493
UB
4362 Merge from 'apple/trunk' branch on FSF servers.
4363
a6341d57
NP
4364 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4365
4366 Radar 4281748
4367 * c-common.h (objc_check_global_decl): New declaration.
4368 * stub-objc.c (objc_check_global_decl): New stub.
4369
f0036cca
JM
43702010-09-29 Joseph Myers <joseph@codesourcery.com>
4371
4372 * c.opt: Don't use VarExists.
4373
e3339d0f
JM
43742010-09-29 Joseph Myers <joseph@codesourcery.com>
4375
4376 * c-common.c (c_cpp_error): Update names of diagnostic_context
4377 members.
4378 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4379 cl_optimization members.
4380 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4381 sanitize_cpp_opts, finish_options): Update names of cpp_options
4382 members.
4383
1973201f
NP
43842010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4385
4386 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4387 (objc_is_reserved_word): Removed.
4388 * c-common.c: Updated comments.
4389 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4390 objc_is_reserved_word.
4391 * stub-objc.c (objc_is_reserved_word): Removed.
4392
f7e71da5
IS
43932010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4394
9faeb493 4395 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
4396 include attributes.
4397 (objc_start_method_definition): Likewise.
4398 (objc_build_keyword_decl): Likewise.
4399 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4400 (objc_start_method_definition): Likewise.
4401 (objc_build_keyword_decl): Likewise.
4402
c165dca7
IS
44032010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4404
4405 * c-common.h (objc_start_class_interface): Adjust prototype.
4406 (objc_start_category_interface): Likewise.
4407 (objc_start_protocol): Likewise.
4408 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4409 (objc_start_class_interface): Likewise.
4410 (objc_start_category_interface): Likewise.
4411
7458026b
ILT
44122010-09-27 Ian Lance Taylor <iant@google.com>
4413
4414 * c-common.c (c_common_attribute_table): Add no_split_stack.
4415 (handle_no_split_stack_attribute): New static function.
4416
b581b85b
NP
44172010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4418
9faeb493 4419 Merge from 'apple/trunk' branch on FSF servers.
b581b85b
NP
4420
4421 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4422
9faeb493 4423 Radar 4229905
b581b85b
NP
4424 * c-common.h (objc_have_common_type): New declaration.
4425 * stub-objc.c (objc_have_common_type): New stub.
4426
4427 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4428
4429 Radar 4154928
4430 * c-common.h (objc_common_type): New prototype.
9faeb493 4431 * stub-objc.c (objc_common_type): New stub.
b581b85b 4432
46a4da10
JH
44332010-09-24 Jan Hubicka <jh@suse.cz>
4434
4435 * c-common.c (handle_leaf_attribute): New function.
4436 (struct attribute_spec c_common_att): Add leaf.
4437
e200444e
JM
44382010-09-22 Joseph Myers <joseph@codesourcery.com>
4439
4440 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4441 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4442 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4443 -include-barrier, -include-directory, -include-directory=,
4444 -include-directory-after, -include-directory-after=,
4445 -include-prefix, -include-prefix=, -include-with-prefix,
4446 -include-with-prefix=, -include-with-prefix-after,
4447 -include-with-prefix-after=, -include-with-prefix-before,
4448 -include-with-prefix-before=, -no-integrated-cpp,
4449 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4450 -output=, -pedantic, -pedantic-errors, -preprocess,
4451 -print-missing-file-dependencies, -trace-includes, -traditional,
4452 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4453 -user-dependencies, -verbose, -write-dependencies,
4454 -write-user-dependencies, no-integrated-cpp, traditional): New.
4455
29a80ea6
NP
44562010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4457
4458 PR objc/23710
ac1fc2fc
NP
4459 * c-common.h (objc_start_method_definition): Return bool instead
4460 of void.
4461 * stub-objc.c (objc_start_method_definition): Return bool instead
4462 of void.
4463
44642010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4465
4466 PR objc/25965
4467 * c-common.h (objc_get_interface_ivars): New declaration.
4468 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 4469
de621752
ILT
44702010-09-15 Ian Lance Taylor <iant@google.com>
4471
4472 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 4473 messages. Remove period at end of warning message.
de621752 4474
ba885ec5
NS
44752010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4476
4477 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4478 (handle_alias_attribute): ... here.
4479 (handle_ifunc_attribute): New.
4480
c5ee1358
MM
44812010-09-06 Mark Mitchell <mark@codesourcery.com>
4482
4483 * c-common.h (do_warn_double_promotion): Declare.
4484 * c-common.c (do_warn_double_promotion): Define.
4485
0a0b3574
MM
44862010-09-05 Mark Mitchell <mark@codesourcery.com>
4487
4488 * c.opt (Wdouble-promotion): New.
4489
d1779886
JM
44902010-09-02 Joseph Myers <joseph@codesourcery.com>
4491
4492 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4493 fvtable-thunks, fxref): Mark no longer supported in help text.
4494
2d2bd949
JM
44952010-09-02 Joseph Myers <joseph@codesourcery.com>
4496
4497 * c.opt (Wimport, fall-virtual, falt-external-templates,
4498 fdefault-inline, fenum-int-equiv, fexternal-templates,
4499 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4500 fname-mangling-version-, fnew-abi, fnonnull-objects,
4501 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4502 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4503 applicable.
4504 (fhandle-exceptions): Mark with Alias and Warn.
4505 * c-opts.c (c_common_handle_option): Don't handle options marked
4506 as ignored.
4507
5de8299c
JM
45082010-09-02 Joseph Myers <joseph@codesourcery.com>
4509
4510 * c.opt (Wcomments, Werror-implicit-function-declaration,
4511 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4512 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4513 aliases.
4514 * c-common.c (option_codes): Use OPT_Wcomment instead of
4515 OPT_Wcomments.
4516 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4517 Don't handle options marked as aliases.
4518
0ceb0201
RG
45192010-08-25 Richard Guenther <rguenther@suse.de>
4520
4521 * c-common.c (c_common_get_alias_set): Remove special
4522 handling for pointers.
4523
ac47786e
NF
45242010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4525
4526 * c-common.c: Use FOR_EACH_VEC_ELT.
4527 * c-gimplify.c: Likewise.
4528 * c-pragma.c: Likewise.
4529
c878765b
JM
45302010-08-16 Joseph Myers <joseph@codesourcery.com>
4531
4532 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4533 RejectDriver.
4534 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4535 RejectDriver.
4536 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4537 instead of OPT_MDX and OPT_MMDX.
4538
603349bf
JM
45392010-08-16 Joseph Myers <joseph@codesourcery.com>
4540
4541 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4542
644fa7ac
JM
45432010-08-12 Joseph Myers <joseph@codesourcery.com>
4544
4545 * c.opt (MD, MMD): Change to MDX and MMDX.
4546 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4547
481e1176
JM
45482010-08-11 Joseph Myers <joseph@codesourcery.com>
4549
4550 * c-opts.c (c_common_handle_option): Call handle_generated_option
4551 instead of handle_option.
4552
ac8dc9f7
NF
45532010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4554
4555 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4556 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4557
4f8c876d
NF
45582010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4559
4560 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4561 (pending_redefine_extname): Change type to a VEC.
4562 (add_to_renaming_pragma_list): Update for new type of
4563 pending_redefine_extname.
ac8dc9f7 4564 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 4565
3b0c690e
AC
45662010-08-04 Arnaud Charlet <charlet@adacore.com>
4567
4568 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4569 visited.
4570 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4571 decide whether a type has already been declared/seen.
4572 Do not go to the original type.
4573 (dump_nested_types): New parameter forward.
4574 Generate forward declaration if needed and mark type as visited.
4575 (print_ada_declaration): Call dump_nested_types if not already done.
4576 Mark types as visited.
4577
1890bccc
JM
45782010-08-03 Joseph Myers <joseph@codesourcery.com>
4579
4580 * c.opt (-print-pch-checksum): Remove option.
4581 * c-opts.c (c_common_handle_option): Don't handle
4582 OPT_print_pch_checksum.
4583
5f20c657
JM
45842010-07-27 Joseph Myers <joseph@codesourcery.com>
4585
4586 * c-common.h (c_common_handle_option): Update prototype and return
4587 value type.
4588 * c-opts.c (c_common_handle_option): Update prototype and return
4589 value type. Update calls to handle_option and
4590 enable_warning_as_error.
4591
f551f80c
JJ
45922010-07-27 Jakub Jelinek <jakub@redhat.com>
4593
4594 PR c/45079
4595 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4596
61ff2bdc
JM
45972010-07-27 Joseph Myers <joseph@codesourcery.com>
4598
4599 * c-common.h (c_common_missing_argument): Remove.
4600 * c-opts.c (c_common_missing_argument): Remove.
4601 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4602 idirafter, imacros, include, isysroot, isystem, iquote): Add
4603 MissingArgError.
4604 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4605
7a9bf9a4
JM
46062010-07-27 Joseph Myers <joseph@codesourcery.com>
4607
4608 * c-common.h (c_common_option_lang_mask,
4609 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4610 New.
4611 (c_common_init_options): Update prototype.
4612 * c-opts.c (c_common_option_lang_mask): New.
4613 (c_common_initialize_diagnostics): Split out of
4614 c_common_init_options.
4615 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4616 New.
4617 (c_common_init_options): Update prototype. Use decoded options in
4618 search for -lang-asm.
4619
910ad8de
NF
46202010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4621
4622 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4623 * c-format.c: Likewise.
4624
718f9c0f
MLI
46252010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4626
4627 * c-common.h: Include diagnostic-core.h. Error if already
4628 included.
4629 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4630
4d451982
MLI
46312010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4632
adfac8df 4633 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
4634 Do not include expr.h
4635 (vector_mode_valid_p): Move here.
4636
119fe915
SB
46372010-06-21 DJ Delorie <dj@redhat.com>
4638
4639 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4640 allow these pragmas anywhere.
4641
46422010-06-14 Jakub Jelinek <jakub@redhat.com>
4643
4644 PR bootstrap/44509
4645 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4646 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4647 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4648 ggc_strdup instead of xstrdup.
4649
46502010-06-10 Jakub Jelinek <jakub@redhat.com>
4651
4652 * c-cppbuiltin.c: Include cpp-id-data.h.
4653 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4654 (lazy_hex_fp_value): New function.
4655 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4656
6662d794
MLI
46572010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4658
4659 * c-gimplify.c: Do not include tree-flow.h
4660
38f8b050
JR
46612010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4662
4663 PR other/44034
4664 * c-common.c: Rename targetm member:
4665 targetm.enum_va_list -> targetm.enum_va_list_p
4666
9589f23e
AS
46672010-06-28 Anatoly Sokolov <aesok@post.ru>
4668
4669 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4670
3b06d379
SB
46712010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4672
4673 * c-cppbuiltin.c: Do not include except.h.
4674
d166d4c3
AK
46752010-06-24 Andi Kleen <ak@linux.intel.com>
4676
9faeb493
UB
4677 * c-common.c (warn_for_omitted_condop): New.
4678 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 4679
70cb8be6
JM
46802010-06-21 Joseph Myers <joseph@codesourcery.com>
4681
4682 * c.opt (lang-objc): Remove.
4683 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4684
a4c97feb
JR
46852010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4686
4687 * c-opts.c: Include "tm_p.h".
4688
6e2f1956
JM
46892010-06-20 Joseph Myers <joseph@codesourcery.com>
4690
4691 * c-common.c (parse_optimize_options): Update call to
4692 decode_options.
4693
bc87224e
NF
46942010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4695
4696 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4697 new type of types_used_by_cur_var_decl.
4698
b49cf425
JR
46992010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4700
4701 PR bootstrap/44512
4702 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4703 for C++ standard compliance.
4704
59f9c2ed
JM
47052010-06-16 Jason Merrill <jason@redhat.com>
4706
4707 * c.opt: Add -Wnoexcept.
4708
33766b66
RG
47092010-06-16 Richard Guenther <rguenther@suse.de>
4710
4711 PR c/44555
4712 * c-common.c (c_common_truthvalue_conversion): Remove
4713 premature and wrong optimization concering ADDR_EXPRs.
4714
eff7e30c
AC
47152010-06-15 Arnaud Charlet <charlet@adacore.com>
4716
4717 * c-ada-spec.c (dump_sloc): Remove column info.
4718 (is_simple_enum): New function.
4719 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4720 enum types when relevant.
4721
6312e84d
MLI
47222010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4723
9faeb493 4724 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
4725 location.
4726
1cb42611
JM
47272010-06-10 Joseph Myers <joseph@codesourcery.com>
4728
4729 * c-opts.c (c_common_handle_option): Don't handle
4730 OPT_fshow_column.
4731
a9429e29
LB
47322010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4733
4734 * c-pragma.c (push_alignment): Use typed GC allocation.
4735 (handle_pragma_push_options): Likewise.
4736
4737 * c-common.c (parse_optimize_options): Likewise.
4738
4739 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4740 option.
4741
5498f011
JM
47422010-06-07 Joseph Myers <joseph@codesourcery.com>
4743
4744 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4745 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4746 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4747 flag_signed_bitfields, warn_strict_null_sentinel,
4748 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4749 flag_gen_declaration, flag_no_gnu_keywords,
4750 flag_implement_inlines, flag_implicit_templates,
4751 flag_implicit_inline_templates, flag_optional_diags,
4752 flag_elide_constructors, flag_default_inline, flag_rtti,
4753 flag_conserve_space, flag_access_control, flag_check_new,
4754 flag_new_for_scope, flag_weak, flag_working_directory,
4755 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4756 flag_enforce_eh_specs, flag_threadsafe_statics,
4757 flag_pretty_templates): Remove.
4758 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4759 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4760 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4761 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4762 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4763 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4764 flag_no_gnu_keywords, flag_implement_inlines,
4765 flag_implicit_templates, flag_implicit_inline_templates,
4766 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4767 flag_rtti, flag_conserve_space, flag_access_control,
4768 flag_check_new, flag_new_for_scope, flag_weak,
4769 flag_working_directory, flag_use_cxa_atexit,
4770 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4771 flag_threadsafe_statics, flag_pretty_templates,
4772 warn_strict_null_sentinel): Remove.
4773 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4774 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4775 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4776 fimplicit-inline-templates, fimplicit-templates,
4777 flax-vector-conversions, fms-extensions, fnil-receivers,
4778 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4779 frtti, fshort-double, fshort-enums, fshort-wchar,
4780 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4781 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4782 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4783 gen-decls, undef): Use Var.
4784 (fdefault-inline, foptional-diags): Document as doing nothing.
4785 * c-opts.c (c_common_handle_option): Remove cases for options now
4786 using Var. Mark ignored options as such.
4787
39dabefd
SB
47882010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4789
9faeb493 4790 * c-common.c: Moved to here from parent directory.
39dabefd
SB
4791 * c-common.def: Likewise.
4792 * c-common.h: Likewise.
4793 * c-cppbuiltin.c: Likewise.
4794 * c-dump.c: Likewise.
4795 * c-format.c: Likewise.
4796 * c-format.h : Likewise.
4797 * c-gimplify.c: Likewise.
4798 * c-lex.c: Likewise.
4799 * c-omp.c: Likewise.
4800 * c.opt: Likewise.
4801 * c-opts.c: Likewise.
4802 * c-pch.c: Likewise.
4803 * c-ppoutput.c: Likewise.
4804 * c-pragma.c: Likewise.
4805 * c-pragma.h: Likewise.
4806 * c-pretty-print.c: Likewise.
4807 * c-pretty-print.h: Likewise.
4808 * c-semantics.c: Likewise.
4809 * stub-objc.c: Likewise.
4810
4811 * c-common.c: Include gt-c-family-c-common.h.
4812 * c-pragma.c: Include gt-c-family-c-pragma.h.
4813\f
5624e564 4814Copyright (C) 2010-2015 Free Software Foundation, Inc.
39dabefd
SB
4815
4816Copying and distribution of this file, with or without modification,
4817are permitted in any medium without royalty provided the copyright
4818notice and this notice are preserved.