c-ada-spec.c (dump_ada_double_name): Fix pasto.
[gcc.git] / gcc / c-family / ChangeLog
1 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
2 Jonathan Wakely <jwakely.gcc@gmail.com>
3
4 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
5
6 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
7
8 PR ada/65319
9 * c-ada-spec.c (print_destructor): Remove obsolete code.
10
11 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
12
13 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
14 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
15 DECL_TEMPLATE_RESULT emulations.
16 (dump_ada_template)): Add guard for TYPE_METHODS.
17
18 2015-02-27 Marek Polacek <polacek@redhat.com>
19
20 PR c/65040
21 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
22
23 2015-02-27 Kai Tietz <ktietz@redhat.com>
24
25 PR c/35330
26 * c-pragma.c (handle_pragma_weak): Do not try to create
27 weak/alias of declarations not being function, or variable
28 declarations.
29
30 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
31
32 PR libgomp/64625
33 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
34 Remove macros.
35 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
36
37 2015-02-16 Marek Polacek <polacek@redhat.com>
38
39 PR c/65066
40 * c-format.c (check_format_types): Handle null param.
41
42 2015-02-13 Marek Polacek <polacek@redhat.com>
43
44 PR c/65040
45 * c-format.c (check_format_types): Don't warn about different
46 signedness if the original value is in the range of WANTED_TYPE.
47
48 2015-02-12 Jason Merrill <jason@redhat.com>
49
50 PR c++/64956
51 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
52 to the current highest version.
53 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
54
55 2015-02-04 Jakub Jelinek <jakub@redhat.com>
56
57 PR c/64824
58 PR c/64868
59 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
60 instead of RDIV_EXPR. Use build_binary_op instead of
61 build2_loc.
62
63 2015-01-30 Joseph Myers <joseph@codesourcery.com>
64
65 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
66 to pass input_location as first argument.
67
68 2015-01-23 Tom de Vries <tom@codesourcery.com>
69
70 PR libgomp/64672
71 * c.opt (fopenacc): Mark as LTO option.
72
73 2015-01-23 Tom de Vries <tom@codesourcery.com>
74
75 PR libgomp/64707
76 * c.opt (fopenmp): Mark as LTO option.
77
78 2015-01-21 Jakub Jelinek <jakub@redhat.com>
79
80 PR c/63307
81 * cilk.c (fill_decls_vec): Only put decls into vector v.
82 (compare_decls): Fix up formatting.
83
84 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
85
86 PR c/63307
87 * cilk.c: Include vec.h.
88 (struct cilk_decls): New structure.
89 (wrapper_parm_cb): Split this function to...
90 (fill_decls_vec): ...this...
91 (create_parm_list): ...and this.
92 (compare_decls): New function.
93 (for_local_cb): Remove.
94 (wrapper_local_cb): Ditto.
95 (build_wrapper_type): For now first traverse and fill vector of
96 declarations then sort it and then deal with sorted vector.
97 (cilk_outline): Ditto.
98 (declare_one_free_variable): Ditto.
99
100 2015-01-21 Jason Merrill <jason@redhat.com>
101
102 PR c++/64629
103 * c-format.c (check_format_arg): Call decl_constant_value.
104
105 2015-01-19 Martin Liska <mliska@suse.cz>
106
107 * c-common.c (handle_noicf_attribute): New function.
108
109 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
110 Bernd Schmidt <bernds@codesourcery.com>
111 James Norris <jnorris@codesourcery.com>
112 Cesar Philippidis <cesar@codesourcery.com>
113 Ilmir Usmanov <i.usmanov@samsung.com>
114 Jakub Jelinek <jakub@redhat.com>
115
116 * c.opt (fopenacc): New option.
117 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
118 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
119 New macros.
120 * c-common.h (c_finish_oacc_wait): New prototype.
121 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
122 (c_finish_oacc_wait): New function.
123 * c-pragma.c (oacc_pragmas): New variable.
124 (c_pp_lookup_pragma, init_pragma): Handle it.
125 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
126 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
127 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
128 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
129 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
130 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
131 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
132 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
133 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
134 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
135 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
136 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
137 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
138 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
139 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
140 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
141 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
142 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
143 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
144 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
145 PRAGMA_OACC_CLAUSE_WORKER.
146
147 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
148
149 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
150 for the new option fstack-protector_explicit.
151 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
152 (handle_stack_protect_attribute): New function.
153
154 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
155
156 * c.opt: New option -Warray-bounds=.
157
158 2015-01-09 Michael Collison <michael.collison@linaro.org>
159
160 * array-notation-common.c: Include hash-set.h, machmode.h,
161 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
162 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
163 * c-ada-spec.c: Ditto.
164 * c-cilkplus.c: Ditto.
165 * c-common.c: Include input.h due to flattening of tree.h.
166 Define macro GCC_C_COMMON_C.
167 * c-common.h: Flatten tree.h header files into c-common.h.
168 Remove include of tree-core.h.
169 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
170 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
171 fold-const.h, wide-int.h, and inchash.h due to
172 flattening of tree.h.
173 * c-dump.c: Ditto.
174 * c-format.c: Flatten tree.h header files into c-common.h.
175 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
176 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
177 fold-const.h, wide-int.h, and inchash.h due to
178 flattening of tree.h.
179 * c-dump.c: Include hash-set.h, machmode.h,
180 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
181 fold-const.h, wide-int.h, and inchash.h due to
182 flattening of tree.h.
183 * c-format.c: Include hash-set.h, machmode.h,
184 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
185 fold-const.h, wide-int.h, inchash.h and real.h due to
186 flattening of tree.h.
187 * c-gimplify.c: Include hash-set.h, machmode.h,
188 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
189 fold-const.h, wide-int.h, and inchash.h due to
190 flattening of tree.h.
191 * cilk.c: Ditto.
192 * c-lex.c: Ditto.
193 * c-omp.c: Ditto.
194 * c-opts.c: Ditto.
195 * c-pch.c: Ditto.
196 * c-ppoutput.c: Ditto.
197 * c-pragma.c: Ditto.
198 * c-pretty-print.c: Ditto.
199 * c-semantics.c: Ditto.
200 * c-ubsan.c: Ditto.
201 * stub-objc.c: Ditto.
202
203 2015-01-08 Jason Merrill <jason@redhat.com>
204
205 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
206 do_ubsan_in_current_function.
207 (ubsan_maybe_instrument_reference_or_call): Likewise.
208 * c-ubsan.h: Declare it.
209
210 2015-01-08 Mike Stump <mikestump@comcast.net>
211
212 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
213
214 2015-01-07 Marek Polacek <polacek@redhat.com>
215
216 PR c/64440
217 * c-common.c (c_fully_fold_internal): Warn for division and modulo
218 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
219
220 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
221
222 PR c++/31397
223 * c.opt (Wsuggest-override): New option.
224
225 2015-01-05 Jakub Jelinek <jakub@redhat.com>
226
227 Update copyright years.
228
229 2015-01-05 Marek Polacek <polacek@redhat.com>
230
231 PR c/64423
232 * c-common.c (warn_array_subscript_with_type_char): Add location_t
233 parameter. Use it.
234 * c-common.h (warn_array_subscript_with_type_char): Update
235 declaration.
236
237 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
238
239 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
240 Control macro with flag_sized_deallocation.
241
242 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
243
244 * c.opt (Wdiscarded-array-qualifiers): New option.
245
246 2014-12-19 Jakub Jelinek <jakub@redhat.com>
247
248 PR preprocessor/63831
249 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
250 and __has_cpp_attribute here.
251 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
252 c_common_has_attribute.
253 * c-common.h (c_common_has_attribute): New prototype.
254 * c-lex.c (init_c_lex): Set cb->has_attribute to
255 c_common_has_attribute instead of cb_has_attribute.
256 (get_token_no_padding): New function.
257 (cb_has_attribute): Renamed to ...
258 (c_common_has_attribute): ... this. No longer static. Use
259 get_token_no_padding, require ()s, don't build TREE_LIST
260 unnecessarily, fix up formatting, adjust diagnostics, call
261 init_attributes.
262
263 2014-12-15 Jason Merrill <jason@redhat.com>
264
265 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
266 (-Wsized-deallocation): New.
267 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
268 to on in C++14 and up.
269
270 2014-12-11 Jason Merrill <jason@redhat.com>
271
272 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
273
274 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
275 we aren't complaining about VLAs.
276
277 2014-12-06 Marek Polacek <polacek@redhat.com>
278
279 PR tree-optimization/64183
280 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
281 shift-expression if it is integer_type_node. Use types_compatible_p.
282
283 2014-11-29 Jakub Jelinek <jakub@redhat.com>
284
285 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
286 last argument from create_tmp_var_raw and create_tmp_var calls.
287 * cilk.c (gimplify_cilk_spawn): Likewise.
288 * c-omp.c (c_finish_omp_atomic): Likewise.
289
290 2014-11-28 Marek Polacek <polacek@redhat.com>
291
292 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
293 instead of unsigned_type_node.
294
295 2014-11-28 Marek Polacek <polacek@redhat.com>
296
297 PR c/63862
298 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
299 to op1_utype.
300 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
301 expression to unsigned_type_node.
302
303 2014-11-20 Mark Wielaard <mjw@redhat.com>
304
305 PR debug/38757
306 * c-opts.c (set_std_c89): Set lang_hooks.name.
307 (set_std_c99): Likewise.
308 (set_std_c11): Likewise.
309 (set_std_cxx98): Likewise.
310 (set_std_cxx11): Likewise.
311 (set_std_cxx14): Likewise.
312 (set_std_cxx1z): Likewise.
313
314 2014-11-21 Jakub Jelinek <jakub@redhat.com>
315
316 PR target/63764
317 * c-common.h (convert_vector_to_pointer_for_subscript): Change
318 return type to bool.
319 * c-common.c: Include gimple-expr.h.
320 (convert_vector_to_pointer_for_subscript): Change return type to
321 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
322 and copy it into a TARGET_EXPR and use that instead of *vecp
323 directly.
324
325 2014-11-19 David Malcolm <dmalcolm@redhat.com>
326
327 Merger of git branch "gimple-classes-v2-option-3".
328 * ChangeLog.gimple-classes: New.
329 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
330 from being just a vec<gimple> to a vec<gbind *>.
331
332 2014-11-18 Jakub Jelinek <jakub@redhat.com>
333
334 PR sanitizer/63813
335 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
336 argument to ptype, set type to TREE_TYPE (ptype). Don't call
337 get_pointer_alignment for non-pointers. Use ptype, or if it is
338 reference type, corresponding pointer type, as type of kind
339 argument.
340 (ubsan_maybe_instrument_reference,
341 ubsan_maybe_instrument_member_call): Adjust callers.
342
343 2014-11-15 Marek Polacek <polacek@redhat.com>
344
345 PR middle-end/63884
346 * array-notation-common.c (is_sec_implicit_index_fn): Return false
347 for NULL fndecl.
348 (extract_array_notation_exprs): Return for NULL node.
349
350 2014-11-12 Joseph Myers <joseph@codesourcery.com>
351
352 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
353 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
354
355 2014-11-12 Jakub Jelinek <jakub@redhat.com>
356
357 PR c/59708
358 * c-common.c (check_builtin_function_arguments): Handle
359 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
360
361 2014-11-10 Andi Kleen <ak@linux.intel.com>
362
363 PR c/60804
364 * c-common.h (check_no_cilk): Declare.
365 * cilk.c (get_error_location): New function.
366 (check_no_cilk): Dito.
367
368 2014-11-10 Andi Kleen <ak@linux.intel.com>
369
370 * cilk.c (recognize_spawn): Use expression location
371 for error message.
372
373 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
374
375 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
376
377 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
378
379 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
380 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
381 (__cpp_range_based_for, __cpp_initializer_lists,
382 __cpp_delegating_constructors, __cpp_nsdmi,
383 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
384 for C++11; (__cpp_attribute_deprecated): Remove in favor of
385 __has_cpp_attribute.
386 * c-lex.c (cb_has_attribute): New callback CPP function;
387 (init_c_lex): Set has_attribute callback.
388
389 2014-11-04 Richard Biener <rguenther@suse.de>
390
391 * c-common.c (shorten_compare): Do not shorten mixed
392 DFP and non-DFP compares.
393
394 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
395
396 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
397 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
398 Commentary and rearrangement of tests.
399 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
400 Commentary and rearrangement of tests.
401 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
402 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
403
404 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
405
406 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
407 enum from machine_mode.
408
409 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
410
411 * c-common.c: Adjust include files.
412 * c-gimplify.c: Ditto.
413 * cilk.c: Ditto.
414 * c-pragma.c: Ditto.
415 * c-ubsan.c: Ditto.
416
417 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
418
419 * c-gimplify.c: Adjust include files.
420
421 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
422
423 PR c++/53061
424 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
425 c_common_initialize_diagnostics.
426 * c-common.h: Likewise.
427
428 2014-10-24 Marek Polacek <polacek@redhat.com>
429
430 PR c/56980
431 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
432 print "struct"/"union"/"enum" for typedefed names.
433
434 2014-10-23 Marek Polacek <polacek@redhat.com>
435
436 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
437 in unsigned type.
438
439 2014-10-22 Jakub Jelinek <jakub@redhat.com>
440 Yury Gribov <y.gribov@samsung.com>
441
442 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
443 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
444 instead of flag_sanitize_recover as bool flag.
445
446 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
447
448 * cilk.c: Revert previous change.
449
450 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
451
452 PR c/63307
453 * cilk.c: Include vec.h.
454 (struct cilk_decls): New structure.
455 (wrapper_parm_cb): Split this function to...
456 (fill_decls_vec): ...this...
457 (create_parm_list): ...and this.
458 (compare_decls): New function.
459 (for_local_cb): Remove.
460 (wrapper_local_cb): Ditto.
461 (build_wrapper_type): For now first traverse and fill vector of
462 declarations then sort it and then deal with sorted vector.
463 (cilk_outline): Ditto.
464 (declare_one_free_variable): Ditto.
465
466 2014-10-17 Marek Polacek <polacek@redhat.com>
467
468 * c-opts.c (c_common_post_options): Set warn_implicit_int.
469 * c.opt (Wimplicit-int): Initialize to -1.
470
471 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
472
473 * c-pragma.c: Adjust include files.
474 * c-semantics.c: Likewise.
475
476 2014-10-16 DJ Delorie <dj@redhat.com>
477
478 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
479 multiples of bytes.
480
481 2014-10-14 Jason Merrill <jason@redhat.com>
482
483 PR c++/63455
484 * c-common.h (CPP_PREPARSED_EXPR): New.
485 (N_CP_TTYPES): Adjust.
486
487 2014-10-15 Marek Polacek <polacek@redhat.com>
488
489 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
490
491 2014-10-14 DJ Delorie <dj@redhat.com>
492
493 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
494 types, not just __int128.
495 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
496 types, not just __int128.
497 (cpp_atomic_builtins): Round pointer sizes up.
498 (type_suffix): Use type precision, not specific types.
499 * c-common.c (c_common_reswords): Remove __int128 special case.
500 (c_common_type_for_size): Check for all __intN types, not just
501 __int128.
502 (c_common_type_for_mode): Likewise.
503 (c_common_signed_or_unsigned_type): Likewise.
504 (c_build_bitfield_integer_type): Likewise.
505 (c_common_nodes_and_builtins): Likewise.
506 (keyword_begins_type_specifier): Likewise.
507 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
508 __intN variants.
509
510 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
511
512 * c-common.c: Use hash_table instead of hashtab.
513
514 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
515
516 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
517 C++11 section.
518
519 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
520
521 PR c++/54427
522 PR c++/57198
523 PR c++/58845
524 * c-common.c (warn_logical_operator): Punt for vectors.
525
526 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
527
528 Implement SD-6: SG10 Feature Test Recommendations
529 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
530 macros and the __has_header macro.
531
532 2014-09-30 Jason Merrill <jason@redhat.com>
533
534 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
535 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
536 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
537
538 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
539 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
540
541 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
542 * c-common.c (c_common_reswords): Remove __is_convertible_to.
543
544 2014-09-24 Marek Polacek <polacek@redhat.com>
545
546 PR c/61405
547 PR c/53874
548 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
549
550 2014-09-23 Andi Kleen <ak@linux.intel.com>
551
552 * c-common.c (handle_no_reorder_attribute): New function.
553 (c_common_attribute_table): Add no_reorder attribute.
554
555 2014-09-22 Joseph Myers <joseph@codesourcery.com>
556
557 * c-cppbuiltin.c (c_cpp_builtins): Define
558 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
559 modes.
560
561 2014-09-18 Joseph Myers <joseph@codesourcery.com>
562
563 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
564 for supported floating-point modes.
565
566 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
567
568 * c.opt (Wpsabi): Use LangEnabledBy.
569 * c-opts.c (c_common_handle_option): Do not handle here.
570
571 2014-09-12 Joseph Myers <joseph@codesourcery.com>
572
573 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
574 macros for floating-point modes.
575
576 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
577
578 PR target/58757
579 * c-cppbuiltin.c (builtin_define_float_constants): Correct
580 __*_DENORM_MIN__ without denormals.
581
582 2014-09-10 Jakub Jelinek <jakub@redhat.com>
583
584 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
585 ubsan_instrument_vla, ubsan_instrument_return): Adjust
586 ubsan_create_data callers.
587 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
588 index is constant or BIT_AND_EXPR with constant mask and is
589 small enough for the bound.
590 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
591 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
592
593 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
594
595 * c.opt: Add CppReason to various flags.
596 (Wdate-time): Re-sort.
597 * c-common.c: Include c-common.h earlier.
598 (struct reason_option_codes_t): Delete.
599 (c_option_controlling_cpp_error): Prefix global type and struct
600 with cpp_.
601
602 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
603
604 * c.opt (Wnormalized): New.
605 (Wnormalized=): Use Enum and Reject Negative.
606 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
607
608 2014-09-08 Joseph Myers <joseph@codesourcery.com>
609
610 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
611 digits of floating-point modes if -fbuilding-libgcc.
612
613 2014-09-05 Joseph Myers <joseph@codesourcery.com>
614
615 * c-cppbuiltin.c (c_cpp_builtins): Also define
616 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
617 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
618 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
619 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
620 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
621 __LIBGCC_STACK_GROWS_DOWNWARD__,
622 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
623 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
624 __LIBGCC_DWARF_FRAME_REGISTERS__,
625 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
626 __LIBGCC_STACK_POINTER_REGNUM__ and
627 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
628 (builtin_define_with_value): Handle backslash-escaping in string
629 macro values.
630
631 2014-09-05 Richard Biener <rguenther@suse.de>
632
633 PR middle-end/63148
634 * c-format.c (check_format_arg): Properly handle
635 effectively signed POINTER_PLUS_EXPR offset.
636
637 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
638
639 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
640 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
641 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
642 and Init.
643 * c-opts.c (c_common_handle_option): Do not handle here.
644 (sanitize_cpp_opts): Likewise.
645 * c-common.c (struct reason_option_codes_t): Handle
646 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
647
648 2014-09-03 Marek Polacek <polacek@redhat.com>
649
650 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
651
652 2014-09-02 Jakub Jelinek <jakub@redhat.com>
653 Balaji V. Iyer <balaji.v.iyer@intel.com>
654 Igor Zamyatin <igor.zamyatin@intel.com>
655
656 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
657 * c-common.c (c_common_reswords): Added _Cilk_for.
658 * c-common.h (enum rid): Added RID_CILK_FOR.
659 (cilk_for_number_of_iterations): Add declaration.
660 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
661 CILK_FOR.
662 * c-pragma.c (init_pragma): Register "grainsize" pragma.
663 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
664
665 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
666
667 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
668 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
669 Wundef): Use CPP, Var and Init.
670 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
671
672 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
673
674 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
675 * c-opts.c (c_common_handle_option): Do not handle here.
676
677 2014-08-25 Jason Merrill <jason@redhat.com>
678
679 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
680 -std=c++14 and -std=gnu++14, rather than the reverse.
681 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
682 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
683 * c-common.h (cxx_dialect): Remove cxx1y.
684
685 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
686
687 * c-common.h (enum cxx_dialect): Add cxx14.
688 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
689 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
690 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
691
692 2014-08-22 Jason Merrill <jason@redhat.com>
693
694 * c.opt (std=gnu++17): Fix alias.
695
696 2014-08-22 Marek Polacek <polacek@redhat.com>
697
698 PR c++/62199
699 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
700 check for vector types. Drop LHS argument.
701 * c-common.h (warn_logical_not_parentheses): Adjust.
702
703 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
704
705 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
706 (Wmultichar): Likewise.
707 (Wdate-time): Use C-family languages instead of Common. Use CPP
708 and Var.
709 * c-opts.c (c_common_handle_option): Do not handle the above
710 options here.
711 (sanitize_cpp_opts): Likewise.
712
713 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
714
715 PR fortran/44054
716 * c-opts.c: Include tree-diagnostics.h.
717 (c_diagnostic_finalizer): New.
718 (c_common_initialize_diagnostics): Use it.
719
720 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
721
722 PR preprocessor/51303
723 * c-common.c (struct reason_option_codes_t option_codes):
724 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
725
726 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
727
728 PR c/60975
729 PR c/53063
730 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
731 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
732 (c_common_post_options): Call init_global_opts_from_cpp.
733 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
734
735 2014-08-19 Marek Polacek <polacek@redhat.com>
736
737 PR c++/62153
738 * c-common.c (maybe_warn_bool_compare): New function.
739 * c-common.h (maybe_warn_bool_compare): Declare.
740 * c.opt (Wbool-compare): New option.
741
742 2014-08-19 Marek Polacek <polacek@redhat.com>
743
744 * c.opt (Wc99-c11-compat): New option.
745
746 2014-08-19 Marek Polacek <polacek@redhat.com>
747
748 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
749 to warn_c90_c99_compat.
750 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
751 to -1.
752
753 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
754 Steven Bosscher <steven@gcc.gnu.org>
755
756 PR c/52952
757 * c-format.c: Add extra_arg_loc and format_string_loc to struct
758 format_check_results.
759 (check_function_format): Use true and add comment for boolean
760 argument.
761 (finish_dollar_format_checking): Use explicit location when warning.
762 (check_format_info): Likewise.
763 (check_format_arg): Set extra_arg_loc and format_string_loc.
764 (check_format_info_main): Use explicit location when warning.
765 (check_format_types): Pass explicit location.
766 (format_type_warning): Likewise.
767
768 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
769
770 PR fortran/44054
771 * c-format.c: Handle Fortran flags.
772
773 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
774
775 PR other/61962
776 * array-notation-common.c (find_rank): Added handling for other
777 types of references.
778
779 2014-08-10 Marek Polacek <polacek@redhat.com>
780
781 PR c/51849
782 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
783 * c.opt (Wc90-c99-compat): Add option.
784
785 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
786
787 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
788
789 2014-08-03 Marek Polacek <polacek@redhat.com>
790
791 * c-common.c (check_case_value): Add location_t parameter. Use it.
792 (c_add_case_label): Pass loc to check_case_value.
793
794 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
795
796 * cilk.c: Use hash_map instead of pointer_map.
797
798 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
799
800 * c-gimplify.c: Use hash_set instead of pointer_set.
801
802 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
803
804 PR middle-end/61455
805 * array-notation-common.c (extract_array_notation_exprs): Handling
806 of DECL_EXPR added.
807
808 2014-08-01 Jakub Jelinek <jakub@redhat.com>
809
810 * c-common.h (min_align_of_type): Removed prototype.
811 * c-common.c (min_align_of_type): Removed.
812 * c-ubsan.h (ubsan_maybe_instrument_reference,
813 ubsan_maybe_instrument_member_call): New prototypes.
814 * c-ubsan.c: Include stor-layout.h and builtins.h.
815 (ubsan_maybe_instrument_reference_or_call,
816 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
817 functions.
818
819 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
820
821 PR c++/60517
822 * c.opt (-Wreturn-local-addr): Move to common.opt.
823
824 2014-07-30 Jason Merrill <jason@redhat.com>
825
826 PR c++/61659
827 PR c++/61687
828 Revert:
829 * c.opt (-fuse-all-virtuals): New.
830
831 2014-07-30 Tom Tromey <tromey@redhat.com>
832
833 PR c/59855
834 * c.opt (Wdesignated-init): New option.
835 * c-common.c (c_common_attribute_table): Add "designated_init".
836 (handle_designated_init): New function.
837
838 2014-07-24 Marek Polacek <polacek@redhat.com>
839
840 PR c/57653
841 * c-opts.c (c_finish_options): If -imacros is in effect, return.
842
843 2014-07-16 Dodji Seketeli <dodji@redhat.com>
844
845 PR preprocessor/60723 - missing system-ness marks for macro tokens
846 * c-ppoutput.c (struct print::prev_was_system_token): New data
847 member.
848 (init_pp_output): Initialize it.
849 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
850 (do_line_change): Return a flag saying if a line marker was
851 emitted or not.
852 (scan_translation_unit): Detect if the system-ness of the token we
853 are about to emit is different from the one of the previously
854 emitted token. If so, emit a line marker. Avoid emitting useless
855 adjacent line markers. Avoid emitting line markers for tokens
856 originating from the expansion of built-in macros.
857 (scan_translation_unit_directives_only): Adjust.
858
859 2014-07-15 Marek Polacek <polacek@redhat.com>
860
861 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
862 TYPE_MAX_VALUE is NULL.
863
864 2014-07-14 Jakub Jelinek <jakub@redhat.com>
865
866 PR middle-end/61294
867 * c.opt (Wmemset-transposed-args): New warning.
868
869 2014-07-10 Jason Merrill <jason@redhat.com>
870
871 PR c++/61659
872 PR c++/61687
873 * c.opt (-fuse-all-virtuals): New.
874
875 2014-07-09 Richard Biener <rguenther@suse.de>
876
877 PR c-family/61741
878 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
879 using unsigned arithmetic if overflow does not wrap instead of
880 if overflow is undefined.
881
882 2014-07-06 Marek Polacek <polacek@redhat.com>
883
884 PR c/6940
885 * c.opt (Wsizeof-array-argument): New option.
886
887 2014-07-03 Jakub Jelinek <jakub@redhat.com>
888
889 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
890 comments->count <= 1, as comments->entries might be NULL.
891
892 2014-07-01 Marek Polacek <polacek@redhat.com>
893
894 * c.opt (Wint-conversion): New option.
895
896 2014-07-01 Marek Polacek <polacek@redhat.com>
897
898 PR c/58286
899 * c.opt (Wincompatible-pointer-types): New option.
900
901 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
902
903 PR c++/51400
904 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
905 Do not discard TYPE_QUALS of type.
906
907 2014-06-26 Jason Merrill <jason@redhat.com>
908
909 * c-common.h (enum cxx_dialect): Add cxx1z.
910 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
911 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
912
913 2014-06-26 Teresa Johnson <tejohnson@google.com>
914
915 * c-common.h (get_dump_info): Declare.
916 * c-gimplify.c (c_genericize): Use saved dump files.
917 * c-opts.c (c_common_parse_file): Begin and end dumps
918 once around parsing invocation.
919 (get_dump_info): New function.
920
921 2014-06-23 Marek Polacek <polacek@redhat.com>
922 Andrew MacLeod <amacleod@redhat.com>
923
924 PR c/61553
925 * c-common.c (get_atomic_generic_size): Don't segfault if the
926 type doesn't have a size.
927
928 2014-06-20 Marek Polacek <polacek@redhat.com>
929
930 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
931 (ubsan_walk_array_refs_r): New function.
932 (c_genericize): Instrument array bounds.
933 * c-ubsan.c: Include "internal-fn.h".
934 (ubsan_instrument_division): Mark instrumented arrays as having
935 side effects. Adjust ubsan_type_descriptor call.
936 (ubsan_instrument_shift): Likewise.
937 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
938 (ubsan_instrument_bounds): New function.
939 (ubsan_array_ref_instrumented_p): New function.
940 (ubsan_maybe_instrument_array_ref): New function.
941 * c-ubsan.h (ubsan_instrument_bounds): Declare.
942 (ubsan_array_ref_instrumented_p): Declare.
943 (ubsan_maybe_instrument_array_ref): Declare.
944
945 2014-06-20 Hale Wang <hale.wang@arm.com>
946
947 PR lto/61123
948 * c.opt (fshort-enums): Add to LTO.
949 * c.opt (fshort-wchar): Likewise.
950
951 2014-06-16 Marek Polacek <polacek@redhat.com>
952
953 PR c/60439
954 * c.opt (Wswitch-bool): Add Var.
955
956 2014-06-12 Jakub Jelinek <jakub@redhat.com>
957
958 PR middle-end/61486
959 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
960 #pragma omp target teams or
961 #pragma omp {,target }teams distribute simd.
962
963 2014-06-12 Jason Merrill <jason@redhat.com>
964
965 * c.opt (Wabi=, fabi-compat-version): New.
966 * c-opts.c (c_common_handle_option): Handle -Wabi=.
967 (c_common_post_options): Handle flag_abi_compat_version default.
968 Disallow -fabi-compat-version=1.
969 * c-common.h (abi_version_crosses): New.
970
971 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
972
973 * c-common.c (handle_section_attribute): Update handling for
974 section names that are no longer trees.
975
976 2014-06-10 Jakub Jelinek <jakub@redhat.com>
977
978 PR fortran/60928
979 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
980 (omp_pragmas): ... back here.
981
982 2014-06-05 Marek Polacek <polacek@redhat.com>
983
984 PR c/49706
985 * c-common.c (warn_logical_not_parentheses): New function.
986 * c-common.h (warn_logical_not_parentheses): Declare.
987 * c.opt (Wlogical-not-parentheses): New option.
988
989 2014-06-04 Marek Polacek <polacek@redhat.com>
990
991 PR c/30020
992 * c-common.c (check_case_bounds): Add location parameter.
993 Use it.
994 (c_add_case_label): Pass loc to check_case_bounds.
995
996 2014-06-03 Marek Polacek <polacek@redhat.com>
997
998 PR c/60439
999 * c.opt (Wswitch-bool): New option.
1000
1001 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1002
1003 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1004 Remove prototypes.
1005 (record_types_used_by_current_var_decl): Move prototype to where
1006 it belongs.
1007
1008 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1009 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1010 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1011
1012 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1013
1014 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1015 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1016 void_zero_node.
1017 * c-pretty-print.c (pp_c_void_constant): New function.
1018 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1019 (c_pretty_printer::expression): Handle VOID_CST.
1020 * cilk.c (extract_free_variables): Likewise.
1021 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1022 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1023
1024 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1025
1026 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1027 * c-pragma.c (push_alignment): Adjust.
1028 (handle_pragma_push_options): Likewise.
1029
1030 2014-05-09 Marek Polacek <polacek@redhat.com>
1031
1032 PR c/50459
1033 * c-common.c (check_user_alignment): Return -1 if alignment is error
1034 node.
1035 (handle_aligned_attribute): Don't call default_conversion on
1036 FUNCTION_DECLs.
1037 (handle_vector_size_attribute): Likewise.
1038 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1039 (handle_sentinel_attribute): Call default_conversion and allow even
1040 integral types as an argument.
1041
1042 2014-05-08 Marek Polacek <polacek@redhat.com>
1043
1044 PR c/61053
1045 * c-common.c (min_align_of_type): New function factored out from...
1046 (c_sizeof_or_alignof_type): ...here.
1047 * c-common.h (min_align_of_type): Declare.
1048
1049 2014-05-08 Marek Polacek <polacek@redhat.com>
1050
1051 PR c/61077
1052 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1053 parameter type of main.
1054
1055 2014-05-07 DJ Delorie <dj@redhat.com>
1056
1057 * c-cppbuiltin.c (print_bits_of_hex): New.
1058 (builtin_define_type_minmax): Print values using hex so as not to
1059 require a pre-computed list of string values.
1060
1061 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1062 Mike Stump <mikestump@comcast.net>
1063 Richard Sandiford <rdsandiford@googlemail.com>
1064
1065 * c-ada-spec.c: Include wide-int.h.
1066 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1067 (dump_generic_ada_node): Use wide-int interfaces.
1068 * c-common.c: Include wide-int-print.h.
1069 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1070 (pointer_int_sum): Use wide-int interfaces.
1071 (c_common_nodes_and_builtins): Use make_int_cst.
1072 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1073 (handle_alloc_size_attribute): Use wide-int interfaces.
1074 (get_nonnull_operand): Likewise.
1075 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1076 * c-lex.c: Include wide-int.h.
1077 (narrowest_unsigned_type): Take a widest_int rather than two
1078 HOST_WIDE_INTs.
1079 (narrowest_signed_type): Likewise.
1080 (interpret_integer): Update accordingly. Use wide-int interfaces.
1081 (lex_charconst): Use wide-int interfaces.
1082 * c-pretty-print.c: Include wide-int.h.
1083 (pp_c_integer_constant): Use wide-int interfaces.
1084 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1085 INT_CST_LT_UNSIGNED.
1086
1087 2014-05-06 Richard Biener <rguenther@suse.de>
1088
1089 * c-opts.c (c_common_post_options): For -freestanding,
1090 -fno-hosted and -fno-builtin disable pattern recognition
1091 if not enabled explicitely.
1092
1093 2014-05-02 Marek Polacek <polacek@redhat.com>
1094
1095 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1096
1097 2014-05-01 Marek Polacek <polacek@redhat.com>
1098
1099 PR c/43245
1100 * c.opt (Wdiscarded-qualifiers): Add.
1101
1102 2014-04-30 Marek Polacek <polacek@redhat.com>
1103
1104 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1105 INT_MIN / -1 sanitization only for integer types.
1106
1107 2014-04-25 Marek Polacek <polacek@redhat.com>
1108
1109 PR c/18079
1110 * c-common.c (handle_noinline_attribute): Warn if the attribute
1111 conflicts with always_inline attribute.
1112 (handle_always_inline_attribute): Warn if the attribute conflicts
1113 with noinline attribute.
1114
1115 2014-04-25 Marek Polacek <polacek@redhat.com>
1116
1117 PR c/60156
1118 * c-common.c (check_main_parameter_types): Warn about variadic main.
1119
1120 2014-04-24 Mike Stump <mikestump@comcast.net>
1121
1122 * c.opt (Wshadow-ivar): Default to on.
1123
1124 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1125
1126 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1127
1128 2014-04-23 Marek Polacek <polacek@redhat.com>
1129
1130 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1131
1132 2014-04-22 Jakub Jelinek <jakub@redhat.com>
1133
1134 PR sanitizer/60275
1135 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1136 if flag_sanitize_undefined_trap_on_error.
1137 (ubsan_instrument_division, ubsan_instrument_shift,
1138 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1139 if !flag_sanitize_recover.
1140
1141 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1142
1143 PR libstdc++/43622
1144 * c-common.c (registered_builtin_types): Make non-static.
1145 * c-common.h (registered_builtin_types): Declare.
1146
1147 2014-04-14 Richard Biener <rguenther@suse.de>
1148 Marc Glisse <marc.glisse@inria.fr>
1149
1150 PR c/60819
1151 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1152 apply may-alias the scalar pointer type when applicable.
1153
1154 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1155
1156 PR middle-end/60467
1157 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1158 as possible argument for Cilk_spawn.
1159
1160 2014-04-11 Tobias Burnus <burnus@net-b.de>
1161
1162 PR c/60194
1163 * c.opt (Wformat-signedness): Add
1164 * c-format.c(check_format_types): Use it.
1165
1166 2014-04-11 Jason Merrill <jason@redhat.com>
1167
1168 PR c++/57926
1169 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
1170 default_conversion for an array argument.
1171
1172 2014-04-08 Marek Polacek <polacek@redhat.com>
1173
1174 PR sanitizer/60745
1175 * c-ubsan.c: Include asan.h.
1176 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
1177
1178 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1179
1180 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
1181
1182 2014-04-02 Marek Polacek <polacek@redhat.com>
1183
1184 * c-common.h (c_expand_expr): Remove declaration.
1185
1186 2014-03-28 Jakub Jelinek <jakub@redhat.com>
1187
1188 PR c++/60689
1189 * c-common.c (add_atomic_size_parameter): When creating new
1190 params vector, push the size argument first.
1191
1192 2014-03-26 Jakub Jelinek <jakub@redhat.com>
1193
1194 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1195 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1196 ubsan_create_data callers.
1197
1198 2014-03-22 Jakub Jelinek <jakub@redhat.com>
1199
1200 PR debug/60603
1201 * c-opts.c (c_finish_options): Restore cb_file_change call to
1202 <built-in>.
1203
1204 2014-03-13 Jakub Jelinek <jakub@redhat.com>
1205
1206 PR middle-end/36282
1207 * c-pragma.c (apply_pragma_weak): Only look at
1208 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1209 DECL_ASSEMBLER_NAME_SET_P (decl).
1210 (maybe_apply_pending_pragma_weaks): Exit early if
1211 vec_safe_is_empty (pending_weaks) rather than only when
1212 !pending_weaks.
1213 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1214 set assembler name back to NULL afterwards.
1215
1216 2014-03-11 Jason Merrill <jason@redhat.com>
1217
1218 * c.opt: Add -std=gnu++14.
1219
1220 2014-03-11 Ian Bolton <ian.bolton@arm.com>
1221
1222 * c-opts.c (c_common_post_options): Don't override
1223 -ffp-contract=fast if unsafe-math-optimizations is on.
1224
1225 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
1226
1227 * c.opt: Enable LTO FE for fshort-double.
1228
1229 2014-03-07 Jason Merrill <jason@redhat.com>
1230
1231 * c.opt: Add -std=c++14.
1232
1233 2014-03-06 Marek Polacek <polacek@redhat.com>
1234
1235 PR c/60197
1236 * cilk.c (contains_cilk_spawn_stmt): New function.
1237 (contains_cilk_spawn_stmt_walker): Likewise.
1238 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1239 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1240
1241 2014-03-03 Jakub Jelinek <jakub@redhat.com>
1242
1243 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1244 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1245 even when flag_preprocess_only.
1246
1247 2014-02-26 Jason Merrill <jason@redhat.com>
1248
1249 PR c++/59231
1250 PR c++/11586
1251 * c-common.c (shorten_compare): Don't check
1252 c_inhibit_evaluation_warnings.
1253
1254 2014-02-19 Jakub Jelinek <jakub@redhat.com>
1255
1256 PR c/37743
1257 * c-common.c (c_common_nodes_and_builtins): When initializing
1258 c_uint{16,32,64}_type_node, also set corresponding
1259 uint{16,32,64}_type_node to the same value.
1260
1261 PR c++/60267
1262 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1263 for PRAGMA_IVDEP if flag_preprocess_only.
1264
1265 2014-02-12 Jakub Jelinek <jakub@redhat.com>
1266
1267 PR c/60101
1268 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1269 if false, add ADD itself, rather than vice versa.
1270 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1271 copy. For SAVE_EXPR, only call merge_tlist once.
1272
1273 2014-02-08 Jakub Jelinek <jakub@redhat.com>
1274
1275 PR middle-end/60092
1276 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1277 and tree_to_uhwi.
1278 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1279 functions.
1280 (c_common_attribute_table): Add alloc_align and assume_aligned
1281 attributes.
1282
1283 2014-02-06 Marek Polacek <polacek@redhat.com>
1284
1285 PR c/60087
1286 * c-common.c (warn_for_sign_compare): Call warning_at with location
1287 instead of warning.
1288
1289 2014-02-05 Marek Polacek <polacek@redhat.com>
1290
1291 PR c/53123
1292 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1293 statement.
1294
1295 2014-02-04 Marek Polacek <polacek@redhat.com>
1296
1297 PR c/60036
1298 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1299 SAVE_EXPR.
1300
1301 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
1302
1303 PR c++/53017
1304 PR c++/59211
1305 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1306 handle_vector_size_attribute, handle_nonnull_attribute): Call
1307 default_conversion on the attribute argument.
1308 (handle_nonnull_attribute): Increment the argument number.
1309
1310 2014-01-31 Marek Polacek <polacek@redhat.com>
1311
1312 PR c/59963
1313 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1314 build_function_call_vec.
1315 (resolve_overloaded_builtin): Likewise.
1316 * c-common.h (build_function_call_vec): Adjust declaration.
1317
1318 2014-01-30 Marek Polacek <polacek@redhat.com>
1319
1320 PR c/59940
1321 * c-common.h (unsafe_conversion_p): Adjust declaration.
1322 (warnings_for_convert_and_check): Likewise.
1323 (convert_and_check): Likewise.
1324 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1325 expansion_point_location_if_in_system_header on it.
1326 (warnings_for_convert_and_check): Add location parameter. Call
1327 expansion_point_location_if_in_system_header on it. Use it.
1328 (convert_and_check): Add location parameter. Use it.
1329 (conversion_warning): Likewise.
1330 (c_add_case_label): Adjust convert_and_check calls.
1331 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1332
1333 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1334
1335 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1336 flag_cilkplus.
1337 * c-pragma.c (init_pragma): Likewise.
1338 * c.opt: Likewise.
1339
1340 2014-01-23 Marek Polacek <polacek@redhat.com>
1341
1342 PR c/59846
1343 * c-common.c (shorten_compare): Add location_t parameter.
1344 * c-common.h (shorten_binary_op): Adjust declaration.
1345
1346 2014-01-23 Marek Polacek <polacek@redhat.com>
1347
1348 PR c/58346
1349 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1350 * c-common.h: Declare it.
1351
1352 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1353
1354 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1355 * c-ada-spec.c (dump_ads): Likewise.
1356 (cpp_check): Likewise.
1357 (dump_ada_specs): Likewise.
1358
1359 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
1360
1361 PR c++/49718
1362 * c-common.c (handle_no_instrument_function_attribute): Allow
1363 no_instrument_function attribute in class member
1364 definition/declaration.
1365
1366 2014-01-15 Jakub Jelinek <jakub@redhat.com>
1367
1368 PR c/58943
1369 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1370 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1371 being COMPOUND_EXPR.
1372 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1373 operand a SAVE_EXPR and second MODIFY_EXPR.
1374
1375 2014-01-09 Jakub Jelinek <jakub@redhat.com>
1376
1377 PR target/58115
1378 * c-pch.c (c_common_write_pch): Call
1379 prepare_target_option_nodes_for_pch.
1380
1381 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1382
1383 Update copyright years
1384
1385 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1386
1387 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1388 the copyright notice.
1389
1390 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1391
1392 * c-ada-spec.c (print_constructor): New function.
1393 (print_destructor): Retrieve the origin of the destructor.
1394 (print_ada_declaration): Revamp handling of constructors/destructors.
1395
1396 2013-12-23 Stuart Hastings <stuart@apple.com>
1397 Bill Maddox <maddox@google.com>
1398 Jason Merrill <jason@redhat.com>
1399
1400 * c.opt: Add -fdeclone-ctor-dtor.
1401 * c-opts.c (c_common_post_options): Default to on iff -Os.
1402
1403 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1404
1405 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1406 attribute.
1407 * c-pragma.h (enum pragma_cilk_clause): Remove.
1408 (enum pragma_omp_clause): Added the following fields:
1409 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1410 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1411 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1412 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1413 PRAGMA_CILK_CLAUSE_UNIFORM.
1414
1415
1416 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1417
1418 * cilk.c (cilk_outline): Made this function non-static.
1419 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1420 (create_cilk_wrapper): Added a new parameter: a function pointer.
1421 (c_install_body_w_frame_cleanup): Remove
1422 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1423 * c-common.h (cilk_outline): New prototype.
1424 (gimplify_cilk_spawn): Removed two parameters.
1425 (cilk_install_body_with_frame_cleanup): New prototype.
1426 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1427 CILK_SPAWN_STMT case.
1428
1429 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1430
1431 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1432
1433 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1434 (int_array_type_node): Remove.
1435 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1436
1437 2013-12-05 Marek Polacek <polacek@redhat.com>
1438
1439 PR c/52023
1440 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1441 [ADJUST_FIELD_ALIGN].
1442
1443 2013-12-04 Joseph Myers <joseph@codesourcery.com>
1444
1445 PR c/52023
1446 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1447 and check field alignment if set.
1448 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1449 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1450
1451 2013-12-04 Jakub Jelinek <jakub@redhat.com>
1452 Marek Polacek <polacek@redhat.com>
1453
1454 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1455 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1456
1457 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1458
1459 PR c/59309
1460 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1461 arguments.
1462
1463 2013-11-29 Jakub Jelinek <jakub@redhat.com>
1464
1465 PR c/59280
1466 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1467 goto invalid. If it is error_mark_node, don't issue further
1468 diagnostics.
1469
1470 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1471
1472 * c.opt (Wopenmp-simd): New.
1473
1474 2013-11-22 Jakub Jelinek <jakub@redhat.com>
1475
1476 * c-ubsan.h (ubsan_instrument_return): New prototype.
1477 * c-ubsan.c (ubsan_instrument_return): New function.
1478
1479 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
1480
1481 * c-common.c: Add required include files from gimple.h.
1482 * c-gimplify.c: Likewise
1483 * cilk.c: Likewise
1484
1485 2013-11-22 David Malcolm <dmalcolm@redhat.com>
1486
1487 * c-common.c (unsafe_conversion_p): Remove use of
1488 EXPR_LOC_OR_HERE macro.
1489 (conversion_warning): Likewise.
1490 (warnings_for_convert_and_check): Likewise.
1491 (warn_for_collisions_1): Likewise.
1492 (shorten_compare): Likewise, and remove use of in_system_header
1493 macro, using the location from the former.
1494 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1495 (cb_def_pragma): Remove use of in_system_header macro.
1496 (lex_string): Likewise.
1497 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1498
1499 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1500 Mike Stump <mikestump@comcast.net>
1501 Richard Sandiford <rdsandiford@googlemail.com>
1502
1503 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1504 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1505 tree_fits_shwi_p or tree_fits_uhwi_p.
1506 (dump_generic_ada_node): Likewise.
1507 * c-format.c (check_format_arg): Likewise.
1508 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1509
1510 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1511
1512 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1513
1514 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1515
1516 PR c/53001
1517 * c-common.c (unsafe_conversion_p): Make this function
1518 return an enumeration with more detail.
1519 (conversion_warning): Use the new return type of
1520 unsafe_conversion_p to separately warn either about conversions
1521 that lower floating point number precision or about the other
1522 kinds of conversions.
1523 * c-common.h (enum conversion_safety): New enumeration.
1524 (unsafe_conversion_p): switching return type to
1525 conversion_safety enumeration.
1526 * c.opt: Adding new warning -Wfloat-conversion and
1527 enabling it with -Wconversion.
1528
1529 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1530
1531 * c-opts.c: Include plugin.h.
1532 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1533
1534 2013-11-19 Marek Polacek <polacek@redhat.com>
1535
1536 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1537 call.
1538 (ubsan_instrument_shift): Likewise.
1539 (ubsan_instrument_vla): Likewise.
1540
1541 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1542
1543 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1544 cast to unsigned type.
1545
1546 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1547
1548 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1549 tree_low_cst.
1550 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1551 rather than tree_low_cst.
1552
1553 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1554
1555 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1556 tree_to_uhwi throughout.
1557
1558 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1559
1560 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1561 tree_low_cst (..., 0) with tree_to_shwi throughout.
1562
1563 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1564
1565 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1566 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1567
1568 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1569
1570 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1571 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1572
1573 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
1574
1575 * c-cilkplus.c: New file.
1576 * c-common.c (readonly_error): Add location argument.
1577 * c-common.h (readonly_error): Same.
1578 (c_finish_cilk_clauses): Protoize.
1579 (c_check_cilk_loop): Same.
1580 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1581 Do not fail on error_mark_node.
1582 Abstract increment canonicalization to here...
1583 (c_omp_for_incr_canonicalize_ptr): New.
1584 c-pragma.c (init_pragma): Register "simd" pragma.
1585 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1586 (enum pragma_cilk_clause): New.
1587
1588 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1589
1590 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1591 wchar_type and host_integerp checks.
1592
1593 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
1594
1595 * c-common.c: Likewise.
1596 * c-gimplify.c: Likewise.
1597 * cilk.c: Likewise.
1598
1599 2013-11-14 Diego Novillo <dnovillo@google.com>
1600
1601 * c-common.c: Include fold-const.h.
1602 Include stor-layout.h.
1603 Include calls.h.
1604 Include stringpool.h.
1605 Include attribs.h.
1606 Include varasm.h.
1607 Include trans-mem.h.
1608 * c-cppbuiltin.c: Include stor-layout.h.
1609 Include stringpool.h.
1610 * c-format.c: Include stringpool.h.
1611 * c-lex.c: Include stringpool.h.
1612 Include stor-layout.h.
1613 * c-pragma.c: Include stringpool.h.
1614 Include attribs.h.
1615 Include varasm.h.
1616 Include gcc-symtab.h.
1617 * c-pretty-print.c: Include stor-layout.h.
1618 Include attribs.h.
1619 * cilk.c: Include stringpool.h.
1620 Include calls.h.
1621
1622 2013-11-13 Joseph Myers <joseph@codesourcery.com>
1623
1624 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1625 * c-common.c (c_common_reswords): Add __auto_type.
1626 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1627
1628 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
1629
1630 * c-common.c: Include gimplify.h.
1631 * c-gimplify.c: Likewise.
1632 * cilk.c: Likewise.
1633 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1634 * c-ubsan.c: Don't include gimple.h.
1635
1636 2013-11-12 Joseph Myers <joseph@codesourcery.com>
1637
1638 * c-common.c (c_common_reswords): Add _Thread_local.
1639
1640 2013-11-09 Joseph Myers <joseph@codesourcery.com>
1641
1642 * c-common.c (atomic_size_supported_p): New function.
1643 (resolve_overloaded_atomic_exchange)
1644 (resolve_overloaded_atomic_compare_exchange)
1645 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1646 Use it instead of comparing size with a local list of sizes.
1647
1648 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
1649 Joseph Myers <joseph@codesourcery.com>
1650
1651 * c-common.h (enum rid): Add RID_ATOMIC.
1652 * c-common.c (c_common_reswords): Add _Atomic.
1653 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1654 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1655 * c-format.c (check_format_types): Check for extra _Atomic
1656 qualifiers in format argument.
1657 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1658 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1659
1660 2013-11-06 Tobias Burnus <burnus@net-b.de>
1661
1662 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1663
1664 2013-11-06 Joseph Myers <joseph@codesourcery.com>
1665
1666 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
1667 standards modes.
1668 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
1669 to mean lack of IEEE 754 support.
1670
1671 2013-11-05 Tobias Burnus <burnus@net-b.de>
1672
1673 * c.opt (-Wdate-time): New option
1674 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
1675
1676 2013-11-05 Joseph Myers <joseph@codesourcery.com>
1677
1678 * c-cppbuiltin.c (cpp_iec_559_value): Test
1679 flag_excess_precision_cmdline not flag_excess_precision.
1680
1681 2013-11-05 Tobias Burnus <burnus@net-b.de>
1682
1683 * c.opt (fopenmp-simd): New option.
1684 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
1685 (omp_pragmas): ... this new struct.
1686 (c_pp_lookup_pragma): Also walk omp_pragmas.
1687 (init_pragma): Init pragmas for -fopenmp-simd.
1688
1689 2013-11-04 Marek Polacek <polacek@redhat.com>
1690
1691 PR c++/58979
1692 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
1693
1694 2013-11-04 Joseph Myers <joseph@codesourcery.com>
1695
1696 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
1697 New functions.
1698 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
1699
1700 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
1701
1702 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
1703 (dump_ada_specs): Adjust prototype of second callback.
1704 * c-ada-spec.c (cpp_check): New global variable.
1705 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
1706 (print_generic_ada_decl): Likewise.
1707 (has_static_fields): Change return type to bool and add guard.
1708 (has_nontrivial_methods): New predicate.
1709 (is_tagged_type): Change return type to bool.
1710 (separate_class_package): Call has_nontrivial_methods.
1711 (pp_ada_tree_identifier): Minor tweaks.
1712 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
1713 (dump_ada_array_domains): Likewise.
1714 (dump_ada_array_type): Likewise.
1715 (dump_template_types): Remove cpp_check parameter and do not pass it to
1716 dump_generic_ada_node.
1717 (dump_ada_template): Likewise.
1718 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
1719 recursively.
1720 (print_ada_methods): Change return type to integer. Remove cpp_check
1721 parameter and do not pass it down.
1722 (dump_nested_types): Remove cpp_check parameter and do not pass it to
1723 dump_generic_ada_node.
1724 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
1725 accessing methods.
1726 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
1727 down. Use has_nontrivial_methods to recognize C++ classes. Use return
1728 value of print_ada_methods.
1729 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
1730 Set cpp_check to it before invoking dump_ada_nodes.
1731 (dump_ada_specs): Likewise.
1732
1733 2013-11-03 Marek Polacek <polacek@redhat.com>
1734
1735 * c-ubsan.c: Don't include hash-table.h.
1736 (ubsan_instrument_vla): New function.
1737 * c-ubsan.h: Declare it.
1738
1739 2013-10-31 David Malcolm <dmalcolm@redhat.com>
1740
1741 Automated part of renaming of symtab_node_base to symtab_node.
1742
1743 Patch autogenerated by rename_symtab.py from
1744 https://github.com/davidmalcolm/gcc-refactoring-scripts
1745 revision 58bb219cc090b2f4516a9297d868c245495ee622
1746
1747 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
1748 symtab_node_base to symtab_node.
1749
1750 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
1751
1752 Implement C++14 digit separators.
1753 * c-lex.c (interpret_float): Remove digit separators from scratch string
1754 before building real literal.
1755
1756 2013-10-30 Jakub Jelinek <jakub@redhat.com>
1757
1758 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
1759
1760 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
1761
1762 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
1763 fields.
1764 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
1765 enabled.
1766 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
1767 (insert_cilk_frame): New prototype.
1768 (cilk_init_builtins): Likewise.
1769 (gimplify_cilk_spawn): Likewise.
1770 (c_cilk_install_body_w_frame_cleanup): Likewise.
1771 (cilk_detect_spawn_and_unwrap): Likewise.
1772 (cilk_set_spawn_marker): Likewise.
1773 (build_cilk_sync): Likewise.
1774 (build_cilk_spawn): Likewise.
1775 * cilk.c: New file.
1776
1777 2013-10-29 David Malcolm <dmalcolm@redhat.com>
1778
1779 Patch autogenerated by refactor_symtab.py from
1780 https://github.com/davidmalcolm/gcc-refactoring-scripts
1781 revision 58bb219cc090b2f4516a9297d868c245495ee622
1782
1783 * c-gimplify.c (c_genericize): Update for conversion of symtab types
1784 to a true class hierarchy.
1785 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
1786
1787 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
1788
1789 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
1790
1791 2013-10-26 Jeff Law <law@redhat.com>
1792
1793 * c-common.c (c_define_builtins): Remove mudflap support.
1794 * c.opt: Ignore and warn for mudflap options.
1795
1796 2013-10-24 Tobias Burnus <burnus@net-b.de>
1797
1798 PR other/33426
1799 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
1800 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
1801
1802 2013-10-23 Jason Merrill <jason@redhat.com>
1803
1804 * c-format.c (gcc_cxxdiag_char_table): Add %X.
1805
1806 2013-10-11 Jakub Jelinek <jakub@redhat.com>
1807
1808 * c-common.h (omp_clause_mask::operator !=): New method.
1809 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
1810 instead of if (mask & something) tests everywhere.
1811
1812 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
1813 201307 instead of 201107.
1814 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
1815 (c_common_attribute_table): Add "omp declare target" and
1816 "omp declare simd" attributes.
1817 (handle_omp_declare_target_attribute,
1818 handle_omp_declare_simd_attribute): New functions.
1819 * c-omp.c: Include c-pragma.h.
1820 (c_finish_omp_taskgroup): New function.
1821 (c_finish_omp_atomic): Add swapped argument, if true,
1822 build the operation first with rhs, lhs arguments and use NOP_EXPR
1823 build_modify_expr.
1824 (c_finish_omp_for): Add code argument, pass it down to make_code.
1825 (c_omp_split_clauses): New function.
1826 (c_split_parallel_clauses): Removed.
1827 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
1828 c_omp_declare_simd_clauses_to_decls): New functions.
1829 * c-common.h (omp_clause_mask): New type.
1830 (OMP_CLAUSE_MASK_1): Define.
1831 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
1832 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
1833 omp_clause_mask::operator |, omp_clause_mask::operator &,
1834 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
1835 omp_clause_mask::operator ==): New methods.
1836 (enum c_omp_clause_split): New.
1837 (c_finish_omp_taskgroup): New prototype.
1838 (c_finish_omp_atomic): Add swapped argument.
1839 (c_finish_omp_for): Add code argument.
1840 (c_omp_split_clauses): New prototype.
1841 (c_split_parallel_clauses): Removed.
1842 (c_omp_declare_simd_clauses_to_numbers,
1843 c_omp_declare_simd_clauses_to_decls): New prototypes.
1844 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
1845 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
1846 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
1847 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
1848 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
1849 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
1850 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
1851 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
1852 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
1853 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
1854 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
1855 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
1856 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
1857 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
1858 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
1859 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
1860 PRAGMA_OMP_CLAUSE_UNIFORM.
1861
1862 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
1863
1864 PR tree-optimization/20318
1865 * c-common.c (handle_returns_nonnull_attribute): New function.
1866 (c_common_attribute_table): Add returns_nonnull.
1867
1868 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
1869
1870 PR c++/19476
1871 * c.opt (fcheck-new): Move to common.opt.
1872
1873 2013-09-25 Marek Polacek <polacek@redhat.com>
1874 Jakub Jelinek <jakub@redhat.com>
1875
1876 PR sanitizer/58413
1877 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
1878 an expression if we can prove it is correct.
1879 (ubsan_instrument_division): Likewise. Remove unnecessary
1880 check.
1881
1882 2013-09-18 Marek Polacek <polacek@redhat.com>
1883
1884 PR sanitizer/58411
1885 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
1886 Declare it.
1887 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
1888
1889 2013-09-14 Iain Sandoe <iain@codesourcery.com>
1890
1891 PR target/48094
1892 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
1893 fobjc-gc, freplace-objc-classes): Accept for LTO.
1894
1895 2013-09-13 Jacek Caban <jacek@codeweavers.com>
1896
1897 * c-target.def: New hook
1898
1899 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
1900
1901 PR c++/43452
1902 * c.opt (Wdelete-incomplete): Add.
1903
1904 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
1905
1906 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
1907 (vector_types_compatible_elements_p): New function.
1908 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
1909 declaration.
1910 (vector_types_compatible_elements_p): Declare.
1911
1912 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
1913
1914 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
1915 a virtual member function.
1916 (pp_simple_type_specifier): Remove.
1917 (pp_c_type_specifier): Likewise.
1918 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
1919 Rename from pp_c_type_specifier. Adjust.
1920 (c_pretty_printer::c_pretty_printer): Do not assign to
1921 simple_type_specifier.
1922
1923 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
1924
1925 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
1926 member function.
1927 (c_pretty_printer::storage_class_specifier): Likewise.
1928 (c_pretty_printer::initializer): Likewise.
1929 (pp_declaration): Remove.
1930 (pp_declaration_specifiers): Likewise.
1931 (pp_abstract_declarator): Likewise.
1932 (pp_declarator): Likewise.
1933 (pp_type_id): Likewise.
1934 (pp_statement): Likewise.
1935 (pp_constant): Likewise.
1936 (pp_id_expression): Likewise.
1937 (pp_primary_expression): Likewise.
1938 (pp_unary_expression): Likewise.
1939 (pp_multiplicative_expression): Likewise.
1940 (pp_conditional_expression): Likewise.
1941 (pp_assignment_expression): Likewise.
1942 (pp_expression): Likewise.
1943 (pp_c_type_id): Likewise.
1944 (pp_c_storage_class_specifier): Likewise.
1945 * c-pretty-print.c (pp_c_type_cast): Tidy.
1946 (pp_c_pointer): Likewise.
1947 (pp_c_type_specifier): Likewise.
1948 (pp_c_parameter_type_list): Likewise.
1949 (pp_c_function_definition): Likewise.
1950 (pp_c_init_declarator): Likewise.
1951 (pp_c_initializer_list): Likewise.
1952 (pp_c_constructor_elts): Likewise.
1953 (c_pretty_printer::direct_abstract_declarator): Likewise.
1954 (c_pretty_printer::declaration_specifiers): Likewise.
1955 (c_pretty_printer::primary_expression): Likewise.
1956 (c_pretty_printer::postfix_expression): Likewise.
1957 (c_pretty_printer::type_id): Rename from pp_c_type_id.
1958 (c_pretty_printer::storage_class_specifier): Rename from
1959 pp_c_storage_class_specifier.
1960 (c_pretty_printer::initializer): Rename from pp_c_initializer.
1961 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
1962 storage_class_specifier, initializer, offset_list, flags.
1963
1964 2013-08-30 Marek Polacek <polacek@redhat.com>
1965
1966 * c-ubsan.c: New file.
1967 * c-ubsan.h: New file.
1968
1969 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
1970
1971 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
1972 member function.
1973 (c_pretty_printer::declaration_specifiers): Likewise.
1974 (c_pretty_printer::declarator): Likewise.
1975 (c_pretty_printer::abstract_declarator): Likewise.
1976 (c_pretty_printer::direct_abstract_declarator): Likewise.
1977 (c_pretty_printer::direct_declarator): Likewise.
1978 (c_pretty_printer::function_specifier): Likewise.
1979 (pp_declaration): Adjust.
1980 (pp_declaration_specifiers): Likewise.
1981 (pp_abstract_declarator): Likewise.
1982 (pp_direct_declarator): Likewise.
1983 (pp_function_specifier): Likewise.
1984 (pp_direct_abstract_declarator): Remove as unused.
1985 (pp_c_declaration): Remove.
1986 (pp_c_declaration_specifiers): Likewise.
1987 (pp_c_declarator): Likewise.
1988 (pp_c_direct_declarator): Likewise.
1989 (pp_c_function_specifier): Likewise.
1990 (pp_c_direct_abstract_declarator): Likewise.
1991 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
1992 from pp_c_abstract_declarator. Adjust.
1993 (c_pretty_printer::direct_abstract_declarator): Rename from
1994 pp_c_direct_abstract_declarator. Adjust.
1995 (c_pretty_printer::function_specifier): Rename from
1996 pp_c_function_specifier. Adjust.
1997 (c_pretty_printer::declaration_specifiers): Rename from
1998 pp_c_declaration_specifiers. Adjust.
1999 (c_pretty_printer::direct_declarator): Rename from
2000 pp_c_direct_declarator. Adjust.
2001 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2002 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2003 (c_pretty_printer::c_pretty_printer): Do not assign to
2004 declaration, declaration_specifiers, declarator,
2005 direct_declarator, direct_abstract_declarator, function_specifier.
2006
2007 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2008
2009 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2010 virtual member function.
2011 (c_pretty_printer::multiplicative_expression): Likewise.
2012 (c_pretty_printer::conditional_expression): Likewise.
2013 (c_pretty_printer::assignment_expression): Likewise.
2014 (c_pretty_printer::expression): Likewise.
2015 (pp_unary_expression): Adjust.
2016 (pp_multiplicative_expression): Likewise.
2017 (pp_assignment_expression): Likewise.
2018 (pp_conditional_expression): Likewise.
2019 (pp_expression): Likewise.
2020 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2021 from pp_c_unary_expression. Adjust.
2022 (c_pretty_printer::multiplicative_expression): Rename from
2023 pp_c_multiplicative_expression. Adjust.
2024 (c_pretty_printer::conditional_expression): Rename from
2025 pp_c_conditional_expression. Adjust.
2026 (c_pretty_printer::assignment_expression): Rename from
2027 pp_c_assignment_expression. Adjust.
2028 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2029 (c_pretty_printer::c_pretty_printer): Do not assign to
2030 unary_expression, multiplicative_expression,
2031 conditional_expression, expression.
2032
2033 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2034
2035 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2036 virtual member function.
2037 (pp_postfix_expression): Adjust.
2038 (pp_c_postfix_expression): Remove.
2039 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2040 from pp_c_postfix_expression. Adjust.
2041 (c_pretty_printer::c_pretty_printer): Do not assign to
2042 postfix_expression.
2043
2044 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2045
2046 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2047 virtua member function.
2048 (pp_primary_expression): Adjust.
2049 (pp_c_primary_expression): Remove.
2050 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2051 from pp_c_primary_expression. Adjust.
2052 (pp_c_initializer_list): Use pp_primary_expression.
2053 (c_pretty_printer::c_pretty_printer): Do not assign to
2054 primary_expression.
2055
2056 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2057
2058 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2059 * c-pretty-print.c (M_): Remove.
2060 (c_pretty_printer::translate_string): Define.
2061 (pp_c_type_specifier): Use it.
2062 (pp_c_primary_expression): Likewise.
2063 (pp_c_expression): Likewise.
2064
2065 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2066
2067 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2068 virtual function.
2069 (pp_c_id_expression): Remove.
2070 (pp_id_expression): Adjust.
2071 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2072 pp_c_id_expression. Adjust.
2073 (pp_c_postfix_expression): Use pp_id_expression.
2074 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2075
2076 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2077
2078 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2079 member function.
2080 (pp_constant): Adjust.
2081 (pp_c_constant): Remove.
2082 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2083 pp_c_constant. Adjust.
2084 (pp_c_constant)
2085 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2086 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2087
2088 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2089
2090 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2091 (c_pretty_printer::c_pretty_printer): Declare.
2092 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2093 c_pretty_printer_init. Adjust.
2094 (print_c_tree): Do not call c_pretty_printer_init.
2095 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2096
2097 2013-08-09 Arnaud Charlet <charlet@adacore.com>
2098
2099 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2100
2101 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2102
2103 PR c++/58080
2104 * c-common.c (pointer_int_sum): Add bool parameter.
2105 * c-common.h (pointer_int_sum): Adjust declaration.
2106
2107 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2108
2109 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2110 c_pretty_printer variable.
2111
2112 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2113
2114 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2115 (pp_base): Remove.
2116 (pp_c_base): Likewise. Adjust users.
2117 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2118 (pp_c_whitespace): Do not call pp_base.
2119 (pp_c_left_paren): Likewise.
2120 (pp_c_right_paren): Likewise.
2121 (pp_c_left_brace): Likewise.
2122 (pp_c_right_brace): Likewise.
2123 (pp_c_left_bracket): Likewise.
2124 (pp_c_right_bracket): Likewise.
2125 (pp_c_dot): Likewise.
2126 (pp_c_ampersand): Likewise.
2127 (pp_c_star): Likewise.
2128 (pp_c_arrow): Likewise.
2129 (pp_c_semicolon): Likewise.
2130 (pp_c_complement): Likewise.
2131 (pp_c_exclamation): Likewise.
2132 (pp_c_direct_declarator): Likewise.
2133 (pp_c_ws_string): Likewise.
2134 (pp_c_identifier): Likewise.
2135 (pp_c_statement): Likewise.
2136 (print_c_tree): Likewise.
2137
2138 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2139
2140 PR c++/58072
2141 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2142 provide useful error strings.
2143
2144 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2145
2146 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2147 printer functions instead of pp_string or operators and punctuators.
2148 (dump_generic_ada_node): Likewise.
2149 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2150 (pp_c_relational_expression): Likewise.
2151 (pp_c_logical_or_expression): Likewise.
2152
2153 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2154
2155 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2156 functions instead of pp_character.
2157 (pp_ada_tree_identifier): Likewise.
2158 (dump_ada_double_name): Likewise.
2159 (dump_ada_function_declaration): Likewise.
2160 (dump_ada_array_domains): Likewise.
2161 (dump_template_types): Likewise.
2162 (dump_generic_ada_node): Likewise.
2163 (print_ada_declaration): Likewise.
2164 (print_ada_struct_decl): Likewise.
2165 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2166
2167 2013-07-23 Tom Tromey <tromey@redhat.com>
2168
2169 * c-common.h (enum rid) <RID_GENERIC>: New constant.
2170 * c-common.c (c_common_reswords): Add _Generic.
2171
2172 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2173
2174 * c-common.c: Fix typos.
2175 * c-common.h: Likewise.
2176
2177 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
2178
2179 PR c++/55203
2180 * c-common.c (c_common_attribute_table): Add warn_unused.
2181 (handle_warn_unused_attribute): New.
2182
2183 2013-07-10 Jakub Jelinek <jakub@redhat.com>
2184
2185 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
2186 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
2187
2188 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
2189
2190 PR c++/57869
2191 * c.opt: Add Wconditionally-supported.
2192
2193 2013-07-08 Graham Stott <graham.stott@btinternet.com>
2194
2195 * array-notation-common.c (length_mismatch_in_expr_p): Delete
2196 unused variables l_length and l_node.
2197
2198 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
2199
2200 PR c/57821
2201 * c-common.c (complete_array_type): Delay folding first index
2202 like other indices. When folding, check for index overflow.
2203
2204 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
2205
2206 PR c++/57509
2207 * c-common.h (c_build_vec_perm_expr): New complain argument.
2208 * c-common.c (c_build_vec_perm_expr): Likewise.
2209 Use save_expr also in C++.
2210
2211 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2212
2213 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2214 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2215 * c-opts.c (c_common_post_options): Likewise.
2216
2217 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2218
2219 * array-notation-common.c (length_mismatch_in_expr): Changed the
2220 parameter type's from a dynamic array to a vec_tree. Also removed
2221 the size parameters.
2222 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2223 the change above.
2224
2225 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2226
2227 * c-common.h (struct cilkplus_an_parts): New structure.
2228 (struct cilkplus_an_loop_parts): Likewise.
2229 (cilkplus_extract_an_triplets): New prototype.
2230 (fix_sec_implicit_args): Likewise.
2231 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2232 (fix_sec_implicit_args): Likewise.
2233
2234 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2235
2236 * array-notation-common.c (find_inv_trees): Removed an unwanted
2237 typecasting.
2238 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2239 enum rid to enum tree_code.
2240
2241 2013-06-11 Jan Hubicka <jh@suse.cz>
2242
2243 * c-common.c (handle_alias_ifunc_attribute): Do not set
2244 DECL_EXTERNAL for weakref variables.
2245 * c-pragma.c (handle_pragma_weak): Make sure aliases
2246 are not declared as external.
2247
2248 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2249
2250 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2251 function from c/c-array-notation.c.
2252 (is_cilkplus_reduce_builtin): Likewise.
2253 (find_rank): Likewise.
2254 (extract_array_notation_exprs): Likewise.
2255 (replace_array_notations): Likewise.
2256 (find_inv_trees): Likewise.
2257 (replace_inv_trees): Likewise.
2258 (contains_array_notation_expr): Likewise.
2259 (find_correct_array_notation_type): Likewise.
2260 * c-common.h (struct inv_list): Moved this struct from the file
2261 c/c-array-notation.c and added a new field called additional tcodes.
2262 (length_mismatch_in_expr_p): New prototype.
2263 (is_cilkplus_reduce_builtin): Likewise.
2264 (find_rank): Likewise.
2265 (extract_array_notation_exprs): Likewise.
2266 (replace_array_notation): Likewise.
2267 (find_inv_trees): Likewise.
2268 (replace_inv_trees): Likewise.
2269 (find_correct_array_notation_type): Likewise.
2270
2271 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2272
2273 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2274 function array_notation_init_builtins is called.
2275 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2276 * c-common.def (ARRAY_NOTATION_REF): New tree.
2277 * c-common.h (build_array_notation_expr): New function declaration.
2278 (build_array_notation_ref): Likewise.
2279 (extract_sec_implicit_index_arg): New extern declaration.
2280 (is_sec_implicit_index_fn): Likewise.
2281 (ARRAY_NOTATION_CHECK): New define.
2282 (ARRAY_NOTATION_ARRAY): Likewise.
2283 (ARRAY_NOTATION_START): Likewise.
2284 (ARRAY_NOTATION_LENGTH): Likewise.
2285 (ARRAY_NOTATION_STRIDE): Likewise.
2286 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2287 ARRAY_NOTATION_REF.
2288 (pp_c_expression): Likewise.
2289 * c.opt (flag_enable_cilkplus): New flag.
2290 * array-notation-common.c: New file.
2291
2292 2013-05-14 Jakub Jelinek <jakub@redhat.com>
2293
2294 PR c++/57274
2295 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2296
2297 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
2298
2299 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2300 vectors.
2301
2302 2013-05-07 Han Shen <shenhan@google.com>
2303
2304 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2305
2306 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2307
2308 * c-common.c (check_user_alignment): Emit error for negative values.
2309
2310 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2311
2312 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2313
2314 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2315
2316 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2317 __GXX_EXPERIMENTAL_CXX1Y__.
2318
2319 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2320 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2321
2322 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2323 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2324 to simply use OPT_Wpointer_arith.
2325 (c_sizeof_or_alignof_type): Likewise.
2326
2327 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2328
2329 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2330
2331 2013-04-12 Jakub Jelinek <jakub@redhat.com>
2332
2333 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2334 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2335 specifiers.
2336
2337 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2338
2339 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2340
2341 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2342
2343 * c-common.c (pointer_int_sum): Remove dead code.
2344
2345 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2346
2347 PR middle-end/56524
2348 * c-common.c (handle_optimize_attribute): Don't call
2349 save_optabs_if_changed.
2350
2351 2013-03-05 Jakub Jelinek <jakub@redhat.com>
2352
2353 PR middle-end/56461
2354 * c-pch.c (pch_init): Free target_validity at the end.
2355
2356 2013-03-04 Jakub Jelinek <jakub@redhat.com>
2357
2358 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2359
2360 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2361 Jakub Jelinek <jakub@redhat.com>
2362
2363 PR sanitizer/56454
2364 * c-common.c (handle_no_sanitize_address_attribute): New function.
2365 (c_common_attribute_table): Add no_sanitize_address attribute.
2366 (handle_no_address_safety_analysis_attribute): Add
2367 no_sanitize_address attribute, not no_address_safety_analysis
2368 attribute.
2369
2370 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
2371
2372 PR target/52555
2373 * c-common.c (handle_optimize_attribute): Call
2374 save_optabs_if_changed.
2375
2376 2013-02-18 Jakub Jelinek <jakub@redhat.com>
2377 Steven Bosscher <steven@gcc.gnu.org>
2378
2379 PR pch/54117
2380 * c-opts.c (c_common_post_options): If debug info is enabled
2381 and non-dwarf*, refuse to load PCH files and when writing PCH
2382 file warn.
2383
2384 2013-02-05 Jakub Jelinek <jakub@redhat.com>
2385
2386 PR middle-end/56167
2387 * c-common.c (handle_error_attribute): Fix condition.
2388
2389 2013-01-30 Jakub Jelinek <jakub@redhat.com>
2390
2391 PR c++/55742
2392 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2393
2394 2013-01-18 Jason Merrill <jason@redhat.com>
2395
2396 PR target/54908
2397 * c.opt (-fextern-tls-init): New.
2398 * c-opts.c (c_common_post_options): Handle it.
2399
2400 2013-01-09 Jakub Jelinek <jakub@redhat.com>
2401
2402 PR c/48418
2403 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2404 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2405 and is either negative or bigger or equal to type precision
2406 of the first operand.
2407
2408 2012-12-03 Marek Polacek <polacek@redhat.com>
2409
2410 PR c/55570
2411 * c-common.c (check_user_alignment): Swap order of tests,
2412 check TREE_CODE first.
2413
2414 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2415
2416 PR c++/52654
2417 * c-common.h (overflow_type): New enum.
2418 (build_userdef_literal): Add overflow_type argument.
2419 (tree_userdef_literal): Add overflow_type.
2420 (USERDEF_LITERAL_OVERFLOW): New access macro.
2421 * c-common.c (build_userdef_literal): Add overflow_type
2422 argument.
2423 * c-lex.c (c_lex_with_flags): Add overflow_type to
2424 build_userdef_literal calls.
2425 (interpret_integer, interpret_float): Add overflow_type argument.
2426
2427 2012-11-28 Richard Biener <rguenther@suse.de>
2428
2429 PR c/35634
2430 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2431 here and use a type with proper overflow behavior for types that would
2432 need to be promoted for the arithmetic.
2433
2434 2012-11-23 Jakub Jelinek <jakub@redhat.com>
2435
2436 PR sanitizer/55435
2437 * c-common.c (handle_no_address_safety_analysis_attribute): New
2438 function.
2439 (c_common_attribute_table): Add no_address_safety_analysis.
2440
2441 2012-11-16 Simon Baldwin <simonb@google.com>
2442
2443 * c.opt: Add f[no-]canonical-system-headers.
2444 * c-opts.c (c_common_handle_option): Handle
2445 OPT_fcanonical_system_headers.
2446
2447 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2448
2449 PR c++/54413
2450 * c-opts.c (c_common_handle_option): Set new flags.
2451 * c.opt: Describe new flags.
2452
2453 2012-11-09 Jason Merrill <jason@redhat.com>
2454
2455 * c.opt (Wabi-tag): New.
2456
2457 2012-11-09 Andi Kleen <ak@linux.intel.com>
2458
2459 PR 55139
2460 * c-common.c (get_atomic_generic_size): Mask with
2461 MEMMODEL_MASK
2462
2463 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2464
2465 PR c/53063
2466 * c.opt (Wformat): Make it Alias Wformat=1.
2467 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2468 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2469 LangEnabledBy.
2470 (Wformat=): RejectNegative. Use LangEnabledBy.
2471 (Wnonnull): Use LangEnabledBy.
2472 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2473 * c-format.c (set_Wformat): Delete.
2474 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2475 (maybe_read_dollar_number): Likewise.
2476 (avoid_dollar_number): Likewise.
2477 (finish_dollar_format_checking): Likewise.
2478 (check_format_info): Likewise.
2479 (check_format_info_main): Likewise.
2480 (check_format_types): Likewise.
2481 (format_type_warning): Likewise.
2482 * c-common.c (int): Likewise.
2483 (check_function_sentinel): Likewise.
2484 * c-common.h (warn_format,set_Wformat): Do not declare here.
2485
2486 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2487
2488 PR c/53063
2489 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2490 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2491 Use LangEnabledBy.
2492 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2493 common.opt.
2494 (Wvariadic-macros): Init(1).
2495 * c-opts.c (c_common_handle_option): Do not handle them
2496 explicitly.
2497 (c_common_post_options): Likewise.
2498 (sanitize_cpp_opts): warn_unused_macros is now
2499 cpp_warn_unused_macros.
2500 (push_command_line_include): Likewise.
2501 * c-common.c (warn_unknown_pragmas): Do not define.
2502 * c-common.h (warn_unknown_pragmas): Do not declare.
2503
2504 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2505
2506 PR c/51294
2507 * c-common.c (conversion_warning): Handle conditional expressions.
2508
2509 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2510
2511 PR c++/54930
2512 * c.opt (Wreturn_local_addr): Define new option.
2513
2514 2012-10-25 Jason Merrill <jason@redhat.com>
2515
2516 * c.opt (Wvirtual-move-assign): New.
2517
2518 * c.opt (Winherited-variadic-ctor): New.
2519
2520 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
2521
2522 PR c++/54427
2523 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2524
2525 2012-10-23 Joseph Myers <joseph@codesourcery.com>
2526
2527 * c-common.h (pch_cpp_save_state): Declare.
2528 * c-target.def (c_preinclude): New hook.
2529 * c-opts.c (done_preinclude): New.
2530 (push_command_line_include): Handle default preincluded header.
2531 (cb_file_change): Call pch_cpp_save_state when calling
2532 push_command_line_include.
2533 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2534 (pch_cpp_save_state): New.
2535 (pch_init): Call pch_cpp_save_state conditionally, instead of
2536 calling cpp_save_state.
2537
2538 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2539
2540 PR c/53063
2541 PR c/40989
2542 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2543 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2544 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2545 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2546 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2547 * c-opts.c (c_common_handle_option): Remove explicit handling from
2548 here.
2549 (c_common_post_options): Likewise.
2550
2551 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2552
2553 * c-ada-spec.c (LOCATION_COL): Delete.
2554 (compare_location): New function.
2555 (compare_node): Use it.
2556 (compare_comment): Likewise.
2557
2558 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2559
2560 PR c/53063
2561 PR c/40989
2562 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2563 * c-opts.c (c_common_handle_option): Do not set them here. Add
2564 comment.
2565 (c_common_post_options): Likewise.
2566
2567 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2568
2569 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2570 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2571 Remove POINTER_TYPE handling, add large unsigned handling and use
2572 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2573
2574 2012-10-12 Jakub Jelinek <jakub@redhat.com>
2575
2576 PR c/54381
2577 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2578 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2579 locs and array of 3 trees instead of just single loc and single
2580 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2581 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2582 For *cmp* builtins that take two sources strings report warnings
2583 about first and second source, not about destination and source.
2584
2585 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
2586
2587 PR c++/53055
2588 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2589
2590 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2591
2592 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2593 declaring something coming from another file.
2594
2595 2012-10-10 Arnaud Charlet <charlet@adacore.com>
2596
2597 PR ada/54845
2598 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2599
2600 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2601
2602 PR c++/54194
2603 * c-common.c (warn_about_parentheses): Add location_t parameter;
2604 use EXPR_LOC_OR_LOC.
2605 * c-common.h: Update declaration.
2606
2607 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
2608
2609 PR c++/54427
2610 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2611 more operations. Make error messages optional.
2612 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2613 (scalar_to_vector): Declare.
2614
2615 2012-10-08 Jason Merrill <jason@redhat.com>
2616
2617 * c-common.c (c_common_reswords): Add thread_local.
2618
2619 2012-10-08 Dodji Seketeli <dodji@redhat.com>
2620
2621 PR c++/53528 C++11 attribute support
2622 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2623 new functions.
2624 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2625 static function.
2626 (handle_aligned_attribute): In choose strictest alignment
2627 among many. Use new check_cxx_fundamental_alignment_constraints.
2628 (handle_transparent_union_attribute): In c++11 attribute syntax,
2629 don't look through typedefs.
2630
2631 2012-10-04 Arnaud Charlet <charlet@adacore.com>
2632
2633 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2634 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2635 out of dumpfile.h.
2636
2637 2012-09-25 Dehao Chen <dehao@google.com>
2638
2639 PR middle-end/54645
2640 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
2641 map when read in the pch.
2642
2643 2012-09-18 Arnaud Charlet <charlet@adacore.com>
2644
2645 * c-ada-spec.c: Style fixes.
2646
2647 2012-09-18 Thomas Quinot <quinot@adacore.com>
2648
2649 * c.opt (-fada-spec-parent): Define new command line switch.
2650 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2651 is specified, generate binding spec as a child of the specified unit.
2652
2653 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2654 Manuel López-Ibáñez <manu@gcc.gnu.org>
2655
2656 PR c++/53210
2657 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2658
2659 2012-08-23 Arnaud Charlet <charlet@adacore.com>
2660
2661 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2662 for pointers, and add missing Convention C pragma.
2663 (print_ada_struct_decl): Add missing aliased keyword.
2664 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2665
2666 2012-08-17 Jakub Jelinek <jakub@redhat.com>
2667
2668 * c-common.c (sizeof_pointer_memaccess_warning): New function.
2669 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
2670 * c-opts.c (c_common_handle_option): Enable it for -Wall.
2671 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
2672 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
2673
2674 2012-08-10 Richard Guenther <rguenther@suse.de>
2675
2676 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
2677
2678 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
2679
2680 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
2681 instead of separate pp_newline and pp_flush.
2682 (print_c_tree): Likewise.
2683
2684 2012-07-26 Richard Henderson <rth@redhat.com>
2685
2686 * c-common.c (handle_hot_attribute): Allow labels.
2687 (handle_cold_attribute): Likewise.
2688
2689 2012-07-20 Jakub Jelinek <jakub@redhat.com>
2690
2691 PR c++/28656
2692 * c-common.c (check_function_nonnull): Handle multiple nonnull
2693 attributes properly.
2694
2695 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
2696
2697 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
2698 * c-ada-spec.c: Likewise.
2699 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
2700
2701 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
2702
2703 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
2704 Remove code conditional on it.
2705
2706 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
2707
2708 * c-gimplify.c: Do not include basic-block.h.
2709 * c-common.c: Do not include linfuncs.h.
2710
2711 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
2712
2713 * c-common.h: Include tree.h.
2714
2715 2012-07-02 Jason Merrill <jason@redhat.com>
2716
2717 PR c++/53524
2718 * c-common.c (get_priority): Call default_conversion.
2719
2720 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
2721
2722 * c-pch.c (c_common_write_pch): Remove unused variables.
2723
2724 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
2725
2726 * cppspec.c: Moved from gcc/ to here.
2727
2728 2012-06-27 Kai Tietz <ktietz@redhat.com>
2729
2730 PR preprocessor/37215
2731 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
2732
2733 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
2734
2735 * c-common.h (c_common_print_pch_checksum): Remove.
2736 * c-pch.c: Do not include output.h.
2737 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
2738 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
2739 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
2740 (struct c_pch_header): Remove.
2741 (get_ident): Update gpch version.
2742 (pch_init): Do not print executable_checksum to asm_out_file.
2743 Do not fail if there is no asm_out_file to read back from. Set
2744 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
2745 (c_common_write_pch): Verify that nothing was written to asm_out_file
2746 since pch_init was called. Do not write a c_pch_header, and do not
2747 copy from asm_out_file to the PCH.
2748 (c_common_read_pch): Do not read a c_pch_header, and do not restore
2749 the content of asm_out_file from the PCH.
2750 (c_common_print_pch_checksum): Remove.
2751 * c-opts.c (c_common_init): Print out executable_checksum directly.
2752
2753 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2754
2755 * c-target.def (objc_declare_unresolved_class_reference,
2756 objc_declare_class_definition): Add new hooks.
2757
2758 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
2759
2760 * c-lex.c: Do not include output.h.
2761 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
2762 Remove uses of ASM_OUTPUT_IDENT.
2763
2764 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
2765
2766 PR c++/51033
2767 * c-common.h (c_build_vec_perm_expr): Move decl here.
2768 * c-common.c (c_build_vec_perm_expr): Move definition
2769 here.
2770
2771 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
2772
2773 * c.opt (fconserve-space): Turn into a no-op.
2774
2775 2012-06-04 Sterling Augustine <saugustine@google.com>
2776
2777 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
2778 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
2779 both the start and end of the function.
2780
2781 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2782
2783 * c-common.c: Do not include output.h.
2784 * c-pragma.c: Likewise.
2785
2786 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
2787
2788 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
2789 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
2790 (lang_decl_name): Handle namespace decls.
2791
2792 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
2793
2794 * c-ada-spec.c: Do not include output.h.
2795 * c-semantics.c: Likewise.
2796
2797 2012-05-29 Joseph Myers <joseph@codesourcery.com>
2798
2799 * c-common.c: Fix typo.
2800
2801 2012-05-29 Michael Matz <matz@suse.de>
2802
2803 * c-common.h (c_expand_decl): Remove prototype.
2804
2805 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
2806
2807 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
2808 * c-opts.c (c_common_handle_option): Remove code handling
2809 warn_missing_braces.
2810
2811 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
2812
2813 PR c++/25137
2814 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
2815 -Wmissing_braces.
2816
2817 2012-05-22 Dodji Seketeli <dodji@redhat.com>
2818
2819 PR c++/53322
2820 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
2821
2822 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
2823
2824 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
2825 * c-opts.c (c_common_handle_option): Do not handle explicitly
2826 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
2827
2828 2012-05-16 Dodji Seketeli <dodji@redhat.com>
2829
2830 PR preprocessor/7263
2831 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
2832 to cpp_classify_number. For diagnostics, use the precise location
2833 instead of the global input_location.
2834
2835 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
2836
2837 PR c++/11856
2838 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
2839
2840 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
2841
2842 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
2843
2844 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
2845
2846 PR 53063
2847 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
2848 Wreorder): Use LangEnabledBy.
2849 * c-opts.c (c_common_handle_option): Do not enable them
2850 explicitly. Call lang-specific generated functions.
2851 (c_common_post_options): Do not set them here.
2852
2853 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
2854
2855 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
2856 Wmissing-field-initializers,Wmissing-parameter-type,
2857 Wold-style-declaration,Woverride-init): Use EnabledBy.
2858 * c-opts.c (c_common_post_options): Do not set here explicitly.
2859
2860 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2861
2862 PR 53063
2863 * c-opts.c (c_common_handle_option): Use handle_generated_option
2864 to enable sub-options.
2865
2866 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
2867
2868 PR c++/53158
2869 * c-common.c (warnings_for_convert_and_check): Use warning_at.
2870
2871 2012-05-10 Richard Guenther <rguenther@suse.de>
2872
2873 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
2874 adjust commentary about TYPE_IS_SIZETYPE types.
2875
2876 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
2877
2878 PR c++/53261
2879 * c-common.c (warn_logical_operator): Check that argument of
2880 integer_zerop is not NULL.
2881
2882 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
2883
2884 PR c/43772
2885 * c-common.c (warn_logical_operator): Do not warn if either side
2886 is already true or false.
2887
2888 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
2889
2890 PR c/51712
2891 * c-common.c (expr_original_type): New.
2892 (shorten_compare): Do not warn for enumeration types.
2893
2894 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
2895
2896 * c.opt (fpermissive): Add Var(flag_permissive).
2897
2898 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
2899
2900 PR c++/51033
2901 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
2902 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
2903
2904 2012-04-30 Dodji Seketeli <dodji@redhat.com>
2905
2906 Add -Wvarargs option
2907 * c.opt (Wvarargs): Define new option.
2908
2909 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2910
2911 * c-common.c (check_function_arguments): Replace
2912 Wmissing-format-attribute with Wsuggest-attribute=format.
2913
2914 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
2915
2916 * c.opt (Wsuggest-attribute=format): New. Alias of
2917 Wmissing-format-attribute.
2918 * c-format.c (decode_format_type): Replace
2919 Wmissing-format-attribute with Wsuggest-attribute=format.
2920 (check_function_format): Likewise.
2921
2922 2012-04-27 Ollie Wild <aaw@google.com>
2923
2924 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
2925 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
2926 * c.opt: Add Wliteral-suffix.
2927
2928 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2929
2930 PR c/44774
2931 * c.opt (Wpedantic): New.
2932 (pedantic): Alias Wpedantic.
2933 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
2934 (c_common_post_options): Likewise.
2935 (sanitize_cpp_opts): Likewise.
2936 * c-lex.c (interpret_float): Likewise.
2937 * c-format.c (check_format_types): Likewise.
2938 * c-common.c (pointer_int_sum): Likewise.
2939 (c_sizeof_or_alignof_type): Likewise.
2940 (c_add_case_label): Likewise.
2941 (c_do_switch_warnings): Likewise.
2942 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
2943
2944 2012-04-15 Jason Merrill <jason@redhat.com>
2945
2946 PR c++/52818
2947 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
2948 (C_STD_NAME): Distinguish between C++98 and C++11.
2949
2950 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
2951
2952 PR target/52624
2953 * c-common.h (uint16_type_node): Rename into...
2954 (c_uint16_type_node): ...this.
2955 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
2956 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
2957
2958 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
2959
2960 * c-common.c (warn_if_unused_value): Move definition to here.
2961 * c-common.h (warn_if_unused_value): Move declaration to here.
2962
2963 2012-03-23 William Bader <williambader@hotmail.com>
2964
2965 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
2966
2967 2012-03-20 Jason Merrill <jason@redhat.com>
2968
2969 * c-common.h (enum cxx_dialect): Add cxx1y.
2970 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
2971 test.
2972 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2973 * c-opts.c (c_common_post_options): Likewise.
2974 (set_std_cxx1y): New.
2975 (c_common_handle_option): Call it.
2976 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
2977
2978 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
2979
2980 PR c++/14710
2981 * c.opt ([Wuseless-cast]): Add.
2982
2983 2012-03-16 Richard Guenther <rguenther@suse.de>
2984
2985 * c-pretty-print.c (pp_c_initializer_list): Adjust.
2986
2987 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
2988
2989 PR c++/44783
2990 * c.opt (ftemplate-backtrace-limit) Add.
2991
2992 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2993
2994 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
2995 handling.
2996 * c-pragma.c (handle_pragma_extern_prefix): Remove.
2997 (init_pragma): Don't register extern_prefix.
2998
2999 2012-03-12 Richard Guenther <rguenther@suse.de>
3000
3001 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3002 (builtin_type_for_size): Likewise.
3003
3004 2012-02-13 Jakub Jelinek <jakub@redhat.com>
3005
3006 PR c++/52215
3007 * c-common.c (sync_resolve_params): Don't decide whether to convert
3008 or not based on TYPE_SIZE comparison, convert whenever arg_type
3009 is unsigned INTEGER_TYPE.
3010
3011 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3012
3013 PR c/52118
3014 * c.opt ([Wunused-local-typedefs]): Fix description.
3015
3016 2012-01-24 Mike Stump <mikestump@comcast.net>
3017
3018 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3019 exactly.
3020
3021 2012-01-18 Richard Guenther <rguenther@suse.de>
3022
3023 * c-opts.c (c_common_post_options): Reset LTO flags if
3024 we are about to generate a PCH.
3025
3026 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3027
3028 PR c++/51777
3029 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3030 use pp_unsigned_wide_integer.
3031
3032 2012-01-10 Richard Guenther <rguenther@suse.de>
3033
3034 PR middle-end/51806
3035 * c-opts.c (c_common_handle_option): Move -Werror handling
3036 to language independent code.
3037
3038 2012-01-05 Richard Guenther <rguenther@suse.de>
3039
3040 PR middle-end/51764
3041 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3042 from common.opt.
3043
3044 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3045
3046 PR c++/51316
3047 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3048 of array types with an unknown bound.
3049
3050 2011-12-20 Joseph Myers <joseph@codesourcery.com>
3051
3052 * c-common.c (flag_isoc99): Update comment to refer to C11.
3053 (flag_isoc1x): Change to flag_isoc11.
3054 * c-common.h (flag_isoc99): Update comment to refer to C11.
3055 (flag_isoc1x): Change to flag_isoc11.
3056 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3057 C11.
3058 * c-opts.c (set_std_c1x): Change to set_std_c11.
3059 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3060 Call set_std_c11.
3061 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3062 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3063 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3064 standard.
3065 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3066 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3067 (std=gnu1x): Make alias of std=gnu11.
3068
3069 2011-12-19 Jason Merrill <jason@redhat.com>
3070
3071 PR c++/51228
3072 * c-common.c (handle_transparent_union_attribute): Check the first
3073 field if the type is complete.
3074
3075 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3076
3077 PR libstdc++/51365
3078 * c-common.c (RID_IS_FINAL): Add.
3079 * c-common.h (RID_IS_FINAL): Add.
3080
3081 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3082
3083 * c.opt (fgnu-runtime): Provide full description.
3084 (fnext-runtime): Likewise.
3085 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3086
3087 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
3088
3089 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3090 predefines in one place. Add LOCK_FREE predefines.
3091 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3092 new func.
3093
3094 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
3095
3096 PR c/51256
3097 * c-common.c (get_atomic_generic_size): Check for various error
3098 conditions
3099 (resolve_overloaded_atomic_exchange,
3100 resolve_overloaded_atomic_compare_exchange,
3101 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3102 error_mark_node for error conditions.
3103
3104 2011-11-08 Richard Guenther <rguenther@suse.de>
3105
3106 PR middle-end/51010
3107 c-family/
3108
3109 2011-11-07 Richard Henderson <rth@redhat.com>
3110 Aldy Hernandez <aldyh@redhat.com>
3111 Torvald Riegel <triegel@redhat.com>
3112
3113 Merged from transactional-memory.
3114
3115 * c-common.c (handle_tm_wrap_attribute,
3116 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3117 (struct c_common_reswords): Added __transaction* keywords.
3118 (struct c_common_attribute_table): Added transaction* and tm_regparm
3119 attributes.
3120 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3121 masks.
3122 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3123 find_tm_attribute): Declare.
3124
3125 2011-11-07 Jason Merrill <jason@redhat.com>
3126
3127 PR c++/35688
3128 * c-common.c, c-common.h: Revert yesterday's changes.
3129
3130 2011-11-06 Jason Merrill <jason@redhat.com>
3131
3132 PR c++/35688
3133 * c-common.c (decl_has_visibility_attr): Split out from...
3134 (c_determine_visibility): ...here.
3135 * c-common.h: Declare it.
3136
3137 2011-11-06 Joseph Myers <joseph@codesourcery.com>
3138
3139 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3140 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3141 type.
3142 (check_user_alignment): New. Split out of
3143 handle_aligned_attribute. Disallow integer constants with
3144 noninteger types. Conditionally allow zero.
3145 (handle_aligned_attribute): Use check_user_alignment.
3146 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3147
3148 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
3149 Richard Henderson <rth@redhat.com>
3150
3151 Merged from cxx-mem-model.
3152
3153 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
3154 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
3155 parameters that are the same type size.
3156 (get_atomic_generic_size): New. Find size of generic
3157 atomic function parameters and do typechecking.
3158 (add_atomic_size_parameter): New. Insert size into parameter list.
3159 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3160 either __atomic_exchange_n or external library call.
3161 (resolve_overloaded_atomic_compare_exchange): Restructure
3162 __atomic_compare_exchange to either _n variant or external library call.
3163 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
3164 __atomic_load_n or an external library call.
3165 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
3166 __atomic_store_n or an external library call.
3167 (resolve_overloaded_builtin): Handle new __atomic builtins.
3168
3169 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
3170
3171 PR c++/50608
3172 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
3173 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
3174 <INDIRECT_REF>: Return the argument.
3175 <ARRAY_REF>: Remove special code for negative offset.
3176 Call fold_build_pointer_plus instead of size_binop.
3177 (fold_offsetof): Remove STOP_REF argument and adjust.
3178 * c-common.h (fold_offsetof_1): Declare.
3179 (fold_offsetof): Remove STOP_REF argument.
3180
3181 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
3182
3183 PR c++/50810
3184 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3185 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3186 Wnarrowing for C++0x and C++98.
3187 * c.opt ([Wnarrowing]): Update.
3188
3189 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
3190
3191 PR c++/44277
3192 * c.opt: Add Wzero-as-null-pointer-constant.
3193
3194 2011-10-31 Jason Merrill <jason@redhat.com>
3195
3196 * c.opt (-fdeduce-init-list): Off by default.
3197
3198 PR c++/50920
3199 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
3200 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
3201 and -Wc++11-compat.
3202 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3203
3204 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3205
3206 PR c++/30066
3207 * c.opt (fvisibility-inlines-hidden): Description change.
3208
3209 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3210
3211 Implement C++11 user-defined literals.
3212 * c-common.c (build_userdef_literal): New.
3213 * c-common.def: New tree code.
3214 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3215 * c-lex.c (interpret_float): Add suffix parm.
3216 (c_lex_with_flags): Build literal tokens.
3217
3218 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3219
3220 PR c++/50841
3221 Revert:
3222 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3223
3224 PR c++/50810
3225 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3226 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3227 Wnarrowing for C++0x and C++98.
3228 * c.opt ([Wnarrowing]): Update.
3229
3230 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3231
3232 PR c++/50810
3233 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3234 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3235 Wnarrowing for C++0x and C++98.
3236 * c.opt ([Wnarrowing]): Update.
3237
3238 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3239
3240 PR c++/45385
3241 * c-common.c (conversion_warning): Remove code looking for
3242 artificial operands.
3243
3244 2011-10-18 Dodji Seketeli <dodji@redhat.com>
3245
3246 PR bootstrap/50760
3247 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
3248 !NO_IMPLICIT_EXTERN_C.
3249
3250 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
3251
3252 * c-common.c (c_common_reswords): Add __bases,
3253 __direct_bases.
3254 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3255
3256 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3257
3258 PR c++/50757
3259 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3260
3261 2011-10-15 Tom Tromey <tromey@redhat.com>
3262 Dodji Seketeli <dodji@redhat.com>
3263
3264 * c.opt (fdebug-cpp): New option.
3265 * c-opts.c (c_common_handle_option): Handle the option.
3266 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3267 output stream in parameter. Factorized from ...
3268 (maybe_print_line): ... this. Dump location debug information when
3269 -fdebug-cpp is in effect.
3270 (print_line_1): New static function. Takes an output stream in
3271 parameter. Factorized from ...
3272 (print_line): ... here. Dump location information when -fdebug-cpp
3273 is in effect.
3274 (scan_translation_unit): Dump location information when
3275 -fdebug-cpp is in effect.
3276
3277 2011-10-15 Tom Tromey <tromey@redhat.com>
3278 Dodji Seketeli <dodji@redhat.com>
3279
3280 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3281 without argument.
3282 * c-opts.c (c_common_handle_option)<case
3283 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3284 cases. Handle -ftrack-macro-expansion with and without argument.
3285
3286 2011-10-15 Tom Tromey <tromey@redhat.com>
3287 Dodji Seketeli <dodji@redhat.com>
3288
3289 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3290 (print_line, cb_define, do_line_change): Adjust to avoid touching
3291 the internals of struct line_map. Use the public API instead.
3292 * c-pch.c (c_common_read_pch): Likewise.
3293 * c-lex.c (fe_file_change): Likewise.
3294
3295 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3296
3297 PR c++/17212
3298 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3299
3300 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3301
3302 PR c++/33067
3303 * c-pretty-print.c (pp_c_floating_constant): Output
3304 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3305
3306 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3307
3308 * c-common.c (def_builtin_1): Delete old interface with two
3309 parallel arrays to hold standard builtin declarations, and replace
3310 it with a function based interface that can support creating
3311 builtins on the fly in the future. Change all uses, and poison
3312 the old names. Make sure 0 is not a legitimate builtin index.
3313 * c-omp.c (c_finish_omp_barrier): Ditto.
3314 (c_finish_omp_taskwait): Ditto.
3315 (c_finish_omp_flush): Ditto.
3316
3317 2011-10-11 Tristan Gingold <gingold@adacore.com>
3318
3319 * c.opt: (fallow-parameterless-variadic-functions): New.
3320
3321 2011-09-08 Dodji Seketeli <dodji@redhat.com>
3322
3323 PR c++/33255 - Support -Wunused-local-typedefs warning
3324 * c-common.h (struct c_language_function::local_typedefs): New
3325 field.
3326 (record_locally_defined_typedef, maybe_record_typedef_use)
3327 (maybe_warn_unused_local_typedefs): Declare new functions.
3328 * c-common.c (record_locally_defined_typedef)
3329 (maybe_record_typedef_use)
3330 (maybe_warn_unused_local_typedefs): Define new functions.
3331 * c.opt: Declare new -Wunused-local-typedefs flag.
3332
3333 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3334
3335 PR middle-end/50266
3336 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3337 computations.
3338
3339 2011-09-05 Richard Guenther <rguenther@suse.de>
3340
3341 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3342 of integer_minus_one_node for empty array upper bounds.
3343
3344 2011-08-28 Dodji Seketeli <dodji@redhat.com>
3345
3346 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3347 it's the first time it's being called on this main TU.
3348
3349 2011-08-24 Richard Guenther <rguenther@suse.de>
3350
3351 PR c/49396
3352 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3353
3354 2011-08-22 Gabriel Charette <gchare@google.com>
3355
3356 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3357 defined in cpp_init_builtins and c_cpp_builtins.
3358
3359 2011-08-19 Joseph Myers <joseph@codesourcery.com>
3360
3361 * c-common.c (c_common_reswords): Add __builtin_complex.
3362 * c-common.h (RID_BUILTIN_COMPLEX): New.
3363
3364 2011-08-18 Joseph Myers <joseph@codesourcery.com>
3365
3366 * c-common.c (c_common_reswords): Add _Noreturn.
3367 (keyword_is_function_specifier): Handle RID_NORETURN.
3368 * c-common.h (RID_NORETURN): New.
3369
3370 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3371
3372 * c-common.c (unsafe_conversion_p): New function. Check if it is
3373 unsafe to convert an expression to the type.
3374 (conversion_warning): Adjust, use unsafe_conversion_p.
3375 * c-common.h (unsafe_conversion_p): New function declaration.
3376
3377 2011-08-02 Jakub Jelinek <jakub@redhat.com>
3378
3379 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3380 (c_finish_omp_taskyield): New prototype.
3381 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3382 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3383 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3384 or RHS1 have side-effects, evaluate those too in the right spot,
3385 if it is a decl and LHS is also a decl, error out if they
3386 aren't the same.
3387 (c_finish_omp_taskyield): New function.
3388 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3389 * c-pragma.c (omp_pragmas): Add taskyield.
3390 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3391 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3392 PRAGMA_OMP_CLAUSE_MERGEABLE.
3393
3394 2011-07-25 Dodji Seketeli <dodji@redhat.com>
3395
3396 * c-common.h (set_underlying_type): Remove parm name from
3397 declaration.
3398
3399 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
3400
3401 * c-pretty-print.h: Search c-common.h in c-family.
3402
3403 2011-07-22 Jason Merrill <jason@redhat.com>
3404
3405 PR c++/49793
3406 * c.opt (Wnarrowing): New.
3407
3408 PR c++/30112
3409 * c-common.h: Declare c_linkage_bindings.
3410 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3411
3412 PR c++/49813
3413 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3414 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3415 as flag_isoc99 for 'restrict'.
3416 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3417
3418 2011-07-21 Ian Lance Taylor <iant@google.com>
3419
3420 PR middle-end/49705
3421 * c-common.c (c_disable_warnings): New static function.
3422 (c_enable_warnings): New static function.
3423 (c_fully_fold_internal): Change local unused_p to bool. Call
3424 c_disable_warnings and c_enable_warnings rather than change
3425 c_inhibit_evaluation_warnings.
3426
3427 2011-07-20 Jason Merrill <jason@redhat.com>
3428
3429 PR c++/6709 (DR 743)
3430 PR c++/42603 (DR 950)
3431 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3432 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3433 (CPP_DECLTYPE): New.
3434 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3435
3436 2011-07-19 Richard Guenther <rguenther@suse.de>
3437
3438 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3439 * c-omp.c (c_finish_omp_for): Likewise.
3440
3441 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3442
3443 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3444 body on the next line.
3445
3446 2011-07-08 Jason Merrill <jason@redhat.com>
3447
3448 PR c++/45437
3449 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3450
3451 PR c++/49673
3452 * c-common.c (c_apply_type_quals_to_decl): Don't check
3453 TYPE_NEEDS_CONSTRUCTING.
3454
3455 2011-07-06 Richard Guenther <rguenther@suse.de>
3456
3457 * c-common.c (c_common_nodes_and_builtins):
3458 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3459
3460 2011-07-05 Richard Guenther <rguenther@suse.de>
3461
3462 * c-common.c (c_common_nodes_and_builtins): Build all common
3463 tree nodes first.
3464
3465 2011-06-27 Jakub Jelinek <jakub@redhat.com>
3466
3467 * c-common.h (c_tree_chain_next): New static inline function.
3468
3469 * c-common.c (check_builtin_function_arguments): Handle
3470 BUILT_IN_ASSUME_ALIGNED.
3471
3472 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
3473
3474 * c-common.c: Add sync_ or SYNC__ to builtin names.
3475 * c-omp.c: Add sync_ or SYNC__ to builtin names.
3476
3477 2011-06-20 Pierre Vittet <piervit@pvittet.com>
3478
3479 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3480 handler.
3481 (gen_pragma_handler): New union.
3482 (internal_pragma_handler): New type.
3483 (c_register_pragma_with_data)
3484 (c_register_pragma_with_expansion_and_data): New functions.
3485
3486 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3487 (c_register_pragma, c_register_pragma_with_expansion)
3488 (c_invoke_pragma_handler): Changed to work with
3489 internal_pragma_handler.
3490 (c_register_pragma_with_data)
3491 (c_register_pragma_with_expansion_and_data): New functions.
3492
3493 2011-06-14 Joseph Myers <joseph@codesourcery.com>
3494
3495 * c-common.c: Include common/common-target.h.
3496 (handle_section_attribute): Use
3497 targetm_common.have_named_sections.
3498 * c-cppbuiltin.c: Include common/common-target.h.
3499 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3500
3501 2011-06-10 Richard Guenther <rguenther@suse.de>
3502
3503 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3504 to print a IDENTIFIER_NODE.
3505
3506 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3507 Joseph Myers <joseph@codesourcery.com>
3508
3509 * c.opt (fbuilding-libgcc): New option.
3510 * c-cppbuiltin.c (c_cpp_builtins): Define
3511 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3512
3513 2011-06-07 Jason Merrill <jason@redhat.com>
3514
3515 * c-common.c (max_tinst_depth): Lower default to 900.
3516
3517 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3518
3519 2011-06-07 Richard Guenther <rguenther@suse.de>
3520
3521 * c-common.c (c_common_nodes_and_builtins): Do not set
3522 size_type_node or call set_sizetype.
3523
3524 2011-06-07 Dodji Seketeli <dodji@redhat.com>
3525
3526 PR debug/49130
3527 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
3528 type when using pointer comparison to compare types.
3529
3530 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3531
3532 * c.opt: Add -Wdelete-non-virtual-dtor.
3533 * c-opts.c (c_common_handle_option): Include it in -Wall.
3534
3535 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3536
3537 PR bootstrap/49190
3538
3539 Revert:
3540 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3541
3542 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3543 not tree_common.
3544
3545 2011-05-27 Jakub Jelinek <jakub@redhat.com>
3546
3547 PR c++/49165
3548 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3549 C++ don't call c_common_truthvalue_conversion on void type arms.
3550
3551 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3552
3553 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3554 (stmt_list_stack): Define.
3555 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3556 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3557
3558 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3559
3560 * c-common.c (warning_candidate_p): Check for BLOCKs.
3561
3562 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3563
3564 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3565 not tree_common.
3566
3567 2011-05-25 Jakub Jelinek <jakub@redhat.com>
3568
3569 * c-common.c (def_fn_type): Remove extra va_end.
3570
3571 2011-05-23 Jason Merrill <jason@redhat.com>
3572
3573 PR c++/48106
3574 * c-common.c (c_common_get_narrower): New.
3575 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3576
3577 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3578
3579 * c-common.h (check_function_arguments): Tweak prototype of
3580 check_function_arguments.
3581 * c-common.c (check_function_arguments): Likewise. Adjust
3582 calls to check_function_nonnull, check_function_format, and
3583 check_function_sentinel.
3584 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3585 separate attributes and typelist arguments. Use
3586 FOREACH_FUNCTION_ARGS to iterate over argument types.
3587
3588 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3589
3590 * c-common.c (c_common_reswords): Reorder.
3591 * c-common.h (rid): Likewise.
3592
3593 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3594
3595 * c-common.c (def_fn_type): Don't call build_function_type, call
3596 build_function_type_array or build_varargs_function_type_array
3597 instead.
3598 (c_common_nodes_and_builtins): Likewise.
3599
3600 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3601
3602 * c-common.c (c_add_case_label): Omit the loc argument to
3603 build_case_label.
3604 * c-common.h (build_case_label): Remove.
3605 * c-semantics.c (build_case_label): Remove.
3606
3607 2011-05-05 Joseph Myers <joseph@codesourcery.com>
3608
3609 * c-objc.h (objc_start_method_definition): Update prototype.
3610 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3611
3612 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3613
3614 * c-common.c (check_main_parameter_types): Reindent. Don't use
3615 TYPE_ARG_TYPES directly.
3616 (handle_nonnull_attribute): Likewise.
3617 (sync_resolve_params): Likewise.
3618 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3619 to check_format_string.
3620 (handle_format_attribute): Likewise.
3621 (check_format_string): Take a function type to examine instead of
3622 a type list. Use a function_arg_iterator to step through argument
3623 types.
3624
3625 2011-05-04 Richard Guenther <rguenther@suse.de>
3626
3627 * c-common.c (fix_string_type): Use size_int for index type bounds.
3628 (start_fname_decls): Do not pass NULL to build_int_cst.
3629 (c_init_attributes): Likewise.
3630 * c-lex.c (c_lex_with_flags): Likewise.
3631
3632 2011-04-27 Jason Merrill <jason@redhat.com>
3633
3634 * c-common.c (make_tree_vector_from_list): New.
3635 * c-common.h: Declare it.
3636
3637 2011-04-26 Richard Guenther <rguenther@suse.de>
3638
3639 PR preprocessor/48248
3640 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3641 for output size with -P.
3642
3643 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3644
3645 * c-common.c (struct c_common_resword): Add __underlying_type.
3646 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3647
3648 2011-04-20 Jim Meyering <meyering@redhat.com>
3649
3650 * c-format.c (init_dollar_format_checking): Remove useless
3651 if-before-free.
3652
3653 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3654
3655 * c-objc.h (objc_get_interface_ivars): Removed.
3656 (objc_detect_field_duplicates): New.
3657 * stub-objc.c: Likewise.
3658
3659 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3660
3661 * stub-objc.c (objc_declare_protocols): Renamed to
3662 objc_declare_protocol.
3663 * c-objc.h: Likewise.
3664
3665 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3666
3667 * stub-objc.c (objc_declare_class): Updated argument name.
3668
3669 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
3670
3671 * c-common.h (c_common_init_ts): Declare.
3672 * c-common.c (c_common_init_ts): Define.
3673
3674 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
3675
3676 * c-objc.h (objc_build_message_expr): Updated prototype.
3677 * stub-objc.c (objc_build_message_expr): Likewise.
3678
3679 2011-04-12 Martin Jambor <mjambor@suse.cz>
3680
3681 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
3682 of cgraph_node.
3683
3684 2011-04-11 Richard Guenther <rguenther@suse.de>
3685
3686 * c-common.c (complete_array_type): Build a range type of
3687 proper type.
3688
3689 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
3690
3691 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
3692 (handle_type_generic_attribute): Likewise.
3693
3694 2011-04-07 Jason Merrill <jason@redhat.com>
3695
3696 PR c++/48450
3697 * c-common.c (c_common_truthvalue_conversion): Don't ignore
3698 conversion from C++0x scoped enum.
3699
3700 2011-04-06 Joseph Myers <joseph@codesourcery.com>
3701
3702 * c-target-def.h: New file.
3703 * c-target.def: New file.
3704 * c-target.h: New file.
3705 * c-common.c (targetcm): Don't define here.
3706 * c-common.h (default_handle_c_option): Declare.
3707 * c-format.c: Include c-target.h instead of target.h.
3708 * c-opts.c: Include c-target.h instead of target.h. Explicitly
3709 include tm.h.
3710 (default_handle_c_option): Move from targhooks.c.
3711
3712 2011-03-29 Jakub Jelinek <jakub@redhat.com>
3713
3714 PR preprocessor/48248
3715 * c-ppoutput.c (print): Add src_file field.
3716 (init_pp_output): Initialize it.
3717 (maybe_print_line): Don't optimize by adding up to 8 newlines
3718 if map->to_file and print.src_file are different file.
3719 (print_line): Update print.src_file.
3720
3721 2011-03-25 Kai Tietz <ktietz@redhat.com>
3722
3723 * c-ada-spec.c (compare_comment): Use filename_cmp
3724 instead of strcmp for filename.
3725
3726 2011-03-25 Jeff Law <law@redhat.com>
3727
3728 * c-common.c (def_fn_type): Add missing va_end.
3729
3730 2011-03-25 Jason Merrill <jason@redhat.com>
3731
3732 * c.opt: Add -std=c++03.
3733
3734 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
3735
3736 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
3737
3738 2011-03-17 Kai Tietz
3739
3740 PR target/12171
3741 * c-pretty-print.c (pp_c_specifier_qualifier_list):
3742 Display allowed attributes for function pointer types.
3743 (pp_c_attributes_display): New function to display
3744 attributes having affects_type_identity flag set to true.
3745 * c-pretty-print.h (pp_c_attributes_display): New prototype.
3746
3747 * c-common.c (c_common_attribute_table):
3748 Add new element.
3749 (c_common_format_attribute_table): Likewise.
3750
3751 2011-03-18 Jason Merrill <jason@redhat.com>
3752
3753 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
3754 * c-common.h: Don't declare it here.
3755 * c-common.c: Or define it here.
3756 * c-opts.c (c_common_handle_option): Or set it here.
3757
3758 PR c++/35315
3759 * c-common.c (handle_transparent_union_attribute): Don't
3760 make a duplicate type in C++.
3761
3762 2011-03-15 Jason Merrill <jason@redhat.com>
3763
3764 * c-common.c (max_constexpr_depth): New.
3765 * c-common.h: Declare it.
3766 * c-opts.c (c_common_handle_option): Set it.
3767 * c.opt (fconstexpr-depth): New option.
3768
3769 2011-03-11 Jason Merrill <jason@redhat.com>
3770
3771 * c-common.c (attribute_takes_identifier_p): Add missing const.
3772
3773 PR c++/46803
3774 * c-common.c (attribute_takes_identifier_p): Assume that an
3775 unknown attribute takes an identifier.
3776
3777 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
3778
3779 PR c/47786
3780 * c-common.c (c_type_hash): Call list_length instead of iterating
3781 through DECL_CHAIN. Rename 'i' to 'n_elements'.
3782
3783 2011-02-19 Jakub Jelinek <jakub@redhat.com>
3784
3785 PR c/47809
3786 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
3787
3788 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
3789
3790 * c.opt (fobjc-abi-version=) New.
3791 (fobjc-nilcheck): New.
3792
3793 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
3794
3795 PR c++/46890
3796 * c-common.h (keyword_is_decl_specifier): Declare.
3797 * c-common.c (keyword_is_decl_specifier): Define.
3798 (keyword_is_function_specifier): New function.
3799
3800 2011-01-26 Jakub Jelinek <jakub@redhat.com>
3801
3802 PR c/47473
3803 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
3804 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
3805 REAL_TYPE.
3806
3807 2011-01-26 Arnaud Charlet <charlet@adacore.com>
3808
3809 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
3810
3811 2011-01-26 Jakub Jelinek <jakub@redhat.com>
3812
3813 PR pch/47430
3814 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
3815 after init_c_lex if pch_file is set.
3816
3817 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
3818
3819 PR c++/43601
3820 * c.opt (-fkeep-inline-dllexport): New switch.
3821
3822 2011-01-12 Richard Guenther <rguenther@suse.de>
3823
3824 PR middle-end/32511
3825 * c-common.c (handle_weak_attribute): Warn instead of error
3826 on declaring an inline function weak.
3827
3828 2011-01-05 Tom Tromey <tromey@redhat.com>
3829
3830 * c-common.h (lvalue_error): Update.
3831 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
3832 not error.
3833
3834 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
3835
3836 PR objc/47075
3837 * c-objc.h (objc_finish_message_expr): Added argument to
3838 prototype.
3839
3840 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
3841
3842 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
3843 Use prototype_p.
3844
3845 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
3846
3847 * c-objc.h (objc_maybe_warn_exceptions): New.
3848 * stub-objc.c (objc_maybe_warn_exceptions): New.
3849
3850 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
3851
3852 * c-common.h (readonly_error): Declare.
3853 * c-common.c (readonly_error): Define.
3854
3855 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
3856
3857 * c-common.h (invalid_indirection_error): Declare.
3858 * c-common.c (invalid_indirection_error): Define.
3859
3860 2010-12-03 Richard Guenther <rguenther@suse.de>
3861
3862 PR c/46745
3863 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
3864 (pp_c_unary_expression): Likewise.
3865 (pp_c_expression): Likewise.
3866
3867 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
3868
3869 * c-common.h (objc_finish_function): New.
3870 (objc_non_volatilized_type): Removed.
3871 (objc_type_quals_match): Removed.
3872 * stub-objc.c (objc_finish_function): New.
3873 (objc_non_volatilized_type): Removed.
3874 (objc_type_quals_match): Removed.
3875
3876 2010-11-30 Joseph Myers <joseph@codesourcery.com>
3877
3878 * c-common.h (parse_optimize_options): Declare.
3879 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
3880 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
3881
3882 2010-11-29 Joseph Myers <joseph@codesourcery.com>
3883
3884 * c-opts.c (check_deps_environment_vars): Use getenv instead of
3885 GET_ENVIRONMENT.
3886 * c-pch.c (O_BINARY): Don't define here.
3887 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
3888
3889 2010-11-25 Joseph Myers <joseph@codesourcery.com>
3890
3891 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
3892 targetm.except_unwind_info.
3893
3894 2010-11-23 Joseph Myers <joseph@codesourcery.com>
3895
3896 * c-opts.c (c_common_handle_option): Pass location to
3897 set_struct_debug_option.
3898
3899 2010-11-23 Joseph Myers <joseph@codesourcery.com>
3900
3901 * c-common.c (visibility_options): Move from ../opts.c.
3902 * c-common.h (struct visibility_flags, visibility_options):
3903 Declare here.
3904 * c-opts.c (finish_options): Rename to c_finish_options.
3905 (c_common_init): Update call to finish_options.
3906
3907 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
3908
3909 PR objc/34033
3910 * c-lex.c (lex_string): Check that each string in an Objective-C
3911 string concat sequence starts with either one or zero '@', and
3912 that there are no spurious '@' signs at the end.
3913
3914 2010-11-20 Joseph Myers <joseph@codesourcery.com>
3915
3916 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
3917 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
3918 HANDLE_PRAGMA_VISIBILITY.
3919 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
3920 HANDLE_PRAGMA_VISIBILITY): Don't define.
3921 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
3922
3923 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
3924
3925 PR c++/16189
3926 PR c++/36888
3927 PR c++/45331
3928 * c-common.h (keyword_begins_type_specifier): Declare.
3929 (keyword_is_storage_class_specifier): Declare.
3930 (keyword_is_type_qualifier): Declare.
3931 * c-common.c (keyword_begins_type_specifier): New function.
3932 (keyword_is_storage_class_specifier): New function.
3933 (keyword_is_type_qualifier): Declare.
3934
3935 2010-11-19 Joseph Myers <joseph@codesourcery.com>
3936
3937 PR c/46547
3938 * c-common.c (in_late_binary_op): Define.
3939 (c_common_truthvalue_conversion): Check in_late_binary_op before
3940 calling c_save_expr.
3941 * c-common.h (in_late_binary_op): Declare.
3942
3943 2010-11-19 Joseph Myers <joseph@codesourcery.com>
3944
3945 * c-opts.c (c_common_handle_option): Update calls to
3946 set_struct_debug_option.
3947
3948 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
3949
3950 * c-common.h (objc_declare_protocols): Added additional argument.
3951 * stub-objc.c (objc_declare_protocol): Same change.
3952
3953 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
3954
3955 PR c/33193
3956 * c-common.h (build_real_imag_expr): Declare.
3957 * c-semantics.c (build_real_imag_expr): Define.
3958
3959 2010-11-17 Joseph Myers <joseph@codesourcery.com>
3960
3961 * c-opts.c (c_common_parse_file): Take no arguments.
3962 * c-common.h (c_common_parse_file): Update prototype.
3963
3964 2010-11-16 Jakub Jelinek <jakub@redhat.com>
3965
3966 PR c++/46401
3967 * c-common.c (warning_candidate_p): Don't track non-const calls
3968 or STRING_CSTs.
3969
3970 2010-11-15 Ian Lance Taylor <iant@google.com>
3971
3972 * c-lex.c (init_c_lex): Set macro debug callbacks if
3973 flag_dump_go_spec is set.
3974
3975 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
3976
3977 * c-common.h (objc_build_incr_expr_for_property_ref): New.
3978 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
3979
3980 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
3981
3982 PR preprocessor/45038
3983 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
3984 dialects.
3985
3986 2010-11-12 Joseph Myers <joseph@codesourcery.com>
3987
3988 * c-common.h (c_family_lang_mask): Declare.
3989 * c-opts.c (c_family_lang_mask): Make extern.
3990 * c-pragma.c (handle_pragma_diagnostic): Use
3991 control_warning_option.
3992
3993 2010-11-12 Joseph Myers <joseph@codesourcery.com>
3994
3995 * c-common.c (parse_optimize_options): Update call to
3996 decode_options.
3997 * c-common.h (c_common_handle_option): Update prototype.
3998 * c-opts.c (c_common_handle_option): Take location_t parameter and
3999 pass it to other functions.
4000
4001 2010-11-11 Joseph Myers <joseph@codesourcery.com>
4002
4003 * c-opts.c (warning_as_error_callback): Remove.
4004 (c_common_initialize_diagnostics): Don't call
4005 register_warning_as_error_callback.
4006 (c_common_handle_option): Handle -Werror=normalized= here.
4007
4008 2010-11-10 Joseph Myers <joseph@codesourcery.com>
4009
4010 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4011 in diagnostic.
4012 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4013 letter.
4014 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4015 Remove trailing '.' from diagnostics.
4016 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4017
4018 2010-11-10 Joseph Myers <joseph@codesourcery.com>
4019
4020 * c-common.c (parse_optimize_options): Pass global_dc to
4021 decode_options.
4022 * c-opts.c (c_common_handle_option): Pass &global_options to
4023 set_Wstrict_aliasing.
4024 * c.opt (v): Don't mark Common or document here.
4025
4026 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4027
4028 PR target/44981
4029 * c-format.c (format_type): New type gcc_objc_string_format_type.
4030 (valid_stringptr_type_p): New.
4031 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
4032 (check_format_string): Pass expected type, use
4033 valid_stringptr_type_p (), check that the format string types are
4034 consistent with the format specification.
4035 (decode_format_attr): Warn if NSString is used outside objective-c.
4036 (format_types_orig): Add NSString.
4037 (format_name): New.
4038 (format_flags): New.
4039 (check_format_arg): Handle format strings requiring an external parser.
4040 first_target_format_type: New variable.
4041 (handle_format_attribute): Set up first_target_format_type, pass the
4042 expected format arg string type to check_format_string().
4043 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4044 * stub-objc.c (objc_string_ref_type_p): New.
4045 (objc_check_format_arg): New.
4046
4047 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4048
4049 Fixed using the Objective-C 2.0 dot-syntax with class names.
4050 * c-common.h (objc_build_class_component_ref): New.
4051 * stub-objc.c (objc_build_class_component_ref): New.
4052
4053 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4054
4055 * c.opt (Wproperty-assign-default): New option.
4056
4057 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4058
4059 Implemented -fobjc-std=objc1 flag.
4060 * c.opt (fobjc-std=objc1): New option.
4061
4062 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4063
4064 Implemented format and noreturn attributes for Objective-C methods.
4065 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4066 attribute for Objective-C methods.
4067
4068 2010-10-31 Jason Merrill <jason@redhat.com>
4069
4070 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4071 EXPR_LOC_OR_HERE.
4072
4073 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4074
4075 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4076 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4077 (objc_add_property_declaration): Removed arguments for copies and
4078 ivar.
4079 (objc_build_getter_call): Renamed to
4080 objc_maybe_build_component_ref.
4081 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4082 (objc_is_property_ref): New.
4083 * c-common.c (c_common_reswords): Removed copies and ivar.
4084 * stub-objc.c (objc_add_property_declaration): Removed arguments
4085 for copies and ivar.
4086 (objc_build_getter_call): Renamed to
4087 objc_maybe_build_component_ref.
4088 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4089 (objc_is_property_ref): New.
4090
4091 2010-10-29 Arnaud Charlet <charlet@adacore.com>
4092 Matthew Gingell <gingell@adacore.com>
4093
4094 * c-ada-spec.c (separate_class_package): New function.
4095 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4096 name of their enclosing package.
4097 (print_ada_declaration): Use separate_class_package.
4098
4099 2010-10-27 Jason Merrill <jason@redhat.com>
4100
4101 * c-common.c (c_common_reswords): Add __is_literal_type.
4102 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4103
4104 * c-common.c (check_case_value): Remove special C++ code.
4105
4106 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4107
4108 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4109 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4110 and RID_LAST_PATTR.
4111 (objc_add_property_declaration): Added additional arguments.
4112 (objc_property_attribute_kind): Removed.
4113 (objc_set_property_attr): Removed.
4114 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4115 copy and nonatomic.
4116 * stub-objc.c (objc_add_property_declaration): Added additional
4117 arguments.
4118 (objc_set_property_attr): Removed.
4119
4120 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4121
4122 * c-common.h (objc_add_property_variable): Renamed to
4123 objc_add_property_declaration. Added location argument.
4124 * stub-objc.c (objc_add_property_variable): Same change.
4125
4126 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4127
4128 * c-common.h (objc_maybe_printable_name): New.
4129 * stub-objc.c (objc_maybe_printable_name): New.
4130
4131 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4132 Andrew Pinski <pinskia@gmail.com>
4133
4134 * c-common.h (c_common_mark_addressable_vec): Declare.
4135 * c-common.c (c_common_mark_addressable_vec): New function.
4136
4137 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4138
4139 * c-common.h (objc_set_method_type): Removed.
4140 (objc_add_method_declaration): Added boolean argument.
4141 (objc_start_method_definition): Same change.
4142 (objc_build_method_signature): Same change.
4143 * stub-objc.c (objc_set_method_type): Removed.
4144 (objc_add_method_declaration): Added boolean argument.
4145 (objc_start_method_definition): Same change.
4146 (objc_build_method_signature): Same change.
4147
4148 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4149
4150 * c-common.h (finish_file): Removed.
4151 (objc_write_global_declarations): New.
4152 * c-opts.c (c_common_parse_file): Do not call finish_file.
4153 * stub-objc.c (objc_write_global_declarations): New.
4154
4155 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4156
4157 Implemented parsing @synthesize and @dynamic for
4158 Objective-C/Objective-C++.
4159 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4160 (objc_add_synthesize_declaration): New.
4161 (objc_add_dynamic_declaration): New.
4162 * c-common.c (c_common_reswords): Add synthesize and dynamic.
4163 * stub-objc.c (objc_add_synthesize_declaration): New.
4164 (objc_add_dynamic_declaration): New.
4165
4166 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4167
4168 PR target/46041
4169 * c-cppbuiltin.c (mode_has_fma): Move function here from
4170 builtins.c. Don't use the fma optab, instead just use the
4171 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
4172 using -save-temps.
4173
4174 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4175
4176 Merge from 'apple/trunk' branch on FSF servers.
4177
4178 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
4179
4180 Radar 4330422
4181 * c-common.h (objc_non_volatilized_type): New declaration
4182 * stub-objc.c (objc_non_volatilized_type): New stub.
4183
4184 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4185
4186 Merge from 'apple/trunk' branch on FSF servers.
4187
4188 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
4189
4190 Radar 4133425
4191 * c-common.h (objc_diagnose_private_ivar): New decl.
4192 * stub-objc.c (objc_diagnose_private_ivar): New stub.
4193
4194 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4195
4196 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
4197 * c-common.h (enum rid): Add RID_AT_PACKAGE.
4198 (objc_ivar_visibility_kind): New enum.
4199 (objc_set_visibility): Adjust prototype to use visibility enum.
4200 * stub-objc.c (objc_set_visibility): Adjust stub to use
4201 visibility enum.
4202
4203 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4204
4205 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4206 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4207 has the appropriate fma builtins.
4208 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4209
4210 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4211
4212 merge from FSF apple 'trunk' branch.
4213 2006 Fariborz Jahanian <fjahanian@apple.com>
4214
4215 Radars 4436866, 4505126, 4506903, 4517826
4216 * c-common.c (c_common_resword): Define @property and its attributes.
4217 * c-common.h: Define property attribute enum entries.
4218 (OBJC_IS_PATTR_KEYWORD): New.
4219 (objc_property_attribute_kind): New enum.
4220 Declare objc_set_property_attr (), objc_add_property_variable (),
4221 objc_build_getter_call () and objc_build_setter_call ().
4222 * stub-objc.c (objc_set_property_attr): New stub.
4223 (objc_add_property_variable): Likewise.
4224 (objc_build_getter_call): Likewise.
4225 (objc_build_setter_call) Likewise.
4226
4227 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4228
4229 merge from FSF apple 'trunk' branch.
4230 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4231
4232 Radar 3803157 (method attributes)
4233 * c-common.c (handle_deprecated_attribute): Recognize
4234 objc methods as valid declarations.
4235 * c-common.h: Declare objc_method_decl ().
4236 * stub-objc.c (objc_method_decl): New stub.
4237
4238 2010-10-08 Joseph Myers <joseph@codesourcery.com>
4239
4240 * c-common.c (parse_optimize_options): Call
4241 decode_cmdline_options_to_array_default_mask before
4242 decode_options. Update arguments to decode_options.
4243 * c-common.h (c_common_init_options_struct): Declare.
4244 * c-opts.c (c_common_init_options_struct): New. Split out from
4245 c_common_init_options.
4246
4247 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4248
4249 Implemented fast enumeration for Objective-C.
4250 * c-common.h (objc_finish_foreach_loop): New.
4251 * stub-objc.c (objc_finish_foreach_loop): New.
4252
4253 2010-10-05 Joseph Myers <joseph@codesourcery.com>
4254
4255 * c-common.h (struct diagnostic_context): Don't declare here.
4256 (c_common_initialize_diagnostics): Declare using
4257 diagnostic_context typedef.
4258 * c-opts.c (c_common_handle_option): Pass global_dc to
4259 handle_generated_option.
4260
4261 2010-10-04 Joseph Myers <joseph@codesourcery.com>
4262
4263 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4264 handle_generated_option.
4265
4266 2010-10-03 Ian Lance Taylor <iant@google.com>
4267
4268 * c.opt (-fplan9-extensions): New option.
4269
4270 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4271
4272 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4273 Remove.
4274 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4275 of duplicating code.
4276
4277 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4278
4279 * c-common.c: Add two new entries for @optional
4280 and @required keywords.
4281
4282 merge from FSF 'apple/trunk' branch.
4283 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4284
4285 Radar 4386773
4286 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4287 objective-c keywords.
4288 (objc_set_method_opt): New declaration.
4289 * stub-objc.c (objc_set_method_opt): New stub.
4290
4291 2010-09-30 Joseph Myers <joseph@codesourcery.com>
4292
4293 * c-common.c (handle_optimize_attribute): Pass &global_options to
4294 cl_optimization_save and cl_optimization_restore.
4295 * c-opts.c (c_common_handle_option): Pass &global_options to
4296 handle_generated_option.
4297 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4298 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4299 &global_options to cl_optimization_restore.
4300
4301 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4302
4303 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4304 Objective-C/Objective-C++ keywords.
4305
4306 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4307
4308 Merge from 'apple/trunk' branch on FSF servers.
4309
4310 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4311
4312 Radar 4281748
4313 * c-common.h (objc_check_global_decl): New declaration.
4314 * stub-objc.c (objc_check_global_decl): New stub.
4315
4316 2010-09-29 Joseph Myers <joseph@codesourcery.com>
4317
4318 * c.opt: Don't use VarExists.
4319
4320 2010-09-29 Joseph Myers <joseph@codesourcery.com>
4321
4322 * c-common.c (c_cpp_error): Update names of diagnostic_context
4323 members.
4324 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4325 cl_optimization members.
4326 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4327 sanitize_cpp_opts, finish_options): Update names of cpp_options
4328 members.
4329
4330 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4331
4332 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4333 (objc_is_reserved_word): Removed.
4334 * c-common.c: Updated comments.
4335 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4336 objc_is_reserved_word.
4337 * stub-objc.c (objc_is_reserved_word): Removed.
4338
4339 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4340
4341 * c-common.h (objc_add_method_declaration): Adjust prototype to
4342 include attributes.
4343 (objc_start_method_definition): Likewise.
4344 (objc_build_keyword_decl): Likewise.
4345 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4346 (objc_start_method_definition): Likewise.
4347 (objc_build_keyword_decl): Likewise.
4348
4349 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4350
4351 * c-common.h (objc_start_class_interface): Adjust prototype.
4352 (objc_start_category_interface): Likewise.
4353 (objc_start_protocol): Likewise.
4354 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4355 (objc_start_class_interface): Likewise.
4356 (objc_start_category_interface): Likewise.
4357
4358 2010-09-27 Ian Lance Taylor <iant@google.com>
4359
4360 * c-common.c (c_common_attribute_table): Add no_split_stack.
4361 (handle_no_split_stack_attribute): New static function.
4362
4363 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4364
4365 Merge from 'apple/trunk' branch on FSF servers.
4366
4367 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4368
4369 Radar 4229905
4370 * c-common.h (objc_have_common_type): New declaration.
4371 * stub-objc.c (objc_have_common_type): New stub.
4372
4373 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4374
4375 Radar 4154928
4376 * c-common.h (objc_common_type): New prototype.
4377 * stub-objc.c (objc_common_type): New stub.
4378
4379 2010-09-24 Jan Hubicka <jh@suse.cz>
4380
4381 * c-common.c (handle_leaf_attribute): New function.
4382 (struct attribute_spec c_common_att): Add leaf.
4383
4384 2010-09-22 Joseph Myers <joseph@codesourcery.com>
4385
4386 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4387 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4388 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4389 -include-barrier, -include-directory, -include-directory=,
4390 -include-directory-after, -include-directory-after=,
4391 -include-prefix, -include-prefix=, -include-with-prefix,
4392 -include-with-prefix=, -include-with-prefix-after,
4393 -include-with-prefix-after=, -include-with-prefix-before,
4394 -include-with-prefix-before=, -no-integrated-cpp,
4395 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4396 -output=, -pedantic, -pedantic-errors, -preprocess,
4397 -print-missing-file-dependencies, -trace-includes, -traditional,
4398 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4399 -user-dependencies, -verbose, -write-dependencies,
4400 -write-user-dependencies, no-integrated-cpp, traditional): New.
4401
4402 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4403
4404 PR objc/23710
4405 * c-common.h (objc_start_method_definition): Return bool instead
4406 of void.
4407 * stub-objc.c (objc_start_method_definition): Return bool instead
4408 of void.
4409
4410 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4411
4412 PR objc/25965
4413 * c-common.h (objc_get_interface_ivars): New declaration.
4414 * stub-objc.c (objc_get_interface_ivars): New stub.
4415
4416 2010-09-15 Ian Lance Taylor <iant@google.com>
4417
4418 * c-common.c (parse_optimize_options): Do not capitalize warning
4419 messages. Remove period at end of warning message.
4420
4421 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4422
4423 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4424 (handle_alias_attribute): ... here.
4425 (handle_ifunc_attribute): New.
4426
4427 2010-09-06 Mark Mitchell <mark@codesourcery.com>
4428
4429 * c-common.h (do_warn_double_promotion): Declare.
4430 * c-common.c (do_warn_double_promotion): Define.
4431
4432 2010-09-05 Mark Mitchell <mark@codesourcery.com>
4433
4434 * c.opt (Wdouble-promotion): New.
4435
4436 2010-09-02 Joseph Myers <joseph@codesourcery.com>
4437
4438 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4439 fvtable-thunks, fxref): Mark no longer supported in help text.
4440
4441 2010-09-02 Joseph Myers <joseph@codesourcery.com>
4442
4443 * c.opt (Wimport, fall-virtual, falt-external-templates,
4444 fdefault-inline, fenum-int-equiv, fexternal-templates,
4445 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4446 fname-mangling-version-, fnew-abi, fnonnull-objects,
4447 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4448 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4449 applicable.
4450 (fhandle-exceptions): Mark with Alias and Warn.
4451 * c-opts.c (c_common_handle_option): Don't handle options marked
4452 as ignored.
4453
4454 2010-09-02 Joseph Myers <joseph@codesourcery.com>
4455
4456 * c.opt (Wcomments, Werror-implicit-function-declaration,
4457 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4458 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4459 aliases.
4460 * c-common.c (option_codes): Use OPT_Wcomment instead of
4461 OPT_Wcomments.
4462 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4463 Don't handle options marked as aliases.
4464
4465 2010-08-25 Richard Guenther <rguenther@suse.de>
4466
4467 * c-common.c (c_common_get_alias_set): Remove special
4468 handling for pointers.
4469
4470 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4471
4472 * c-common.c: Use FOR_EACH_VEC_ELT.
4473 * c-gimplify.c: Likewise.
4474 * c-pragma.c: Likewise.
4475
4476 2010-08-16 Joseph Myers <joseph@codesourcery.com>
4477
4478 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4479 RejectDriver.
4480 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4481 RejectDriver.
4482 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4483 instead of OPT_MDX and OPT_MMDX.
4484
4485 2010-08-16 Joseph Myers <joseph@codesourcery.com>
4486
4487 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4488
4489 2010-08-12 Joseph Myers <joseph@codesourcery.com>
4490
4491 * c.opt (MD, MMD): Change to MDX and MMDX.
4492 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4493
4494 2010-08-11 Joseph Myers <joseph@codesourcery.com>
4495
4496 * c-opts.c (c_common_handle_option): Call handle_generated_option
4497 instead of handle_option.
4498
4499 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4500
4501 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4502 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4503
4504 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4505
4506 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4507 (pending_redefine_extname): Change type to a VEC.
4508 (add_to_renaming_pragma_list): Update for new type of
4509 pending_redefine_extname.
4510 (maybe_apply_renaming_pragma): Likewise.
4511
4512 2010-08-04 Arnaud Charlet <charlet@adacore.com>
4513
4514 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4515 visited.
4516 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4517 decide whether a type has already been declared/seen.
4518 Do not go to the original type.
4519 (dump_nested_types): New parameter forward.
4520 Generate forward declaration if needed and mark type as visited.
4521 (print_ada_declaration): Call dump_nested_types if not already done.
4522 Mark types as visited.
4523
4524 2010-08-03 Joseph Myers <joseph@codesourcery.com>
4525
4526 * c.opt (-print-pch-checksum): Remove option.
4527 * c-opts.c (c_common_handle_option): Don't handle
4528 OPT_print_pch_checksum.
4529
4530 2010-07-27 Joseph Myers <joseph@codesourcery.com>
4531
4532 * c-common.h (c_common_handle_option): Update prototype and return
4533 value type.
4534 * c-opts.c (c_common_handle_option): Update prototype and return
4535 value type. Update calls to handle_option and
4536 enable_warning_as_error.
4537
4538 2010-07-27 Jakub Jelinek <jakub@redhat.com>
4539
4540 PR c/45079
4541 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4542
4543 2010-07-27 Joseph Myers <joseph@codesourcery.com>
4544
4545 * c-common.h (c_common_missing_argument): Remove.
4546 * c-opts.c (c_common_missing_argument): Remove.
4547 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4548 idirafter, imacros, include, isysroot, isystem, iquote): Add
4549 MissingArgError.
4550 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4551
4552 2010-07-27 Joseph Myers <joseph@codesourcery.com>
4553
4554 * c-common.h (c_common_option_lang_mask,
4555 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4556 New.
4557 (c_common_init_options): Update prototype.
4558 * c-opts.c (c_common_option_lang_mask): New.
4559 (c_common_initialize_diagnostics): Split out of
4560 c_common_init_options.
4561 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4562 New.
4563 (c_common_init_options): Update prototype. Use decoded options in
4564 search for -lang-asm.
4565
4566 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4567
4568 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4569 * c-format.c: Likewise.
4570
4571 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4572
4573 * c-common.h: Include diagnostic-core.h. Error if already
4574 included.
4575 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4576
4577 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4578
4579 * c-common.c (IN_GCC_FRONTEND): Do not undef.
4580 Do not include expr.h
4581 (vector_mode_valid_p): Move here.
4582
4583 2010-06-21 DJ Delorie <dj@redhat.com>
4584
4585 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4586 allow these pragmas anywhere.
4587
4588 2010-06-14 Jakub Jelinek <jakub@redhat.com>
4589
4590 PR bootstrap/44509
4591 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4592 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4593 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4594 ggc_strdup instead of xstrdup.
4595
4596 2010-06-10 Jakub Jelinek <jakub@redhat.com>
4597
4598 * c-cppbuiltin.c: Include cpp-id-data.h.
4599 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4600 (lazy_hex_fp_value): New function.
4601 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4602
4603 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4604
4605 * c-gimplify.c: Do not include tree-flow.h
4606
4607 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4608
4609 PR other/44034
4610 * c-common.c: Rename targetm member:
4611 targetm.enum_va_list -> targetm.enum_va_list_p
4612
4613 2010-06-28 Anatoly Sokolov <aesok@post.ru>
4614
4615 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4616
4617 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4618
4619 * c-cppbuiltin.c: Do not include except.h.
4620
4621 2010-06-24 Andi Kleen <ak@linux.intel.com>
4622
4623 * c-common.c (warn_for_omitted_condop): New.
4624 * c-common.h (warn_for_omitted_condop): Add prototype.
4625
4626 2010-06-21 Joseph Myers <joseph@codesourcery.com>
4627
4628 * c.opt (lang-objc): Remove.
4629 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4630
4631 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4632
4633 * c-opts.c: Include "tm_p.h".
4634
4635 2010-06-20 Joseph Myers <joseph@codesourcery.com>
4636
4637 * c-common.c (parse_optimize_options): Update call to
4638 decode_options.
4639
4640 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4641
4642 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4643 new type of types_used_by_cur_var_decl.
4644
4645 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4646
4647 PR bootstrap/44512
4648 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4649 for C++ standard compliance.
4650
4651 2010-06-16 Jason Merrill <jason@redhat.com>
4652
4653 * c.opt: Add -Wnoexcept.
4654
4655 2010-06-16 Richard Guenther <rguenther@suse.de>
4656
4657 PR c/44555
4658 * c-common.c (c_common_truthvalue_conversion): Remove
4659 premature and wrong optimization concering ADDR_EXPRs.
4660
4661 2010-06-15 Arnaud Charlet <charlet@adacore.com>
4662
4663 * c-ada-spec.c (dump_sloc): Remove column info.
4664 (is_simple_enum): New function.
4665 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
4666 enum types when relevant.
4667
4668 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
4669
4670 * c-common.c (conversion_warning): Warn at expression
4671 location.
4672
4673 2010-06-10 Joseph Myers <joseph@codesourcery.com>
4674
4675 * c-opts.c (c_common_handle_option): Don't handle
4676 OPT_fshow_column.
4677
4678 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
4679
4680 * c-pragma.c (push_alignment): Use typed GC allocation.
4681 (handle_pragma_push_options): Likewise.
4682
4683 * c-common.c (parse_optimize_options): Likewise.
4684
4685 * c-common.h (struct sorted_fields_type): Add variable_size GTY
4686 option.
4687
4688 2010-06-07 Joseph Myers <joseph@codesourcery.com>
4689
4690 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
4691 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4692 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4693 flag_signed_bitfields, warn_strict_null_sentinel,
4694 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
4695 flag_gen_declaration, flag_no_gnu_keywords,
4696 flag_implement_inlines, flag_implicit_templates,
4697 flag_implicit_inline_templates, flag_optional_diags,
4698 flag_elide_constructors, flag_default_inline, flag_rtti,
4699 flag_conserve_space, flag_access_control, flag_check_new,
4700 flag_new_for_scope, flag_weak, flag_working_directory,
4701 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
4702 flag_enforce_eh_specs, flag_threadsafe_statics,
4703 flag_pretty_templates): Remove.
4704 * c-common.h (flag_preprocess_only, flag_nil_receivers,
4705 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
4706 flag_replace_objc_classes, flag_undef, flag_no_builtin,
4707 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
4708 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
4709 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
4710 flag_no_gnu_keywords, flag_implement_inlines,
4711 flag_implicit_templates, flag_implicit_inline_templates,
4712 flag_optional_diags, flag_elide_constructors, flag_default_inline,
4713 flag_rtti, flag_conserve_space, flag_access_control,
4714 flag_check_new, flag_new_for_scope, flag_weak,
4715 flag_working_directory, flag_use_cxa_atexit,
4716 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
4717 flag_threadsafe_statics, flag_pretty_templates,
4718 warn_strict_null_sentinel): Remove.
4719 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
4720 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
4721 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
4722 fimplicit-inline-templates, fimplicit-templates,
4723 flax-vector-conversions, fms-extensions, fnil-receivers,
4724 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
4725 frtti, fshort-double, fshort-enums, fshort-wchar,
4726 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
4727 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
4728 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
4729 gen-decls, undef): Use Var.
4730 (fdefault-inline, foptional-diags): Document as doing nothing.
4731 * c-opts.c (c_common_handle_option): Remove cases for options now
4732 using Var. Mark ignored options as such.
4733
4734 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
4735
4736 * c-common.c: Moved to here from parent directory.
4737 * c-common.def: Likewise.
4738 * c-common.h: Likewise.
4739 * c-cppbuiltin.c: Likewise.
4740 * c-dump.c: Likewise.
4741 * c-format.c: Likewise.
4742 * c-format.h : Likewise.
4743 * c-gimplify.c: Likewise.
4744 * c-lex.c: Likewise.
4745 * c-omp.c: Likewise.
4746 * c.opt: Likewise.
4747 * c-opts.c: Likewise.
4748 * c-pch.c: Likewise.
4749 * c-ppoutput.c: Likewise.
4750 * c-pragma.c: Likewise.
4751 * c-pragma.h: Likewise.
4752 * c-pretty-print.c: Likewise.
4753 * c-pretty-print.h: Likewise.
4754 * c-semantics.c: Likewise.
4755 * stub-objc.c: Likewise.
4756
4757 * c-common.c: Include gt-c-family-c-common.h.
4758 * c-pragma.c: Include gt-c-family-c-pragma.h.
4759 \f
4760 Copyright (C) 2010-2015 Free Software Foundation, Inc.
4761
4762 Copying and distribution of this file, with or without modification,
4763 are permitted in any medium without royalty provided the copyright
4764 notice and this notice are preserved.