]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use la/jalr instead of jal.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
716c0ba6
MP
12015-04-29 Marek Polacek <polacek@redhat.com>
2
3 PR c/64610
4 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
5 with 0/1.
6
8848828b
JJ
72015-04-29 Jakub Jelinek <jakub@redhat.com>
8
9 * c-common.h (omp_clause_mask): Unconditionally define as a class.
10 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
11 HOST_BITS_PER_WIDE_INT.
12
ecd0e562
TV
132015-04-28 Tom de Vries <tom@codesourcery.com>
14
15 PR tree-optimization/65887
16 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
17
2a877204
EB
182015-04-28 Eric Botcazou <ebotcazou@adacore.com>
19 Pierre-Marie de Rodat <derodat@adacore.com>
20
21 * c-ada-spec.c (in_function): Delete.
22 (dump_generic_ada_node): Do not change in_function and remove the
23 redundant code dealing with it.
24 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
25 (print_ada_methods): Output the static member functions in a nested
26 package after the regular methods as well as associated renamings.
27
4853031e
MP
282015-04-24 Marek Polacek <polacek@redhat.com>
29
30 PR c/65830
31 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
32 and OPT_Wshift_count_overflow.
33
8c2b7f79
MP
34 PR c/63357
35 * c-common.c (warn_logical_operator): Warn if the operands have the
36 same expressions.
37
b8787813
MP
382015-04-24 Marek Polacek <polacek@redhat.com>
39
40 PR c/61534
41 * c-common.c (warn_logical_operator): Bail if either operand comes
42 from a macro expansion.
43
8fba1830
BRF
442015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
45
46 PR target/55143
47 * c-common.c (c_default_pointer_mode): Add definition.
48 * c-common.h (c_default_pointer_mode): Add declaration.
49
17958621
JJ
502015-03-11 Jakub Jelinek <jakub@redhat.com>
51
52 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
53 on record_builtin_type argument.
54
7ccb1a11
JJ
552015-03-10 Jakub Jelinek <jakub@redhat.com>
56
57 PR c/65120
58 * c-common.c (warn_logical_not_parentheses): Don't warn for
59 !x == 0 or !x != 0.
60
04fd785e
MP
612015-03-07 Marek Polacek <polacek@redhat.com>
62
63 PR sanitizer/65280
64 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
65 before trying to figure out whether we have a flexible array member.
66
a4e26206
EB
672015-03-06 Eric Botcazou <ebotcazou@adacore.com>
68 Jonathan Wakely <jwakely.gcc@gmail.com>
69
70 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
71
0d2489f4
EB
722015-03-05 Eric Botcazou <ebotcazou@adacore.com>
73
74 PR ada/65319
75 * c-ada-spec.c (print_destructor): Remove obsolete code.
76
83ed54d7
EB
772015-03-01 Eric Botcazou <ebotcazou@adacore.com>
78
79 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
80 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
81 DECL_TEMPLATE_RESULT emulations.
82 (dump_ada_template)): Add guard for TYPE_METHODS.
83
7631f0e2
MP
842015-02-27 Marek Polacek <polacek@redhat.com>
85
86 PR c/65040
87 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
88
d1783ae5
KT
892015-02-27 Kai Tietz <ktietz@redhat.com>
90
91 PR c/35330
92 * c-pragma.c (handle_pragma_weak): Do not try to create
93 weak/alias of declarations not being function, or variable
94 declarations.
95
56a9f6bc
TS
962015-02-24 Thomas Schwinge <thomas@codesourcery.com>
97
98 PR libgomp/64625
99 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
100 Remove macros.
101 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
102
3d5cb23d
MP
1032015-02-16 Marek Polacek <polacek@redhat.com>
104
105 PR c/65066
106 * c-format.c (check_format_types): Handle null param.
107
fa008882
MP
1082015-02-13 Marek Polacek <polacek@redhat.com>
109
110 PR c/65040
111 * c-format.c (check_format_types): Don't warn about different
112 signedness if the original value is in the range of WANTED_TYPE.
113
785f21af
JM
1142015-02-12 Jason Merrill <jason@redhat.com>
115
116 PR c++/64956
117 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
118 to the current highest version.
119 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
120
4886ec8e
JJ
1212015-02-04 Jakub Jelinek <jakub@redhat.com>
122
123 PR c/64824
124 PR c/64868
125 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
126 instead of RDIV_EXPR. Use build_binary_op instead of
127 build2_loc.
128
40fecdd6
JM
1292015-01-30 Joseph Myers <joseph@codesourcery.com>
130
131 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
132 to pass input_location as first argument.
133
a0c88d06
TV
1342015-01-23 Tom de Vries <tom@codesourcery.com>
135
136 PR libgomp/64672
137 * c.opt (fopenacc): Mark as LTO option.
138
1506ae0e
TV
1392015-01-23 Tom de Vries <tom@codesourcery.com>
140
141 PR libgomp/64707
142 * c.opt (fopenmp): Mark as LTO option.
143
31be63ab
JJ
1442015-01-21 Jakub Jelinek <jakub@redhat.com>
145
146 PR c/63307
147 * cilk.c (fill_decls_vec): Only put decls into vector v.
148 (compare_decls): Fix up formatting.
149
1502015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
151
152 PR c/63307
153 * cilk.c: Include vec.h.
154 (struct cilk_decls): New structure.
155 (wrapper_parm_cb): Split this function to...
156 (fill_decls_vec): ...this...
157 (create_parm_list): ...and this.
158 (compare_decls): New function.
159 (for_local_cb): Remove.
160 (wrapper_local_cb): Ditto.
161 (build_wrapper_type): For now first traverse and fill vector of
162 declarations then sort it and then deal with sorted vector.
163 (cilk_outline): Ditto.
164 (declare_one_free_variable): Ditto.
165
6875457f
JM
1662015-01-21 Jason Merrill <jason@redhat.com>
167
168 PR c++/64629
169 * c-format.c (check_format_arg): Call decl_constant_value.
170
185c9e56
ML
1712015-01-19 Martin Liska <mliska@suse.cz>
172
173 * c-common.c (handle_noicf_attribute): New function.
174
41dbbb37
TS
1752015-01-15 Thomas Schwinge <thomas@codesourcery.com>
176 Bernd Schmidt <bernds@codesourcery.com>
177 James Norris <jnorris@codesourcery.com>
178 Cesar Philippidis <cesar@codesourcery.com>
179 Ilmir Usmanov <i.usmanov@samsung.com>
180 Jakub Jelinek <jakub@redhat.com>
181
182 * c.opt (fopenacc): New option.
183 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
184 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
185 New macros.
186 * c-common.h (c_finish_oacc_wait): New prototype.
187 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
188 (c_finish_oacc_wait): New function.
189 * c-pragma.c (oacc_pragmas): New variable.
190 (c_pp_lookup_pragma, init_pragma): Handle it.
191 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
192 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
193 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
194 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
195 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
196 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
197 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
198 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
199 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
200 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
201 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
202 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
203 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
204 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
205 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
206 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
207 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
208 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
209 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
210 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
211 PRAGMA_OACC_CLAUSE_WORKER.
212
5434dc07
MD
2132015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
214
215 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
216 for the new option fstack-protector_explicit.
217 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
218 (handle_stack_protect_attribute): New function.
219
de1b5c17
MU
2202015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
221
222 * c.opt: New option -Warray-bounds=.
223
adfac8df
JJ
2242015-01-09 Michael Collison <michael.collison@linaro.org>
225
226 * array-notation-common.c: Include hash-set.h, machmode.h,
227 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
228 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
229 * c-ada-spec.c: Ditto.
230 * c-cilkplus.c: Ditto.
231 * c-common.c: Include input.h due to flattening of tree.h.
232 Define macro GCC_C_COMMON_C.
233 * c-common.h: Flatten tree.h header files into c-common.h.
234 Remove include of tree-core.h.
235 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
236 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
237 fold-const.h, wide-int.h, and inchash.h due to
238 flattening of tree.h.
239 * c-dump.c: Ditto.
240 * c-format.c: Flatten tree.h header files into c-common.h.
241 * c-cppbuiltin.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 * c-dump.c: Include hash-set.h, machmode.h,
246 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
247 fold-const.h, wide-int.h, and inchash.h due to
248 flattening of tree.h.
249 * c-format.c: Include hash-set.h, machmode.h,
250 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
251 fold-const.h, wide-int.h, inchash.h and real.h due to
252 flattening of tree.h.
253 * c-gimplify.c: Include hash-set.h, machmode.h,
254 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
255 fold-const.h, wide-int.h, and inchash.h due to
256 flattening of tree.h.
257 * cilk.c: Ditto.
258 * c-lex.c: Ditto.
259 * c-omp.c: Ditto.
260 * c-opts.c: Ditto.
261 * c-pch.c: Ditto.
262 * c-ppoutput.c: Ditto.
263 * c-pragma.c: Ditto.
264 * c-pretty-print.c: Ditto.
265 * c-semantics.c: Ditto.
266 * c-ubsan.c: Ditto.
267 * stub-objc.c: Ditto.
268
f5481fc4
JM
2692015-01-08 Jason Merrill <jason@redhat.com>
270
271 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
272 do_ubsan_in_current_function.
273 (ubsan_maybe_instrument_reference_or_call): Likewise.
274 * c-ubsan.h: Declare it.
275
de35aa66
MS
2762015-01-08 Mike Stump <mikestump@comcast.net>
277
278 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
279
4a9a42ab
MP
2802015-01-07 Marek Polacek <polacek@redhat.com>
281
282 PR c/64440
283 * c-common.c (c_fully_fold_internal): Warn for division and modulo
284 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
285
2f42e5de
TS
2862015-01-05 Trevor Saunders <tsaunders@mozilla.com>
287
288 PR c++/31397
289 * c.opt (Wsuggest-override): New option.
290
5624e564
JJ
2912015-01-05 Jakub Jelinek <jakub@redhat.com>
292
293 Update copyright years.
294
5bd012f8
MP
2952015-01-05 Marek Polacek <polacek@redhat.com>
296
297 PR c/64423
298 * c-common.c (warn_array_subscript_with_type_char): Add location_t
299 parameter. Use it.
300 * c-common.h (warn_array_subscript_with_type_char): Update
301 declaration.
302
a7fa8d18
ESR
3032014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
304
305 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
306 Control macro with flag_sized_deallocation.
307
768952be
MU
3082014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
309
310 * c.opt (Wdiscarded-array-qualifiers): New option.
311
1f8d3e84
JJ
3122014-12-19 Jakub Jelinek <jakub@redhat.com>
313
314 PR preprocessor/63831
315 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
316 and __has_cpp_attribute here.
317 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
318 c_common_has_attribute.
319 * c-common.h (c_common_has_attribute): New prototype.
320 * c-lex.c (init_c_lex): Set cb->has_attribute to
321 c_common_has_attribute instead of cb_has_attribute.
322 (get_token_no_padding): New function.
323 (cb_has_attribute): Renamed to ...
324 (c_common_has_attribute): ... this. No longer static. Use
325 get_token_no_padding, require ()s, don't build TREE_LIST
326 unnecessarily, fix up formatting, adjust diagnostics, call
327 init_attributes.
328
20b06add
JM
3292014-12-15 Jason Merrill <jason@redhat.com>
330
331 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
332 (-Wsized-deallocation): New.
333 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
334 to on in C++14 and up.
335
94a073b2
JM
3362014-12-11 Jason Merrill <jason@redhat.com>
337
acaa5911
JM
338 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
339
94a073b2
JM
340 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
341 we aren't complaining about VLAs.
342
7fb66c15
MP
3432014-12-06 Marek Polacek <polacek@redhat.com>
344
345 PR tree-optimization/64183
346 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
347 shift-expression if it is integer_type_node. Use types_compatible_p.
348
b731b390
JJ
3492014-11-29 Jakub Jelinek <jakub@redhat.com>
350
351 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
352 last argument from create_tmp_var_raw and create_tmp_var calls.
353 * cilk.c (gimplify_cilk_spawn): Likewise.
354 * c-omp.c (c_finish_omp_atomic): Likewise.
355
6a4da643
MP
3562014-11-28 Marek Polacek <polacek@redhat.com>
357
358 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
359 instead of unsigned_type_node.
360
541e35a6
MP
3612014-11-28 Marek Polacek <polacek@redhat.com>
362
363 PR c/63862
364 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
365 to op1_utype.
366 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
367 expression to unsigned_type_node.
368
dcc97066
MW
3692014-11-20 Mark Wielaard <mjw@redhat.com>
370
371 PR debug/38757
372 * c-opts.c (set_std_c89): Set lang_hooks.name.
373 (set_std_c99): Likewise.
374 (set_std_c11): Likewise.
375 (set_std_cxx98): Likewise.
376 (set_std_cxx11): Likewise.
377 (set_std_cxx14): Likewise.
378 (set_std_cxx1z): Likewise.
379
aa7da51a
JJ
3802014-11-21 Jakub Jelinek <jakub@redhat.com>
381
382 PR target/63764
383 * c-common.h (convert_vector_to_pointer_for_subscript): Change
384 return type to bool.
009a3480 385 * c-common.c: Include gimple-expr.h.
aa7da51a
JJ
386 (convert_vector_to_pointer_for_subscript): Change return type to
387 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
388 and copy it into a TARGET_EXPR and use that instead of *vecp
389 directly.
390
538dd0b7
DM
3912014-11-19 David Malcolm <dmalcolm@redhat.com>
392
393 Merger of git branch "gimple-classes-v2-option-3".
394 * ChangeLog.gimple-classes: New.
395 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
396 from being just a vec<gimple> to a vec<gbind *>.
397
c39a5e99
JJ
3982014-11-18 Jakub Jelinek <jakub@redhat.com>
399
400 PR sanitizer/63813
401 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
402 argument to ptype, set type to TREE_TYPE (ptype). Don't call
403 get_pointer_alignment for non-pointers. Use ptype, or if it is
404 reference type, corresponding pointer type, as type of kind
405 argument.
406 (ubsan_maybe_instrument_reference,
407 ubsan_maybe_instrument_member_call): Adjust callers.
408
8537a4a9
MP
4092014-11-15 Marek Polacek <polacek@redhat.com>
410
411 PR middle-end/63884
412 * array-notation-common.c (is_sec_implicit_index_fn): Return false
413 for NULL fndecl.
414 (extract_array_notation_exprs): Return for NULL node.
415
2079956a
JM
4162014-11-12 Joseph Myers <joseph@codesourcery.com>
417
418 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
419 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
420
1304953e
JJ
4212014-11-12 Jakub Jelinek <jakub@redhat.com>
422
423 PR c/59708
424 * c-common.c (check_builtin_function_arguments): Handle
425 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
426
e5e44252
AK
4272014-11-10 Andi Kleen <ak@linux.intel.com>
428
429 PR c/60804
430 * c-common.h (check_no_cilk): Declare.
431 * cilk.c (get_error_location): New function.
432 (check_no_cilk): Dito.
433
e64b984d
AK
4342014-11-10 Andi Kleen <ak@linux.intel.com>
435
436 * cilk.c (recognize_spawn): Use expression location
437 for error message.
438
13c21655
PC
4392014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
440
441 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
442
42fd12b1
ESR
4432014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
444
445 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
446 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
447 (__cpp_range_based_for, __cpp_initializer_lists,
448 __cpp_delegating_constructors, __cpp_nsdmi,
449 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
450 for C++11; (__cpp_attribute_deprecated): Remove in favor of
451 __has_cpp_attribute.
452 * c-lex.c (cb_has_attribute): New callback CPP function;
453 (init_c_lex): Set has_attribute callback.
454
6f450181
RB
4552014-11-04 Richard Biener <rguenther@suse.de>
456
457 * c-common.c (shorten_compare): Do not shorten mixed
458 DFP and non-DFP compares.
459
26f0e1d6
ESR
4602014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
461
462 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
463 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
464 Commentary and rearrangement of tests.
465 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
466 Commentary and rearrangement of tests.
467 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
468 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
469
ef4bddc2
RS
4702014-10-29 Richard Sandiford <richard.sandiford@arm.com>
471
472 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
473 enum from machine_mode.
474
c582198b
AM
4752014-10-28 Andrew MacLeod <amacleod@redhat.com>
476
adfac8df
JJ
477 * c-common.c: Adjust include files.
478 * c-gimplify.c: Ditto.
479 * cilk.c: Ditto.
480 * c-pragma.c: Ditto.
481 * c-ubsan.c: Ditto.
c582198b 482
60393bbc
AM
4832014-10-27 Andrew MacLeod <amacleod@redhat.com>
484
485 * c-gimplify.c: Adjust include files.
486
d723bb7c
MLI
4872014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
488
489 PR c++/53061
490 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
491 c_common_initialize_diagnostics.
492 * c-common.h: Likewise.
493
90f3520e
MP
4942014-10-24 Marek Polacek <polacek@redhat.com>
495
496 PR c/56980
497 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
498 print "struct"/"union"/"enum" for typedefed names.
499
59d7607a
MP
5002014-10-23 Marek Polacek <polacek@redhat.com>
501
502 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
503 in unsigned type.
504
d95a2703
JJ
5052014-10-22 Jakub Jelinek <jakub@redhat.com>
506 Yury Gribov <y.gribov@samsung.com>
507
508 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
509 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
510 instead of flag_sanitize_recover as bool flag.
511
8e6ef852
KY
5122014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
513
514 * cilk.c: Revert previous change.
515
948cf550
IZ
5162014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
517
518 PR c/63307
519 * cilk.c: Include vec.h.
520 (struct cilk_decls): New structure.
521 (wrapper_parm_cb): Split this function to...
522 (fill_decls_vec): ...this...
523 (create_parm_list): ...and this.
524 (compare_decls): New function.
525 (for_local_cb): Remove.
526 (wrapper_local_cb): Ditto.
527 (build_wrapper_type): For now first traverse and fill vector of
528 declarations then sort it and then deal with sorted vector.
529 (cilk_outline): Ditto.
530 (declare_one_free_variable): Ditto.
531
92574c7c
MP
5322014-10-17 Marek Polacek <polacek@redhat.com>
533
534 * c-opts.c (c_common_post_options): Set warn_implicit_int.
535 * c.opt (Wimplicit-int): Initialize to -1.
536
83685514
AM
5372014-10-16 Andrew MacLeod <amacleod@redhat.com>
538
539 * c-pragma.c: Adjust include files.
540 * c-semantics.c: Likewise.
541
5b8300ea
DD
5422014-10-16 DJ Delorie <dj@redhat.com>
543
544 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
545 multiples of bytes.
546
5f83e90b
JM
5472014-10-14 Jason Merrill <jason@redhat.com>
548
549 PR c++/63455
550 * c-common.h (CPP_PREPARSED_EXPR): New.
551 (N_CP_TTYPES): Adjust.
552
d73326ca
MP
5532014-10-15 Marek Polacek <polacek@redhat.com>
554
555 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
556
78a7c317
DD
5572014-10-14 DJ Delorie <dj@redhat.com>
558
559 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
560 types, not just __int128.
561 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
562 types, not just __int128.
563 (cpp_atomic_builtins): Round pointer sizes up.
564 (type_suffix): Use type precision, not specific types.
565 * c-common.c (c_common_reswords): Remove __int128 special case.
566 (c_common_type_for_size): Check for all __intN types, not just
567 __int128.
568 (c_common_type_for_mode): Likewise.
569 (c_common_signed_or_unsigned_type): Likewise.
570 (c_build_bitfield_integer_type): Likewise.
571 (c_common_nodes_and_builtins): Likewise.
572 (keyword_begins_type_specifier): Likewise.
573 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
574 __intN variants.
575
2a22f99c
TS
5762014-10-12 Trevor Saunders <tsaunders@mozilla.com>
577
578 * c-common.c: Use hash_table instead of hashtab.
579
2a8ef767
ESR
5802014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
581
adfac8df 582 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
2a8ef767
ESR
583 C++11 section.
584
3c9aabbd
MG
5852014-10-03 Marc Glisse <marc.glisse@inria.fr>
586
587 PR c++/54427
588 PR c++/57198
589 PR c++/58845
590 * c-common.c (warn_logical_operator): Punt for vectors.
591
a15f7cb8
ESR
5922014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
593
594 Implement SD-6: SG10 Feature Test Recommendations
595 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
596 macros and the __has_header macro.
597
8d0cf15e
JM
5982014-09-30 Jason Merrill <jason@redhat.com>
599
dd5d5481
JM
600 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
601 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
602 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
603
b752325e
JM
604 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
605 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
606
8d0cf15e
JM
607 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
608 * c-common.c (c_common_reswords): Remove __is_convertible_to.
609
083e891e
MP
6102014-09-24 Marek Polacek <polacek@redhat.com>
611
612 PR c/61405
613 PR c/53874
614 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
615
7861b648
AK
6162014-09-23 Andi Kleen <ak@linux.intel.com>
617
618 * c-common.c (handle_no_reorder_attribute): New function.
619 (c_common_attribute_table): Add no_reorder attribute.
620
9a79452d
JM
6212014-09-22 Joseph Myers <joseph@codesourcery.com>
622
623 * c-cppbuiltin.c (c_cpp_builtins): Define
624 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
625 modes.
626
dd69f047
JM
6272014-09-18 Joseph Myers <joseph@codesourcery.com>
628
629 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
630 for supported floating-point modes.
631
737a4826
MLI
6322014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
633
634 * c.opt (Wpsabi): Use LangEnabledBy.
635 * c-opts.c (c_common_handle_option): Do not handle here.
636
8cc4b7a2
JM
6372014-09-12 Joseph Myers <joseph@codesourcery.com>
638
639 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
640 macros for floating-point modes.
641
179b5a55
MG
6422014-09-11 Marc Glisse <marc.glisse@inria.fr>
643
644 PR target/58757
645 * c-cppbuiltin.c (builtin_define_float_constants): Correct
646 __*_DENORM_MIN__ without denormals.
647
570a11fe
JJ
6482014-09-10 Jakub Jelinek <jakub@redhat.com>
649
650 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
651 ubsan_instrument_vla, ubsan_instrument_return): Adjust
652 ubsan_create_data callers.
653 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
654 index is constant or BIT_AND_EXPR with constant mask and is
655 small enough for the bound.
656 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
657 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
658
b559c810
MLI
6592014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
660
661 * c.opt: Add CppReason to various flags.
662 (Wdate-time): Re-sort.
663 * c-common.c: Include c-common.h earlier.
664 (struct reason_option_codes_t): Delete.
665 (c_option_controlling_cpp_error): Prefix global type and struct
666 with cpp_.
667
1ef33fd4
MLI
6682014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
669
670 * c.opt (Wnormalized): New.
671 (Wnormalized=): Use Enum and Reject Negative.
672 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
673
66bb34c0
JM
6742014-09-08 Joseph Myers <joseph@codesourcery.com>
675
676 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
677 digits of floating-point modes if -fbuilding-libgcc.
678
53d68b9f
JM
6792014-09-05 Joseph Myers <joseph@codesourcery.com>
680
681 * c-cppbuiltin.c (c_cpp_builtins): Also define
682 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
683 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
684 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
685 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
686 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
687 __LIBGCC_STACK_GROWS_DOWNWARD__,
688 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
689 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
690 __LIBGCC_DWARF_FRAME_REGISTERS__,
691 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
692 __LIBGCC_STACK_POINTER_REGNUM__ and
693 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
694 (builtin_define_with_value): Handle backslash-escaping in string
695 macro values.
696
f65586dc
RB
6972014-09-05 Richard Biener <rguenther@suse.de>
698
699 PR middle-end/63148
700 * c-format.c (check_format_arg): Properly handle
701 effectively signed POINTER_PLUS_EXPR offset.
702
2b71f4a4
MLI
7032014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
704
705 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
706 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
707 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
708 and Init.
709 * c-opts.c (c_common_handle_option): Do not handle here.
710 (sanitize_cpp_opts): Likewise.
711 * c-common.c (struct reason_option_codes_t): Handle
712 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
713
d2e4feca
MP
7142014-09-03 Marek Polacek <polacek@redhat.com>
715
716 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
717
9a771876
JJ
7182014-09-02 Jakub Jelinek <jakub@redhat.com>
719 Balaji V. Iyer <balaji.v.iyer@intel.com>
720 Igor Zamyatin <igor.zamyatin@intel.com>
721
722 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
723 * c-common.c (c_common_reswords): Added _Cilk_for.
724 * c-common.h (enum rid): Added RID_CILK_FOR.
725 (cilk_for_number_of_iterations): Add declaration.
726 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
727 CILK_FOR.
728 * c-pragma.c (init_pragma): Register "grainsize" pragma.
729 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
730
81b5d104
MLI
7312014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
732
733 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
734 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
735 Wundef): Use CPP, Var and Init.
736 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
737
b753b37b
MLI
7382014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
739
740 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
741 * c-opts.c (c_common_handle_option): Do not handle here.
742
028aee17
JM
7432014-08-25 Jason Merrill <jason@redhat.com>
744
745 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
746 -std=c++14 and -std=gnu++14, rather than the reverse.
747 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
748 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
749 * c-common.h (cxx_dialect): Remove cxx1y.
750
e4276ba5
ESR
7512014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
752
753 * c-common.h (enum cxx_dialect): Add cxx14.
754 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
755 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
756 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
757
a545cacd
JM
7582014-08-22 Jason Merrill <jason@redhat.com>
759
760 * c.opt (std=gnu++17): Fix alias.
761
59ea0364
MP
7622014-08-22 Marek Polacek <polacek@redhat.com>
763
764 PR c++/62199
765 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
766 check for vector types. Drop LHS argument.
767 * c-common.h (warn_logical_not_parentheses): Adjust.
768
596e808c
MLI
7692014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
770
771 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
772 (Wmultichar): Likewise.
773 (Wdate-time): Use C-family languages instead of Common. Use CPP
774 and Var.
775 * c-opts.c (c_common_handle_option): Do not handle the above
776 options here.
777 (sanitize_cpp_opts): Likewise.
778
18767f65
MLI
7792014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
780
781 PR fortran/44054
782 * c-opts.c: Include tree-diagnostics.h.
783 (c_diagnostic_finalizer): New.
784 (c_common_initialize_diagnostics): Use it.
785
b4413594
MLI
7862014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
787
788 PR preprocessor/51303
789 * c-common.c (struct reason_option_codes_t option_codes):
790 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
791
43f9a13c
MLI
7922014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
793
794 PR c/60975
795 PR c/53063
796 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
797 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
798 (c_common_post_options): Call init_global_opts_from_cpp.
799 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
800
04159acf
MP
8012014-08-19 Marek Polacek <polacek@redhat.com>
802
803 PR c++/62153
804 * c-common.c (maybe_warn_bool_compare): New function.
805 * c-common.h (maybe_warn_bool_compare): Declare.
806 * c.opt (Wbool-compare): New option.
807
35aff4fb
MP
8082014-08-19 Marek Polacek <polacek@redhat.com>
809
810 * c.opt (Wc99-c11-compat): New option.
811
177cce46
MP
8122014-08-19 Marek Polacek <polacek@redhat.com>
813
814 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
815 to warn_c90_c99_compat.
816 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
817 to -1.
818
6ae9194f
MLI
8192014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
820 Steven Bosscher <steven@gcc.gnu.org>
821
822 PR c/52952
823 * c-format.c: Add extra_arg_loc and format_string_loc to struct
824 format_check_results.
825 (check_function_format): Use true and add comment for boolean
826 argument.
827 (finish_dollar_format_checking): Use explicit location when warning.
828 (check_format_info): Likewise.
829 (check_format_arg): Set extra_arg_loc and format_string_loc.
830 (check_format_info_main): Use explicit location when warning.
831 (check_format_types): Pass explicit location.
832 (format_type_warning): Likewise.
833
8e54f6d3
MLI
8342014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
835
836 PR fortran/44054
837 * c-format.c: Handle Fortran flags.
838
cd4e76fc
IZ
8392014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
840
841 PR other/61962
842 * array-notation-common.c (find_rank): Added handling for other
843 types of references.
844
f3bede71
MP
8452014-08-10 Marek Polacek <polacek@redhat.com>
846
847 PR c/51849
848 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
849 * c.opt (Wc90-c99-compat): Add option.
850
9f25a338
TS
8512014-08-07 Trevor Saunders <tsaunders@mozilla.com>
852
853 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
854
62e4eb35
MP
8552014-08-03 Marek Polacek <polacek@redhat.com>
856
857 * c-common.c (check_case_value): Add location_t parameter. Use it.
858 (c_add_case_label): Pass loc to check_case_value.
859
b787e7a2
TS
8602014-08-02 Trevor Saunders <tsaunders@mozilla.com>
861
862 * cilk.c: Use hash_map instead of pointer_map.
863
6e2830c3
TS
8642014-08-02 Trevor Saunders <tsaunders@mozilla.com>
865
866 * c-gimplify.c: Use hash_set instead of pointer_set.
867
a7ee52fb
IZ
8682014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
869
870 PR middle-end/61455
871 * array-notation-common.c (extract_array_notation_exprs): Handling
872 of DECL_EXPR added.
873
944fa280
JJ
8742014-08-01 Jakub Jelinek <jakub@redhat.com>
875
876 * c-common.h (min_align_of_type): Removed prototype.
877 * c-common.c (min_align_of_type): Removed.
878 * c-ubsan.h (ubsan_maybe_instrument_reference,
879 ubsan_maybe_instrument_member_call): New prototypes.
880 * c-ubsan.c: Include stor-layout.h and builtins.h.
881 (ubsan_maybe_instrument_reference_or_call,
882 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
883 functions.
884
b4dfdc11
MG
8852014-07-31 Marc Glisse <marc.glisse@inria.fr>
886
887 PR c++/60517
888 * c.opt (-Wreturn-local-addr): Move to common.opt.
889
a41844e5
JM
8902014-07-30 Jason Merrill <jason@redhat.com>
891
892 PR c++/61659
893 PR c++/61687
894 Revert:
895 * c.opt (-fuse-all-virtuals): New.
896
976d5a22
TT
8972014-07-30 Tom Tromey <tromey@redhat.com>
898
899 PR c/59855
900 * c.opt (Wdesignated-init): New option.
901 * c-common.c (c_common_attribute_table): Add "designated_init".
902 (handle_designated_init): New function.
903
cdc94aca
MP
9042014-07-24 Marek Polacek <polacek@redhat.com>
905
906 PR c/57653
907 * c-opts.c (c_finish_options): If -imacros is in effect, return.
908
f41373b6
DS
9092014-07-16 Dodji Seketeli <dodji@redhat.com>
910
911 PR preprocessor/60723 - missing system-ness marks for macro tokens
912 * c-ppoutput.c (struct print::prev_was_system_token): New data
913 member.
914 (init_pp_output): Initialize it.
915 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
916 (do_line_change): Return a flag saying if a line marker was
917 emitted or not.
918 (scan_translation_unit): Detect if the system-ness of the token we
919 are about to emit is different from the one of the previously
920 emitted token. If so, emit a line marker. Avoid emitting useless
921 adjacent line markers. Avoid emitting line markers for tokens
922 originating from the expansion of built-in macros.
923 (scan_translation_unit_directives_only): Adjust.
924
4d661eaa
MP
9252014-07-15 Marek Polacek <polacek@redhat.com>
926
927 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
928 TYPE_MAX_VALUE is NULL.
929
b108f48f
JJ
9302014-07-14 Jakub Jelinek <jakub@redhat.com>
931
932 PR middle-end/61294
933 * c.opt (Wmemset-transposed-args): New warning.
934
c0221884
JM
9352014-07-10 Jason Merrill <jason@redhat.com>
936
937 PR c++/61659
938 PR c++/61687
939 * c.opt (-fuse-all-virtuals): New.
940
63dfbb95
RB
9412014-07-09 Richard Biener <rguenther@suse.de>
942
943 PR c-family/61741
944 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
945 using unsigned arithmetic if overflow does not wrap instead of
946 if overflow is undefined.
947
773ec47f
MP
9482014-07-06 Marek Polacek <polacek@redhat.com>
949
950 PR c/6940
951 * c.opt (Wsizeof-array-argument): New option.
952
00a7ba58
JJ
9532014-07-03 Jakub Jelinek <jakub@redhat.com>
954
955 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
956 comments->count <= 1, as comments->entries might be NULL.
957
52ec0ea3
MP
9582014-07-01 Marek Polacek <polacek@redhat.com>
959
960 * c.opt (Wint-conversion): New option.
961
d5c3d343
MP
9622014-07-01 Marek Polacek <polacek@redhat.com>
963
964 PR c/58286
965 * c.opt (Wincompatible-pointer-types): New option.
966
6e7ceb17
PC
9672014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
968
969 PR c++/51400
970 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
971 Do not discard TYPE_QUALS of type.
972
da73100b
JM
9732014-06-26 Jason Merrill <jason@redhat.com>
974
975 * c-common.h (enum cxx_dialect): Add cxx1z.
976 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
977 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
978
08eedf75
TJ
9792014-06-26 Teresa Johnson <tejohnson@google.com>
980
981 * c-common.h (get_dump_info): Declare.
982 * c-gimplify.c (c_genericize): Use saved dump files.
983 * c-opts.c (c_common_parse_file): Begin and end dumps
984 once around parsing invocation.
985 (get_dump_info): New function.
986
7b56b2f8
MP
9872014-06-23 Marek Polacek <polacek@redhat.com>
988 Andrew MacLeod <amacleod@redhat.com>
989
990 PR c/61553
991 * c-common.c (get_atomic_generic_size): Don't segfault if the
992 type doesn't have a size.
993
0e37a2f3
MP
9942014-06-20 Marek Polacek <polacek@redhat.com>
995
996 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
997 (ubsan_walk_array_refs_r): New function.
998 (c_genericize): Instrument array bounds.
999 * c-ubsan.c: Include "internal-fn.h".
1000 (ubsan_instrument_division): Mark instrumented arrays as having
1001 side effects. Adjust ubsan_type_descriptor call.
1002 (ubsan_instrument_shift): Likewise.
1003 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1004 (ubsan_instrument_bounds): New function.
1005 (ubsan_array_ref_instrumented_p): New function.
1006 (ubsan_maybe_instrument_array_ref): New function.
1007 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1008 (ubsan_array_ref_instrumented_p): Declare.
1009 (ubsan_maybe_instrument_array_ref): Declare.
1010
10112014-06-20 Hale Wang <hale.wang@arm.com>
dd6fe7d4
HW
1012
1013 PR lto/61123
1014 * c.opt (fshort-enums): Add to LTO.
1015 * c.opt (fshort-wchar): Likewise.
1016
5c3d09f7
MP
10172014-06-16 Marek Polacek <polacek@redhat.com>
1018
1019 PR c/60439
1020 * c.opt (Wswitch-bool): Add Var.
1021
9cf32741
JJ
10222014-06-12 Jakub Jelinek <jakub@redhat.com>
1023
1024 PR middle-end/61486
1025 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1026 #pragma omp target teams or
1027 #pragma omp {,target }teams distribute simd.
1028
62984918
JM
10292014-06-12 Jason Merrill <jason@redhat.com>
1030
1031 * c.opt (Wabi=, fabi-compat-version): New.
1032 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1033 (c_common_post_options): Handle flag_abi_compat_version default.
1034 Disallow -fabi-compat-version=1.
1035 * c-common.h (abi_version_crosses): New.
1036
f961457f
JH
10372014-06-11 Jan Hubicka <hubicka@ucw.cz>
1038
adfac8df 1039 * c-common.c (handle_section_attribute): Update handling for
f961457f
JH
1040 section names that are no longer trees.
1041
92d28cbb
JJ
10422014-06-10 Jakub Jelinek <jakub@redhat.com>
1043
1044 PR fortran/60928
1045 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1046 (omp_pragmas): ... back here.
1047
742938c9
MP
10482014-06-05 Marek Polacek <polacek@redhat.com>
1049
1050 PR c/49706
1051 * c-common.c (warn_logical_not_parentheses): New function.
1052 * c-common.h (warn_logical_not_parentheses): Declare.
1053 * c.opt (Wlogical-not-parentheses): New option.
1054
9d548dfb
MP
10552014-06-04 Marek Polacek <polacek@redhat.com>
1056
1057 PR c/30020
1058 * c-common.c (check_case_bounds): Add location parameter.
1059 Use it.
1060 (c_add_case_label): Pass loc to check_case_bounds.
1061
fedfecef
MP
10622014-06-03 Marek Polacek <polacek@redhat.com>
1063
1064 PR c/60439
1065 * c.opt (Wswitch-bool): New option.
1066
f6a7cffc
TS
10672014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1068
040d18b6
TS
1069 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1070 Remove prototypes.
1071 (record_types_used_by_current_var_decl): Move prototype to where
1072 it belongs.
1073
f6a7cffc
TS
1074 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1075 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1076 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1077
632f2871
RS
10782014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1079
1080 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1081 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1082 void_zero_node.
1083 * c-pretty-print.c (pp_c_void_constant): New function.
1084 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1085 (c_pretty_printer::expression): Handle VOID_CST.
1086 * cilk.c (extract_free_variables): Likewise.
1087 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1088 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1089
766090c2
TS
10902014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1091
1092 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1093 * c-pragma.c (push_alignment): Adjust.
1094 (handle_pragma_push_options): Likewise.
1095
661a0813
MP
10962014-05-09 Marek Polacek <polacek@redhat.com>
1097
1098 PR c/50459
1099 * c-common.c (check_user_alignment): Return -1 if alignment is error
1100 node.
1101 (handle_aligned_attribute): Don't call default_conversion on
1102 FUNCTION_DECLs.
1103 (handle_vector_size_attribute): Likewise.
1104 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1105 (handle_sentinel_attribute): Call default_conversion and allow even
1106 integral types as an argument.
1107
2793eeab
MP
11082014-05-08 Marek Polacek <polacek@redhat.com>
1109
1110 PR c/61053
1111 * c-common.c (min_align_of_type): New function factored out from...
1112 (c_sizeof_or_alignof_type): ...here.
1113 * c-common.h (min_align_of_type): Declare.
1114
f827930a
MP
11152014-05-08 Marek Polacek <polacek@redhat.com>
1116
1117 PR c/61077
1118 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1119 parameter type of main.
1120
ca49b74e
DD
11212014-05-07 DJ Delorie <dj@redhat.com>
1122
1123 * c-cppbuiltin.c (print_bits_of_hex): New.
1124 (builtin_define_type_minmax): Print values using hex so as not to
1125 require a pre-computed list of string values.
1126
1d60af08
KZ
11272014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1128 Mike Stump <mikestump@comcast.net>
1129 Richard Sandiford <rdsandiford@googlemail.com>
1130
1131 * c-ada-spec.c: Include wide-int.h.
1132 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1133 (dump_generic_ada_node): Use wide-int interfaces.
1134 * c-common.c: Include wide-int-print.h.
1135 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1136 (pointer_int_sum): Use wide-int interfaces.
1137 (c_common_nodes_and_builtins): Use make_int_cst.
1138 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1139 (handle_alloc_size_attribute): Use wide-int interfaces.
1140 (get_nonnull_operand): Likewise.
1141 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1142 * c-lex.c: Include wide-int.h.
1143 (narrowest_unsigned_type): Take a widest_int rather than two
1144 HOST_WIDE_INTs.
1145 (narrowest_signed_type): Likewise.
1146 (interpret_integer): Update accordingly. Use wide-int interfaces.
1147 (lex_charconst): Use wide-int interfaces.
1148 * c-pretty-print.c: Include wide-int.h.
1149 (pp_c_integer_constant): Use wide-int interfaces.
1150 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1151 INT_CST_LT_UNSIGNED.
1152
b15458be
RB
11532014-05-06 Richard Biener <rguenther@suse.de>
1154
1155 * c-opts.c (c_common_post_options): For -freestanding,
1156 -fno-hosted and -fno-builtin disable pattern recognition
1157 if not enabled explicitely.
1158
6577374e
MP
11592014-05-02 Marek Polacek <polacek@redhat.com>
1160
1161 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1162
d00887e8
MP
11632014-05-01 Marek Polacek <polacek@redhat.com>
1164
1165 PR c/43245
1166 * c.opt (Wdiscarded-qualifiers): Add.
1167
f8ed5150
MP
11682014-04-30 Marek Polacek <polacek@redhat.com>
1169
1170 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1171 INT_MIN / -1 sanitization only for integer types.
1172
45484dcf
MP
11732014-04-25 Marek Polacek <polacek@redhat.com>
1174
1175 PR c/18079
1176 * c-common.c (handle_noinline_attribute): Warn if the attribute
1177 conflicts with always_inline attribute.
1178 (handle_always_inline_attribute): Warn if the attribute conflicts
1179 with noinline attribute.
1180
38e514c0
MP
11812014-04-25 Marek Polacek <polacek@redhat.com>
1182
1183 PR c/60156
1184 * c-common.c (check_main_parameter_types): Warn about variadic main.
1185
44875f92
MS
11862014-04-24 Mike Stump <mikestump@comcast.net>
1187
1188 * c.opt (Wshadow-ivar): Default to on.
1189
dcaaa5a0
DP
11902014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1191
1192 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1193
c07d7c02
MP
11942014-04-23 Marek Polacek <polacek@redhat.com>
1195
1196 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1197
1c33c9b7
JJ
11982014-04-22 Jakub Jelinek <jakub@redhat.com>
1199
1200 PR sanitizer/60275
1201 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1202 if flag_sanitize_undefined_trap_on_error.
1203 (ubsan_instrument_division, ubsan_instrument_shift,
1204 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1205 if !flag_sanitize_recover.
1206
793c625f
MG
12072014-04-22 Marc Glisse <marc.glisse@inria.fr>
1208
1209 PR libstdc++/43622
1210 * c-common.c (registered_builtin_types): Make non-static.
1211 * c-common.h (registered_builtin_types): Declare.
1212
b0f1bf36
RB
12132014-04-14 Richard Biener <rguenther@suse.de>
1214 Marc Glisse <marc.glisse@inria.fr>
1215
1216 PR c/60819
1217 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1218 apply may-alias the scalar pointer type when applicable.
1219
3b07fa4a
IZ
12202014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1221
1222 PR middle-end/60467
1223 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1224 as possible argument for Cilk_spawn.
1225
cbbd2b1c
TB
12262014-04-11 Tobias Burnus <burnus@net-b.de>
1227
1228 PR c/60194
1229 * c.opt (Wformat-signedness): Add
1230 * c-format.c(check_format_types): Use it.
1231
6415bd5d
JM
12322014-04-11 Jason Merrill <jason@redhat.com>
1233
1234 PR c++/57926
1235 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
1236 default_conversion for an array argument.
1237
6525783a
MP
12382014-04-08 Marek Polacek <polacek@redhat.com>
1239
1240 PR sanitizer/60745
1241 * c-ubsan.c: Include asan.h.
1242 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
1243
880a467b
NS
12442014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1245
1246 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
1247
7b59ff2d
MP
12482014-04-02 Marek Polacek <polacek@redhat.com>
1249
1250 * c-common.h (c_expand_expr): Remove declaration.
1251
8edbfaa6
JJ
12522014-03-28 Jakub Jelinek <jakub@redhat.com>
1253
1254 PR c++/60689
1255 * c-common.c (add_atomic_size_parameter): When creating new
1256 params vector, push the size argument first.
1257
07d72e1d
JJ
12582014-03-26 Jakub Jelinek <jakub@redhat.com>
1259
1260 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1261 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1262 ubsan_create_data callers.
1263
b35e0fa0
JJ
12642014-03-22 Jakub Jelinek <jakub@redhat.com>
1265
1266 PR debug/60603
1267 * c-opts.c (c_finish_options): Restore cb_file_change call to
1268 <built-in>.
1269
39a1ebb3
JJ
12702014-03-13 Jakub Jelinek <jakub@redhat.com>
1271
1272 PR middle-end/36282
1273 * c-pragma.c (apply_pragma_weak): Only look at
1274 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1275 DECL_ASSEMBLER_NAME_SET_P (decl).
1276 (maybe_apply_pending_pragma_weaks): Exit early if
1277 vec_safe_is_empty (pending_weaks) rather than only when
1278 !pending_weaks.
1279 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1280 set assembler name back to NULL afterwards.
1281
a07f6ed2
JM
12822014-03-11 Jason Merrill <jason@redhat.com>
1283
1284 * c.opt: Add -std=gnu++14.
1285
75b107f5
IB
12862014-03-11 Ian Bolton <ian.bolton@arm.com>
1287
1288 * c-opts.c (c_common_post_options): Don't override
1289 -ffp-contract=fast if unsafe-math-optimizations is on.
1290
f42c637e
PM
12912014-03-08 Paulo Matos <paulo@matos-sorge.com>
1292
1293 * c.opt: Enable LTO FE for fshort-double.
1294
70e24808
JM
12952014-03-07 Jason Merrill <jason@redhat.com>
1296
1297 * c.opt: Add -std=c++14.
1298
3af9c5e9
MP
12992014-03-06 Marek Polacek <polacek@redhat.com>
1300
1301 PR c/60197
1302 * cilk.c (contains_cilk_spawn_stmt): New function.
1303 (contains_cilk_spawn_stmt_walker): Likewise.
1304 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1305 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1306
b3bdf019
JJ
13072014-03-03 Jakub Jelinek <jakub@redhat.com>
1308
1309 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1310 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1311 even when flag_preprocess_only.
1312
ca7e759d
JM
13132014-02-26 Jason Merrill <jason@redhat.com>
1314
1315 PR c++/59231
1316 PR c++/11586
1317 * c-common.c (shorten_compare): Don't check
1318 c_inhibit_evaluation_warnings.
1319
28e41874
JJ
13202014-02-19 Jakub Jelinek <jakub@redhat.com>
1321
cca615af
JJ
1322 PR c/37743
1323 * c-common.c (c_common_nodes_and_builtins): When initializing
1324 c_uint{16,32,64}_type_node, also set corresponding
1325 uint{16,32,64}_type_node to the same value.
1326
28e41874
JJ
1327 PR c++/60267
1328 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1329 for PRAGMA_IVDEP if flag_preprocess_only.
1330
c2bf53a1
JJ
13312014-02-12 Jakub Jelinek <jakub@redhat.com>
1332
1333 PR c/60101
1334 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1335 if false, add ADD itself, rather than vice versa.
1336 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1337 copy. For SAVE_EXPR, only call merge_tlist once.
1338
8fcbce72
JJ
13392014-02-08 Jakub Jelinek <jakub@redhat.com>
1340
1341 PR middle-end/60092
1342 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1343 and tree_to_uhwi.
1344 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1345 functions.
1346 (c_common_attribute_table): Add alloc_align and assume_aligned
1347 attributes.
1348
0a756a3f
MP
13492014-02-06 Marek Polacek <polacek@redhat.com>
1350
1351 PR c/60087
1352 * c-common.c (warn_for_sign_compare): Call warning_at with location
1353 instead of warning.
1354
7ec4847a
MP
13552014-02-05 Marek Polacek <polacek@redhat.com>
1356
1357 PR c/53123
1358 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1359 statement.
1360
66f20604
MP
13612014-02-04 Marek Polacek <polacek@redhat.com>
1362
1363 PR c/60036
1364 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1365 SAVE_EXPR.
1366
5d77fb19
MG
13672014-02-03 Marc Glisse <marc.glisse@inria.fr>
1368
1369 PR c++/53017
1370 PR c++/59211
1371 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1372 handle_vector_size_attribute, handle_nonnull_attribute): Call
1373 default_conversion on the attribute argument.
1374 (handle_nonnull_attribute): Increment the argument number.
1375
81e5eca8
MP
13762014-01-31 Marek Polacek <polacek@redhat.com>
1377
1378 PR c/59963
1379 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1380 build_function_call_vec.
1381 (resolve_overloaded_builtin): Likewise.
1382 * c-common.h (build_function_call_vec): Adjust declaration.
1383
68fca595
MP
13842014-01-30 Marek Polacek <polacek@redhat.com>
1385
1386 PR c/59940
1387 * c-common.h (unsafe_conversion_p): Adjust declaration.
1388 (warnings_for_convert_and_check): Likewise.
1389 (convert_and_check): Likewise.
1390 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1391 expansion_point_location_if_in_system_header on it.
1392 (warnings_for_convert_and_check): Add location parameter. Call
1393 expansion_point_location_if_in_system_header on it. Use it.
1394 (convert_and_check): Add location parameter. Use it.
1395 (conversion_warning): Likewise.
1396 (c_add_case_label): Adjust convert_and_check calls.
1397 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1398
b72271b9
BI
13992014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1400
1401 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1402 flag_cilkplus.
1403 * c-pragma.c (init_pragma): Likewise.
1404 * c.opt: Likewise.
1405
393e8e8b
MP
14062014-01-23 Marek Polacek <polacek@redhat.com>
1407
1408 PR c/59846
1409 * c-common.c (shorten_compare): Add location_t parameter.
1410 * c-common.h (shorten_binary_op): Adjust declaration.
1411
f04dda30
MP
14122014-01-23 Marek Polacek <polacek@redhat.com>
1413
1414 PR c/58346
1415 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1416 * c-common.h: Declare it.
1417
621955cb
EB
14182014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1419
1420 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1421 * c-ada-spec.c (dump_ads): Likewise.
1422 (cpp_check): Likewise.
1423 (dump_ada_specs): Likewise.
1424
14252014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
67bf2939
LA
1426
1427 PR c++/49718
1428 * c-common.c (handle_no_instrument_function_attribute): Allow
1429 no_instrument_function attribute in class member
1430 definition/declaration.
1431
241f845a
JJ
14322014-01-15 Jakub Jelinek <jakub@redhat.com>
1433
1434 PR c/58943
1435 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1436 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1437 being COMPOUND_EXPR.
1438 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1439 operand a SAVE_EXPR and second MODIFY_EXPR.
1440
e83b8e2e
JJ
14412014-01-09 Jakub Jelinek <jakub@redhat.com>
1442
1443 PR target/58115
1444 * c-pch.c (c_common_write_pch): Call
1445 prepare_target_option_nodes_for_pch.
1446
23a5b65a
RS
14472014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1448
1449 Update copyright years
1450
f9030485
RS
14512014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1452
1453 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1454 the copyright notice.
1455
f2aa696b
EB
14562013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1457
1458 * c-ada-spec.c (print_constructor): New function.
1459 (print_destructor): Retrieve the origin of the destructor.
1460 (print_ada_declaration): Revamp handling of constructors/destructors.
1461
1f26ac87
JM
14622013-12-23 Stuart Hastings <stuart@apple.com>
1463 Bill Maddox <maddox@google.com>
1464 Jason Merrill <jason@redhat.com>
1465
1466 * c.opt: Add -fdeclone-ctor-dtor.
1467 * c-opts.c (c_common_post_options): Default to on iff -Os.
1468
41958c28
BI
14692013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1470
1471 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1472 attribute.
1473 * c-pragma.h (enum pragma_cilk_clause): Remove.
1474 (enum pragma_omp_clause): Added the following fields:
1475 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1476 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1477 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1478 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1479 PRAGMA_CILK_CLAUSE_UNIFORM.
1480
1481
12893402
BI
14822013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1483
1484 * cilk.c (cilk_outline): Made this function non-static.
1485 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1486 (create_cilk_wrapper): Added a new parameter: a function pointer.
1487 (c_install_body_w_frame_cleanup): Remove
1488 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1489 * c-common.h (cilk_outline): New prototype.
1490 (gimplify_cilk_spawn): Removed two parameters.
1491 (cilk_install_body_with_frame_cleanup): New prototype.
1492 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1493 CILK_SPAWN_STMT case.
1494
085b42ed
BS
14952013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1496
2ce064c3
BS
1497 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1498
085b42ed
BS
1499 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1500 (int_array_type_node): Remove.
1501 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1502
9e36c9ed
MP
15032013-12-05 Marek Polacek <polacek@redhat.com>
1504
1505 PR c/52023
1506 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1507 [ADJUST_FIELD_ALIGN].
1508
296674db
JM
15092013-12-04 Joseph Myers <joseph@codesourcery.com>
1510
1511 PR c/52023
1512 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1513 and check field alignment if set.
1514 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1515 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1516
31e071ae
MP
15172013-12-04 Jakub Jelinek <jakub@redhat.com>
1518 Marek Polacek <polacek@redhat.com>
1519
1520 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1521 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1522
d7947e19
L
15232013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1524
1525 PR c/59309
1526 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1527 arguments.
1528
fad7652e
JJ
15292013-11-29 Jakub Jelinek <jakub@redhat.com>
1530
1531 PR c/59280
1532 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1533 goto invalid. If it is error_mark_node, don't issue further
1534 diagnostics.
1535
8b5e1202
SO
15362013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1537
1538 * c.opt (Wopenmp-simd): New.
1539
0a508bb6
JJ
15402013-11-22 Jakub Jelinek <jakub@redhat.com>
1541
1542 * c-ubsan.h (ubsan_instrument_return): New prototype.
1543 * c-ubsan.c (ubsan_instrument_return): New function.
1544
2fb9a547
AM
15452013-11-22 Andrew MacLeod <amacleod@redhat.com>
1546
1547 * c-common.c: Add required include files from gimple.h.
1548 * c-gimplify.c: Likewise
1549 * cilk.c: Likewise
1550
8400e75e
DM
15512013-11-22 David Malcolm <dmalcolm@redhat.com>
1552
1553 * c-common.c (unsafe_conversion_p): Remove use of
1554 EXPR_LOC_OR_HERE macro.
1555 (conversion_warning): Likewise.
1556 (warnings_for_convert_and_check): Likewise.
1557 (warn_for_collisions_1): Likewise.
1558 (shorten_compare): Likewise, and remove use of in_system_header
1559 macro, using the location from the former.
1560 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1561 (cb_def_pragma): Remove use of in_system_header macro.
1562 (lex_string): Likewise.
1563 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1564
eb1ce453
KZ
15652013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1566 Mike Stump <mikestump@comcast.net>
1567 Richard Sandiford <rdsandiford@googlemail.com>
1568
1569 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1570 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1571 tree_fits_shwi_p or tree_fits_uhwi_p.
1572 (dump_generic_ada_node): Likewise.
1573 * c-format.c (check_format_arg): Likewise.
1574 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1575
6b3b8c27
KZ
15762013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1577
1578 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1579
49b0aa18
JC
15802013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1581
1582 PR c/53001
1583 * c-common.c (unsafe_conversion_p): Make this function
1584 return an enumeration with more detail.
1585 (conversion_warning): Use the new return type of
1586 unsafe_conversion_p to separately warn either about conversions
1587 that lower floating point number precision or about the other
1588 kinds of conversions.
1589 * c-common.h (enum conversion_safety): New enumeration.
1590 (unsafe_conversion_p): switching return type to
1591 conversion_safety enumeration.
1592 * c.opt: Adding new warning -Wfloat-conversion and
1593 enabling it with -Wconversion.
1594
b826515a
BS
15952013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1596
1597 * c-opts.c: Include plugin.h.
1598 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1599
b9a55b13
MP
16002013-11-19 Marek Polacek <polacek@redhat.com>
1601
1602 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1603 call.
1604 (ubsan_instrument_shift): Likewise.
1605 (ubsan_instrument_vla): Likewise.
1606
7d362f6c
RS
16072013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1608
1609 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1610 cast to unsigned type.
1611
386b1f1f
RS
16122013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1613
1614 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1615 tree_low_cst.
1616 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1617 rather than tree_low_cst.
1618
ae7e9ddd
RS
16192013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1620
1621 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1622 tree_to_uhwi throughout.
1623
9439e9a1
RS
16242013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1625
1626 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1627 tree_low_cst (..., 0) with tree_to_shwi throughout.
1628
cc269bb6
RS
16292013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1630
1631 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1632 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1633
9541ffee
RS
16342013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1635
1636 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1637 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1638
c02065fc
AH
16392013-11-15 Aldy Hernandez <aldyh@redhat.com>
1640
1641 * c-cilkplus.c: New file.
1642 * c-common.c (readonly_error): Add location argument.
1643 * c-common.h (readonly_error): Same.
1644 (c_finish_cilk_clauses): Protoize.
1645 (c_check_cilk_loop): Same.
1646 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1647 Do not fail on error_mark_node.
1648 Abstract increment canonicalization to here...
1649 (c_omp_for_incr_canonicalize_ptr): New.
1650 c-pragma.c (init_pragma): Register "simd" pragma.
1651 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1652 (enum pragma_cilk_clause): New.
1653
9cc65f15
RS
16542013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1655
1656 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1657 wchar_type and host_integerp checks.
1658
18f429e2
AM
16592013-11-14 Andrew MacLeod <amacleod@redhat.com>
1660
1661 * c-common.c: Likewise.
1662 * c-gimplify.c: Likewise.
1663 * cilk.c: Likewise.
1664
d8a2d370
DN
16652013-11-14 Diego Novillo <dnovillo@google.com>
1666
1667 * c-common.c: Include fold-const.h.
1668 Include stor-layout.h.
1669 Include calls.h.
1670 Include stringpool.h.
1671 Include attribs.h.
1672 Include varasm.h.
1673 Include trans-mem.h.
1674 * c-cppbuiltin.c: Include stor-layout.h.
1675 Include stringpool.h.
1676 * c-format.c: Include stringpool.h.
1677 * c-lex.c: Include stringpool.h.
1678 Include stor-layout.h.
1679 * c-pragma.c: Include stringpool.h.
1680 Include attribs.h.
1681 Include varasm.h.
1682 Include gcc-symtab.h.
1683 * c-pretty-print.c: Include stor-layout.h.
1684 Include attribs.h.
1685 * cilk.c: Include stringpool.h.
1686 Include calls.h.
1687
38b7bc7f
JM
16882013-11-13 Joseph Myers <joseph@codesourcery.com>
1689
1690 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1691 * c-common.c (c_common_reswords): Add __auto_type.
1692 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1693
45b0be94
AM
16942013-11-12 Andrew MacLeod <amacleod@redhat.com>
1695
18f429e2
AM
1696 * c-common.c: Include gimplify.h.
1697 * c-gimplify.c: Likewise.
1698 * cilk.c: Likewise.
1699 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1700 * c-ubsan.c: Don't include gimple.h.
45b0be94 1701
582d9b50
JM
17022013-11-12 Joseph Myers <joseph@codesourcery.com>
1703
1704 * c-common.c (c_common_reswords): Add _Thread_local.
1705
6b28e197
JM
17062013-11-09 Joseph Myers <joseph@codesourcery.com>
1707
1708 * c-common.c (atomic_size_supported_p): New function.
1709 (resolve_overloaded_atomic_exchange)
1710 (resolve_overloaded_atomic_compare_exchange)
1711 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1712 Use it instead of comparing size with a local list of sizes.
1713
267bac10
JM
17142013-11-07 Andrew MacLeod <amacleod@redhat.com>
1715 Joseph Myers <joseph@codesourcery.com>
1716
1717 * c-common.h (enum rid): Add RID_ATOMIC.
1718 * c-common.c (c_common_reswords): Add _Atomic.
1719 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1720 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1721 * c-format.c (check_format_types): Check for extra _Atomic
1722 qualifiers in format argument.
1723 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1724 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1725
5157b91e
TB
17262013-11-06 Tobias Burnus <burnus@net-b.de>
1727
1728 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1729
6dbe0958
JM
17302013-11-06 Joseph Myers <joseph@codesourcery.com>
1731
1732 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1733 standards modes.
1734 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1735 to mean lack of IEEE 754 support.
1736
e8ff5196
TB
17372013-11-05 Tobias Burnus <burnus@net-b.de>
1738
1739 * c.opt (-Wdate-time): New option
1740 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1741
254a0760
JM
17422013-11-05 Joseph Myers <joseph@codesourcery.com>
1743
1744 * c-cppbuiltin.c (cpp_iec_559_value): Test
1745 flag_excess_precision_cmdline not flag_excess_precision.
1746
6d7f7e0a
TB
17472013-11-05 Tobias Burnus <burnus@net-b.de>
1748
1749 * c.opt (fopenmp-simd): New option.
1750 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1751 (omp_pragmas): ... this new struct.
1752 (c_pp_lookup_pragma): Also walk omp_pragmas.
1753 (init_pragma): Init pragmas for -fopenmp-simd.
1754
55a7f02f
MP
17552013-11-04 Marek Polacek <polacek@redhat.com>
1756
1757 PR c++/58979
1758 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1759
9193fb05
JM
17602013-11-04 Joseph Myers <joseph@codesourcery.com>
1761
1762 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1763 New functions.
1764 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1765
94159ecf
EB
17662013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1767
1768 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1769 (dump_ada_specs): Adjust prototype of second callback.
1770 * c-ada-spec.c (cpp_check): New global variable.
1771 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1772 (print_generic_ada_decl): Likewise.
1773 (has_static_fields): Change return type to bool and add guard.
1774 (has_nontrivial_methods): New predicate.
1775 (is_tagged_type): Change return type to bool.
1776 (separate_class_package): Call has_nontrivial_methods.
1777 (pp_ada_tree_identifier): Minor tweaks.
1778 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1779 (dump_ada_array_domains): Likewise.
1780 (dump_ada_array_type): Likewise.
1781 (dump_template_types): Remove cpp_check parameter and do not pass it to
1782 dump_generic_ada_node.
1783 (dump_ada_template): Likewise.
1784 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1785 recursively.
1786 (print_ada_methods): Change return type to integer. Remove cpp_check
1787 parameter and do not pass it down.
1788 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1789 dump_generic_ada_node.
1790 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1791 accessing methods.
1792 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1793 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1794 value of print_ada_methods.
1795 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1796 Set cpp_check to it before invoking dump_ada_nodes.
1797 (dump_ada_specs): Likewise.
1798
b906f4ca
MP
17992013-11-03 Marek Polacek <polacek@redhat.com>
1800
1801 * c-ubsan.c: Don't include hash-table.h.
1802 (ubsan_instrument_vla): New function.
1803 * c-ubsan.h: Declare it.
1804
5e20cdc9
DM
18052013-10-31 David Malcolm <dmalcolm@redhat.com>
1806
1807 Automated part of renaming of symtab_node_base to symtab_node.
1808
1809 Patch autogenerated by rename_symtab.py from
1810 https://github.com/davidmalcolm/gcc-refactoring-scripts
1811 revision 58bb219cc090b2f4516a9297d868c245495ee622
1812
1813 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1814 symtab_node_base to symtab_node.
1815
7057e645
ESR
18162013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1817
1818 Implement C++14 digit separators.
1819 * c-lex.c (interpret_float): Remove digit separators from scratch string
1820 before building real literal.
1821
193ea7bc
JJ
18222013-10-30 Jakub Jelinek <jakub@redhat.com>
1823
1824 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1825
939b37da
BI
18262013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1827
1828 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1829 fields.
1830 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1831 enabled.
1832 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1833 (insert_cilk_frame): New prototype.
1834 (cilk_init_builtins): Likewise.
1835 (gimplify_cilk_spawn): Likewise.
1836 (c_cilk_install_body_w_frame_cleanup): Likewise.
1837 (cilk_detect_spawn_and_unwrap): Likewise.
1838 (cilk_set_spawn_marker): Likewise.
1839 (build_cilk_sync): Likewise.
1840 (build_cilk_spawn): Likewise.
1841 * cilk.c: New file.
1842
67348ccc
DM
18432013-10-29 David Malcolm <dmalcolm@redhat.com>
1844
1845 Patch autogenerated by refactor_symtab.py from
1846 https://github.com/davidmalcolm/gcc-refactoring-scripts
1847 revision 58bb219cc090b2f4516a9297d868c245495ee622
1848
1849 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1850 to a true class hierarchy.
1851 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1852
d570872d
RS
18532013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1854
1855 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1856
98906124
JL
18572013-10-26 Jeff Law <law@redhat.com>
1858
adfac8df
JJ
1859 * c-common.c (c_define_builtins): Remove mudflap support.
1860 * c.opt: Ignore and warn for mudflap options.
98906124 1861
d73749df 18622013-10-24 Tobias Burnus <burnus@net-b.de>
8170608b
TB
1863
1864 PR other/33426
1865 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1866 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1867
3f04b1bb
JM
18682013-10-23 Jason Merrill <jason@redhat.com>
1869
1870 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1871
acf0174b
JJ
18722013-10-11 Jakub Jelinek <jakub@redhat.com>
1873
acd15a28
JJ
1874 * c-common.h (omp_clause_mask::operator !=): New method.
1875 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1876 instead of if (mask & something) tests everywhere.
1877
acf0174b
JJ
1878 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1879 201307 instead of 201107.
1880 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1881 (c_common_attribute_table): Add "omp declare target" and
1882 "omp declare simd" attributes.
1883 (handle_omp_declare_target_attribute,
1884 handle_omp_declare_simd_attribute): New functions.
1885 * c-omp.c: Include c-pragma.h.
1886 (c_finish_omp_taskgroup): New function.
1887 (c_finish_omp_atomic): Add swapped argument, if true,
1888 build the operation first with rhs, lhs arguments and use NOP_EXPR
1889 build_modify_expr.
1890 (c_finish_omp_for): Add code argument, pass it down to make_code.
1891 (c_omp_split_clauses): New function.
1892 (c_split_parallel_clauses): Removed.
1893 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1894 c_omp_declare_simd_clauses_to_decls): New functions.
1895 * c-common.h (omp_clause_mask): New type.
1896 (OMP_CLAUSE_MASK_1): Define.
1897 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1898 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1899 omp_clause_mask::operator |, omp_clause_mask::operator &,
1900 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1901 omp_clause_mask::operator ==): New methods.
1902 (enum c_omp_clause_split): New.
1903 (c_finish_omp_taskgroup): New prototype.
1904 (c_finish_omp_atomic): Add swapped argument.
1905 (c_finish_omp_for): Add code argument.
1906 (c_omp_split_clauses): New prototype.
1907 (c_split_parallel_clauses): Removed.
1908 (c_omp_declare_simd_clauses_to_numbers,
1909 c_omp_declare_simd_clauses_to_decls): New prototypes.
1910 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1911 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1912 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1913 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1914 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1915 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1916 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1917 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1918 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1919 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1920 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1921 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1922 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1923 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1924 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1925 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1926 PRAGMA_OMP_CLAUSE_UNIFORM.
1927
826cacfe
MG
19282013-10-09 Marc Glisse <marc.glisse@inria.fr>
1929
1930 PR tree-optimization/20318
1931 * c-common.c (handle_returns_nonnull_attribute): New function.
1932 (c_common_attribute_table): Add returns_nonnull.
1933
2284b034
MG
19342013-10-03 Marc Glisse <marc.glisse@inria.fr>
1935
1936 PR c++/19476
1937 * c.opt (fcheck-new): Move to common.opt.
1938
b56e9788
MP
19392013-09-25 Marek Polacek <polacek@redhat.com>
1940 Jakub Jelinek <jakub@redhat.com>
1941
1942 PR sanitizer/58413
1943 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1944 an expression if we can prove it is correct.
1945 (ubsan_instrument_division): Likewise. Remove unnecessary
1946 check.
1947
ce6923c5
MP
19482013-09-18 Marek Polacek <polacek@redhat.com>
1949
1950 PR sanitizer/58411
1951 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1952 Declare it.
1953 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1954
fb5610fb
IS
19552013-09-14 Iain Sandoe <iain@codesourcery.com>
1956
1957 PR target/48094
1958 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1959 fobjc-gc, freplace-objc-classes): Accept for LTO.
1960
88b0e79e
JC
19612013-09-13 Jacek Caban <jacek@codeweavers.com>
1962
1963 * c-target.def: New hook
1964
c9b0866a
PC
19652013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1966
1967 PR c++/43452
1968 * c.opt (Wdelete-incomplete): Add.
1969
0af94e6f
JR
19702013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1971
1972 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1973 (vector_types_compatible_elements_p): New function.
1974 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1975 declaration.
1976 (vector_types_compatible_elements_p): Declare.
1977
7c26172c
GDR
19782013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1979
1980 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1981 a virtual member function.
1982 (pp_simple_type_specifier): Remove.
1983 (pp_c_type_specifier): Likewise.
1984 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1985 Rename from pp_c_type_specifier. Adjust.
1986 (c_pretty_printer::c_pretty_printer): Do not assign to
1987 simple_type_specifier.
1988
20059c8b
GDR
19892013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1990
1991 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1992 member function.
1993 (c_pretty_printer::storage_class_specifier): Likewise.
1994 (c_pretty_printer::initializer): Likewise.
1995 (pp_declaration): Remove.
1996 (pp_declaration_specifiers): Likewise.
1997 (pp_abstract_declarator): Likewise.
1998 (pp_declarator): Likewise.
1999 (pp_type_id): Likewise.
2000 (pp_statement): Likewise.
2001 (pp_constant): Likewise.
2002 (pp_id_expression): Likewise.
2003 (pp_primary_expression): Likewise.
2004 (pp_unary_expression): Likewise.
2005 (pp_multiplicative_expression): Likewise.
2006 (pp_conditional_expression): Likewise.
2007 (pp_assignment_expression): Likewise.
2008 (pp_expression): Likewise.
2009 (pp_c_type_id): Likewise.
2010 (pp_c_storage_class_specifier): Likewise.
2011 * c-pretty-print.c (pp_c_type_cast): Tidy.
2012 (pp_c_pointer): Likewise.
2013 (pp_c_type_specifier): Likewise.
2014 (pp_c_parameter_type_list): Likewise.
2015 (pp_c_function_definition): Likewise.
2016 (pp_c_init_declarator): Likewise.
2017 (pp_c_initializer_list): Likewise.
2018 (pp_c_constructor_elts): Likewise.
2019 (c_pretty_printer::direct_abstract_declarator): Likewise.
2020 (c_pretty_printer::declaration_specifiers): Likewise.
2021 (c_pretty_printer::primary_expression): Likewise.
2022 (c_pretty_printer::postfix_expression): Likewise.
2023 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2024 (c_pretty_printer::storage_class_specifier): Rename from
2025 pp_c_storage_class_specifier.
2026 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2027 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2028 storage_class_specifier, initializer, offset_list, flags.
2029
de5a5fa1
MP
20302013-08-30 Marek Polacek <polacek@redhat.com>
2031
2032 * c-ubsan.c: New file.
2033 * c-ubsan.h: New file.
2034
8f0e4d72
GDR
20352013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2036
2037 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2038 member function.
2039 (c_pretty_printer::declaration_specifiers): Likewise.
2040 (c_pretty_printer::declarator): Likewise.
2041 (c_pretty_printer::abstract_declarator): Likewise.
2042 (c_pretty_printer::direct_abstract_declarator): Likewise.
2043 (c_pretty_printer::direct_declarator): Likewise.
2044 (c_pretty_printer::function_specifier): Likewise.
2045 (pp_declaration): Adjust.
2046 (pp_declaration_specifiers): Likewise.
2047 (pp_abstract_declarator): Likewise.
2048 (pp_direct_declarator): Likewise.
2049 (pp_function_specifier): Likewise.
2050 (pp_direct_abstract_declarator): Remove as unused.
2051 (pp_c_declaration): Remove.
2052 (pp_c_declaration_specifiers): Likewise.
2053 (pp_c_declarator): Likewise.
2054 (pp_c_direct_declarator): Likewise.
2055 (pp_c_function_specifier): Likewise.
2056 (pp_c_direct_abstract_declarator): Likewise.
2057 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2058 from pp_c_abstract_declarator. Adjust.
2059 (c_pretty_printer::direct_abstract_declarator): Rename from
2060 pp_c_direct_abstract_declarator. Adjust.
2061 (c_pretty_printer::function_specifier): Rename from
2062 pp_c_function_specifier. Adjust.
2063 (c_pretty_printer::declaration_specifiers): Rename from
2064 pp_c_declaration_specifiers. Adjust.
2065 (c_pretty_printer::direct_declarator): Rename from
2066 pp_c_direct_declarator. Adjust.
2067 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2068 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2069 (c_pretty_printer::c_pretty_printer): Do not assign to
2070 declaration, declaration_specifiers, declarator,
2071 direct_declarator, direct_abstract_declarator, function_specifier.
2072
00d34d3a
GDR
20732013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2074
2075 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2076 virtual member function.
2077 (c_pretty_printer::multiplicative_expression): Likewise.
2078 (c_pretty_printer::conditional_expression): Likewise.
2079 (c_pretty_printer::assignment_expression): Likewise.
2080 (c_pretty_printer::expression): Likewise.
2081 (pp_unary_expression): Adjust.
2082 (pp_multiplicative_expression): Likewise.
2083 (pp_assignment_expression): Likewise.
2084 (pp_conditional_expression): Likewise.
2085 (pp_expression): Likewise.
2086 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2087 from pp_c_unary_expression. Adjust.
2088 (c_pretty_printer::multiplicative_expression): Rename from
2089 pp_c_multiplicative_expression. Adjust.
2090 (c_pretty_printer::conditional_expression): Rename from
2091 pp_c_conditional_expression. Adjust.
2092 (c_pretty_printer::assignment_expression): Rename from
2093 pp_c_assignment_expression. Adjust.
2094 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2095 (c_pretty_printer::c_pretty_printer): Do not assign to
2096 unary_expression, multiplicative_expression,
2097 conditional_expression, expression.
2098
fb22178f
GDR
20992013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2100
2101 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2102 virtual member function.
2103 (pp_postfix_expression): Adjust.
2104 (pp_c_postfix_expression): Remove.
2105 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2106 from pp_c_postfix_expression. Adjust.
2107 (c_pretty_printer::c_pretty_printer): Do not assign to
2108 postfix_expression.
2109
7ecc2600
GDR
21102013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2111
2112 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2113 virtua member function.
2114 (pp_primary_expression): Adjust.
2115 (pp_c_primary_expression): Remove.
2116 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2117 from pp_c_primary_expression. Adjust.
2118 (pp_c_initializer_list): Use pp_primary_expression.
2119 (c_pretty_printer::c_pretty_printer): Do not assign to
2120 primary_expression.
2121
0691175f
GDR
21222013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2123
2124 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2125 * c-pretty-print.c (M_): Remove.
2126 (c_pretty_printer::translate_string): Define.
2127 (pp_c_type_specifier): Use it.
2128 (pp_c_primary_expression): Likewise.
2129 (pp_c_expression): Likewise.
2130
66dfe4c4
GDR
21312013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2132
2133 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2134 virtual function.
2135 (pp_c_id_expression): Remove.
2136 (pp_id_expression): Adjust.
2137 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2138 pp_c_id_expression. Adjust.
2139 (pp_c_postfix_expression): Use pp_id_expression.
2140 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2141
ca43e9d5
GDR
21422013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2143
2144 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2145 member function.
2146 (pp_constant): Adjust.
2147 (pp_c_constant): Remove.
2148 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2149 pp_c_constant. Adjust.
2150 (pp_c_constant)
2151 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2152 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2153
da6ca2b5
GDR
21542013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2155
2156 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2157 (c_pretty_printer::c_pretty_printer): Declare.
2158 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2159 c_pretty_printer_init. Adjust.
2160 (print_c_tree): Do not call c_pretty_printer_init.
2161 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2162
65a372f4
AC
21632013-08-09 Arnaud Charlet <charlet@adacore.com>
2164
2165 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2166
fd9b0f32
PC
21672013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2168
2169 PR c++/58080
2170 * c-common.c (pointer_int_sum): Add bool parameter.
2171 * c-common.h (pointer_int_sum): Adjust declaration.
2172
e0aec1e9
GDR
21732013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2174
2175 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2176 c_pretty_printer variable.
2177
b066401f
GDR
21782013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2179
2180 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2181 (pp_base): Remove.
2182 (pp_c_base): Likewise. Adjust users.
2183 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2184 (pp_c_whitespace): Do not call pp_base.
2185 (pp_c_left_paren): Likewise.
2186 (pp_c_right_paren): Likewise.
2187 (pp_c_left_brace): Likewise.
2188 (pp_c_right_brace): Likewise.
2189 (pp_c_left_bracket): Likewise.
2190 (pp_c_right_bracket): Likewise.
2191 (pp_c_dot): Likewise.
2192 (pp_c_ampersand): Likewise.
2193 (pp_c_star): Likewise.
2194 (pp_c_arrow): Likewise.
2195 (pp_c_semicolon): Likewise.
2196 (pp_c_complement): Likewise.
2197 (pp_c_exclamation): Likewise.
2198 (pp_c_direct_declarator): Likewise.
2199 (pp_c_ws_string): Likewise.
2200 (pp_c_identifier): Likewise.
2201 (pp_c_statement): Likewise.
2202 (print_c_tree): Likewise.
2203
65e5a578
ESR
22042013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2205
2206 PR c++/58072
2207 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2208 provide useful error strings.
2209
137a1a27
GDR
22102013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2211
2212 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2213 printer functions instead of pp_string or operators and punctuators.
2214 (dump_generic_ada_node): Likewise.
2215 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2216 (pp_c_relational_expression): Likewise.
2217 (pp_c_logical_or_expression): Likewise.
2218
07838b13
GDR
22192013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2220
2221 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2222 functions instead of pp_character.
2223 (pp_ada_tree_identifier): Likewise.
2224 (dump_ada_double_name): Likewise.
2225 (dump_ada_function_declaration): Likewise.
2226 (dump_ada_array_domains): Likewise.
2227 (dump_template_types): Likewise.
2228 (dump_generic_ada_node): Likewise.
2229 (print_ada_declaration): Likewise.
2230 (print_ada_struct_decl): Likewise.
2231 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2232
433cc7b0
TT
22332013-07-23 Tom Tromey <tromey@redhat.com>
2234
2235 * c-common.h (enum rid) <RID_GENERIC>: New constant.
2236 * c-common.c (c_common_reswords): Add _Generic.
2237
688010ba
OB
22382013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2239
2240 * c-common.c: Fix typos.
2241 * c-common.h: Likewise.
2242
2a99e5e6
LL
22432013-07-13 Lubos Lunak <l.lunak@suse.cz>
2244
2245 PR c++/55203
2246 * c-common.c (c_common_attribute_table): Add warn_unused.
2247 (handle_warn_unused_attribute): New.
2248
c26302d5
JJ
22492013-07-10 Jakub Jelinek <jakub@redhat.com>
2250
2251 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
2252 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
2253
dfeadaa0
PC
22542013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
2255
2256 PR c++/57869
2257 * c.opt: Add Wconditionally-supported.
2258
6a2fa4b2
GS
22592013-07-08 Graham Stott <graham.stott@btinternet.com>
2260
adfac8df 2261 * array-notation-common.c (length_mismatch_in_expr_p): Delete
6a2fa4b2
GS
2262 unused variables l_length and l_node.
2263
ecdbd01a 22642013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
40d3d530
JR
2265
2266 PR c/57821
2267 * c-common.c (complete_array_type): Delay folding first index
2268 like other indices. When folding, check for index overflow.
2269
bedc293e
MG
22702013-06-27 Marc Glisse <marc.glisse@inria.fr>
2271
2272 PR c++/57509
2273 * c-common.h (c_build_vec_perm_expr): New complain argument.
2274 * c-common.c (c_build_vec_perm_expr): Likewise.
2275 Use save_expr also in C++.
2276
604b2bfc
GDR
22772013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2278
2279 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2280 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2281 * c-opts.c (c_common_post_options): Likewise.
2282
dfeadaa0 22832013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
713b46fa
BI
2284
2285 * array-notation-common.c (length_mismatch_in_expr): Changed the
2286 parameter type's from a dynamic array to a vec_tree. Also removed
2287 the size parameters.
2288 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2289 the change above.
2290
2ce86d2e
BI
22912013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2292
2293 * c-common.h (struct cilkplus_an_parts): New structure.
2294 (struct cilkplus_an_loop_parts): Likewise.
2295 (cilkplus_extract_an_triplets): New prototype.
2296 (fix_sec_implicit_args): Likewise.
2297 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2298 (fix_sec_implicit_args): Likewise.
604b2bfc 2299
07a6825b
BI
23002013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2301
2302 * array-notation-common.c (find_inv_trees): Removed an unwanted
2303 typecasting.
2304 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2305 enum rid to enum tree_code.
2306
08346abd
JH
23072013-06-11 Jan Hubicka <jh@suse.cz>
2308
2309 * c-common.c (handle_alias_ifunc_attribute): Do not set
2310 DECL_EXTERNAL for weakref variables.
2311 * c-pragma.c (handle_pragma_weak): Make sure aliases
2312 are not declared as external.
2313
d60f1706
BI
23142013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2315
2316 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2317 function from c/c-array-notation.c.
2318 (is_cilkplus_reduce_builtin): Likewise.
2319 (find_rank): Likewise.
2320 (extract_array_notation_exprs): Likewise.
2321 (replace_array_notations): Likewise.
2322 (find_inv_trees): Likewise.
2323 (replace_inv_trees): Likewise.
2324 (contains_array_notation_expr): Likewise.
2325 (find_correct_array_notation_type): Likewise.
2326 * c-common.h (struct inv_list): Moved this struct from the file
2327 c/c-array-notation.c and added a new field called additional tcodes.
2328 (length_mismatch_in_expr_p): New prototype.
2329 (is_cilkplus_reduce_builtin): Likewise.
2330 (find_rank): Likewise.
2331 (extract_array_notation_exprs): Likewise.
2332 (replace_array_notation): Likewise.
2333 (find_inv_trees): Likewise.
2334 (replace_inv_trees): Likewise.
2335 (find_correct_array_notation_type): Likewise.
dfeadaa0 2336
36536d79
BI
23372013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2338
2339 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2340 function array_notation_init_builtins is called.
2341 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2342 * c-common.def (ARRAY_NOTATION_REF): New tree.
2343 * c-common.h (build_array_notation_expr): New function declaration.
2344 (build_array_notation_ref): Likewise.
2345 (extract_sec_implicit_index_arg): New extern declaration.
2346 (is_sec_implicit_index_fn): Likewise.
2347 (ARRAY_NOTATION_CHECK): New define.
2348 (ARRAY_NOTATION_ARRAY): Likewise.
2349 (ARRAY_NOTATION_START): Likewise.
2350 (ARRAY_NOTATION_LENGTH): Likewise.
2351 (ARRAY_NOTATION_STRIDE): Likewise.
2352 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2353 ARRAY_NOTATION_REF.
2354 (pp_c_expression): Likewise.
2355 * c.opt (flag_enable_cilkplus): New flag.
2356 * array-notation-common.c: New file.
2357
f7716d57
JJ
23582013-05-14 Jakub Jelinek <jakub@redhat.com>
2359
2360 PR c++/57274
2361 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2362
a5e0cd1d
MG
23632013-05-10 Marc Glisse <marc.glisse@inria.fr>
2364
2365 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2366 vectors.
2367
f6bc1c4a
HS
23682013-05-07 Han Shen <shenhan@google.com>
2369
2370 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2371
3f12f6e9
SKS
23722013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2373
2374 * c-common.c (check_user_alignment): Emit error for negative values.
2375
61949153
PC
23762013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2377
2378 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2379
e93e18e9
PC
23802013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2381
2382 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2383 __GXX_EXPERIMENTAL_CXX1Y__.
2384
44d90fe1
PC
23852013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2386 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2387
2388 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2389 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2390 to simply use OPT_Wpointer_arith.
2391 (c_sizeof_or_alignof_type): Likewise.
2392
13f39b2e
PC
23932013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2394
2395 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2396
4b84d650
JJ
23972013-04-12 Jakub Jelinek <jakub@redhat.com>
2398
2399 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2400 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2401 specifiers.
2402
fb037b5d
SB
24032013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2404
2405 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2406
4e856798
PC
24072013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2408
2409 * c-common.c (pointer_int_sum): Remove dead code.
2410
4b1baac8
RS
24112013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2412
2413 PR middle-end/56524
2414 * c-common.c (handle_optimize_attribute): Don't call
2415 save_optabs_if_changed.
2416
0b50e654
JJ
24172013-03-05 Jakub Jelinek <jakub@redhat.com>
2418
2419 PR middle-end/56461
2420 * c-pch.c (pch_init): Free target_validity at the end.
2421
48c41403
JJ
24222013-03-04 Jakub Jelinek <jakub@redhat.com>
2423
2424 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2425
e664c61c
KS
24262013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2427 Jakub Jelinek <jakub@redhat.com>
2428
2429 PR sanitizer/56454
2430 * c-common.c (handle_no_sanitize_address_attribute): New function.
2431 (c_common_attribute_table): Add no_sanitize_address attribute.
2432 (handle_no_address_safety_analysis_attribute): Add
2433 no_sanitize_address attribute, not no_address_safety_analysis
2434 attribute.
2435
a475fd3d 24362013-02-18 Aldy Hernandez <aldyh@redhat.com>
135204dd
AH
2437
2438 PR target/52555
2439 * c-common.c (handle_optimize_attribute): Call
2440 save_optabs_if_changed.
2441
f6007d99
JJ
24422013-02-18 Jakub Jelinek <jakub@redhat.com>
2443 Steven Bosscher <steven@gcc.gnu.org>
2444
2445 PR pch/54117
2446 * c-opts.c (c_common_post_options): If debug info is enabled
2447 and non-dwarf*, refuse to load PCH files and when writing PCH
2448 file warn.
2449
cf35e2b1
JJ
24502013-02-05 Jakub Jelinek <jakub@redhat.com>
2451
2452 PR middle-end/56167
2453 * c-common.c (handle_error_attribute): Fix condition.
2454
32887460
JJ
24552013-01-30 Jakub Jelinek <jakub@redhat.com>
2456
2457 PR c++/55742
2458 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2459
5af057d8
JM
24602013-01-18 Jason Merrill <jason@redhat.com>
2461
2462 PR target/54908
2463 * c.opt (-fextern-tls-init): New.
2464 * c-opts.c (c_common_post_options): Handle it.
2465
cc83c823
JJ
24662013-01-09 Jakub Jelinek <jakub@redhat.com>
2467
2468 PR c/48418
2469 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2470 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2471 and is either negative or bigger or equal to type precision
2472 of the first operand.
2473
a859517f
MP
24742012-12-03 Marek Polacek <polacek@redhat.com>
2475
2476 PR c/55570
2477 * c-common.c (check_user_alignment): Swap order of tests,
2478 check TREE_CODE first.
2479
2d7aa578
ESR
24802012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2481
2482 PR c++/52654
2483 * c-common.h (overflow_type): New enum.
2484 (build_userdef_literal): Add overflow_type argument.
2485 (tree_userdef_literal): Add overflow_type.
2486 (USERDEF_LITERAL_OVERFLOW): New access macro.
2487 * c-common.c (build_userdef_literal): Add overflow_type
2488 argument.
2489 * c-lex.c (c_lex_with_flags): Add overflow_type to
2490 build_userdef_literal calls.
2491 (interpret_integer, interpret_float): Add overflow_type argument.
2492
cc3c4f62
RB
24932012-11-28 Richard Biener <rguenther@suse.de>
2494
2495 PR c/35634
2496 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2497 here and use a type with proper overflow behavior for types that would
2498 need to be promoted for the arithmetic.
2499
77bc5132
JJ
25002012-11-23 Jakub Jelinek <jakub@redhat.com>
2501
2502 PR sanitizer/55435
2503 * c-common.c (handle_no_address_safety_analysis_attribute): New
2504 function.
2505 (c_common_attribute_table): Add no_address_safety_analysis.
2506
5dc99c46
SB
25072012-11-16 Simon Baldwin <simonb@google.com>
2508
2509 * c.opt: Add f[no-]canonical-system-headers.
2510 * c-opts.c (c_common_handle_option): Handle
2511 OPT_fcanonical_system_headers.
2512
a4a0016d
ESR
25132012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2514
2515 PR c++/54413
2516 * c-opts.c (c_common_handle_option): Set new flags.
2517 * c.opt: Describe new flags.
2518
7dbb85a7
JM
25192012-11-09 Jason Merrill <jason@redhat.com>
2520
2521 * c.opt (Wabi-tag): New.
2522
ad7bac31
AK
25232012-11-09 Andi Kleen <ak@linux.intel.com>
2524
2525 PR 55139
2526 * c-common.c (get_atomic_generic_size): Mask with
2527 MEMMODEL_MASK
2528
7332899a
MLI
25292012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2530
2531 PR c/53063
2532 * c.opt (Wformat): Make it Alias Wformat=1.
2533 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2534 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2535 LangEnabledBy.
2536 (Wformat=): RejectNegative. Use LangEnabledBy.
2537 (Wnonnull): Use LangEnabledBy.
2538 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2539 * c-format.c (set_Wformat): Delete.
2540 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2541 (maybe_read_dollar_number): Likewise.
2542 (avoid_dollar_number): Likewise.
2543 (finish_dollar_format_checking): Likewise.
2544 (check_format_info): Likewise.
2545 (check_format_info_main): Likewise.
2546 (check_format_types): Likewise.
2547 (format_type_warning): Likewise.
2548 * c-common.c (int): Likewise.
2549 (check_function_sentinel): Likewise.
2550 * c-common.h (warn_format,set_Wformat): Do not declare here.
2551
34a180a6
MLI
25522012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2553
2554 PR c/53063
2555 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2556 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2557 Use LangEnabledBy.
2558 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2559 common.opt.
2560 (Wvariadic-macros): Init(1).
2561 * c-opts.c (c_common_handle_option): Do not handle them
2562 explicitly.
2563 (c_common_post_options): Likewise.
2564 (sanitize_cpp_opts): warn_unused_macros is now
2565 cpp_warn_unused_macros.
2566 (push_command_line_include): Likewise.
2567 * c-common.c (warn_unknown_pragmas): Do not define.
2568 * c-common.h (warn_unknown_pragmas): Do not declare.
2569
3f46d6a5
MLI
25702012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2571
2572 PR c/51294
2573 * c-common.c (conversion_warning): Handle conditional expressions.
2574
880661a4
JW
25752012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2576
2577 PR c++/54930
2578 * c.opt (Wreturn_local_addr): Define new option.
2579
4514a96b
JM
25802012-10-25 Jason Merrill <jason@redhat.com>
2581
f14edc1a
JM
2582 * c.opt (Wvirtual-move-assign): New.
2583
4514a96b
JM
2584 * c.opt (Winherited-variadic-ctor): New.
2585
93100c6b
MG
25862012-10-25 Marc Glisse <marc.glisse@inria.fr>
2587
2588 PR c++/54427
2589 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2590
1efcb8c6
JM
25912012-10-23 Joseph Myers <joseph@codesourcery.com>
2592
2593 * c-common.h (pch_cpp_save_state): Declare.
2594 * c-target.def (c_preinclude): New hook.
2595 * c-opts.c (done_preinclude): New.
2596 (push_command_line_include): Handle default preincluded header.
2597 (cb_file_change): Call pch_cpp_save_state when calling
2598 push_command_line_include.
2599 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2600 (pch_cpp_save_state): New.
2601 (pch_init): Call pch_cpp_save_state conditionally, instead of
2602 calling cpp_save_state.
2603
4a0ae68e
MLI
26042012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2605
2606 PR c/53063
2607 PR c/40989
2608 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2609 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2610 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2611 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2612 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2613 * c-opts.c (c_common_handle_option): Remove explicit handling from
2614 here.
2615 (c_common_post_options): Likewise.
2616
67e4210b
EB
26172012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2618
2619 * c-ada-spec.c (LOCATION_COL): Delete.
2620 (compare_location): New function.
2621 (compare_node): Use it.
2622 (compare_comment): Likewise.
2623
65d4f2cd
MLI
26242012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2625
2626 PR c/53063
2627 PR c/40989
2628 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2629 * c-opts.c (c_common_handle_option): Do not set them here. Add
2630 comment.
2631 (c_common_post_options): Likewise.
2632
909881cb
EB
26332012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2634
2635 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2636 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2637 Remove POINTER_TYPE handling, add large unsigned handling and use
2638 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2639
3a785c97
JJ
26402012-10-12 Jakub Jelinek <jakub@redhat.com>
2641
2642 PR c/54381
2643 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2644 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2645 locs and array of 3 trees instead of just single loc and single
2646 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2647 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2648 For *cmp* builtins that take two sources strings report warnings
2649 about first and second source, not about destination and source.
2650
5e54f81d
MG
26512012-10-12 Marc Glisse <marc.glisse@inria.fr>
2652
2653 PR c++/53055
2654 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2655
f5b02f1e
EB
26562012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2657
2658 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2659 declaring something coming from another file.
2660
b46dbc6c
AC
26612012-10-10 Arnaud Charlet <charlet@adacore.com>
2662
f5b02f1e 2663 PR ada/54845
b46dbc6c
AC
2664 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2665
5d9de0d0
PC
26662012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2667
2668 PR c++/54194
2669 * c-common.c (warn_about_parentheses): Add location_t parameter;
2670 use EXPR_LOC_OR_LOC.
2671 * c-common.h: Update declaration.
2672
a212e43f
MG
26732012-10-09 Marc Glisse <marc.glisse@inria.fr>
2674
2675 PR c++/54427
2676 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2677 more operations. Make error messages optional.
2678 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2679 (scalar_to_vector): Declare.
2680
b1db7f91
JM
26812012-10-08 Jason Merrill <jason@redhat.com>
2682
2683 * c-common.c (c_common_reswords): Add thread_local.
2684
e28d52cf
DS
26852012-10-08 Dodji Seketeli <dodji@redhat.com>
2686
2687 PR c++/53528 C++11 attribute support
2688 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2689 new functions.
2690 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2691 static function.
2692 (handle_aligned_attribute): In choose strictest alignment
2693 among many. Use new check_cxx_fundamental_alignment_constraints.
2694 (handle_transparent_union_attribute): In c++11 attribute syntax,
2695 don't look through typedefs.
2696
3b78de56
AC
26972012-10-04 Arnaud Charlet <charlet@adacore.com>
2698
2699 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2700 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2701 out of dumpfile.h.
2702
6040bb5f
DC
27032012-09-25 Dehao Chen <dehao@google.com>
2704
2705 PR middle-end/54645
3b78de56 2706 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
6040bb5f
DC
2707 map when read in the pch.
2708
0b07a57e
AC
27092012-09-18 Arnaud Charlet <charlet@adacore.com>
2710
2711 * c-ada-spec.c: Style fixes.
2712
da5182be
TQ
27132012-09-18 Thomas Quinot <quinot@adacore.com>
2714
2715 * c.opt (-fada-spec-parent): Define new command line switch.
2716 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2717 is specified, generate binding spec as a child of the specified unit.
2718
0ccb505d
PC
27192012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2720 Manuel López-Ibáñez <manu@gcc.gnu.org>
2721
2722 PR c++/53210
2723 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2724
c583af79
AC
27252012-08-23 Arnaud Charlet <charlet@adacore.com>
2726
2727 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2728 for pointers, and add missing Convention C pragma.
2729 (print_ada_struct_decl): Add missing aliased keyword.
2730 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2731
1a4049e7
JJ
27322012-08-17 Jakub Jelinek <jakub@redhat.com>
2733
2734 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2735 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2736 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2737 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2738 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2739
70b5e7dc
RG
27402012-08-10 Richard Guenther <rguenther@suse.de>
2741
2742 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2743
f8923f7e
SB
27442012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2745
2746 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2747 instead of separate pp_newline and pp_flush.
2748 (print_c_tree): Likewise.
2749
e45abe1f
RH
27502012-07-26 Richard Henderson <rth@redhat.com>
2751
2752 * c-common.c (handle_hot_attribute): Allow labels.
2753 (handle_cold_attribute): Likewise.
2754
332f1d24
JJ
27552012-07-20 Jakub Jelinek <jakub@redhat.com>
2756
2757 PR c++/28656
2758 * c-common.c (check_function_nonnull): Handle multiple nonnull
2759 attributes properly.
2760
7ee2468b
SB
27612012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2762
2763 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2764 * c-ada-spec.c: Likewise.
2765 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2766
ee7b28eb
SB
27672012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2768
2769 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2770 Remove code conditional on it.
2771
6bdf3519
SB
27722012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2773
2774 * c-gimplify.c: Do not include basic-block.h.
2775 * c-common.c: Do not include linfuncs.h.
2776
532aafad
SB
27772012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2778
2779 * c-common.h: Include tree.h.
2780
8d0d1915
JM
27812012-07-02 Jason Merrill <jason@redhat.com>
2782
2783 PR c++/53524
2784 * c-common.c (get_priority): Call default_conversion.
2785
fbc873ad
UB
27862012-07-01 Uros Bizjak <ubizjak@gmail.com>
2787
2788 * c-pch.c (c_common_write_pch): Remove unused variables.
2789
d4a10d0a
SB
27902012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2791
2792 * cppspec.c: Moved from gcc/ to here.
2793
6f3a2e23
KT
27942012-06-27 Kai Tietz <ktietz@redhat.com>
2795
2796 PR preprocessor/37215
2797 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2798
8ca92d04
SB
27992012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2800
2801 * c-common.h (c_common_print_pch_checksum): Remove.
2802 * c-pch.c: Do not include output.h.
2803 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2804 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2805 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2806 (struct c_pch_header): Remove.
2807 (get_ident): Update gpch version.
2808 (pch_init): Do not print executable_checksum to asm_out_file.
2809 Do not fail if there is no asm_out_file to read back from. Set
2810 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2811 (c_common_write_pch): Verify that nothing was written to asm_out_file
2812 since pch_init was called. Do not write a c_pch_header, and do not
2813 copy from asm_out_file to the PCH.
2814 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2815 the content of asm_out_file from the PCH.
2816 (c_common_print_pch_checksum): Remove.
2817 * c-opts.c (c_common_init): Print out executable_checksum directly.
2818
70f42967
SB
28192012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2820
2821 * c-target.def (objc_declare_unresolved_class_reference,
2822 objc_declare_class_definition): Add new hooks.
2823
a8781821
SB
28242012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2825
2826 * c-lex.c: Do not include output.h.
2827 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2828 Remove uses of ASM_OUTPUT_IDENT.
2829
9e1a8dd1
RR
28302012-06-15 Marc Glisse <marc.glisse@inria.fr>
2831
2832 PR c++/51033
2833 * c-common.h (c_build_vec_perm_expr): Move decl here.
2834 * c-common.c (c_build_vec_perm_expr): Move definition
2835 here.
2836
6f07a821
SB
28372012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2838
2839 * c.opt (fconserve-space): Turn into a no-op.
2840
9faeb493 28412012-06-04 Sterling Augustine <saugustine@google.com>
c265f413
SA
2842
2843 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2844 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2845 both the start and end of the function.
2846
a4b7d13c
SB
28472012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2848
2849 * c-common.c: Do not include output.h.
2850 * c-pragma.c: Likewise.
2851
c265f413
SA
28522012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2853
2854 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2855 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2856 (lang_decl_name): Handle namespace decls.
2857
be7a421e
SB
28582012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2859
2860 * c-ada-spec.c: Do not include output.h.
2861 * c-semantics.c: Likewise.
2862
65de6659
JM
28632012-05-29 Joseph Myers <joseph@codesourcery.com>
2864
2865 * c-common.c: Fix typo.
2866
ca5f4331
MM
28672012-05-29 Michael Matz <matz@suse.de>
2868
2869 * c-common.h (c_expand_decl): Remove prototype.
2870
4f7f7aca
MLI
28712012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2872
2873 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2874 * c-opts.c (c_common_handle_option): Remove code handling
2875 warn_missing_braces.
2876
4a792f9b
PC
28772012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2878
2879 PR c++/25137
2880 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2881 -Wmissing_braces.
2882
650dc14a
DS
28832012-05-22 Dodji Seketeli <dodji@redhat.com>
2884
2885 PR c++/53322
2886 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2887
9b095bf1
MLI
28882012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2889
2890 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2891 * c-opts.c (c_common_handle_option): Do not handle explicitly
2892 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2893
0b2c4be5
DS
28942012-05-16 Dodji Seketeli <dodji@redhat.com>
2895
2896 PR preprocessor/7263
2897 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2898 to cpp_classify_number. For diagnostics, use the precise location
2899 instead of the global input_location.
2900
a1bde5af
PC
29012012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2902
d02924ef 2903 PR c++/11856
a1bde5af
PC
2904 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2905
d1ede5f4
BS
29062012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2907
a1bde5af 2908 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
d1ede5f4 2909
f2bc201f
MLI
29102012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2911
2912 PR 53063
2913 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2914 Wreorder): Use LangEnabledBy.
2915 * c-opts.c (c_common_handle_option): Do not enable them
2916 explicitly. Call lang-specific generated functions.
2917 (c_common_post_options): Do not set them here.
2918
95744782
MLI
29192012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2920
2921 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2922 Wmissing-field-initializers,Wmissing-parameter-type,
2923 Wold-style-declaration,Woverride-init): Use EnabledBy.
2924 * c-opts.c (c_common_post_options): Do not set here explicitly.
2925
7d5a5747
MLI
29262012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2927
2928 PR 53063
2929 * c-opts.c (c_common_handle_option): Use handle_generated_option
2930 to enable sub-options.
2931
5a3c9cf2
PC
29322012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2933
2934 PR c++/53158
2935 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2936
3ac8781c
RG
29372012-05-10 Richard Guenther <rguenther@suse.de>
2938
2939 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2940 adjust commentary about TYPE_IS_SIZETYPE types.
2941
1e537948
MLI
29422012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2943
2944 PR c++/53261
2945 * c-common.c (warn_logical_operator): Check that argument of
2946 integer_zerop is not NULL.
2947
f2c4a785
MLI
29482012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2949
2950 PR c/43772
2951 * c-common.c (warn_logical_operator): Do not warn if either side
2952 is already true or false.
2953
50f305ca
MLI
29542012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2955
2956 PR c/51712
2957 * c-common.c (expr_original_type): New.
2958 (shorten_compare): Do not warn for enumeration types.
2959
0c3641b0
MLI
29602012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2961
2962 * c.opt (fpermissive): Add Var(flag_permissive).
2963
7edaa4d2
MG
29642012-04-30 Marc Glisse <marc.glisse@inria.fr>
2965
2966 PR c++/51033
2967 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2968 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2969
b9c8da34
DS
29702012-04-30 Dodji Seketeli <dodji@redhat.com>
2971
2972 Add -Wvarargs option
2973 * c.opt (Wvarargs): Define new option.
2974
e6c69da0
MLI
29752012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2976
2977 * c-common.c (check_function_arguments): Replace
2978 Wmissing-format-attribute with Wsuggest-attribute=format.
2979
90137d8f
MLI
29802012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2981
2982 * c.opt (Wsuggest-attribute=format): New. Alias of
2983 Wmissing-format-attribute.
2984 * c-format.c (decode_format_type): Replace
2985 Wmissing-format-attribute with Wsuggest-attribute=format.
2986 (check_function_format): Likewise.
2987
9faeb493 29882012-04-27 Ollie Wild <aaw@google.com>
7f5f5f98
OW
2989
2990 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2991 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2992 * c.opt: Add Wliteral-suffix.
2993
c1771a20
MLI
29942012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2995
2996 PR c/44774
2997 * c.opt (Wpedantic): New.
2998 (pedantic): Alias Wpedantic.
2999 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3000 (c_common_post_options): Likewise.
3001 (sanitize_cpp_opts): Likewise.
3002 * c-lex.c (interpret_float): Likewise.
3003 * c-format.c (check_format_types): Likewise.
3004 * c-common.c (pointer_int_sum): Likewise.
3005 (c_sizeof_or_alignof_type): Likewise.
3006 (c_add_case_label): Likewise.
3007 (c_do_switch_warnings): Likewise.
3008 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3009
04b391c1
JM
30102012-04-15 Jason Merrill <jason@redhat.com>
3011
3012 PR c++/52818
3013 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3014 (C_STD_NAME): Distinguish between C++98 and C++11.
3015
ac868f29
EB
30162012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3017
3018 PR target/52624
3019 * c-common.h (uint16_type_node): Rename into...
3020 (c_uint16_type_node): ...this.
3021 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3022 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3023
fd4116f4
MLI
30242012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3025
3026 * c-common.c (warn_if_unused_value): Move definition to here.
3027 * c-common.h (warn_if_unused_value): Move declaration to here.
3028
573ac65e
WB
30292012-03-23 William Bader <williambader@hotmail.com>
3030
3031 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3032
552b8185
JM
30332012-03-20 Jason Merrill <jason@redhat.com>
3034
3035 * c-common.h (enum cxx_dialect): Add cxx1y.
3036 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3037 test.
3038 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3039 * c-opts.c (c_common_post_options): Likewise.
3040 (set_std_cxx1y): New.
3041 (c_common_handle_option): Call it.
3042 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3043
04398fa8
PC
30442012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3045
3046 PR c++/14710
3047 * c.opt ([Wuseless-cast]): Add.
3048
d2a12ae7
RG
30492012-03-16 Richard Guenther <rguenther@suse.de>
3050
3051 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3052
a12bf402
MLI
30532012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3054
3055 PR c++/44783
3056 * c.opt (ftemplate-backtrace-limit) Add.
3057
5c30094f
RO
30582012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3059
3060 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3061 handling.
3062 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3063 (init_pragma): Don't register extern_prefix.
3064
21fa2faf
RG
30652012-03-12 Richard Guenther <rguenther@suse.de>
3066
3067 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3068 (builtin_type_for_size): Likewise.
3069
e3793c6f
JJ
30702012-02-13 Jakub Jelinek <jakub@redhat.com>
3071
3072 PR c++/52215
3073 * c-common.c (sync_resolve_params): Don't decide whether to convert
3074 or not based on TYPE_SIZE comparison, convert whenever arg_type
3075 is unsigned INTEGER_TYPE.
3076
93286335
PC
30772012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3078
3079 PR c/52118
3080 * c.opt ([Wunused-local-typedefs]): Fix description.
3081
7a421706
MS
30822012-01-24 Mike Stump <mikestump@comcast.net>
3083
3084 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3085 exactly.
3086
ba9b1f11
RG
30872012-01-18 Richard Guenther <rguenther@suse.de>
3088
3089 * c-opts.c (c_common_post_options): Reset LTO flags if
3090 we are about to generate a PCH.
3091
465406be
PC
30922012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3093
3094 PR c++/51777
3095 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3096 use pp_unsigned_wide_integer.
3097
aee15221
RG
30982012-01-10 Richard Guenther <rguenther@suse.de>
3099
3100 PR middle-end/51806
3101 * c-opts.c (c_common_handle_option): Move -Werror handling
3102 to language independent code.
3103
5720c0dc
RG
31042012-01-05 Richard Guenther <rguenther@suse.de>
3105
3106 PR middle-end/51764
3107 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3108 from common.opt.
3109
73ac190a
PC
31102011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3111
3112 PR c++/51316
3113 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3114 of array types with an unknown bound.
3115
48b0b196
JM
31162011-12-20 Joseph Myers <joseph@codesourcery.com>
3117
3118 * c-common.c (flag_isoc99): Update comment to refer to C11.
3119 (flag_isoc1x): Change to flag_isoc11.
3120 * c-common.h (flag_isoc99): Update comment to refer to C11.
3121 (flag_isoc1x): Change to flag_isoc11.
3122 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3123 C11.
3124 * c-opts.c (set_std_c1x): Change to set_std_c11.
3125 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3126 Call set_std_c11.
3127 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3128 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3129 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3130 standard.
3131 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3132 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3133 (std=gnu1x): Make alias of std=gnu11.
3134
d58d6eb5
JM
31352011-12-19 Jason Merrill <jason@redhat.com>
3136
3137 PR c++/51228
3138 * c-common.c (handle_transparent_union_attribute): Check the first
3139 field if the type is complete.
3140
b3908fcc
JW
31412011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3142
3143 PR libstdc++/51365
3144 * c-common.c (RID_IS_FINAL): Add.
3145 * c-common.h (RID_IS_FINAL): Add.
3146
fea3ca91
IS
31472011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3148
3149 * c.opt (fgnu-runtime): Provide full description.
3150 (fnext-runtime): Likewise.
3151 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3152
62bad7cd
AM
31532011-11-28 Andrew MacLeod <amacleod@redhat.com>
3154
3155 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3156 predefines in one place. Add LOCK_FREE predefines.
3157 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3158 new func.
3159
c466c4ff
AM
31602011-11-24 Andrew MacLeod <amacleod@redhat.com>
3161
3162 PR c/51256
9faeb493 3163 * c-common.c (get_atomic_generic_size): Check for various error
c466c4ff 3164 conditions
9faeb493
UB
3165 (resolve_overloaded_atomic_exchange,
3166 resolve_overloaded_atomic_compare_exchange,
c466c4ff
AM
3167 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3168 error_mark_node for error conditions.
9faeb493 3169
a5952633
RG
31702011-11-08 Richard Guenther <rguenther@suse.de>
3171
3172 PR middle-end/51010
3173 c-family/
3174
0a35513e
AH
31752011-11-07 Richard Henderson <rth@redhat.com>
3176 Aldy Hernandez <aldyh@redhat.com>
3177 Torvald Riegel <triegel@redhat.com>
3178
3179 Merged from transactional-memory.
3180
3181 * c-common.c (handle_tm_wrap_attribute,
3182 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3183 (struct c_common_reswords): Added __transaction* keywords.
3184 (struct c_common_attribute_table): Added transaction* and tm_regparm
3185 attributes.
3186 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3187 masks.
3188 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3189 find_tm_attribute): Declare.
3190
6d87092d
JM
31912011-11-07 Jason Merrill <jason@redhat.com>
3192
3193 PR c++/35688
3194 * c-common.c, c-common.h: Revert yesterday's changes.
3195
8e7860a1
JM
31962011-11-06 Jason Merrill <jason@redhat.com>
3197
3198 PR c++/35688
3199 * c-common.c (decl_has_visibility_attr): Split out from...
3200 (c_determine_visibility): ...here.
3201 * c-common.h: Declare it.
3202
d19fa6b5
JM
32032011-11-06 Joseph Myers <joseph@codesourcery.com>
3204
3205 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3206 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3207 type.
3208 (check_user_alignment): New. Split out of
3209 handle_aligned_attribute. Disallow integer constants with
3210 noninteger types. Conditionally allow zero.
3211 (handle_aligned_attribute): Use check_user_alignment.
3212 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3213
86951993
AM
32142011-11-06 Andrew MacLeod <amacleod@redhat.com>
3215 Richard Henderson <rth@redhat.com>
3216
3217 Merged from cxx-mem-model.
3218
3219 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9faeb493 3220 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
86951993
AM
3221 parameters that are the same type size.
3222 (get_atomic_generic_size): New. Find size of generic
3223 atomic function parameters and do typechecking.
3224 (add_atomic_size_parameter): New. Insert size into parameter list.
3225 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3226 either __atomic_exchange_n or external library call.
9faeb493 3227 (resolve_overloaded_atomic_compare_exchange): Restructure
86951993 3228 __atomic_compare_exchange to either _n variant or external library call.
9faeb493 3229 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
86951993
AM
3230 __atomic_load_n or an external library call.
3231 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
3232 __atomic_store_n or an external library call.
3233 (resolve_overloaded_builtin): Handle new __atomic builtins.
3234
cf9e9959
EB
32352011-11-04 Eric Botcazou <ebotcazou@adacore.com>
3236
3237 PR c++/50608
3238 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
3239 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
3240 <INDIRECT_REF>: Return the argument.
3241 <ARRAY_REF>: Remove special code for negative offset.
3242 Call fold_build_pointer_plus instead of size_binop.
3243 (fold_offsetof): Remove STOP_REF argument and adjust.
3244 * c-common.h (fold_offsetof_1): Declare.
3245 (fold_offsetof): Remove STOP_REF argument.
3246
25339f10
JM
32472011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
3248
3249 PR c++/50810
3250 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3251 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3252 Wnarrowing for C++0x and C++98.
3253 * c.opt ([Wnarrowing]): Update.
3254
89401152
PC
32552011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
3256
3257 PR c++/44277
3258 * c.opt: Add Wzero-as-null-pointer-constant.
3259
97e3ad20
JM
32602011-10-31 Jason Merrill <jason@redhat.com>
3261
15694fdd
JM
3262 * c.opt (-fdeduce-init-list): Off by default.
3263
97e3ad20
JM
3264 PR c++/50920
3265 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
3266 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
3267 and -Wc++11-compat.
3268 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3269
fb9120e3
RAV
32702011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3271
3272 PR c++/30066
3273 * c.opt (fvisibility-inlines-hidden): Description change.
3274
3ce4f9e4
ESR
32752011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3276
3277 Implement C++11 user-defined literals.
3278 * c-common.c (build_userdef_literal): New.
3279 * c-common.def: New tree code.
3280 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3281 * c-lex.c (interpret_float): Add suffix parm.
3282 (c_lex_with_flags): Build literal tokens.
3283
5f53c243
PC
32842011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3285
3286 PR c++/50841
3287 Revert:
3288 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3289
3290 PR c++/50810
3291 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3292 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3293 Wnarrowing for C++0x and C++98.
3294 * c.opt ([Wnarrowing]): Update.
3295
263734e1
PC
32962011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3297
3298 PR c++/50810
3299 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3300 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3301 Wnarrowing for C++0x and C++98.
3302 * c.opt ([Wnarrowing]): Update.
3303
d2e312d7
PC
33042011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3305
3306 PR c++/45385
3307 * c-common.c (conversion_warning): Remove code looking for
3308 artificial operands.
3309
d17687f6
DS
33102011-10-18 Dodji Seketeli <dodji@redhat.com>
3311
3312 PR bootstrap/50760
3313 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9faeb493 3314 !NO_IMPLICIT_EXTERN_C.
d17687f6 3315
fc8396e9
PC
33162011-10-17 Michael Spertus <mike_spertus@symantec.com>
3317
3318 * c-common.c (c_common_reswords): Add __bases,
3319 __direct_bases.
3320 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3321
33222011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3323
3324 PR c++/50757
3325 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3326
847e697a
TT
33272011-10-15 Tom Tromey <tromey@redhat.com>
3328 Dodji Seketeli <dodji@redhat.com>
3329
3330 * c.opt (fdebug-cpp): New option.
3331 * c-opts.c (c_common_handle_option): Handle the option.
3332 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3333 output stream in parameter. Factorized from ...
3334 (maybe_print_line): ... this. Dump location debug information when
3335 -fdebug-cpp is in effect.
3336 (print_line_1): New static function. Takes an output stream in
3337 parameter. Factorized from ...
3338 (print_line): ... here. Dump location information when -fdebug-cpp
3339 is in effect.
3340 (scan_translation_unit): Dump location information when
3341 -fdebug-cpp is in effect.
3342
92582b75
TT
33432011-10-15 Tom Tromey <tromey@redhat.com>
3344 Dodji Seketeli <dodji@redhat.com>
3345
3346 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3347 without argument.
3348 * c-opts.c (c_common_handle_option)<case
3349 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3350 cases. Handle -ftrack-macro-expansion with and without argument.
3351
46427374
TT
33522011-10-15 Tom Tromey <tromey@redhat.com>
3353 Dodji Seketeli <dodji@redhat.com>
3354
3355 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3356 (print_line, cb_define, do_line_change): Adjust to avoid touching
3357 the internals of struct line_map. Use the public API instead.
3358 * c-pch.c (c_common_read_pch): Likewise.
3359 * c-lex.c (fe_file_change): Likewise.
3360
fc8396e9
PC
33612011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3362
3363 PR c++/17212
3364 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3365
33662011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3367
3368 PR c++/33067
3369 * c-pretty-print.c (pp_c_floating_constant): Output
3370 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3371
e79983f4
MM
33722011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3373
3374 * c-common.c (def_builtin_1): Delete old interface with two
3375 parallel arrays to hold standard builtin declarations, and replace
3376 it with a function based interface that can support creating
3377 builtins on the fly in the future. Change all uses, and poison
3378 the old names. Make sure 0 is not a legitimate builtin index.
3379 * c-omp.c (c_finish_omp_barrier): Ditto.
3380 (c_finish_omp_taskwait): Ditto.
3381 (c_finish_omp_flush): Ditto.
3382
6637388f
TG
33832011-10-11 Tristan Gingold <gingold@adacore.com>
3384
3385 * c.opt: (fallow-parameterless-variadic-functions): New.
3386
3797cb21
DS
33872011-09-08 Dodji Seketeli <dodji@redhat.com>
3388
3389 PR c++/33255 - Support -Wunused-local-typedefs warning
3390 * c-common.h (struct c_language_function::local_typedefs): New
3391 field.
9faeb493
UB
3392 (record_locally_defined_typedef, maybe_record_typedef_use)
3393 (maybe_warn_unused_local_typedefs): Declare new functions.
3797cb21 3394 * c-common.c (record_locally_defined_typedef)
9faeb493
UB
3395 (maybe_record_typedef_use)
3396 (maybe_warn_unused_local_typedefs): Define new functions.
3797cb21
DS
3397 * c.opt: Declare new -Wunused-local-typedefs flag.
3398
693ddb1b
EB
33992011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3400
3401 PR middle-end/50266
3402 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3403 computations.
3404
830c740f
RG
34052011-09-05 Richard Guenther <rguenther@suse.de>
3406
3407 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3408 of integer_minus_one_node for empty array upper bounds.
3409
892a371f
DS
34102011-08-28 Dodji Seketeli <dodji@redhat.com>
3411
3412 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3413 it's the first time it's being called on this main TU.
3414
0e3fdb48
RB
34152011-08-24 Richard Guenther <rguenther@suse.de>
3416
3417 PR c/49396
3418 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3419
34202011-08-22 Gabriel Charette <gchare@google.com>
e3dfef44
GC
3421
3422 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3423 defined in cpp_init_builtins and c_cpp_builtins.
3424
d4a83c10
JM
34252011-08-19 Joseph Myers <joseph@codesourcery.com>
3426
3427 * c-common.c (c_common_reswords): Add __builtin_complex.
3428 * c-common.h (RID_BUILTIN_COMPLEX): New.
3429
bbceee64
JM
34302011-08-18 Joseph Myers <joseph@codesourcery.com>
3431
3432 * c-common.c (c_common_reswords): Add _Noreturn.
3433 (keyword_is_function_specifier): Handle RID_NORETURN.
3434 * c-common.h (RID_NORETURN): New.
3435
0e3a99ae
AS
34362011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3437
3438 * c-common.c (unsafe_conversion_p): New function. Check if it is
3439 unsafe to convert an expression to the type.
3440 (conversion_warning): Adjust, use unsafe_conversion_p.
3441 * c-common.h (unsafe_conversion_p): New function declaration.
3442
20906c66
JJ
34432011-08-02 Jakub Jelinek <jakub@redhat.com>
3444
3445 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3446 (c_finish_omp_taskyield): New prototype.
3447 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3448 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3449 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3450 or RHS1 have side-effects, evaluate those too in the right spot,
3451 if it is a decl and LHS is also a decl, error out if they
3452 aren't the same.
3453 (c_finish_omp_taskyield): New function.
3454 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3455 * c-pragma.c (omp_pragmas): Add taskyield.
3456 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3457 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3458 PRAGMA_OMP_CLAUSE_MERGEABLE.
3459
770e5a2e
DS
34602011-07-25 Dodji Seketeli <dodji@redhat.com>
3461
3462 * c-common.h (set_underlying_type): Remove parm name from
3463 declaration.
3464
1baae426
RG
34652011-07-25 Romain Geissler <romain.geissler@gmail.com>
3466
3467 * c-pretty-print.h: Search c-common.h in c-family.
9faeb493 3468
fcb21722
JM
34692011-07-22 Jason Merrill <jason@redhat.com>
3470
76f86d00
JM
3471 PR c++/49793
3472 * c.opt (Wnarrowing): New.
3473
3a636414
JM
3474 PR c++/30112
3475 * c-common.h: Declare c_linkage_bindings.
3476 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3477
fcb21722
JM
3478 PR c++/49813
3479 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3480 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3481 as flag_isoc99 for 'restrict'.
3482 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3483
02614448
ILT
34842011-07-21 Ian Lance Taylor <iant@google.com>
3485
3486 PR middle-end/49705
3487 * c-common.c (c_disable_warnings): New static function.
3488 (c_enable_warnings): New static function.
3489 (c_fully_fold_internal): Change local unused_p to bool. Call
3490 c_disable_warnings and c_enable_warnings rather than change
3491 c_inhibit_evaluation_warnings.
3492
34429675
JM
34932011-07-20 Jason Merrill <jason@redhat.com>
3494
3495 PR c++/6709 (DR 743)
3496 PR c++/42603 (DR 950)
3497 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3498 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3499 (CPP_DECLTYPE): New.
3500 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3501
5d49b6a7
RG
35022011-07-19 Richard Guenther <rguenther@suse.de>
3503
3504 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3505 * c-omp.c (c_finish_omp_for): Likewise.
3506
e84a58ff
EB
35072011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3508
3509 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3510 body on the next line.
3511
329af3c7
JM
35122011-07-08 Jason Merrill <jason@redhat.com>
3513
4063e61b
JM
3514 PR c++/45437
3515 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3516
329af3c7
JM
3517 PR c++/49673
3518 * c-common.c (c_apply_type_quals_to_decl): Don't check
3519 TYPE_NEEDS_CONSTRUCTING.
3520
1a072294
RG
35212011-07-06 Richard Guenther <rguenther@suse.de>
3522
3523 * c-common.c (c_common_nodes_and_builtins):
3524 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3525
fce5dddd
RG
35262011-07-05 Richard Guenther <rguenther@suse.de>
3527
3528 * c-common.c (c_common_nodes_and_builtins): Build all common
3529 tree nodes first.
3530
45d439ac
JJ
35312011-06-27 Jakub Jelinek <jakub@redhat.com>
3532
56300785
JJ
3533 * c-common.h (c_tree_chain_next): New static inline function.
3534
45d439ac
JJ
3535 * c-common.c (check_builtin_function_arguments): Handle
3536 BUILT_IN_ASSUME_ALIGNED.
3537
e0a8ecf2
AM
35382011-06-21 Andrew MacLeod <amacleod@redhat.com>
3539
3540 * c-common.c: Add sync_ or SYNC__ to builtin names.
3541 * c-omp.c: Add sync_ or SYNC__ to builtin names.
dfb43cd5
PV
3542
35432011-06-20 Pierre Vittet <piervit@pvittet.com>
3544
3545 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3546 handler.
3547 (gen_pragma_handler): New union.
3548 (internal_pragma_handler): New type.
3549 (c_register_pragma_with_data)
3550 (c_register_pragma_with_expansion_and_data): New functions.
3551
3552 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3553 (c_register_pragma, c_register_pragma_with_expansion)
3554 (c_invoke_pragma_handler): Changed to work with
3555 internal_pragma_handler.
3556 (c_register_pragma_with_data)
3557 (c_register_pragma_with_expansion_and_data): New functions.
3558
677f3fa8
JM
35592011-06-14 Joseph Myers <joseph@codesourcery.com>
3560
3561 * c-common.c: Include common/common-target.h.
3562 (handle_section_attribute): Use
3563 targetm_common.have_named_sections.
3564 * c-cppbuiltin.c: Include common/common-target.h.
3565 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3566
d7fc8c14
RG
35672011-06-10 Richard Guenther <rguenther@suse.de>
3568
3569 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3570 to print a IDENTIFIER_NODE.
3571
10e48e39
RO
35722011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3573 Joseph Myers <joseph@codesourcery.com>
3574
3575 * c.opt (fbuilding-libgcc): New option.
3576 * c-cppbuiltin.c (c_cpp_builtins): Define
3577 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3578
6976ae51
JM
35792011-06-07 Jason Merrill <jason@redhat.com>
3580
3ff60975
JM
3581 * c-common.c (max_tinst_depth): Lower default to 900.
3582
6976ae51
JM
3583 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3584
009db074
RG
35852011-06-07 Richard Guenther <rguenther@suse.de>
3586
3587 * c-common.c (c_common_nodes_and_builtins): Do not set
3588 size_type_node or call set_sizetype.
3589
b4592b92
DS
35902011-06-07 Dodji Seketeli <dodji@redhat.com>
3591
3592 PR debug/49130
3593 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9faeb493 3594 type when using pointer comparison to compare types.
b4592b92 3595
014ab419
JW
35962011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3597
3598 * c.opt: Add -Wdelete-non-virtual-dtor.
3599 * c-opts.c (c_common_handle_option): Include it in -Wall.
3600
4f60111f
NF
36012011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3602
3603 PR bootstrap/49190
3604
3605 Revert:
3606 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3607
3608 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3609 not tree_common.
3610
4cc4f2f4
JJ
36112011-05-27 Jakub Jelinek <jakub@redhat.com>
3612
3613 PR c++/49165
3614 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3615 C++ don't call c_common_truthvalue_conversion on void type arms.
3616
38e01f9e
NF
36172011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3618
3619 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3620 (stmt_list_stack): Define.
3621 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3622 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3623
92e948a8
NF
36242011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3625
3626 * c-common.c (warning_candidate_p): Check for BLOCKs.
3627
a2fc3e63
NF
36282011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3629
3630 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3631 not tree_common.
3632
0957c029
JJ
36332011-05-25 Jakub Jelinek <jakub@redhat.com>
3634
3635 * c-common.c (def_fn_type): Remove extra va_end.
3636
828fb3ba
JM
36372011-05-23 Jason Merrill <jason@redhat.com>
3638
3639 PR c++/48106
3640 * c-common.c (c_common_get_narrower): New.
3641 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3642
dde05067
NF
36432011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3644
3645 * c-common.h (check_function_arguments): Tweak prototype of
3646 check_function_arguments.
3647 * c-common.c (check_function_arguments): Likewise. Adjust
3648 calls to check_function_nonnull, check_function_format, and
3649 check_function_sentinel.
3650 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3651 separate attributes and typelist arguments. Use
3652 FOREACH_FUNCTION_ARGS to iterate over argument types.
3653
3c0d13bf
PC
36542011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3655
3656 * c-common.c (c_common_reswords): Reorder.
3657 * c-common.h (rid): Likewise.
3658
8242dd04
NF
36592011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3660
3661 * c-common.c (def_fn_type): Don't call build_function_type, call
3662 build_function_type_array or build_varargs_function_type_array
3663 instead.
3664 (c_common_nodes_and_builtins): Likewise.
3665
3d528853
NF
36662011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3667
3668 * c-common.c (c_add_case_label): Omit the loc argument to
3669 build_case_label.
3670 * c-common.h (build_case_label): Remove.
3671 * c-semantics.c (build_case_label): Remove.
3672
a04a722b
JM
36732011-05-05 Joseph Myers <joseph@codesourcery.com>
3674
3675 * c-objc.h (objc_start_method_definition): Update prototype.
3676 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3677
e19a18d4
NF
36782011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3679
3680 * c-common.c (check_main_parameter_types): Reindent. Don't use
3681 TYPE_ARG_TYPES directly.
3682 (handle_nonnull_attribute): Likewise.
3683 (sync_resolve_params): Likewise.
3684 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3685 to check_format_string.
3686 (handle_format_attribute): Likewise.
3687 (check_format_string): Take a function type to examine instead of
3688 a type list. Use a function_arg_iterator to step through argument
3689 types.
3690
c62c040f
RG
36912011-05-04 Richard Guenther <rguenther@suse.de>
3692
3693 * c-common.c (fix_string_type): Use size_int for index type bounds.
3694 (start_fname_decls): Do not pass NULL to build_int_cst.
3695 (c_init_attributes): Likewise.
3696 * c-lex.c (c_lex_with_flags): Likewise.
3697
c12ff9d8
JM
36982011-04-27 Jason Merrill <jason@redhat.com>
3699
3700 * c-common.c (make_tree_vector_from_list): New.
3701 * c-common.h: Declare it.
3702
304dfbe3
RG
37032011-04-26 Richard Guenther <rguenther@suse.de>
3704
3705 PR preprocessor/48248
3706 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3707 for output size with -P.
3708
3c0d13bf
PC
37092011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3710
3711 * c-common.c (struct c_common_resword): Add __underlying_type.
3712 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3713
04695783
JM
37142011-04-20 Jim Meyering <meyering@redhat.com>
3715
3716 * c-format.c (init_dollar_format_checking): Remove useless
3717 if-before-free.
3718
0dc33c3c
NP
37192011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3720
3721 * c-objc.h (objc_get_interface_ivars): Removed.
3c0d13bf 3722 (objc_detect_field_duplicates): New.
0dc33c3c 3723 * stub-objc.c: Likewise.
3c0d13bf 3724
c59633d9
NP
37252011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3726
3727 * stub-objc.c (objc_declare_protocols): Renamed to
3728 objc_declare_protocol.
3729 * c-objc.h: Likewise.
3c0d13bf 3730
32dabdaf
NP
37312011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3732
3733 * stub-objc.c (objc_declare_class): Updated argument name.
3734
81f653d6
NF
37352011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3736
3737 * c-common.h (c_common_init_ts): Declare.
3738 * c-common.c (c_common_init_ts): Define.
3739
eb345401
NP
37402011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3741
3742 * c-objc.h (objc_build_message_expr): Updated prototype.
3743 * stub-objc.c (objc_build_message_expr): Likewise.
9faeb493 3744
a358e188
MJ
37452011-04-12 Martin Jambor <mjambor@suse.cz>
3746
3747 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3748 of cgraph_node.
3749
e6313a78
RG
37502011-04-11 Richard Guenther <rguenther@suse.de>
3751
3752 * c-common.c (complete_array_type): Build a range type of
3753 proper type.
3754
dcf0c47e
NF
37552011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3756
3757 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3758 (handle_type_generic_attribute): Likewise.
3759
1ee44b26
JM
37602011-04-07 Jason Merrill <jason@redhat.com>
3761
3762 PR c++/48450
3763 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3764 conversion from C++0x scoped enum.
3765
acce4e77
JM
37662011-04-06 Joseph Myers <joseph@codesourcery.com>
3767
3768 * c-target-def.h: New file.
3769 * c-target.def: New file.
3770 * c-target.h: New file.
3771 * c-common.c (targetcm): Don't define here.
3772 * c-common.h (default_handle_c_option): Declare.
3773 * c-format.c: Include c-target.h instead of target.h.
3774 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3775 include tm.h.
3776 (default_handle_c_option): Move from targhooks.c.
3777
e2eefb55
JJ
37782011-03-29 Jakub Jelinek <jakub@redhat.com>
3779
3780 PR preprocessor/48248
3781 * c-ppoutput.c (print): Add src_file field.
3782 (init_pp_output): Initialize it.
3783 (maybe_print_line): Don't optimize by adding up to 8 newlines
3784 if map->to_file and print.src_file are different file.
3785 (print_line): Update print.src_file.
3786
ba78087b
KT
37872011-03-25 Kai Tietz <ktietz@redhat.com>
3788
3789 * c-ada-spec.c (compare_comment): Use filename_cmp
3790 instead of strcmp for filename.
3791
0edf1bb2
JL
37922011-03-25 Jeff Law <law@redhat.com>
3793
adfac8df 3794 * c-common.c (def_fn_type): Add missing va_end.
0edf1bb2 3795
c7dc8804
JM
37962011-03-25 Jason Merrill <jason@redhat.com>
3797
3798 * c.opt: Add -std=c++03.
3799
d1d879b1
EB
38002011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3801
3802 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3803
62d784f7
KT
38042011-03-17 Kai Tietz
3805
3806 PR target/12171
5050afdf
KT
3807 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3808 Display allowed attributes for function pointer types.
3809 (pp_c_attributes_display): New function to display
3810 attributes having affects_type_identity flag set to true.
3811 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3812
62d784f7
KT
3813 * c-common.c (c_common_attribute_table):
3814 Add new element.
3815 (c_common_format_attribute_table): Likewise.
3816
82d37118
JM
38172011-03-18 Jason Merrill <jason@redhat.com>
3818
49a000c3
JM
3819 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3820 * c-common.h: Don't declare it here.
3821 * c-common.c: Or define it here.
3822 * c-opts.c (c_common_handle_option): Or set it here.
3823
82d37118
JM
3824 PR c++/35315
3825 * c-common.c (handle_transparent_union_attribute): Don't
3826 make a duplicate type in C++.
3827
17bc631c
JM
38282011-03-15 Jason Merrill <jason@redhat.com>
3829
3830 * c-common.c (max_constexpr_depth): New.
3831 * c-common.h: Declare it.
3832 * c-opts.c (c_common_handle_option): Set it.
3833 * c.opt (fconstexpr-depth): New option.
3834
1b9b91a6
JM
38352011-03-11 Jason Merrill <jason@redhat.com>
3836
f231b5ff
JM
3837 * c-common.c (attribute_takes_identifier_p): Add missing const.
3838
1b9b91a6
JM
3839 PR c++/46803
3840 * c-common.c (attribute_takes_identifier_p): Assume that an
3841 unknown attribute takes an identifier.
3842
a19e4d44
NF
38432011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3844
3845 PR c/47786
3846 * c-common.c (c_type_hash): Call list_length instead of iterating
3847 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3848
982d62f6
JJ
38492011-02-19 Jakub Jelinek <jakub@redhat.com>
3850
3851 PR c/47809
3852 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3853
0a256240
NP
38542011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3855
3856 * c.opt (fobjc-abi-version=) New.
3857 (fobjc-nilcheck): New.
3858
ba9e6dd5
NF
38592011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3860
3861 PR c++/46890
3862 * c-common.h (keyword_is_decl_specifier): Declare.
3863 * c-common.c (keyword_is_decl_specifier): Define.
3864 (keyword_is_function_specifier): New function.
3865
7273813a
JJ
38662011-01-26 Jakub Jelinek <jakub@redhat.com>
3867
3868 PR c/47473
3869 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3870 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3871 REAL_TYPE.
3872
908ef79b
AC
38732011-01-26 Arnaud Charlet <charlet@adacore.com>
3874
3875 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3876
237e9384
JJ
38772011-01-26 Jakub Jelinek <jakub@redhat.com>
3878
3879 PR pch/47430
3880 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3881 after init_c_lex if pch_file is set.
3882
47ea1edf
DK
38832011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3884
d4dba752 3885 PR c++/43601
47ea1edf
DK
3886 * c.opt (-fkeep-inline-dllexport): New switch.
3887
2aa9c6ae
RG
38882011-01-12 Richard Guenther <rguenther@suse.de>
3889
3890 PR middle-end/32511
3891 * c-common.c (handle_weak_attribute): Warn instead of error
3892 on declaring an inline function weak.
3893
7bd11157
TT
38942011-01-05 Tom Tromey <tromey@redhat.com>
3895
3896 * c-common.h (lvalue_error): Update.
3897 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3898 not error.
3899
0e66e494 39002010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
9faeb493 3901
b4f588c4
NP
3902 PR objc/47075
3903 * c-objc.h (objc_finish_message_expr): Added argument to
3904 prototype.
3905
f4da8dce
NF
39062010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3907
3908 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3909 Use prototype_p.
3910
46270f14
NP
39112010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3912
3913 * c-objc.h (objc_maybe_warn_exceptions): New.
9faeb493 3914 * stub-objc.c (objc_maybe_warn_exceptions): New.
46270f14 3915
4816c593
NF
39162010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3917
3918 * c-common.h (readonly_error): Declare.
3919 * c-common.c (readonly_error): Define.
3920
7a6daeb0
NF
39212010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3922
3923 * c-common.h (invalid_indirection_error): Declare.
3924 * c-common.c (invalid_indirection_error): Define.
3925
892f6119
RG
39262010-12-03 Richard Guenther <rguenther@suse.de>
3927
3928 PR c/46745
3929 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3930 (pp_c_unary_expression): Likewise.
3931 (pp_c_expression): Likewise.
3932
6c39e757
NP
39332010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3934
3935 * c-common.h (objc_finish_function): New.
3936 (objc_non_volatilized_type): Removed.
3937 (objc_type_quals_match): Removed.
3938 * stub-objc.c (objc_finish_function): New.
3939 (objc_non_volatilized_type): Removed.
3940 (objc_type_quals_match): Removed.
9faeb493 3941
7c475d11
JM
39422010-11-30 Joseph Myers <joseph@codesourcery.com>
3943
3944 * c-common.h (parse_optimize_options): Declare.
3945 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3946 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3947
71f3e391
JM
39482010-11-29 Joseph Myers <joseph@codesourcery.com>
3949
3950 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3951 GET_ENVIRONMENT.
3952 * c-pch.c (O_BINARY): Don't define here.
3953 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3954
d5fabb58
JM
39552010-11-25 Joseph Myers <joseph@codesourcery.com>
3956
3957 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3958 targetm.except_unwind_info.
3959
299404a1
JM
39602010-11-23 Joseph Myers <joseph@codesourcery.com>
3961
3962 * c-opts.c (c_common_handle_option): Pass location to
3963 set_struct_debug_option.
3964
c98cd5bf
JM
39652010-11-23 Joseph Myers <joseph@codesourcery.com>
3966
3967 * c-common.c (visibility_options): Move from ../opts.c.
3968 * c-common.h (struct visibility_flags, visibility_options):
3969 Declare here.
3970 * c-opts.c (finish_options): Rename to c_finish_options.
3971 (c_common_init): Update call to finish_options.
3972
a9546771
NP
39732010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3974
3975 PR objc/34033
3976 * c-lex.c (lex_string): Check that each string in an Objective-C
3977 string concat sequence starts with either one or zero '@', and
3978 that there are no spurious '@' signs at the end.
3979
24a57808
JM
39802010-11-20 Joseph Myers <joseph@codesourcery.com>
3981
3982 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3983 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3984 HANDLE_PRAGMA_VISIBILITY.
3985 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3986 HANDLE_PRAGMA_VISIBILITY): Don't define.
3987 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3988
a9aa2c3a
NF
39892010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3990
3991 PR c++/16189
3992 PR c++/36888
3993 PR c++/45331
3994 * c-common.h (keyword_begins_type_specifier): Declare.
3995 (keyword_is_storage_class_specifier): Declare.
3996 (keyword_is_type_qualifier): Declare.
3997 * c-common.c (keyword_begins_type_specifier): New function.
3998 (keyword_is_storage_class_specifier): New function.
3999 (keyword_is_type_qualifier): Declare.
4000
5386338c
JM
40012010-11-19 Joseph Myers <joseph@codesourcery.com>
4002
4003 PR c/46547
4004 * c-common.c (in_late_binary_op): Define.
4005 (c_common_truthvalue_conversion): Check in_late_binary_op before
4006 calling c_save_expr.
4007 * c-common.h (in_late_binary_op): Declare.
4008
69ccdddb
JM
40092010-11-19 Joseph Myers <joseph@codesourcery.com>
4010
4011 * c-opts.c (c_common_handle_option): Update calls to
4012 set_struct_debug_option.
4013
6b192a09
NP
40142010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4015
4016 * c-common.h (objc_declare_protocols): Added additional argument.
4017 * stub-objc.c (objc_declare_protocol): Same change.
9faeb493 4018
fb52b50a
NF
40192010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4020
4021 PR c/33193
4022 * c-common.h (build_real_imag_expr): Declare.
4023 * c-semantics.c (build_real_imag_expr): Define.
4024
b37421c6
JM
40252010-11-17 Joseph Myers <joseph@codesourcery.com>
4026
4027 * c-opts.c (c_common_parse_file): Take no arguments.
4028 * c-common.h (c_common_parse_file): Update prototype.
4029
07078664
JJ
40302010-11-16 Jakub Jelinek <jakub@redhat.com>
4031
4032 PR c++/46401
4033 * c-common.c (warning_candidate_p): Don't track non-const calls
4034 or STRING_CSTs.
4035
c6a13190
ILT
40362010-11-15 Ian Lance Taylor <iant@google.com>
4037
4038 * c-lex.c (init_c_lex): Set macro debug callbacks if
4039 flag_dump_go_spec is set.
4040
925e8657
NP
40412010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4042
4043 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4044 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4045
bb0a9581
NF
40462010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4047
4048 PR preprocessor/45038
4049 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4050 dialects.
4051
c5fa0890
JM
40522010-11-12 Joseph Myers <joseph@codesourcery.com>
4053
4054 * c-common.h (c_family_lang_mask): Declare.
4055 * c-opts.c (c_family_lang_mask): Make extern.
4056 * c-pragma.c (handle_pragma_diagnostic): Use
4057 control_warning_option.
4058
a4d8c676
JM
40592010-11-12 Joseph Myers <joseph@codesourcery.com>
4060
4061 * c-common.c (parse_optimize_options): Update call to
4062 decode_options.
4063 * c-common.h (c_common_handle_option): Update prototype.
4064 * c-opts.c (c_common_handle_option): Take location_t parameter and
4065 pass it to other functions.
4066
f954bd2c
JM
40672010-11-11 Joseph Myers <joseph@codesourcery.com>
4068
4069 * c-opts.c (warning_as_error_callback): Remove.
4070 (c_common_initialize_diagnostics): Don't call
4071 register_warning_as_error_callback.
4072 (c_common_handle_option): Handle -Werror=normalized= here.
4073
d8a07487
JM
40742010-11-10 Joseph Myers <joseph@codesourcery.com>
4075
4076 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4077 in diagnostic.
4078 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4079 letter.
4080 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4081 Remove trailing '.' from diagnostics.
4082 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4083
d5478783
JM
40842010-11-10 Joseph Myers <joseph@codesourcery.com>
4085
4086 * c-common.c (parse_optimize_options): Pass global_dc to
4087 decode_options.
4088 * c-opts.c (c_common_handle_option): Pass &global_options to
4089 set_Wstrict_aliasing.
4090 * c.opt (v): Don't mark Common or document here.
4091
91ebb981
IS
40922010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4093
4094 PR target/44981
4095 * c-format.c (format_type): New type gcc_objc_string_format_type.
4096 (valid_stringptr_type_p): New.
4097 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
9faeb493 4098 (check_format_string): Pass expected type, use
91ebb981
IS
4099 valid_stringptr_type_p (), check that the format string types are
4100 consistent with the format specification.
4101 (decode_format_attr): Warn if NSString is used outside objective-c.
4102 (format_types_orig): Add NSString.
4103 (format_name): New.
4104 (format_flags): New.
4105 (check_format_arg): Handle format strings requiring an external parser.
4106 first_target_format_type: New variable.
4107 (handle_format_attribute): Set up first_target_format_type, pass the
4108 expected format arg string type to check_format_string().
4109 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4110 * stub-objc.c (objc_string_ref_type_p): New.
4111 (objc_check_format_arg): New.
4112
bede2adc
NP
41132010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4114
9faeb493 4115 Fixed using the Objective-C 2.0 dot-syntax with class names.
bede2adc
NP
4116 * c-common.h (objc_build_class_component_ref): New.
4117 * stub-objc.c (objc_build_class_component_ref): New.
4118
9a179d01
NP
41192010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4120
4121 * c.opt (Wproperty-assign-default): New option.
4122
22d8d616
NP
41232010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4124
4125 Implemented -fobjc-std=objc1 flag.
4126 * c.opt (fobjc-std=objc1): New option.
4127
2debdb4f
NP
41282010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4129
4130 Implemented format and noreturn attributes for Objective-C methods.
4131 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4132 attribute for Objective-C methods.
4133
ec52b111
JM
41342010-10-31 Jason Merrill <jason@redhat.com>
4135
4136 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4137 EXPR_LOC_OR_HERE.
4138
46a88c12
NP
41392010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4140
4141 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4142 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4143 (objc_add_property_declaration): Removed arguments for copies and
4144 ivar.
4145 (objc_build_getter_call): Renamed to
4146 objc_maybe_build_component_ref.
4147 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4148 (objc_is_property_ref): New.
4149 * c-common.c (c_common_reswords): Removed copies and ivar.
4150 * stub-objc.c (objc_add_property_declaration): Removed arguments
4151 for copies and ivar.
4152 (objc_build_getter_call): Renamed to
4153 objc_maybe_build_component_ref.
4154 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4155 (objc_is_property_ref): New.
9faeb493 4156
1e4bf85b
AC
41572010-10-29 Arnaud Charlet <charlet@adacore.com>
4158 Matthew Gingell <gingell@adacore.com>
4159
4160 * c-ada-spec.c (separate_class_package): New function.
4161 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4162 name of their enclosing package.
4163 (print_ada_declaration): Use separate_class_package.
4164
81f0bab2
JM
41652010-10-27 Jason Merrill <jason@redhat.com>
4166
2b08f2c5
JM
4167 * c-common.c (c_common_reswords): Add __is_literal_type.
4168 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4169
81f0bab2
JM
4170 * c-common.c (check_case_value): Remove special C++ code.
4171
200290f2
NP
41722010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4173
4174 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4175 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4176 and RID_LAST_PATTR.
4177 (objc_add_property_declaration): Added additional arguments.
4178 (objc_property_attribute_kind): Removed.
4179 (objc_set_property_attr): Removed.
4180 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4181 copy and nonatomic.
4182 * stub-objc.c (objc_add_property_declaration): Added additional
4183 arguments.
4184 (objc_set_property_attr): Removed.
9faeb493 4185
f614132b
NP
41862010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4187
4188 * c-common.h (objc_add_property_variable): Renamed to
4189 objc_add_property_declaration. Added location argument.
4190 * stub-objc.c (objc_add_property_variable): Same change.
4191
b8a18805
NP
41922010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4193
4194 * c-common.h (objc_maybe_printable_name): New.
4195 * stub-objc.c (objc_maybe_printable_name): New.
4196
30cd1c5d
AS
41972010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4198 Andrew Pinski <pinskia@gmail.com>
4199
4200 * c-common.h (c_common_mark_addressable_vec): Declare.
4201 * c-common.c (c_common_mark_addressable_vec): New function.
4202
249a82c4
NP
42032010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4204
4205 * c-common.h (objc_set_method_type): Removed.
4206 (objc_add_method_declaration): Added boolean argument.
4207 (objc_start_method_definition): Same change.
4208 (objc_build_method_signature): Same change.
4209 * stub-objc.c (objc_set_method_type): Removed.
4210 (objc_add_method_declaration): Added boolean argument.
4211 (objc_start_method_definition): Same change.
4212 (objc_build_method_signature): Same change.
4213
977e30bc
NP
42142010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4215
4216 * c-common.h (finish_file): Removed.
4217 (objc_write_global_declarations): New.
4218 * c-opts.c (c_common_parse_file): Do not call finish_file.
4219 * stub-objc.c (objc_write_global_declarations): New.
9faeb493 4220
da57d1b9
NP
42212010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4222
4223 Implemented parsing @synthesize and @dynamic for
4224 Objective-C/Objective-C++.
4225 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4226 (objc_add_synthesize_declaration): New.
4227 (objc_add_dynamic_declaration): New.
4228 * c-common.c (c_common_reswords): Add synthesize and dynamic.
4229 * stub-objc.c (objc_add_synthesize_declaration): New.
4230 (objc_add_dynamic_declaration): New.
9faeb493 4231
0069111f
MM
42322010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4233
4234 PR target/46041
4235 * c-cppbuiltin.c (mode_has_fma): Move function here from
4236 builtins.c. Don't use the fma optab, instead just use the
4237 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
4238 using -save-temps.
4239
e426b47b
NP
42402010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4241
4242 Merge from 'apple/trunk' branch on FSF servers.
0069111f 4243
e426b47b
NP
4244 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
4245
9faeb493 4246 Radar 4330422
e426b47b
NP
4247 * c-common.h (objc_non_volatilized_type): New declaration
4248 * stub-objc.c (objc_non_volatilized_type): New stub.
4249
90fbfdc3
NP
42502010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4251
e426b47b 4252 Merge from 'apple/trunk' branch on FSF servers.
90fbfdc3
NP
4253
4254 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
4255
9faeb493 4256 Radar 4133425
90fbfdc3 4257 * c-common.h (objc_diagnose_private_ivar): New decl.
0069111f 4258 * stub-objc.c (objc_diagnose_private_ivar): New stub.
90fbfdc3 4259
c37d8c30
IS
42602010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4261
4262 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
4263 * c-common.h (enum rid): Add RID_AT_PACKAGE.
4264 (objc_ivar_visibility_kind): New enum.
4265 (objc_set_visibility): Adjust prototype to use visibility enum.
0069111f 4266 * stub-objc.c (objc_set_visibility): Adjust stub to use
c37d8c30
IS
4267 visibility enum.
4268
1b1562a5
MM
42692010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4270
4271 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4272 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4273 has the appropriate fma builtins.
4274 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4275
668ea4b1
IS
42762010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4277
1b1562a5 4278 merge from FSF apple 'trunk' branch.
668ea4b1 4279 2006 Fariborz Jahanian <fjahanian@apple.com>
1b1562a5 4280
668ea4b1
IS
4281 Radars 4436866, 4505126, 4506903, 4517826
4282 * c-common.c (c_common_resword): Define @property and its attributes.
4283 * c-common.h: Define property attribute enum entries.
4284 (OBJC_IS_PATTR_KEYWORD): New.
4285 (objc_property_attribute_kind): New enum.
4286 Declare objc_set_property_attr (), objc_add_property_variable (),
4287 objc_build_getter_call () and objc_build_setter_call ().
4288 * stub-objc.c (objc_set_property_attr): New stub.
4289 (objc_add_property_variable): Likewise.
4290 (objc_build_getter_call): Likewise.
4291 (objc_build_setter_call) Likewise.
1b1562a5 4292
a1178b30
IS
42932010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4294
1b1562a5 4295 merge from FSF apple 'trunk' branch.
a1178b30
IS
4296 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4297
4298 Radar 3803157 (method attributes)
4299 * c-common.c (handle_deprecated_attribute): Recognize
4300 objc methods as valid declarations.
4301 * c-common.h: Declare objc_method_decl ().
1b1562a5 4302 * stub-objc.c (objc_method_decl): New stub.
a1178b30 4303
a75bfaa6
JM
43042010-10-08 Joseph Myers <joseph@codesourcery.com>
4305
4306 * c-common.c (parse_optimize_options): Call
4307 decode_cmdline_options_to_array_default_mask before
4308 decode_options. Update arguments to decode_options.
4309 * c-common.h (c_common_init_options_struct): Declare.
4310 * c-opts.c (c_common_init_options_struct): New. Split out from
4311 c_common_init_options.
4312
f05b9d93
NP
43132010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4314
4315 Implemented fast enumeration for Objective-C.
4316 * c-common.h (objc_finish_foreach_loop): New.
4317 * stub-objc.c (objc_finish_foreach_loop): New.
4318
1ebe4b4f
JM
43192010-10-05 Joseph Myers <joseph@codesourcery.com>
4320
4321 * c-common.h (struct diagnostic_context): Don't declare here.
4322 (c_common_initialize_diagnostics): Declare using
4323 diagnostic_context typedef.
4324 * c-opts.c (c_common_handle_option): Pass global_dc to
4325 handle_generated_option.
4326
d4d24ba4
JM
43272010-10-04 Joseph Myers <joseph@codesourcery.com>
4328
4329 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4330 handle_generated_option.
4331
478a1c5b
ILT
43322010-10-03 Ian Lance Taylor <iant@google.com>
4333
4334 * c.opt (-fplan9-extensions): New option.
4335
82a1c2fe
FXC
43362010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4337
4338 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4339 Remove.
4340 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4341 of duplicating code.
4342
92902b1b
IS
43432010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4344
4345 * c-common.c: Add two new entries for @optional
4346 and @required keywords.
4347
4348 merge from FSF 'apple/trunk' branch.
4349 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4350
4351 Radar 4386773
4352 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4353 objective-c keywords.
4354 (objc_set_method_opt): New declaration.
4355 * stub-objc.c (objc_set_method_opt): New stub.
9faeb493 4356
46625112
JM
43572010-09-30 Joseph Myers <joseph@codesourcery.com>
4358
4359 * c-common.c (handle_optimize_attribute): Pass &global_options to
4360 cl_optimization_save and cl_optimization_restore.
4361 * c-opts.c (c_common_handle_option): Pass &global_options to
4362 handle_generated_option.
4363 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4364 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4365 &global_options to cl_optimization_restore.
4366
49b91f05
NP
43672010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4368
4369 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4370 Objective-C/Objective-C++ keywords.
4371
13ed556f 43722010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
a6341d57 4373
9faeb493
UB
4374 Merge from 'apple/trunk' branch on FSF servers.
4375
a6341d57
NP
4376 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4377
4378 Radar 4281748
4379 * c-common.h (objc_check_global_decl): New declaration.
4380 * stub-objc.c (objc_check_global_decl): New stub.
4381
f0036cca
JM
43822010-09-29 Joseph Myers <joseph@codesourcery.com>
4383
4384 * c.opt: Don't use VarExists.
4385
e3339d0f
JM
43862010-09-29 Joseph Myers <joseph@codesourcery.com>
4387
4388 * c-common.c (c_cpp_error): Update names of diagnostic_context
4389 members.
4390 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4391 cl_optimization members.
4392 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4393 sanitize_cpp_opts, finish_options): Update names of cpp_options
4394 members.
4395
1973201f
NP
43962010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4397
4398 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4399 (objc_is_reserved_word): Removed.
4400 * c-common.c: Updated comments.
4401 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4402 objc_is_reserved_word.
4403 * stub-objc.c (objc_is_reserved_word): Removed.
4404
f7e71da5
IS
44052010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4406
9faeb493 4407 * c-common.h (objc_add_method_declaration): Adjust prototype to
f7e71da5
IS
4408 include attributes.
4409 (objc_start_method_definition): Likewise.
4410 (objc_build_keyword_decl): Likewise.
4411 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4412 (objc_start_method_definition): Likewise.
4413 (objc_build_keyword_decl): Likewise.
4414
c165dca7
IS
44152010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4416
4417 * c-common.h (objc_start_class_interface): Adjust prototype.
4418 (objc_start_category_interface): Likewise.
4419 (objc_start_protocol): Likewise.
4420 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4421 (objc_start_class_interface): Likewise.
4422 (objc_start_category_interface): Likewise.
4423
7458026b
ILT
44242010-09-27 Ian Lance Taylor <iant@google.com>
4425
4426 * c-common.c (c_common_attribute_table): Add no_split_stack.
4427 (handle_no_split_stack_attribute): New static function.
4428
b581b85b
NP
44292010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4430
9faeb493 4431 Merge from 'apple/trunk' branch on FSF servers.
b581b85b
NP
4432
4433 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4434
9faeb493 4435 Radar 4229905
b581b85b
NP
4436 * c-common.h (objc_have_common_type): New declaration.
4437 * stub-objc.c (objc_have_common_type): New stub.
4438
4439 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4440
4441 Radar 4154928
4442 * c-common.h (objc_common_type): New prototype.
9faeb493 4443 * stub-objc.c (objc_common_type): New stub.
b581b85b 4444
46a4da10
JH
44452010-09-24 Jan Hubicka <jh@suse.cz>
4446
4447 * c-common.c (handle_leaf_attribute): New function.
4448 (struct attribute_spec c_common_att): Add leaf.
4449
e200444e
JM
44502010-09-22 Joseph Myers <joseph@codesourcery.com>
4451
4452 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4453 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4454 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4455 -include-barrier, -include-directory, -include-directory=,
4456 -include-directory-after, -include-directory-after=,
4457 -include-prefix, -include-prefix=, -include-with-prefix,
4458 -include-with-prefix=, -include-with-prefix-after,
4459 -include-with-prefix-after=, -include-with-prefix-before,
4460 -include-with-prefix-before=, -no-integrated-cpp,
4461 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4462 -output=, -pedantic, -pedantic-errors, -preprocess,
4463 -print-missing-file-dependencies, -trace-includes, -traditional,
4464 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4465 -user-dependencies, -verbose, -write-dependencies,
4466 -write-user-dependencies, no-integrated-cpp, traditional): New.
4467
29a80ea6
NP
44682010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4469
4470 PR objc/23710
ac1fc2fc
NP
4471 * c-common.h (objc_start_method_definition): Return bool instead
4472 of void.
4473 * stub-objc.c (objc_start_method_definition): Return bool instead
4474 of void.
4475
44762010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4477
4478 PR objc/25965
4479 * c-common.h (objc_get_interface_ivars): New declaration.
4480 * stub-objc.c (objc_get_interface_ivars): New stub.
29a80ea6 4481
de621752
ILT
44822010-09-15 Ian Lance Taylor <iant@google.com>
4483
4484 * c-common.c (parse_optimize_options): Do not capitalize warning
06730c5d 4485 messages. Remove period at end of warning message.
de621752 4486
ba885ec5
NS
44872010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4488
4489 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4490 (handle_alias_attribute): ... here.
4491 (handle_ifunc_attribute): New.
4492
c5ee1358
MM
44932010-09-06 Mark Mitchell <mark@codesourcery.com>
4494
4495 * c-common.h (do_warn_double_promotion): Declare.
4496 * c-common.c (do_warn_double_promotion): Define.
4497
0a0b3574
MM
44982010-09-05 Mark Mitchell <mark@codesourcery.com>
4499
4500 * c.opt (Wdouble-promotion): New.
4501
d1779886
JM
45022010-09-02 Joseph Myers <joseph@codesourcery.com>
4503
4504 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4505 fvtable-thunks, fxref): Mark no longer supported in help text.
4506
2d2bd949
JM
45072010-09-02 Joseph Myers <joseph@codesourcery.com>
4508
4509 * c.opt (Wimport, fall-virtual, falt-external-templates,
4510 fdefault-inline, fenum-int-equiv, fexternal-templates,
4511 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4512 fname-mangling-version-, fnew-abi, fnonnull-objects,
4513 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4514 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4515 applicable.
4516 (fhandle-exceptions): Mark with Alias and Warn.
4517 * c-opts.c (c_common_handle_option): Don't handle options marked
4518 as ignored.
4519
5de8299c
JM
45202010-09-02 Joseph Myers <joseph@codesourcery.com>
4521
4522 * c.opt (Wcomments, Werror-implicit-function-declaration,
4523 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4524 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4525 aliases.
4526 * c-common.c (option_codes): Use OPT_Wcomment instead of
4527 OPT_Wcomments.
4528 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4529 Don't handle options marked as aliases.
4530
0ceb0201
RG
45312010-08-25 Richard Guenther <rguenther@suse.de>
4532
4533 * c-common.c (c_common_get_alias_set): Remove special
4534 handling for pointers.
4535
ac47786e
NF
45362010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4537
4538 * c-common.c: Use FOR_EACH_VEC_ELT.
4539 * c-gimplify.c: Likewise.
4540 * c-pragma.c: Likewise.
4541
c878765b
JM
45422010-08-16 Joseph Myers <joseph@codesourcery.com>
4543
4544 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4545 RejectDriver.
4546 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4547 RejectDriver.
4548 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4549 instead of OPT_MDX and OPT_MMDX.
4550
603349bf
JM
45512010-08-16 Joseph Myers <joseph@codesourcery.com>
4552
4553 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4554
644fa7ac
JM
45552010-08-12 Joseph Myers <joseph@codesourcery.com>
4556
4557 * c.opt (MD, MMD): Change to MDX and MMDX.
4558 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4559
481e1176
JM
45602010-08-11 Joseph Myers <joseph@codesourcery.com>
4561
4562 * c-opts.c (c_common_handle_option): Call handle_generated_option
4563 instead of handle_option.
4564
ac8dc9f7
NF
45652010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4566
4567 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4568 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4569
4f8c876d
NF
45702010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4571
4572 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4573 (pending_redefine_extname): Change type to a VEC.
4574 (add_to_renaming_pragma_list): Update for new type of
4575 pending_redefine_extname.
ac8dc9f7 4576 (maybe_apply_renaming_pragma): Likewise.
4f8c876d 4577
3b0c690e
AC
45782010-08-04 Arnaud Charlet <charlet@adacore.com>
4579
4580 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4581 visited.
4582 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4583 decide whether a type has already been declared/seen.
4584 Do not go to the original type.
4585 (dump_nested_types): New parameter forward.
4586 Generate forward declaration if needed and mark type as visited.
4587 (print_ada_declaration): Call dump_nested_types if not already done.
4588 Mark types as visited.
4589
1890bccc
JM
45902010-08-03 Joseph Myers <joseph@codesourcery.com>
4591
4592 * c.opt (-print-pch-checksum): Remove option.
4593 * c-opts.c (c_common_handle_option): Don't handle
4594 OPT_print_pch_checksum.
4595
5f20c657
JM
45962010-07-27 Joseph Myers <joseph@codesourcery.com>
4597
4598 * c-common.h (c_common_handle_option): Update prototype and return
4599 value type.
4600 * c-opts.c (c_common_handle_option): Update prototype and return
4601 value type. Update calls to handle_option and
4602 enable_warning_as_error.
4603
f551f80c
JJ
46042010-07-27 Jakub Jelinek <jakub@redhat.com>
4605
4606 PR c/45079
4607 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4608
61ff2bdc
JM
46092010-07-27 Joseph Myers <joseph@codesourcery.com>
4610
4611 * c-common.h (c_common_missing_argument): Remove.
4612 * c-opts.c (c_common_missing_argument): Remove.
4613 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4614 idirafter, imacros, include, isysroot, isystem, iquote): Add
4615 MissingArgError.
4616 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4617
7a9bf9a4
JM
46182010-07-27 Joseph Myers <joseph@codesourcery.com>
4619
4620 * c-common.h (c_common_option_lang_mask,
4621 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4622 New.
4623 (c_common_init_options): Update prototype.
4624 * c-opts.c (c_common_option_lang_mask): New.
4625 (c_common_initialize_diagnostics): Split out of
4626 c_common_init_options.
4627 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4628 New.
4629 (c_common_init_options): Update prototype. Use decoded options in
4630 search for -lang-asm.
4631
910ad8de
NF
46322010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4633
4634 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4635 * c-format.c: Likewise.
4636
718f9c0f
MLI
46372010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4638
4639 * c-common.h: Include diagnostic-core.h. Error if already
4640 included.
4641 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4642
4d451982
MLI
46432010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4644
adfac8df 4645 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4d451982
MLI
4646 Do not include expr.h
4647 (vector_mode_valid_p): Move here.
4648
119fe915
SB
46492010-06-21 DJ Delorie <dj@redhat.com>
4650
4651 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4652 allow these pragmas anywhere.
4653
46542010-06-14 Jakub Jelinek <jakub@redhat.com>
4655
4656 PR bootstrap/44509
4657 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4658 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4659 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4660 ggc_strdup instead of xstrdup.
4661
46622010-06-10 Jakub Jelinek <jakub@redhat.com>
4663
4664 * c-cppbuiltin.c: Include cpp-id-data.h.
4665 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4666 (lazy_hex_fp_value): New function.
4667 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4668
6662d794
MLI
46692010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4670
4671 * c-gimplify.c: Do not include tree-flow.h
4672
38f8b050
JR
46732010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4674
4675 PR other/44034
4676 * c-common.c: Rename targetm member:
4677 targetm.enum_va_list -> targetm.enum_va_list_p
4678
9589f23e
AS
46792010-06-28 Anatoly Sokolov <aesok@post.ru>
4680
4681 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4682
3b06d379
SB
46832010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4684
4685 * c-cppbuiltin.c: Do not include except.h.
4686
d166d4c3
AK
46872010-06-24 Andi Kleen <ak@linux.intel.com>
4688
9faeb493
UB
4689 * c-common.c (warn_for_omitted_condop): New.
4690 * c-common.h (warn_for_omitted_condop): Add prototype.
d166d4c3 4691
70cb8be6
JM
46922010-06-21 Joseph Myers <joseph@codesourcery.com>
4693
4694 * c.opt (lang-objc): Remove.
4695 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4696
a4c97feb
JR
46972010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4698
4699 * c-opts.c: Include "tm_p.h".
4700
6e2f1956
JM
47012010-06-20 Joseph Myers <joseph@codesourcery.com>
4702
4703 * c-common.c (parse_optimize_options): Update call to
4704 decode_options.
4705
bc87224e
NF
47062010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4707
4708 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4709 new type of types_used_by_cur_var_decl.
4710
b49cf425
JR
47112010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4712
4713 PR bootstrap/44512
4714 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4715 for C++ standard compliance.
4716
59f9c2ed
JM
47172010-06-16 Jason Merrill <jason@redhat.com>
4718
4719 * c.opt: Add -Wnoexcept.
4720
33766b66
RG
47212010-06-16 Richard Guenther <rguenther@suse.de>
4722
4723 PR c/44555
4724 * c-common.c (c_common_truthvalue_conversion): Remove
4725 premature and wrong optimization concering ADDR_EXPRs.
4726
eff7e30c
AC
47272010-06-15 Arnaud Charlet <charlet@adacore.com>
4728
4729 * c-ada-spec.c (dump_sloc): Remove column info.
4730 (is_simple_enum): New function.
4731 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4732 enum types when relevant.
4733
6312e84d
MLI
47342010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4735
9faeb493 4736 * c-common.c (conversion_warning): Warn at expression
6312e84d
MLI
4737 location.
4738
1cb42611
JM
47392010-06-10 Joseph Myers <joseph@codesourcery.com>
4740
4741 * c-opts.c (c_common_handle_option): Don't handle
4742 OPT_fshow_column.
4743
a9429e29
LB
47442010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4745
4746 * c-pragma.c (push_alignment): Use typed GC allocation.
4747 (handle_pragma_push_options): Likewise.
4748
4749 * c-common.c (parse_optimize_options): Likewise.
4750
4751 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4752 option.
4753
5498f011
JM
47542010-06-07 Joseph Myers <joseph@codesourcery.com>
4755
4756 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4757 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4758 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4759 flag_signed_bitfields, warn_strict_null_sentinel,
4760 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4761 flag_gen_declaration, flag_no_gnu_keywords,
4762 flag_implement_inlines, flag_implicit_templates,
4763 flag_implicit_inline_templates, flag_optional_diags,
4764 flag_elide_constructors, flag_default_inline, flag_rtti,
4765 flag_conserve_space, flag_access_control, flag_check_new,
4766 flag_new_for_scope, flag_weak, flag_working_directory,
4767 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4768 flag_enforce_eh_specs, flag_threadsafe_statics,
4769 flag_pretty_templates): Remove.
4770 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4771 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4772 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4773 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4774 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4775 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4776 flag_no_gnu_keywords, flag_implement_inlines,
4777 flag_implicit_templates, flag_implicit_inline_templates,
4778 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4779 flag_rtti, flag_conserve_space, flag_access_control,
4780 flag_check_new, flag_new_for_scope, flag_weak,
4781 flag_working_directory, flag_use_cxa_atexit,
4782 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4783 flag_threadsafe_statics, flag_pretty_templates,
4784 warn_strict_null_sentinel): Remove.
4785 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4786 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4787 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4788 fimplicit-inline-templates, fimplicit-templates,
4789 flax-vector-conversions, fms-extensions, fnil-receivers,
4790 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4791 frtti, fshort-double, fshort-enums, fshort-wchar,
4792 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4793 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4794 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4795 gen-decls, undef): Use Var.
4796 (fdefault-inline, foptional-diags): Document as doing nothing.
4797 * c-opts.c (c_common_handle_option): Remove cases for options now
4798 using Var. Mark ignored options as such.
4799
39dabefd
SB
48002010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4801
9faeb493 4802 * c-common.c: Moved to here from parent directory.
39dabefd
SB
4803 * c-common.def: Likewise.
4804 * c-common.h: Likewise.
4805 * c-cppbuiltin.c: Likewise.
4806 * c-dump.c: Likewise.
4807 * c-format.c: Likewise.
4808 * c-format.h : Likewise.
4809 * c-gimplify.c: Likewise.
4810 * c-lex.c: Likewise.
4811 * c-omp.c: Likewise.
4812 * c.opt: Likewise.
4813 * c-opts.c: Likewise.
4814 * c-pch.c: Likewise.
4815 * c-ppoutput.c: Likewise.
4816 * c-pragma.c: Likewise.
4817 * c-pragma.h: Likewise.
4818 * c-pretty-print.c: Likewise.
4819 * c-pretty-print.h: Likewise.
4820 * c-semantics.c: Likewise.
4821 * stub-objc.c: Likewise.
4822
4823 * c-common.c: Include gt-c-family-c-common.h.
4824 * c-pragma.c: Include gt-c-family-c-pragma.h.
4825\f
5624e564 4826Copyright (C) 2010-2015 Free Software Foundation, Inc.
39dabefd
SB
4827
4828Copying and distribution of this file, with or without modification,
4829are permitted in any medium without royalty provided the copyright
4830notice and this notice are preserved.