]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/c-family/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / c-family / ChangeLog
CommitLineData
f2ab3bac 12015-06-17 Andrew MacLeod <amacleod@redhat.com>
2
3 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
4 * c-ada-spec.c: Likewise.
5 * c-cilkplus.c: Likewise.
6 * c-common.c: Likewise.
7 * c-common.h: Likewise.
8 * c-cppbuiltin.c: Likewise.
9 * c-dump.c: Likewise.
10 * c-format.c: Likewise.
11 * c-gimplify.c: Likewise.
12 * c-indentation.c: Likewise.
13 * c-lex.c: Likewise.
14 * c-omp.c: Likewise.
15 * c-opts.c: Likewise.
16 * c-pch.c: Likewise.
17 * c-ppoutput.c: Likewise.
18 * c-pragma.c: Likewise.
19 * c-pretty-print.c: Likewise.
20 * c-semantics.c: Likewise.
21 * c-ubsan.c: Likewise.
22 * cilk.c: Likewise.
23 * stub-objc.c: Likewise.
24
db3d1ffc 252015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
26
27 PR c++/65168
28 * c-common.c (c_common_truthvalue_conversion): Warn when
29 converting an address of a reference to a truth value.
30
64486212 312015-06-08 Andrew MacLeod <amacleod@redhat.com>
32
33 * array-notation-common.c : Adjust include files.
34 * c-ada-spec.c : Likewise.
35 * c-cilkplus.c : Likewise.
36 * c-common.c : Likewise.
37 * c-common.h : Likewise.
38 * c-cppbuiltin.c : Likewise.
39 * c-dump.c : Likewise.
40 * c-format.c : Likewise.
41 * c-gimplify.c : Likewise.
42 * c-indentation.c : Likewise.
43 * c-lex.c : Likewise.
44 * c-omp.c : Likewise.
45 * c-opts.c : Likewise.
46 * c-pch.c : Likewise.
47 * c-ppoutput.c : Likewise.
48 * c-pragma.c : Likewise.
49 * c-pretty-print.c : Likewise.
50 * c-semantics.c : Likewise.
51 * c-ubsan.c : Likewise.
52 * cilk.c : Likewise.
53 * stub-objc.c : Likewise.
54
6e84ccad 552015-06-08 Marek Polacek <polacek@redhat.com>
56
57 PR c/66415
58 * c-format.c (location_from_offset): Return LOC if LINE is null.
59
3a1c9df2 602015-06-05 Aldy Hernandez <aldyh@redhat.com>
61
62 * c-common.h (c_parse_final_cleanups): New prototype.
63 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
64
f77c0292 652015-06-04 Andrew MacLeod <amacleod@redhat.com>
66
67 * array-notation-common.c: Adjust includes for restructured coretypes.h.
68 * c-ada-spec.c: Likewise.
69 * c-cilkplus.c: Likewise.
70 * c-common.c: Likewise.
71 * c-common.h: Likewise.
72 * c-cppbuiltin.c: Likewise.
73 * c-dump.c: Likewise.
74 * c-format.c: Likewise.
75 * c-gimplify.c: Likewise.
76 * c-indentation.c: Likewise.
77 * c-lex.c: Likewise.
78 * c-omp.c: Likewise.
79 * c-opts.c: Likewise.
80 * c-pch.c: Likewise.
81 * c-ppoutput.c: Likewise.
82 * c-pragma.c: Likewise.
83 * c-pretty-print.c: Likewise.
84 * c-semantics.c: Likewise.
85 * c-ubsan.c: Likewise.
86 * cilk.c: Likewise.
87 * stub-objc.c: Likewise.
88
7c62dfbb 892015-06-02 David Malcolm <dmalcolm@redhat.com>
90
91 PR c/66220:
92 * c-indentation.c (should_warn_for_misleading_indentation): Use
93 expand_location rather than expand_location_to_spelling_point.
94 Don't warn if the guarding statement is more indented than the
95 next/body stmts.
96
9af7c176 972015-06-02 David Malcolm <dmalcolm@redhat.com>
98
99 * c-indentation.c (warn_for_misleading_indentation): Bail out
100 immediately if -Wmisleading-indentation isn't enabled.
101
eebcf436 1022015-06-01 Martin Liska <mliska@suse.cz>
103
104 * c-format.c (check_format_arg):Use new type-based pool allocator.
105 (check_format_info_main) Likewise.
106
b0a23e2f 1072015-05-31 Eric Botcazou <ebotcazou@adacore.com>
108
109 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
110 (has_nontrivial_methods): Likewise.
111
63dc1330 1122015-05-25 Marek Polacek <polacek@redhat.com>
113
114 * c-ubsan.c (ubsan_instrument_shift): Use type0.
115
5a4c69dd 1162015-05-22 Marek Polacek <polacek@redhat.com>
117
118 PR c/47043
119 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
120
044580bb 1212015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3764c94e 122
123 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
124 STACK_GROWS_DOWNWARD.
125
044580bb 1262015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2b785411 127
128 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
129 STACK_GROWS_DOWNWARD rather than if it is defined.
130
d5a2ddc7 1312015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
132
133 PR c/52952
134 * c-format.c (location_column_from_byte_offset): New.
135 (location_from_offset): New.
136 (struct format_wanted_type): Add offset_loc field.
137 (check_format_info): Move handling of location for extra arguments
138 closer to the point of warning.
139 (check_format_info_main): Pass the result of location_from_offset
140 to warning_at.
141 (format_type_warning): Pass the result of location_from_offset
142 to warning_at.
143
72f8014e 1442015-05-20 Marek Polacek <polacek@redhat.com>
145
146 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
147
74efe522 1482015-05-20 Marek Polacek <polacek@redhat.com>
149
150 * c-ada-spec.c (dump_sloc): Use DECL_P.
151
b443c459 1522015-05-20 Marek Polacek <polacek@redhat.com>
153
154 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
155 * c-common.c: Likewise.
156
551e34da 1572015-05-19 David Malcolm <dmalcolm@redhat.com>
158
159 * c-common.h (fe_file_change): Strengthen param from
160 const line_map * to const line_map_ordinary *.
161 (pp_file_change): Likewise.
162 * c-lex.c (fe_file_change): Likewise.
163 (cb_define): Use linemap_check_ordinary when invoking
164 SOURCE_LINE.
165 (cb_undef): Likewise.
166 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
167 invoking cb_file_change.
168 (c_finish_options): Likewise.
169 (push_command_line_include): Likewise.
170 (cb_file_change): Strengthen param "new_map" from
171 const line_map * to const line_map_ordinary *.
172 * c-ppoutput.c (cb_define): Likewise for local "map".
173 (pp_file_change): Likewise for param "map" and local "from".
174
dfcf26a5 1752015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
176
177 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
178
2e474820 1792015-05-18 Tom de Vries <tom@codesourcery.com>
180
181 * c-common.c (build_va_arg_1): New function.
182 (build_va_arg): Add address operator to va_list operand if necessary.
183
e53013a8 1842015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
185
186 PR c/48956
187 * c-common.c (int_safely_convertible_to_real_p): Define.
188 (unsafe_conversion_p): Check conversions involving complex types.
189 (conversion_warning): Add new warning message for conversions which
190 discard imaginary component.
191 * c-common.h: (enum conversion_safety): Add new enumerator for such
192 conversions.
193
aac24642 1942015-05-14 Marek Polacek <polacek@redhat.com>
195
196 PR c/66066
197 PR c/66127
198 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
199 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
200 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
201 use it. If FOR_INT_CONST, require that all evaluated operands be
202 INTEGER_CSTs.
203
e5f01cba 2042015-05-12 David Malcolm <dmalcolm@redhat.com>
205
206 * c-common.h (warn_for_misleading_indentation): New prototype.
207 * c-indentation.c: New file.
208 * c.opt (Wmisleading-indentation): New option.
209
c37be9ec 2102015-05-12 Tom de Vries <tom@codesourcery.com>
211
212 PR tree-optimization/66010
213 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
214
7290114b 2152015-05-09 Jason Merrill <jason@redhat.com>
216
3c665566 217 * c-opts.c (c_common_post_options): Also clear
218 cpp_opts->cpp_warn_cxx11_compat.
219
d875b9d2 220 * c-common.h (enum cxx_dialect): Add cxx_unset.
221 * c-common.c (cxx_dialect): Initialize to cxx_unset.
222 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
223
7290114b 224 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
225 (std=gnu++0x): Mark as Undocumented.
226 (std=gnu++1y): Add deprecated message.
227
1b03cc89 2282015-05-08 Jason Merrill <jason@redhat.com>
229
1c5f7aba 230 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
231 * c-opts.c: Adjust.
232
1b03cc89 233 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
234
dc5945dc 2352015-05-08 Marek Polacek <polacek@redhat.com>
236
237 PR c/64918
238 * c.opt (Woverride-init-side-effects): New option.
239
cdc64059 2402015-05-07 Marek Polacek <polacek@redhat.com>
241
242 PR c/65179
243 * c-common.c (c_fully_fold_internal): Warn when left shifting a
244 negative value.
245 * c.opt (Wshift-negative-value): New option.
246 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
247 when -Wextra and C99/C++11 mode.
248
8cafe283 2492015-05-07 Marek Polacek <polacek@redhat.com>
250 Martin Uecker <uecker@eecs.berkeley.edu>
251
252 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
253 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
254
cb40a6f7 2552015-05-05 Jason Merrill <jason@redhat.com>
256
257 * c.opt (Wterminate): New.
258
14744a16 2592015-04-30 Marek Polacek <polacek@redhat.com>
260
261 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
262 require that the non-constant be of a boolean type.
263
9866562d 2642015-04-29 Josh Triplett <josh@joshtriplett.org>
265
8cafe283 266 * c-common.c (handle_section_attribute): Refactor to reduce
267 nesting and distinguish between error cases.
9866562d 268
a720ab1c 2692015-04-29 Marek Polacek <polacek@redhat.com>
270
271 PR c/64610
272 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
273 with 0/1.
274
8c072e52 2752015-04-29 Jakub Jelinek <jakub@redhat.com>
276
277 * c-common.h (omp_clause_mask): Unconditionally define as a class.
278 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
279 HOST_BITS_PER_WIDE_INT.
280
f7fec1c7 2812015-04-28 Tom de Vries <tom@codesourcery.com>
282
283 PR tree-optimization/65887
284 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
285
483b3d26 2862015-04-28 Eric Botcazou <ebotcazou@adacore.com>
8cafe283 287 Pierre-Marie de Rodat <derodat@adacore.com>
483b3d26 288
289 * c-ada-spec.c (in_function): Delete.
290 (dump_generic_ada_node): Do not change in_function and remove the
291 redundant code dealing with it.
292 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
293 (print_ada_methods): Output the static member functions in a nested
294 package after the regular methods as well as associated renamings.
295
f11bdffb 2962015-04-24 Marek Polacek <polacek@redhat.com>
297
298 PR c/65830
299 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
300 and OPT_Wshift_count_overflow.
301
485f6b9c 302 PR c/63357
303 * c-common.c (warn_logical_operator): Warn if the operands have the
304 same expressions.
305
439606a9 3062015-04-24 Marek Polacek <polacek@redhat.com>
307
308 PR c/61534
309 * c-common.c (warn_logical_operator): Bail if either operand comes
310 from a macro expansion.
311
de801c28 3122015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
313
314 PR target/55143
315 * c-common.c (c_default_pointer_mode): Add definition.
316 * c-common.h (c_default_pointer_mode): Add declaration.
317
76738f56 3182015-03-11 Jakub Jelinek <jakub@redhat.com>
319
320 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
321 on record_builtin_type argument.
322
16f958b3 3232015-03-10 Jakub Jelinek <jakub@redhat.com>
324
325 PR c/65120
326 * c-common.c (warn_logical_not_parentheses): Don't warn for
327 !x == 0 or !x != 0.
328
9b22f73f 3292015-03-07 Marek Polacek <polacek@redhat.com>
330
331 PR sanitizer/65280
332 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
333 before trying to figure out whether we have a flexible array member.
334
a864b7d4 3352015-03-06 Eric Botcazou <ebotcazou@adacore.com>
336 Jonathan Wakely <jwakely.gcc@gmail.com>
337
338 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
339
9bf8c90b 3402015-03-05 Eric Botcazou <ebotcazou@adacore.com>
341
342 PR ada/65319
343 * c-ada-spec.c (print_destructor): Remove obsolete code.
344
037ac54f 3452015-03-01 Eric Botcazou <ebotcazou@adacore.com>
346
347 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
348 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
349 DECL_TEMPLATE_RESULT emulations.
350 (dump_ada_template)): Add guard for TYPE_METHODS.
351
495cbfb8 3522015-02-27 Marek Polacek <polacek@redhat.com>
353
354 PR c/65040
355 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
356
688a864e 3572015-02-27 Kai Tietz <ktietz@redhat.com>
358
359 PR c/35330
360 * c-pragma.c (handle_pragma_weak): Do not try to create
361 weak/alias of declarations not being function, or variable
362 declarations.
363
6349b8cc 3642015-02-24 Thomas Schwinge <thomas@codesourcery.com>
365
366 PR libgomp/64625
367 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
368 Remove macros.
369 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
370
3afd5369 3712015-02-16 Marek Polacek <polacek@redhat.com>
372
373 PR c/65066
374 * c-format.c (check_format_types): Handle null param.
375
46173d1b 3762015-02-13 Marek Polacek <polacek@redhat.com>
377
378 PR c/65040
379 * c-format.c (check_format_types): Don't warn about different
380 signedness if the original value is in the range of WANTED_TYPE.
381
1d524ff7 3822015-02-12 Jason Merrill <jason@redhat.com>
383
384 PR c++/64956
385 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
386 to the current highest version.
387 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
388
bbf8fbec 3892015-02-04 Jakub Jelinek <jakub@redhat.com>
390
391 PR c/64824
392 PR c/64868
393 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
394 instead of RDIV_EXPR. Use build_binary_op instead of
395 build2_loc.
396
c05be867 3972015-01-30 Joseph Myers <joseph@codesourcery.com>
398
399 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
400 to pass input_location as first argument.
401
85977647 4022015-01-23 Tom de Vries <tom@codesourcery.com>
403
404 PR libgomp/64672
405 * c.opt (fopenacc): Mark as LTO option.
406
fa175926 4072015-01-23 Tom de Vries <tom@codesourcery.com>
408
409 PR libgomp/64707
410 * c.opt (fopenmp): Mark as LTO option.
411
20aad5ba 4122015-01-21 Jakub Jelinek <jakub@redhat.com>
413
414 PR c/63307
415 * cilk.c (fill_decls_vec): Only put decls into vector v.
416 (compare_decls): Fix up formatting.
417
4182015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
419
420 PR c/63307
421 * cilk.c: Include vec.h.
422 (struct cilk_decls): New structure.
423 (wrapper_parm_cb): Split this function to...
424 (fill_decls_vec): ...this...
425 (create_parm_list): ...and this.
426 (compare_decls): New function.
427 (for_local_cb): Remove.
428 (wrapper_local_cb): Ditto.
429 (build_wrapper_type): For now first traverse and fill vector of
430 declarations then sort it and then deal with sorted vector.
431 (cilk_outline): Ditto.
432 (declare_one_free_variable): Ditto.
433
60b77e28 4342015-01-21 Jason Merrill <jason@redhat.com>
435
436 PR c++/64629
437 * c-format.c (check_format_arg): Call decl_constant_value.
438
85fbea97 4392015-01-19 Martin Liska <mliska@suse.cz>
440
441 * c-common.c (handle_noicf_attribute): New function.
442
ca4c3545 4432015-01-15 Thomas Schwinge <thomas@codesourcery.com>
444 Bernd Schmidt <bernds@codesourcery.com>
445 James Norris <jnorris@codesourcery.com>
446 Cesar Philippidis <cesar@codesourcery.com>
447 Ilmir Usmanov <i.usmanov@samsung.com>
448 Jakub Jelinek <jakub@redhat.com>
449
450 * c.opt (fopenacc): New option.
451 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
452 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
453 New macros.
454 * c-common.h (c_finish_oacc_wait): New prototype.
455 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
456 (c_finish_oacc_wait): New function.
457 * c-pragma.c (oacc_pragmas): New variable.
458 (c_pp_lookup_pragma, init_pragma): Handle it.
459 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
460 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
461 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
462 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
463 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
464 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
465 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
466 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
467 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
468 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
469 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
470 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
471 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
472 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
473 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
474 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
475 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
476 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
477 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
478 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
479 PRAGMA_OACC_CLAUSE_WORKER.
480
947aa916 4812015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
482
483 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
484 for the new option fstack-protector_explicit.
485 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
486 (handle_stack_protect_attribute): New function.
487
e4fd7af1 4882015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
489
490 * c.opt: New option -Warray-bounds=.
491
1f78217c 4922015-01-09 Michael Collison <michael.collison@linaro.org>
493
494 * array-notation-common.c: Include hash-set.h, machmode.h,
495 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
496 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
497 * c-ada-spec.c: Ditto.
498 * c-cilkplus.c: Ditto.
499 * c-common.c: Include input.h due to flattening of tree.h.
500 Define macro GCC_C_COMMON_C.
501 * c-common.h: Flatten tree.h header files into c-common.h.
502 Remove include of tree-core.h.
503 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
504 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
505 fold-const.h, wide-int.h, and inchash.h due to
506 flattening of tree.h.
507 * c-dump.c: Ditto.
508 * c-format.c: Flatten tree.h header files into c-common.h.
509 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
510 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
511 fold-const.h, wide-int.h, and inchash.h due to
512 flattening of tree.h.
513 * c-dump.c: Include hash-set.h, machmode.h,
514 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
515 fold-const.h, wide-int.h, and inchash.h due to
516 flattening of tree.h.
517 * c-format.c: Include hash-set.h, machmode.h,
518 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
519 fold-const.h, wide-int.h, inchash.h and real.h due to
520 flattening of tree.h.
521 * c-gimplify.c: Include hash-set.h, machmode.h,
522 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
523 fold-const.h, wide-int.h, and inchash.h due to
524 flattening of tree.h.
525 * cilk.c: Ditto.
526 * c-lex.c: Ditto.
527 * c-omp.c: Ditto.
528 * c-opts.c: Ditto.
529 * c-pch.c: Ditto.
530 * c-ppoutput.c: Ditto.
531 * c-pragma.c: Ditto.
532 * c-pretty-print.c: Ditto.
533 * c-semantics.c: Ditto.
534 * c-ubsan.c: Ditto.
535 * stub-objc.c: Ditto.
536
411b7663 5372015-01-08 Jason Merrill <jason@redhat.com>
538
539 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
540 do_ubsan_in_current_function.
541 (ubsan_maybe_instrument_reference_or_call): Likewise.
542 * c-ubsan.h: Declare it.
543
d1e96383 5442015-01-08 Mike Stump <mikestump@comcast.net>
545
546 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
547
b57910fa 5482015-01-07 Marek Polacek <polacek@redhat.com>
549
550 PR c/64440
551 * c-common.c (c_fully_fold_internal): Warn for division and modulo
552 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
553
678a4e3e 5542015-01-05 Trevor Saunders <tsaunders@mozilla.com>
555
556 PR c++/31397
557 * c.opt (Wsuggest-override): New option.
558
d353bf18 5592015-01-05 Jakub Jelinek <jakub@redhat.com>
560
561 Update copyright years.
562
92b63884 5632015-01-05 Marek Polacek <polacek@redhat.com>
564
565 PR c/64423
566 * c-common.c (warn_array_subscript_with_type_char): Add location_t
567 parameter. Use it.
568 * c-common.h (warn_array_subscript_with_type_char): Update
569 declaration.
570
83715bc4 5712014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
572
573 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
574 Control macro with flag_sized_deallocation.
575
8a8211df 5762014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
577
578 * c.opt (Wdiscarded-array-qualifiers): New option.
579
33058239 5802014-12-19 Jakub Jelinek <jakub@redhat.com>
581
582 PR preprocessor/63831
583 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
584 and __has_cpp_attribute here.
585 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
586 c_common_has_attribute.
587 * c-common.h (c_common_has_attribute): New prototype.
588 * c-lex.c (init_c_lex): Set cb->has_attribute to
589 c_common_has_attribute instead of cb_has_attribute.
590 (get_token_no_padding): New function.
591 (cb_has_attribute): Renamed to ...
592 (c_common_has_attribute): ... this. No longer static. Use
593 get_token_no_padding, require ()s, don't build TREE_LIST
594 unnecessarily, fix up formatting, adjust diagnostics, call
595 init_attributes.
596
d1856d2c 5972014-12-15 Jason Merrill <jason@redhat.com>
598
599 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
600 (-Wsized-deallocation): New.
601 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
602 to on in C++14 and up.
603
4972ed5d 6042014-12-11 Jason Merrill <jason@redhat.com>
605
7d7fa964 606 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
607
4972ed5d 608 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
609 we aren't complaining about VLAs.
610
5ebccf71 6112014-12-06 Marek Polacek <polacek@redhat.com>
612
613 PR tree-optimization/64183
614 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
615 shift-expression if it is integer_type_node. Use types_compatible_p.
616
f9e245b2 6172014-11-29 Jakub Jelinek <jakub@redhat.com>
618
619 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
620 last argument from create_tmp_var_raw and create_tmp_var calls.
621 * cilk.c (gimplify_cilk_spawn): Likewise.
622 * c-omp.c (c_finish_omp_atomic): Likewise.
623
d2f60593 6242014-11-28 Marek Polacek <polacek@redhat.com>
625
626 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
627 instead of unsigned_type_node.
628
fce2dbd1 6292014-11-28 Marek Polacek <polacek@redhat.com>
630
631 PR c/63862
632 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
633 to op1_utype.
634 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
635 expression to unsigned_type_node.
636
3a4a2292 6372014-11-20 Mark Wielaard <mjw@redhat.com>
638
639 PR debug/38757
640 * c-opts.c (set_std_c89): Set lang_hooks.name.
641 (set_std_c99): Likewise.
642 (set_std_c11): Likewise.
643 (set_std_cxx98): Likewise.
644 (set_std_cxx11): Likewise.
645 (set_std_cxx14): Likewise.
646 (set_std_cxx1z): Likewise.
647
c61ef207 6482014-11-21 Jakub Jelinek <jakub@redhat.com>
649
650 PR target/63764
651 * c-common.h (convert_vector_to_pointer_for_subscript): Change
652 return type to bool.
c9ed79de 653 * c-common.c: Include gimple-expr.h.
c61ef207 654 (convert_vector_to_pointer_for_subscript): Change return type to
655 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
656 and copy it into a TARGET_EXPR and use that instead of *vecp
657 directly.
658
1a91d914 6592014-11-19 David Malcolm <dmalcolm@redhat.com>
660
661 Merger of git branch "gimple-classes-v2-option-3".
662 * ChangeLog.gimple-classes: New.
663 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
664 from being just a vec<gimple> to a vec<gbind *>.
665
f8fc8b8e 6662014-11-18 Jakub Jelinek <jakub@redhat.com>
667
668 PR sanitizer/63813
669 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
670 argument to ptype, set type to TREE_TYPE (ptype). Don't call
671 get_pointer_alignment for non-pointers. Use ptype, or if it is
672 reference type, corresponding pointer type, as type of kind
673 argument.
674 (ubsan_maybe_instrument_reference,
675 ubsan_maybe_instrument_member_call): Adjust callers.
676
8315e35e 6772014-11-15 Marek Polacek <polacek@redhat.com>
678
679 PR middle-end/63884
680 * array-notation-common.c (is_sec_implicit_index_fn): Return false
681 for NULL fndecl.
682 (extract_array_notation_exprs): Return for NULL node.
683
86b9f14b 6842014-11-12 Joseph Myers <joseph@codesourcery.com>
685
686 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
687 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
688
0c93c8a9 6892014-11-12 Jakub Jelinek <jakub@redhat.com>
690
691 PR c/59708
692 * c-common.c (check_builtin_function_arguments): Handle
693 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
694
fdd735a7 6952014-11-10 Andi Kleen <ak@linux.intel.com>
696
697 PR c/60804
698 * c-common.h (check_no_cilk): Declare.
699 * cilk.c (get_error_location): New function.
700 (check_no_cilk): Dito.
701
5cb678b4 7022014-11-10 Andi Kleen <ak@linux.intel.com>
703
704 * cilk.c (recognize_spawn): Use expression location
705 for error message.
706
0feb4de1 7072014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
708
709 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
710
3aa2fa44 7112014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
712
713 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
714 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
715 (__cpp_range_based_for, __cpp_initializer_lists,
716 __cpp_delegating_constructors, __cpp_nsdmi,
717 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
718 for C++11; (__cpp_attribute_deprecated): Remove in favor of
719 __has_cpp_attribute.
720 * c-lex.c (cb_has_attribute): New callback CPP function;
721 (init_c_lex): Set has_attribute callback.
722
7fd22aae 7232014-11-04 Richard Biener <rguenther@suse.de>
724
725 * c-common.c (shorten_compare): Do not shorten mixed
726 DFP and non-DFP compares.
727
4af203ac 7282014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
729
730 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
731 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
732 Commentary and rearrangement of tests.
733 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
734 Commentary and rearrangement of tests.
735 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto
736 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
737
3754d046 7382014-10-29 Richard Sandiford <richard.sandiford@arm.com>
739
740 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
741 enum from machine_mode.
742
1140c305 7432014-10-28 Andrew MacLeod <amacleod@redhat.com>
744
1f78217c 745 * c-common.c: Adjust include files.
746 * c-gimplify.c: Ditto.
747 * cilk.c: Ditto.
748 * c-pragma.c: Ditto.
749 * c-ubsan.c: Ditto.
1140c305 750
94ea8568 7512014-10-27 Andrew MacLeod <amacleod@redhat.com>
752
753 * c-gimplify.c: Adjust include files.
754
32ecf960 7552014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
756
757 PR c++/53061
758 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
759 c_common_initialize_diagnostics.
760 * c-common.h: Likewise.
761
85fecbe2 7622014-10-24 Marek Polacek <polacek@redhat.com>
763
764 PR c/56980
765 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
766 print "struct"/"union"/"enum" for typedefed names.
767
e7ec033a 7682014-10-23 Marek Polacek <polacek@redhat.com>
769
770 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
771 in unsigned type.
772
c2598081 7732014-10-22 Jakub Jelinek <jakub@redhat.com>
774 Yury Gribov <y.gribov@samsung.com>
775
776 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
777 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
778 instead of flag_sanitize_recover as bool flag.
779
acebb7e2 7802014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
781
782 * cilk.c: Revert previous change.
783
6115016c 7842014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
785
786 PR c/63307
787 * cilk.c: Include vec.h.
788 (struct cilk_decls): New structure.
789 (wrapper_parm_cb): Split this function to...
790 (fill_decls_vec): ...this...
791 (create_parm_list): ...and this.
792 (compare_decls): New function.
793 (for_local_cb): Remove.
794 (wrapper_local_cb): Ditto.
795 (build_wrapper_type): For now first traverse and fill vector of
796 declarations then sort it and then deal with sorted vector.
797 (cilk_outline): Ditto.
798 (declare_one_free_variable): Ditto.
799
e610d2b2 8002014-10-17 Marek Polacek <polacek@redhat.com>
801
802 * c-opts.c (c_common_post_options): Set warn_implicit_int.
803 * c.opt (Wimplicit-int): Initialize to -1.
804
a3020f2f 8052014-10-16 Andrew MacLeod <amacleod@redhat.com>
806
807 * c-pragma.c: Adjust include files.
808 * c-semantics.c: Likewise.
809
926ddd2c 8102014-10-16 DJ Delorie <dj@redhat.com>
811
812 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
813 multiples of bytes.
814
b0542e7c 8152014-10-14 Jason Merrill <jason@redhat.com>
816
817 PR c++/63455
818 * c-common.h (CPP_PREPARSED_EXPR): New.
819 (N_CP_TTYPES): Adjust.
820
b2601928 8212014-10-15 Marek Polacek <polacek@redhat.com>
822
823 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
824
9f75f026 8252014-10-14 DJ Delorie <dj@redhat.com>
826
827 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
828 types, not just __int128.
829 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
830 types, not just __int128.
831 (cpp_atomic_builtins): Round pointer sizes up.
832 (type_suffix): Use type precision, not specific types.
833 * c-common.c (c_common_reswords): Remove __int128 special case.
834 (c_common_type_for_size): Check for all __intN types, not just
835 __int128.
836 (c_common_type_for_mode): Likewise.
837 (c_common_signed_or_unsigned_type): Likewise.
838 (c_build_bitfield_integer_type): Likewise.
839 (c_common_nodes_and_builtins): Likewise.
840 (keyword_begins_type_specifier): Likewise.
841 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
842 __intN variants.
843
2ef51f0e 8442014-10-12 Trevor Saunders <tsaunders@mozilla.com>
845
846 * c-common.c: Use hash_table instead of hashtab.
847
5b8257e3 8482014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
849
1f78217c 850 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
5b8257e3 851 C++11 section.
852
5e84569c 8532014-10-03 Marc Glisse <marc.glisse@inria.fr>
854
855 PR c++/54427
856 PR c++/57198
857 PR c++/58845
858 * c-common.c (warn_logical_operator): Punt for vectors.
859
f6751ff2 8602014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
861
862 Implement SD-6: SG10 Feature Test Recommendations
863 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
864 macros and the __has_header macro.
865
c33e051d 8662014-09-30 Jason Merrill <jason@redhat.com>
867
f76a9aa8 868 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
869 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
870 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
871
717e52f9 872 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
873 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
874
c33e051d 875 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
876 * c-common.c (c_common_reswords): Remove __is_convertible_to.
877
5213d6c9 8782014-09-24 Marek Polacek <polacek@redhat.com>
879
880 PR c/61405
881 PR c/53874
882 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
883
6b722052 8842014-09-23 Andi Kleen <ak@linux.intel.com>
885
886 * c-common.c (handle_no_reorder_attribute): New function.
887 (c_common_attribute_table): Add no_reorder attribute.
888
0cb69d12 8892014-09-22 Joseph Myers <joseph@codesourcery.com>
890
891 * c-cppbuiltin.c (c_cpp_builtins): Define
892 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
893 modes.
894
168dfbf0 8952014-09-18 Joseph Myers <joseph@codesourcery.com>
896
897 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
898 for supported floating-point modes.
899
b83705f4 9002014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
901
902 * c.opt (Wpsabi): Use LangEnabledBy.
903 * c-opts.c (c_common_handle_option): Do not handle here.
904
d5957f0d 9052014-09-12 Joseph Myers <joseph@codesourcery.com>
906
907 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
908 macros for floating-point modes.
909
bae6edff 9102014-09-11 Marc Glisse <marc.glisse@inria.fr>
911
912 PR target/58757
913 * c-cppbuiltin.c (builtin_define_float_constants): Correct
914 __*_DENORM_MIN__ without denormals.
915
73a69d02 9162014-09-10 Jakub Jelinek <jakub@redhat.com>
917
918 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
919 ubsan_instrument_vla, ubsan_instrument_return): Adjust
920 ubsan_create_data callers.
921 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
922 index is constant or BIT_AND_EXPR with constant mask and is
923 small enough for the bound.
924 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
925 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
926
7ff8db31 9272014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
928
929 * c.opt: Add CppReason to various flags.
930 (Wdate-time): Re-sort.
931 * c-common.c: Include c-common.h earlier.
932 (struct reason_option_codes_t): Delete.
933 (c_option_controlling_cpp_error): Prefix global type and struct
934 with cpp_.
935
bcc1f37e 9362014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
937
938 * c.opt (Wnormalized): New.
939 (Wnormalized=): Use Enum and Reject Negative.
940 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
941
b660d3c6 9422014-09-08 Joseph Myers <joseph@codesourcery.com>
943
944 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
945 digits of floating-point modes if -fbuilding-libgcc.
946
325b8c3c 9472014-09-05 Joseph Myers <joseph@codesourcery.com>
948
949 * c-cppbuiltin.c (c_cpp_builtins): Also define
950 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
951 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
952 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
953 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
954 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
955 __LIBGCC_STACK_GROWS_DOWNWARD__,
956 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
957 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
958 __LIBGCC_DWARF_FRAME_REGISTERS__,
959 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
960 __LIBGCC_STACK_POINTER_REGNUM__ and
961 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
962 (builtin_define_with_value): Handle backslash-escaping in string
963 macro values.
964
1e074e77 9652014-09-05 Richard Biener <rguenther@suse.de>
966
967 PR middle-end/63148
968 * c-format.c (check_format_arg): Properly handle
969 effectively signed POINTER_PLUS_EXPR offset.
970
04afd878 9712014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
972
973 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
974 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
975 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
976 and Init.
977 * c-opts.c (c_common_handle_option): Do not handle here.
978 (sanitize_cpp_opts): Likewise.
979 * c-common.c (struct reason_option_codes_t): Handle
980 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
981
a3f448f0 9822014-09-03 Marek Polacek <polacek@redhat.com>
983
984 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
985
40750995 9862014-09-02 Jakub Jelinek <jakub@redhat.com>
987 Balaji V. Iyer <balaji.v.iyer@intel.com>
988 Igor Zamyatin <igor.zamyatin@intel.com>
989
990 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
991 * c-common.c (c_common_reswords): Added _Cilk_for.
992 * c-common.h (enum rid): Added RID_CILK_FOR.
993 (cilk_for_number_of_iterations): Add declaration.
994 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
995 CILK_FOR.
996 * c-pragma.c (init_pragma): Register "grainsize" pragma.
997 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
998
f0fbe519 9992014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1000
1001 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
1002 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
1003 Wundef): Use CPP, Var and Init.
1004 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
1005
a7d2e480 10062014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
1007
1008 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
1009 * c-opts.c (c_common_handle_option): Do not handle here.
1010
c35e53f1 10112014-08-25 Jason Merrill <jason@redhat.com>
1012
1013 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
1014 -std=c++14 and -std=gnu++14, rather than the reverse.
1015 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
1016 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
1017 * c-common.h (cxx_dialect): Remove cxx1y.
1018
4e454776 10192014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
1020
1021 * c-common.h (enum cxx_dialect): Add cxx14.
1022 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
1023 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
1024 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
1025
af1a80f2 10262014-08-22 Jason Merrill <jason@redhat.com>
1027
1028 * c.opt (std=gnu++17): Fix alias.
1029
dc6229e8 10302014-08-22 Marek Polacek <polacek@redhat.com>
1031
1032 PR c++/62199
1033 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
1034 check for vector types. Drop LHS argument.
1035 * c-common.h (warn_logical_not_parentheses): Adjust.
1036
ba7f7c88 10372014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1038
1039 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
1040 (Wmultichar): Likewise.
1041 (Wdate-time): Use C-family languages instead of Common. Use CPP
1042 and Var.
1043 * c-opts.c (c_common_handle_option): Do not handle the above
1044 options here.
1045 (sanitize_cpp_opts): Likewise.
1046
399d4f80 10472014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1048
1049 PR fortran/44054
1050 * c-opts.c: Include tree-diagnostics.h.
1051 (c_diagnostic_finalizer): New.
1052 (c_common_initialize_diagnostics): Use it.
1053
1babed5f 10542014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1055
1056 PR preprocessor/51303
1057 * c-common.c (struct reason_option_codes_t option_codes):
1058 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
1059
3636964b 10602014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1061
1062 PR c/60975
1063 PR c/53063
1064 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
1065 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
1066 (c_common_post_options): Call init_global_opts_from_cpp.
1067 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
1068
78bf4156 10692014-08-19 Marek Polacek <polacek@redhat.com>
1070
1071 PR c++/62153
1072 * c-common.c (maybe_warn_bool_compare): New function.
1073 * c-common.h (maybe_warn_bool_compare): Declare.
1074 * c.opt (Wbool-compare): New option.
1075
508ea33a 10762014-08-19 Marek Polacek <polacek@redhat.com>
1077
1078 * c.opt (Wc99-c11-compat): New option.
1079
806fe15e 10802014-08-19 Marek Polacek <polacek@redhat.com>
1081
1082 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
1083 to warn_c90_c99_compat.
1084 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
1085 to -1.
1086
6c867de1 10872014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
1088 Steven Bosscher <steven@gcc.gnu.org>
1089
1090 PR c/52952
1091 * c-format.c: Add extra_arg_loc and format_string_loc to struct
1092 format_check_results.
1093 (check_function_format): Use true and add comment for boolean
1094 argument.
1095 (finish_dollar_format_checking): Use explicit location when warning.
1096 (check_format_info): Likewise.
1097 (check_format_arg): Set extra_arg_loc and format_string_loc.
1098 (check_format_info_main): Use explicit location when warning.
1099 (check_format_types): Pass explicit location.
1100 (format_type_warning): Likewise.
1101
dc8078a3 11022014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
1103
1104 PR fortran/44054
1105 * c-format.c: Handle Fortran flags.
1106
d271ec7e 11072014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
1108
1109 PR other/61962
1110 * array-notation-common.c (find_rank): Added handling for other
1111 types of references.
1112
890c2e2f 11132014-08-10 Marek Polacek <polacek@redhat.com>
1114
1115 PR c/51849
1116 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
1117 * c.opt (Wc90-c99-compat): Add option.
1118
7149db5f 11192014-08-07 Trevor Saunders <tsaunders@mozilla.com>
1120
1121 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
1122
2d2f6a15 11232014-08-03 Marek Polacek <polacek@redhat.com>
1124
1125 * c-common.c (check_case_value): Add location_t parameter. Use it.
1126 (c_add_case_label): Pass loc to check_case_value.
1127
06ecf488 11282014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1129
1130 * cilk.c: Use hash_map instead of pointer_map.
1131
431205b7 11322014-08-02 Trevor Saunders <tsaunders@mozilla.com>
1133
1134 * c-gimplify.c: Use hash_set instead of pointer_set.
1135
3394c80c 11362014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
1137
1138 PR middle-end/61455
1139 * array-notation-common.c (extract_array_notation_exprs): Handling
1140 of DECL_EXPR added.
1141
392dee1e 11422014-08-01 Jakub Jelinek <jakub@redhat.com>
1143
1144 * c-common.h (min_align_of_type): Removed prototype.
1145 * c-common.c (min_align_of_type): Removed.
1146 * c-ubsan.h (ubsan_maybe_instrument_reference,
1147 ubsan_maybe_instrument_member_call): New prototypes.
1148 * c-ubsan.c: Include stor-layout.h and builtins.h.
1149 (ubsan_maybe_instrument_reference_or_call,
1150 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
1151 functions.
1152
f22a2cb7 11532014-07-31 Marc Glisse <marc.glisse@inria.fr>
1154
1155 PR c++/60517
1156 * c.opt (-Wreturn-local-addr): Move to common.opt.
1157
87b0198f 11582014-07-30 Jason Merrill <jason@redhat.com>
1159
1160 PR c++/61659
1161 PR c++/61687
1162 Revert:
1163 * c.opt (-fuse-all-virtuals): New.
1164
74691f46 11652014-07-30 Tom Tromey <tromey@redhat.com>
1166
1167 PR c/59855
1168 * c.opt (Wdesignated-init): New option.
1169 * c-common.c (c_common_attribute_table): Add "designated_init".
1170 (handle_designated_init): New function.
1171
9140d56f 11722014-07-24 Marek Polacek <polacek@redhat.com>
1173
1174 PR c/57653
1175 * c-opts.c (c_finish_options): If -imacros is in effect, return.
1176
a09c5cc2 11772014-07-16 Dodji Seketeli <dodji@redhat.com>
1178
1179 PR preprocessor/60723 - missing system-ness marks for macro tokens
1180 * c-ppoutput.c (struct print::prev_was_system_token): New data
1181 member.
1182 (init_pp_output): Initialize it.
1183 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
1184 (do_line_change): Return a flag saying if a line marker was
1185 emitted or not.
1186 (scan_translation_unit): Detect if the system-ness of the token we
1187 are about to emit is different from the one of the previously
1188 emitted token. If so, emit a line marker. Avoid emitting useless
1189 adjacent line markers. Avoid emitting line markers for tokens
1190 originating from the expansion of built-in macros.
1191 (scan_translation_unit_directives_only): Adjust.
1192
2b25b62f 11932014-07-15 Marek Polacek <polacek@redhat.com>
1194
1195 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
1196 TYPE_MAX_VALUE is NULL.
1197
305d96bc 11982014-07-14 Jakub Jelinek <jakub@redhat.com>
1199
1200 PR middle-end/61294
1201 * c.opt (Wmemset-transposed-args): New warning.
1202
8ea4660d 12032014-07-10 Jason Merrill <jason@redhat.com>
1204
1205 PR c++/61659
1206 PR c++/61687
1207 * c.opt (-fuse-all-virtuals): New.
1208
cd480f3d 12092014-07-09 Richard Biener <rguenther@suse.de>
1210
1211 PR c-family/61741
1212 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
1213 using unsigned arithmetic if overflow does not wrap instead of
1214 if overflow is undefined.
1215
87d59e72 12162014-07-06 Marek Polacek <polacek@redhat.com>
1217
1218 PR c/6940
1219 * c.opt (Wsizeof-array-argument): New option.
1220
d69521d8 12212014-07-03 Jakub Jelinek <jakub@redhat.com>
1222
1223 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
1224 comments->count <= 1, as comments->entries might be NULL.
1225
1207866e 12262014-07-01 Marek Polacek <polacek@redhat.com>
1227
1228 * c.opt (Wint-conversion): New option.
1229
7a6bbb76 12302014-07-01 Marek Polacek <polacek@redhat.com>
1231
1232 PR c/58286
1233 * c.opt (Wincompatible-pointer-types): New option.
1234
9d4eeb52 12352014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
1236
1237 PR c++/51400
1238 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
1239 Do not discard TYPE_QUALS of type.
1240
4b53bc0f 12412014-06-26 Jason Merrill <jason@redhat.com>
1242
1243 * c-common.h (enum cxx_dialect): Add cxx1z.
1244 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
1245 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
1246
a8a8d4ea 12472014-06-26 Teresa Johnson <tejohnson@google.com>
1248
1249 * c-common.h (get_dump_info): Declare.
1250 * c-gimplify.c (c_genericize): Use saved dump files.
1251 * c-opts.c (c_common_parse_file): Begin and end dumps
1252 once around parsing invocation.
1253 (get_dump_info): New function.
1254
1f6be080 12552014-06-23 Marek Polacek <polacek@redhat.com>
1256 Andrew MacLeod <amacleod@redhat.com>
1257
1258 PR c/61553
1259 * c-common.c (get_atomic_generic_size): Don't segfault if the
1260 type doesn't have a size.
1261
5ef6b660 12622014-06-20 Marek Polacek <polacek@redhat.com>
1263
1264 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
1265 (ubsan_walk_array_refs_r): New function.
1266 (c_genericize): Instrument array bounds.
1267 * c-ubsan.c: Include "internal-fn.h".
1268 (ubsan_instrument_division): Mark instrumented arrays as having
1269 side effects. Adjust ubsan_type_descriptor call.
1270 (ubsan_instrument_shift): Likewise.
1271 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
1272 (ubsan_instrument_bounds): New function.
1273 (ubsan_array_ref_instrumented_p): New function.
1274 (ubsan_maybe_instrument_array_ref): New function.
1275 * c-ubsan.h (ubsan_instrument_bounds): Declare.
1276 (ubsan_array_ref_instrumented_p): Declare.
1277 (ubsan_maybe_instrument_array_ref): Declare.
1278
12792014-06-20 Hale Wang <hale.wang@arm.com>
3ccd1e6e 1280
1281 PR lto/61123
1282 * c.opt (fshort-enums): Add to LTO.
1283 * c.opt (fshort-wchar): Likewise.
1284
78438f31 12852014-06-16 Marek Polacek <polacek@redhat.com>
1286
1287 PR c/60439
1288 * c.opt (Wswitch-bool): Add Var.
1289
5fddcf34 12902014-06-12 Jakub Jelinek <jakub@redhat.com>
1291
1292 PR middle-end/61486
1293 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
1294 #pragma omp target teams or
1295 #pragma omp {,target }teams distribute simd.
1296
74b777e5 12972014-06-12 Jason Merrill <jason@redhat.com>
1298
1299 * c.opt (Wabi=, fabi-compat-version): New.
1300 * c-opts.c (c_common_handle_option): Handle -Wabi=.
1301 (c_common_post_options): Handle flag_abi_compat_version default.
1302 Disallow -fabi-compat-version=1.
1303 * c-common.h (abi_version_crosses): New.
1304
738a6bda 13052014-06-11 Jan Hubicka <hubicka@ucw.cz>
1306
1f78217c 1307 * c-common.c (handle_section_attribute): Update handling for
738a6bda 1308 section names that are no longer trees.
1309
cf5f881f 13102014-06-10 Jakub Jelinek <jakub@redhat.com>
1311
1312 PR fortran/60928
1313 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
1314 (omp_pragmas): ... back here.
1315
32dc1512 13162014-06-05 Marek Polacek <polacek@redhat.com>
1317
1318 PR c/49706
1319 * c-common.c (warn_logical_not_parentheses): New function.
1320 * c-common.h (warn_logical_not_parentheses): Declare.
1321 * c.opt (Wlogical-not-parentheses): New option.
1322
f61a9bc2 13232014-06-04 Marek Polacek <polacek@redhat.com>
1324
1325 PR c/30020
1326 * c-common.c (check_case_bounds): Add location parameter.
1327 Use it.
1328 (c_add_case_label): Pass loc to check_case_bounds.
1329
c69ec07d 13302014-06-03 Marek Polacek <polacek@redhat.com>
1331
1332 PR c/60439
1333 * c.opt (Wswitch-bool): New option.
1334
3c77ca67 13352014-05-22 Thomas Schwinge <thomas@codesourcery.com>
1336
68a2c870 1337 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
1338 Remove prototypes.
1339 (record_types_used_by_current_var_decl): Move prototype to where
1340 it belongs.
1341
3c77ca67 1342 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
1343 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
1344 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
1345
3ab4693e 13462014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
1347
1348 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
1349 * c-common.c (c_common_nodes_and_builtins): Don't initialize
1350 void_zero_node.
1351 * c-pretty-print.c (pp_c_void_constant): New function.
1352 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
1353 (c_pretty_printer::expression): Handle VOID_CST.
1354 * cilk.c (extract_free_variables): Likewise.
1355 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
1356 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
1357
25a27413 13582014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1359
1360 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
1361 * c-pragma.c (push_alignment): Adjust.
1362 (handle_pragma_push_options): Likewise.
1363
3e5a8b00 13642014-05-09 Marek Polacek <polacek@redhat.com>
1365
1366 PR c/50459
1367 * c-common.c (check_user_alignment): Return -1 if alignment is error
1368 node.
1369 (handle_aligned_attribute): Don't call default_conversion on
1370 FUNCTION_DECLs.
1371 (handle_vector_size_attribute): Likewise.
1372 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
1373 (handle_sentinel_attribute): Call default_conversion and allow even
1374 integral types as an argument.
1375
c2c4ae8d 13762014-05-08 Marek Polacek <polacek@redhat.com>
1377
1378 PR c/61053
1379 * c-common.c (min_align_of_type): New function factored out from...
1380 (c_sizeof_or_alignof_type): ...here.
1381 * c-common.h (min_align_of_type): Declare.
1382
2026249a 13832014-05-08 Marek Polacek <polacek@redhat.com>
1384
1385 PR c/61077
1386 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
1387 parameter type of main.
1388
33c8dcfe 13892014-05-07 DJ Delorie <dj@redhat.com>
1390
1391 * c-cppbuiltin.c (print_bits_of_hex): New.
1392 (builtin_define_type_minmax): Print values using hex so as not to
1393 require a pre-computed list of string values.
1394
960d5a55 13952014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1396 Mike Stump <mikestump@comcast.net>
1397 Richard Sandiford <rdsandiford@googlemail.com>
1398
1399 * c-ada-spec.c: Include wide-int.h.
1400 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
1401 (dump_generic_ada_node): Use wide-int interfaces.
1402 * c-common.c: Include wide-int-print.h.
1403 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
1404 (pointer_int_sum): Use wide-int interfaces.
1405 (c_common_nodes_and_builtins): Use make_int_cst.
1406 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
1407 (handle_alloc_size_attribute): Use wide-int interfaces.
1408 (get_nonnull_operand): Likewise.
1409 * c-format.c (get_constant): Use tree_fits_uhwi_p.
1410 * c-lex.c: Include wide-int.h.
1411 (narrowest_unsigned_type): Take a widest_int rather than two
1412 HOST_WIDE_INTs.
1413 (narrowest_signed_type): Likewise.
1414 (interpret_integer): Update accordingly. Use wide-int interfaces.
1415 (lex_charconst): Use wide-int interfaces.
1416 * c-pretty-print.c: Include wide-int.h.
1417 (pp_c_integer_constant): Use wide-int interfaces.
1418 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
1419 INT_CST_LT_UNSIGNED.
1420
bbb88b31 14212014-05-06 Richard Biener <rguenther@suse.de>
1422
1423 * c-opts.c (c_common_post_options): For -freestanding,
1424 -fno-hosted and -fno-builtin disable pattern recognition
1425 if not enabled explicitely.
1426
022d4718 14272014-05-02 Marek Polacek <polacek@redhat.com>
1428
1429 * c.opt (Wsizeof-pointer-memaccess): Describe option.
1430
e4ab2ef3 14312014-05-01 Marek Polacek <polacek@redhat.com>
1432
1433 PR c/43245
1434 * c.opt (Wdiscarded-qualifiers): Add.
1435
52cc0072 14362014-04-30 Marek Polacek <polacek@redhat.com>
1437
1438 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
1439 INT_MIN / -1 sanitization only for integer types.
1440
4a026b48 14412014-04-25 Marek Polacek <polacek@redhat.com>
1442
1443 PR c/18079
1444 * c-common.c (handle_noinline_attribute): Warn if the attribute
1445 conflicts with always_inline attribute.
1446 (handle_always_inline_attribute): Warn if the attribute conflicts
1447 with noinline attribute.
1448
90e645fa 14492014-04-25 Marek Polacek <polacek@redhat.com>
1450
1451 PR c/60156
1452 * c-common.c (check_main_parameter_types): Warn about variadic main.
1453
db103ea4 14542014-04-24 Mike Stump <mikestump@comcast.net>
1455
1456 * c.opt (Wshadow-ivar): Default to on.
1457
06511efd 14582014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
1459
1460 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
1461
cdf34fca 14622014-04-23 Marek Polacek <polacek@redhat.com>
1463
1464 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
1465
7311d7c1 14662014-04-22 Jakub Jelinek <jakub@redhat.com>
1467
1468 PR sanitizer/60275
1469 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
1470 if flag_sanitize_undefined_trap_on_error.
1471 (ubsan_instrument_division, ubsan_instrument_shift,
1472 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
1473 if !flag_sanitize_recover.
1474
c1917557 14752014-04-22 Marc Glisse <marc.glisse@inria.fr>
1476
1477 PR libstdc++/43622
1478 * c-common.c (registered_builtin_types): Make non-static.
1479 * c-common.h (registered_builtin_types): Declare.
1480
b2ca6510 14812014-04-14 Richard Biener <rguenther@suse.de>
1482 Marc Glisse <marc.glisse@inria.fr>
1483
1484 PR c/60819
1485 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
1486 apply may-alias the scalar pointer type when applicable.
1487
855372a3 14882014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
1489
1490 PR middle-end/60467
1491 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
1492 as possible argument for Cilk_spawn.
1493
4012a986 14942014-04-11 Tobias Burnus <burnus@net-b.de>
1495
1496 PR c/60194
1497 * c.opt (Wformat-signedness): Add
1498 * c-format.c(check_format_types): Use it.
1499
0d284870 15002014-04-11 Jason Merrill <jason@redhat.com>
1501
1502 PR c++/57926
1503 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
1504 default_conversion for an array argument.
1505
a34c1231 15062014-04-08 Marek Polacek <polacek@redhat.com>
1507
1508 PR sanitizer/60745
1509 * c-ubsan.c: Include asan.h.
1510 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
1511
a35a8e18 15122014-04-03 Nathan Sidwell <nathan@codesourcery.com>
1513
1514 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
1515
b23e42b6 15162014-04-02 Marek Polacek <polacek@redhat.com>
1517
1518 * c-common.h (c_expand_expr): Remove declaration.
1519
5a672e62 15202014-03-28 Jakub Jelinek <jakub@redhat.com>
1521
1522 PR c++/60689
1523 * c-common.c (add_atomic_size_parameter): When creating new
1524 params vector, push the size argument first.
1525
d4d068c0 15262014-03-26 Jakub Jelinek <jakub@redhat.com>
1527
1528 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
1529 ubsan_instrument_vla, ubsan_instrument_return): Adjust
1530 ubsan_create_data callers.
1531
446bdf5f 15322014-03-22 Jakub Jelinek <jakub@redhat.com>
1533
1534 PR debug/60603
1535 * c-opts.c (c_finish_options): Restore cb_file_change call to
1536 <built-in>.
1537
8895f0a3 15382014-03-13 Jakub Jelinek <jakub@redhat.com>
1539
1540 PR middle-end/36282
1541 * c-pragma.c (apply_pragma_weak): Only look at
1542 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
1543 DECL_ASSEMBLER_NAME_SET_P (decl).
1544 (maybe_apply_pending_pragma_weaks): Exit early if
1545 vec_safe_is_empty (pending_weaks) rather than only when
1546 !pending_weaks.
1547 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
1548 set assembler name back to NULL afterwards.
1549
7a5da2cd 15502014-03-11 Jason Merrill <jason@redhat.com>
1551
1552 * c.opt: Add -std=gnu++14.
1553
95093889 15542014-03-11 Ian Bolton <ian.bolton@arm.com>
1555
1556 * c-opts.c (c_common_post_options): Don't override
1557 -ffp-contract=fast if unsafe-math-optimizations is on.
1558
c9a24b37 15592014-03-08 Paulo Matos <paulo@matos-sorge.com>
1560
1561 * c.opt: Enable LTO FE for fshort-double.
1562
3f6dba6e 15632014-03-07 Jason Merrill <jason@redhat.com>
1564
1565 * c.opt: Add -std=c++14.
1566
3bfdc94f 15672014-03-06 Marek Polacek <polacek@redhat.com>
1568
1569 PR c/60197
1570 * cilk.c (contains_cilk_spawn_stmt): New function.
1571 (contains_cilk_spawn_stmt_walker): Likewise.
1572 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
1573 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
1574
8b3a6a4c 15752014-03-03 Jakub Jelinek <jakub@redhat.com>
1576
1577 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
1578 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
1579 even when flag_preprocess_only.
1580
734ec290 15812014-02-26 Jason Merrill <jason@redhat.com>
1582
1583 PR c++/59231
1584 PR c++/11586
1585 * c-common.c (shorten_compare): Don't check
1586 c_inhibit_evaluation_warnings.
1587
81aec8b8 15882014-02-19 Jakub Jelinek <jakub@redhat.com>
1589
d1081017 1590 PR c/37743
1591 * c-common.c (c_common_nodes_and_builtins): When initializing
1592 c_uint{16,32,64}_type_node, also set corresponding
1593 uint{16,32,64}_type_node to the same value.
1594
81aec8b8 1595 PR c++/60267
1596 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
1597 for PRAGMA_IVDEP if flag_preprocess_only.
1598
312243bb 15992014-02-12 Jakub Jelinek <jakub@redhat.com>
1600
1601 PR c/60101
1602 * c-common.c (merge_tlist): If copy is true, call new_tlist,
1603 if false, add ADD itself, rather than vice versa.
1604 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
1605 copy. For SAVE_EXPR, only call merge_tlist once.
1606
237e78b1 16072014-02-08 Jakub Jelinek <jakub@redhat.com>
1608
1609 PR middle-end/60092
1610 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
1611 and tree_to_uhwi.
1612 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
1613 functions.
1614 (c_common_attribute_table): Add alloc_align and assume_aligned
1615 attributes.
1616
76fdceeb 16172014-02-06 Marek Polacek <polacek@redhat.com>
1618
1619 PR c/60087
1620 * c-common.c (warn_for_sign_compare): Call warning_at with location
1621 instead of warning.
1622
4a4dea42 16232014-02-05 Marek Polacek <polacek@redhat.com>
1624
1625 PR c/53123
1626 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
1627 statement.
1628
ec704957 16292014-02-04 Marek Polacek <polacek@redhat.com>
1630
1631 PR c/60036
1632 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
1633 SAVE_EXPR.
1634
caf62483 16352014-02-03 Marc Glisse <marc.glisse@inria.fr>
1636
1637 PR c++/53017
1638 PR c++/59211
1639 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
1640 handle_vector_size_attribute, handle_nonnull_attribute): Call
1641 default_conversion on the attribute argument.
1642 (handle_nonnull_attribute): Increment the argument number.
1643
ec761d5a 16442014-01-31 Marek Polacek <polacek@redhat.com>
1645
1646 PR c/59963
1647 * c-common.c (add_atomic_size_parameter): Pass vNULL to
1648 build_function_call_vec.
1649 (resolve_overloaded_builtin): Likewise.
1650 * c-common.h (build_function_call_vec): Adjust declaration.
1651
22a75734 16522014-01-30 Marek Polacek <polacek@redhat.com>
1653
1654 PR c/59940
1655 * c-common.h (unsafe_conversion_p): Adjust declaration.
1656 (warnings_for_convert_and_check): Likewise.
1657 (convert_and_check): Likewise.
1658 * c-common.c (unsafe_conversion_p): Add location parameter. Call
1659 expansion_point_location_if_in_system_header on it.
1660 (warnings_for_convert_and_check): Add location parameter. Call
1661 expansion_point_location_if_in_system_header on it. Use it.
1662 (convert_and_check): Add location parameter. Use it.
1663 (conversion_warning): Likewise.
1664 (c_add_case_label): Adjust convert_and_check calls.
1665 (scalar_to_vector): Adjust unsafe_conversion_p calls.
1666
a89e6c15 16672014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1668
1669 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
1670 flag_cilkplus.
1671 * c-pragma.c (init_pragma): Likewise.
1672 * c.opt: Likewise.
1673
2623625f 16742014-01-23 Marek Polacek <polacek@redhat.com>
1675
1676 PR c/59846
1677 * c-common.c (shorten_compare): Add location_t parameter.
1678 * c-common.h (shorten_binary_op): Adjust declaration.
1679
46da3601 16802014-01-23 Marek Polacek <polacek@redhat.com>
1681
1682 PR c/58346
1683 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
1684 * c-common.h: Declare it.
1685
c9743c6a 16862014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1687
1688 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
1689 * c-ada-spec.c (dump_ads): Likewise.
1690 (cpp_check): Likewise.
1691 (dump_ada_specs): Likewise.
1692
16932014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
36e33c6a 1694
1695 PR c++/49718
1696 * c-common.c (handle_no_instrument_function_attribute): Allow
1697 no_instrument_function attribute in class member
1698 definition/declaration.
1699
1248c663 17002014-01-15 Jakub Jelinek <jakub@redhat.com>
1701
1702 PR c/58943
1703 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
1704 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
1705 being COMPOUND_EXPR.
1706 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
1707 operand a SAVE_EXPR and second MODIFY_EXPR.
1708
6e5c480b 17092014-01-09 Jakub Jelinek <jakub@redhat.com>
1710
1711 PR target/58115
1712 * c-pch.c (c_common_write_pch): Call
1713 prepare_target_option_nodes_for_pch.
1714
3aea1f79 17152014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1716
1717 Update copyright years
1718
e4f22041 17192014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1720
1721 * array-notation-common.c, c-cilkplus.c: Use the standard form for
1722 the copyright notice.
1723
7fb0fe24 17242013-12-28 Eric Botcazou <ebotcazou@adacore.com>
1725
1726 * c-ada-spec.c (print_constructor): New function.
1727 (print_destructor): Retrieve the origin of the destructor.
1728 (print_ada_declaration): Revamp handling of constructors/destructors.
1729
468088ac 17302013-12-23 Stuart Hastings <stuart@apple.com>
1731 Bill Maddox <maddox@google.com>
1732 Jason Merrill <jason@redhat.com>
1733
1734 * c.opt: Add -fdeclone-ctor-dtor.
1735 * c-opts.c (c_common_post_options): Default to on iff -Os.
1736
74acc703 17372013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
1738
1739 * c-common.c (c_common_attribute_table): Added "cilk simd function"
1740 attribute.
1741 * c-pragma.h (enum pragma_cilk_clause): Remove.
1742 (enum pragma_omp_clause): Added the following fields:
1743 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
1744 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
1745 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
1746 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
1747 PRAGMA_CILK_CLAUSE_UNIFORM.
1748
1749
433e804e 17502013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
1751
1752 * cilk.c (cilk_outline): Made this function non-static.
1753 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
1754 (create_cilk_wrapper): Added a new parameter: a function pointer.
1755 (c_install_body_w_frame_cleanup): Remove
1756 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
1757 * c-common.h (cilk_outline): New prototype.
1758 (gimplify_cilk_spawn): Removed two parameters.
1759 (cilk_install_body_with_frame_cleanup): New prototype.
1760 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
1761 CILK_SPAWN_STMT case.
1762
5bcc7e60 17632013-12-11 Bernd Schmidt <bernds@codesourcery.com>
1764
e66325ea 1765 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
1766
5bcc7e60 1767 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
1768 (int_array_type_node): Remove.
1769 * c-common.c (c_common_nodes_and_builtins): Don't build it.
1770
0b26ec77 17712013-12-05 Marek Polacek <polacek@redhat.com>
1772
1773 PR c/52023
1774 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
1775 [ADJUST_FIELD_ALIGN].
1776
a179a7dc 17772013-12-04 Joseph Myers <joseph@codesourcery.com>
1778
1779 PR c/52023
1780 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
1781 and check field alignment if set.
1782 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
1783 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
1784
137559b2 17852013-12-04 Jakub Jelinek <jakub@redhat.com>
1786 Marek Polacek <polacek@redhat.com>
1787
1788 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
1789 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
1790
648fd348 17912013-11-29 H.J. Lu <hongjiu.lu@intel.com>
1792
1793 PR c/59309
1794 * cilk.c (gimplify_cilk_spawn): Properly handle function without
1795 arguments.
1796
253e1cae 17972013-11-29 Jakub Jelinek <jakub@redhat.com>
1798
1799 PR c/59280
1800 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
1801 goto invalid. If it is error_mark_node, don't issue further
1802 diagnostics.
1803
3e398f5b 18042013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
1805
1806 * c.opt (Wopenmp-simd): New.
1807
020bc656 18082013-11-22 Jakub Jelinek <jakub@redhat.com>
1809
1810 * c-ubsan.h (ubsan_instrument_return): New prototype.
1811 * c-ubsan.c (ubsan_instrument_return): New function.
1812
bc61cadb 18132013-11-22 Andrew MacLeod <amacleod@redhat.com>
1814
1815 * c-common.c: Add required include files from gimple.h.
1816 * c-gimplify.c: Likewise
1817 * cilk.c: Likewise
1818
3df42822 18192013-11-22 David Malcolm <dmalcolm@redhat.com>
1820
1821 * c-common.c (unsafe_conversion_p): Remove use of
1822 EXPR_LOC_OR_HERE macro.
1823 (conversion_warning): Likewise.
1824 (warnings_for_convert_and_check): Likewise.
1825 (warn_for_collisions_1): Likewise.
1826 (shorten_compare): Likewise, and remove use of in_system_header
1827 macro, using the location from the former.
1828 * c-lex.c (dump_one_header): Remove use of input_filename macro.
1829 (cb_def_pragma): Remove use of in_system_header macro.
1830 (lex_string): Likewise.
1831 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
1832
8c53c46c 18332013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1834 Mike Stump <mikestump@comcast.net>
1835 Richard Sandiford <rdsandiford@googlemail.com>
1836
1837 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
1838 instead of TREE_INT_CST_LOW, in cases where there is a protecting
1839 tree_fits_shwi_p or tree_fits_uhwi_p.
1840 (dump_generic_ada_node): Likewise.
1841 * c-format.c (check_format_arg): Likewise.
1842 * c-pretty-print.c (pp_c_integer_constant): Likewise.
1843
5200ef07 18442013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
1845
1846 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
1847
ca9d7d74 18482013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
1849
1850 PR c/53001
1851 * c-common.c (unsafe_conversion_p): Make this function
1852 return an enumeration with more detail.
1853 (conversion_warning): Use the new return type of
1854 unsafe_conversion_p to separately warn either about conversions
1855 that lower floating point number precision or about the other
1856 kinds of conversions.
1857 * c-common.h (enum conversion_safety): New enumeration.
1858 (unsafe_conversion_p): switching return type to
1859 conversion_safety enumeration.
1860 * c.opt: Adding new warning -Wfloat-conversion and
1861 enabling it with -Wconversion.
1862
0391a567 18632013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
1864
1865 * c-opts.c: Include plugin.h.
1866 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
1867
19b928d9 18682013-11-19 Marek Polacek <polacek@redhat.com>
1869
1870 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
1871 call.
1872 (ubsan_instrument_shift): Likewise.
1873 (ubsan_instrument_vla): Likewise.
1874
aa59f000 18752013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1876
1877 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
1878 cast to unsigned type.
1879
08f817b3 18802013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1881
1882 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
1883 tree_low_cst.
1884 (complete_array_type): Update comment to refer to tree_to_[su]hwi
1885 rather than tree_low_cst.
1886
6a0712d4 18872013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1888
1889 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
1890 tree_to_uhwi throughout.
1891
fcb97e84 18922013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1893
1894 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
1895 tree_low_cst (..., 0) with tree_to_shwi throughout.
1896
cd4547bf 18972013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1898
1899 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
1900 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
1901
35ec552a 19022013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1903
1904 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
1905 host_integerp (..., 0) with tree_fits_shwi_p throughout.
1906
f2697631 19072013-11-15 Aldy Hernandez <aldyh@redhat.com>
1908
1909 * c-cilkplus.c: New file.
1910 * c-common.c (readonly_error): Add location argument.
1911 * c-common.h (readonly_error): Same.
1912 (c_finish_cilk_clauses): Protoize.
1913 (c_check_cilk_loop): Same.
1914 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
1915 Do not fail on error_mark_node.
1916 Abstract increment canonicalization to here...
1917 (c_omp_for_incr_canonicalize_ptr): New.
1918 c-pragma.c (init_pragma): Register "simd" pragma.
1919 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
1920 (enum pragma_cilk_clause): New.
1921
0aa8c34e 19222013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
1923
1924 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
1925 wchar_type and host_integerp checks.
1926
e795d6e1 19272013-11-14 Andrew MacLeod <amacleod@redhat.com>
1928
1929 * c-common.c: Likewise.
1930 * c-gimplify.c: Likewise.
1931 * cilk.c: Likewise.
1932
9ed99284 19332013-11-14 Diego Novillo <dnovillo@google.com>
1934
1935 * c-common.c: Include fold-const.h.
1936 Include stor-layout.h.
1937 Include calls.h.
1938 Include stringpool.h.
1939 Include attribs.h.
1940 Include varasm.h.
1941 Include trans-mem.h.
1942 * c-cppbuiltin.c: Include stor-layout.h.
1943 Include stringpool.h.
1944 * c-format.c: Include stringpool.h.
1945 * c-lex.c: Include stringpool.h.
1946 Include stor-layout.h.
1947 * c-pragma.c: Include stringpool.h.
1948 Include attribs.h.
1949 Include varasm.h.
1950 Include gcc-symtab.h.
1951 * c-pretty-print.c: Include stor-layout.h.
1952 Include attribs.h.
1953 * cilk.c: Include stringpool.h.
1954 Include calls.h.
1955
4fba5eb9 19562013-11-13 Joseph Myers <joseph@codesourcery.com>
1957
1958 * c-common.h (enum rid): Add RID_AUTO_TYPE.
1959 * c-common.c (c_common_reswords): Add __auto_type.
1960 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
1961
a8783bee 19622013-11-12 Andrew MacLeod <amacleod@redhat.com>
1963
e795d6e1 1964 * c-common.c: Include gimplify.h.
1965 * c-gimplify.c: Likewise.
1966 * cilk.c: Likewise.
1967 * c-omp.c: Include gimple-expr.h instead of gimple.h.
1968 * c-ubsan.c: Don't include gimple.h.
a8783bee 1969
d184e0c0 19702013-11-12 Joseph Myers <joseph@codesourcery.com>
1971
1972 * c-common.c (c_common_reswords): Add _Thread_local.
1973
a056826c 19742013-11-09 Joseph Myers <joseph@codesourcery.com>
1975
1976 * c-common.c (atomic_size_supported_p): New function.
1977 (resolve_overloaded_atomic_exchange)
1978 (resolve_overloaded_atomic_compare_exchange)
1979 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
1980 Use it instead of comparing size with a local list of sizes.
1981
b560fabd 19822013-11-07 Andrew MacLeod <amacleod@redhat.com>
1983 Joseph Myers <joseph@codesourcery.com>
1984
1985 * c-common.h (enum rid): Add RID_ATOMIC.
1986 * c-common.c (c_common_reswords): Add _Atomic.
1987 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
1988 (keyword_is_type_qualifier): Accept RID_ATOMIC.
1989 * c-format.c (check_format_types): Check for extra _Atomic
1990 qualifiers in format argument.
1991 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
1992 (pp_c_type_qualifier_list): Mention _Atomic in comment.
1993
5b1a0622 19942013-11-06 Tobias Burnus <burnus@net-b.de>
1995
1996 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
1997
4f8f4cb8 19982013-11-06 Joseph Myers <joseph@codesourcery.com>
1999
2000 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
2001 standards modes.
2002 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
2003 to mean lack of IEEE 754 support.
2004
9148bda3 20052013-11-05 Tobias Burnus <burnus@net-b.de>
2006
2007 * c.opt (-Wdate-time): New option
2008 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
2009
08c5f4d5 20102013-11-05 Joseph Myers <joseph@codesourcery.com>
2011
2012 * c-cppbuiltin.c (cpp_iec_559_value): Test
2013 flag_excess_precision_cmdline not flag_excess_precision.
2014
c630ef93 20152013-11-05 Tobias Burnus <burnus@net-b.de>
2016
2017 * c.opt (fopenmp-simd): New option.
2018 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
2019 (omp_pragmas): ... this new struct.
2020 (c_pp_lookup_pragma): Also walk omp_pragmas.
2021 (init_pragma): Init pragmas for -fopenmp-simd.
2022
7354a89b 20232013-11-04 Marek Polacek <polacek@redhat.com>
2024
2025 PR c++/58979
2026 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
2027
4c866b9b 20282013-11-04 Joseph Myers <joseph@codesourcery.com>
2029
2030 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
2031 New functions.
2032 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
2033
e2a6a333 20342013-11-04 Eric Botcazou <ebotcazou@adacore.com>
2035
2036 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
2037 (dump_ada_specs): Adjust prototype of second callback.
2038 * c-ada-spec.c (cpp_check): New global variable.
2039 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
2040 (print_generic_ada_decl): Likewise.
2041 (has_static_fields): Change return type to bool and add guard.
2042 (has_nontrivial_methods): New predicate.
2043 (is_tagged_type): Change return type to bool.
2044 (separate_class_package): Call has_nontrivial_methods.
2045 (pp_ada_tree_identifier): Minor tweaks.
2046 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
2047 (dump_ada_array_domains): Likewise.
2048 (dump_ada_array_type): Likewise.
2049 (dump_template_types): Remove cpp_check parameter and do not pass it to
2050 dump_generic_ada_node.
2051 (dump_ada_template): Likewise.
2052 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
2053 recursively.
2054 (print_ada_methods): Change return type to integer. Remove cpp_check
2055 parameter and do not pass it down.
2056 (dump_nested_types): Remove cpp_check parameter and do not pass it to
2057 dump_generic_ada_node.
2058 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
2059 accessing methods.
2060 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
2061 down. Use has_nontrivial_methods to recognize C++ classes. Use return
2062 value of print_ada_methods.
2063 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
2064 Set cpp_check to it before invoking dump_ada_nodes.
2065 (dump_ada_specs): Likewise.
2066
2c4c3477 20672013-11-03 Marek Polacek <polacek@redhat.com>
2068
2069 * c-ubsan.c: Don't include hash-table.h.
2070 (ubsan_instrument_vla): New function.
2071 * c-ubsan.h: Declare it.
2072
452659af 20732013-10-31 David Malcolm <dmalcolm@redhat.com>
2074
2075 Automated part of renaming of symtab_node_base to symtab_node.
2076
2077 Patch autogenerated by rename_symtab.py from
2078 https://github.com/davidmalcolm/gcc-refactoring-scripts
2079 revision 58bb219cc090b2f4516a9297d868c245495ee622
2080
2081 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
2082 symtab_node_base to symtab_node.
2083
4d6f7dd4 20842013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
2085
2086 Implement C++14 digit separators.
2087 * c-lex.c (interpret_float): Remove digit separators from scratch string
2088 before building real literal.
2089
06cfe805 20902013-10-30 Jakub Jelinek <jakub@redhat.com>
2091
2092 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
2093
d037099f 20942013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
2095
2096 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
2097 fields.
2098 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
2099 enabled.
2100 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
2101 (insert_cilk_frame): New prototype.
2102 (cilk_init_builtins): Likewise.
2103 (gimplify_cilk_spawn): Likewise.
2104 (c_cilk_install_body_w_frame_cleanup): Likewise.
2105 (cilk_detect_spawn_and_unwrap): Likewise.
2106 (cilk_set_spawn_marker): Likewise.
2107 (build_cilk_sync): Likewise.
2108 (build_cilk_spawn): Likewise.
2109 * cilk.c: New file.
2110
02774f2d 21112013-10-29 David Malcolm <dmalcolm@redhat.com>
2112
2113 Patch autogenerated by refactor_symtab.py from
2114 https://github.com/davidmalcolm/gcc-refactoring-scripts
2115 revision 58bb219cc090b2f4516a9297d868c245495ee622
2116
2117 * c-gimplify.c (c_genericize): Update for conversion of symtab types
2118 to a true class hierarchy.
2119 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
2120
31fe10fd 21212013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
2122
2123 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
2124
b1c06ff9 21252013-10-26 Jeff Law <law@redhat.com>
2126
1f78217c 2127 * c-common.c (c_define_builtins): Remove mudflap support.
2128 * c.opt: Ignore and warn for mudflap options.
b1c06ff9 2129
48a972c8 21302013-10-24 Tobias Burnus <burnus@net-b.de>
4644b593 2131
2132 PR other/33426
2133 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
2134 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
2135
546a04b1 21362013-10-23 Jason Merrill <jason@redhat.com>
2137
2138 * c-format.c (gcc_cxxdiag_char_table): Add %X.
2139
bc7bff74 21402013-10-11 Jakub Jelinek <jakub@redhat.com>
2141
d62c713e 2142 * c-common.h (omp_clause_mask::operator !=): New method.
2143 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
2144 instead of if (mask & something) tests everywhere.
2145
bc7bff74 2146 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
2147 201307 instead of 201107.
2148 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
2149 (c_common_attribute_table): Add "omp declare target" and
2150 "omp declare simd" attributes.
2151 (handle_omp_declare_target_attribute,
2152 handle_omp_declare_simd_attribute): New functions.
2153 * c-omp.c: Include c-pragma.h.
2154 (c_finish_omp_taskgroup): New function.
2155 (c_finish_omp_atomic): Add swapped argument, if true,
2156 build the operation first with rhs, lhs arguments and use NOP_EXPR
2157 build_modify_expr.
2158 (c_finish_omp_for): Add code argument, pass it down to make_code.
2159 (c_omp_split_clauses): New function.
2160 (c_split_parallel_clauses): Removed.
2161 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
2162 c_omp_declare_simd_clauses_to_decls): New functions.
2163 * c-common.h (omp_clause_mask): New type.
2164 (OMP_CLAUSE_MASK_1): Define.
2165 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
2166 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
2167 omp_clause_mask::operator |, omp_clause_mask::operator &,
2168 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
2169 omp_clause_mask::operator ==): New methods.
2170 (enum c_omp_clause_split): New.
2171 (c_finish_omp_taskgroup): New prototype.
2172 (c_finish_omp_atomic): Add swapped argument.
2173 (c_finish_omp_for): Add code argument.
2174 (c_omp_split_clauses): New prototype.
2175 (c_split_parallel_clauses): Removed.
2176 (c_omp_declare_simd_clauses_to_numbers,
2177 c_omp_declare_simd_clauses_to_decls): New prototypes.
2178 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
2179 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
2180 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
2181 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
2182 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
2183 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
2184 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
2185 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
2186 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
2187 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
2188 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
2189 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
2190 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
2191 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
2192 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
2193 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
2194 PRAGMA_OMP_CLAUSE_UNIFORM.
2195
d7dcba40 21962013-10-09 Marc Glisse <marc.glisse@inria.fr>
2197
2198 PR tree-optimization/20318
2199 * c-common.c (handle_returns_nonnull_attribute): New function.
2200 (c_common_attribute_table): Add returns_nonnull.
2201
0b7282f1 22022013-10-03 Marc Glisse <marc.glisse@inria.fr>
2203
2204 PR c++/19476
2205 * c.opt (fcheck-new): Move to common.opt.
2206
51f553af 22072013-09-25 Marek Polacek <polacek@redhat.com>
2208 Jakub Jelinek <jakub@redhat.com>
2209
2210 PR sanitizer/58413
2211 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
2212 an expression if we can prove it is correct.
2213 (ubsan_instrument_division): Likewise. Remove unnecessary
2214 check.
2215
05f893e1 22162013-09-18 Marek Polacek <polacek@redhat.com>
2217
2218 PR sanitizer/58411
2219 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
2220 Declare it.
2221 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
2222
236ce1d1 22232013-09-14 Iain Sandoe <iain@codesourcery.com>
2224
2225 PR target/48094
2226 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
2227 fobjc-gc, freplace-objc-classes): Accept for LTO.
2228
f9f68d35 22292013-09-13 Jacek Caban <jacek@codeweavers.com>
2230
2231 * c-target.def: New hook
2232
ba2f764e 22332013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
2234
2235 PR c++/43452
2236 * c.opt (Wdelete-incomplete): Add.
2237
73437615 22382013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
2239
2240 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
2241 (vector_types_compatible_elements_p): New function.
2242 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
2243 declaration.
2244 (vector_types_compatible_elements_p): Declare.
2245
95af4c75 22462013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2247
2248 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
2249 a virtual member function.
2250 (pp_simple_type_specifier): Remove.
2251 (pp_c_type_specifier): Likewise.
2252 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
2253 Rename from pp_c_type_specifier. Adjust.
2254 (c_pretty_printer::c_pretty_printer): Do not assign to
2255 simple_type_specifier.
2256
eaab24b9 22572013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2258
2259 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
2260 member function.
2261 (c_pretty_printer::storage_class_specifier): Likewise.
2262 (c_pretty_printer::initializer): Likewise.
2263 (pp_declaration): Remove.
2264 (pp_declaration_specifiers): Likewise.
2265 (pp_abstract_declarator): Likewise.
2266 (pp_declarator): Likewise.
2267 (pp_type_id): Likewise.
2268 (pp_statement): Likewise.
2269 (pp_constant): Likewise.
2270 (pp_id_expression): Likewise.
2271 (pp_primary_expression): Likewise.
2272 (pp_unary_expression): Likewise.
2273 (pp_multiplicative_expression): Likewise.
2274 (pp_conditional_expression): Likewise.
2275 (pp_assignment_expression): Likewise.
2276 (pp_expression): Likewise.
2277 (pp_c_type_id): Likewise.
2278 (pp_c_storage_class_specifier): Likewise.
2279 * c-pretty-print.c (pp_c_type_cast): Tidy.
2280 (pp_c_pointer): Likewise.
2281 (pp_c_type_specifier): Likewise.
2282 (pp_c_parameter_type_list): Likewise.
2283 (pp_c_function_definition): Likewise.
2284 (pp_c_init_declarator): Likewise.
2285 (pp_c_initializer_list): Likewise.
2286 (pp_c_constructor_elts): Likewise.
2287 (c_pretty_printer::direct_abstract_declarator): Likewise.
2288 (c_pretty_printer::declaration_specifiers): Likewise.
2289 (c_pretty_printer::primary_expression): Likewise.
2290 (c_pretty_printer::postfix_expression): Likewise.
2291 (c_pretty_printer::type_id): Rename from pp_c_type_id.
2292 (c_pretty_printer::storage_class_specifier): Rename from
2293 pp_c_storage_class_specifier.
2294 (c_pretty_printer::initializer): Rename from pp_c_initializer.
2295 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
2296 storage_class_specifier, initializer, offset_list, flags.
2297
9e46467d 22982013-08-30 Marek Polacek <polacek@redhat.com>
2299
2300 * c-ubsan.c: New file.
2301 * c-ubsan.h: New file.
2302
36a8d9b9 23032013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
2304
2305 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
2306 member function.
2307 (c_pretty_printer::declaration_specifiers): Likewise.
2308 (c_pretty_printer::declarator): Likewise.
2309 (c_pretty_printer::abstract_declarator): Likewise.
2310 (c_pretty_printer::direct_abstract_declarator): Likewise.
2311 (c_pretty_printer::direct_declarator): Likewise.
2312 (c_pretty_printer::function_specifier): Likewise.
2313 (pp_declaration): Adjust.
2314 (pp_declaration_specifiers): Likewise.
2315 (pp_abstract_declarator): Likewise.
2316 (pp_direct_declarator): Likewise.
2317 (pp_function_specifier): Likewise.
2318 (pp_direct_abstract_declarator): Remove as unused.
2319 (pp_c_declaration): Remove.
2320 (pp_c_declaration_specifiers): Likewise.
2321 (pp_c_declarator): Likewise.
2322 (pp_c_direct_declarator): Likewise.
2323 (pp_c_function_specifier): Likewise.
2324 (pp_c_direct_abstract_declarator): Likewise.
2325 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
2326 from pp_c_abstract_declarator. Adjust.
2327 (c_pretty_printer::direct_abstract_declarator): Rename from
2328 pp_c_direct_abstract_declarator. Adjust.
2329 (c_pretty_printer::function_specifier): Rename from
2330 pp_c_function_specifier. Adjust.
2331 (c_pretty_printer::declaration_specifiers): Rename from
2332 pp_c_declaration_specifiers. Adjust.
2333 (c_pretty_printer::direct_declarator): Rename from
2334 pp_c_direct_declarator. Adjust.
2335 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
2336 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
2337 (c_pretty_printer::c_pretty_printer): Do not assign to
2338 declaration, declaration_specifiers, declarator,
2339 direct_declarator, direct_abstract_declarator, function_specifier.
2340
30635c2e 23412013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
2342
2343 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
2344 virtual member function.
2345 (c_pretty_printer::multiplicative_expression): Likewise.
2346 (c_pretty_printer::conditional_expression): Likewise.
2347 (c_pretty_printer::assignment_expression): Likewise.
2348 (c_pretty_printer::expression): Likewise.
2349 (pp_unary_expression): Adjust.
2350 (pp_multiplicative_expression): Likewise.
2351 (pp_assignment_expression): Likewise.
2352 (pp_conditional_expression): Likewise.
2353 (pp_expression): Likewise.
2354 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
2355 from pp_c_unary_expression. Adjust.
2356 (c_pretty_printer::multiplicative_expression): Rename from
2357 pp_c_multiplicative_expression. Adjust.
2358 (c_pretty_printer::conditional_expression): Rename from
2359 pp_c_conditional_expression. Adjust.
2360 (c_pretty_printer::assignment_expression): Rename from
2361 pp_c_assignment_expression. Adjust.
2362 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
2363 (c_pretty_printer::c_pretty_printer): Do not assign to
2364 unary_expression, multiplicative_expression,
2365 conditional_expression, expression.
2366
027d08ed 23672013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2368
2369 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
2370 virtual member function.
2371 (pp_postfix_expression): Adjust.
2372 (pp_c_postfix_expression): Remove.
2373 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
2374 from pp_c_postfix_expression. Adjust.
2375 (c_pretty_printer::c_pretty_printer): Do not assign to
2376 postfix_expression.
2377
f873303a 23782013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2379
2380 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
2381 virtua member function.
2382 (pp_primary_expression): Adjust.
2383 (pp_c_primary_expression): Remove.
2384 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
2385 from pp_c_primary_expression. Adjust.
2386 (pp_c_initializer_list): Use pp_primary_expression.
2387 (c_pretty_printer::c_pretty_printer): Do not assign to
2388 primary_expression.
2389
08e3e481 23902013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
2391
2392 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
2393 * c-pretty-print.c (M_): Remove.
2394 (c_pretty_printer::translate_string): Define.
2395 (pp_c_type_specifier): Use it.
2396 (pp_c_primary_expression): Likewise.
2397 (pp_c_expression): Likewise.
2398
1fc4a87f 23992013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2400
2401 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
2402 virtual function.
2403 (pp_c_id_expression): Remove.
2404 (pp_id_expression): Adjust.
2405 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
2406 pp_c_id_expression. Adjust.
2407 (pp_c_postfix_expression): Use pp_id_expression.
2408 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
2409
a6cb161b 24102013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
2411
2412 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
2413 member function.
2414 (pp_constant): Adjust.
2415 (pp_c_constant): Remove.
2416 * c-pretty-print.c (c_pretty_printer::constant): Rename from
2417 pp_c_constant. Adjust.
2418 (pp_c_constant)
2419 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
2420 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
2421
eed6bc21 24222013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2423
2424 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
2425 (c_pretty_printer::c_pretty_printer): Declare.
2426 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
2427 c_pretty_printer_init. Adjust.
2428 (print_c_tree): Do not call c_pretty_printer_init.
2429 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
2430
df558d2e 24312013-08-09 Arnaud Charlet <charlet@adacore.com>
2432
2433 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
2434
42f9a786 24352013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
2436
2437 PR c++/58080
2438 * c-common.c (pointer_int_sum): Add bool parameter.
2439 * c-common.h (pointer_int_sum): Adjust declaration.
2440
f874ddad 24412013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
2442
2443 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
2444 c_pretty_printer variable.
2445
a94db6b0 24462013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
2447
2448 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
2449 (pp_base): Remove.
2450 (pp_c_base): Likewise. Adjust users.
2451 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
2452 (pp_c_whitespace): Do not call pp_base.
2453 (pp_c_left_paren): Likewise.
2454 (pp_c_right_paren): Likewise.
2455 (pp_c_left_brace): Likewise.
2456 (pp_c_right_brace): Likewise.
2457 (pp_c_left_bracket): Likewise.
2458 (pp_c_right_bracket): Likewise.
2459 (pp_c_dot): Likewise.
2460 (pp_c_ampersand): Likewise.
2461 (pp_c_star): Likewise.
2462 (pp_c_arrow): Likewise.
2463 (pp_c_semicolon): Likewise.
2464 (pp_c_complement): Likewise.
2465 (pp_c_exclamation): Likewise.
2466 (pp_c_direct_declarator): Likewise.
2467 (pp_c_ws_string): Likewise.
2468 (pp_c_identifier): Likewise.
2469 (pp_c_statement): Likewise.
2470 (print_c_tree): Likewise.
2471
1898176c 24722013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
2473
2474 PR c++/58072
2475 * c-common.c (c_parse_error): Catch user-defined literal tokens and
2476 provide useful error strings.
2477
70d60d1d 24782013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2479
2480 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
2481 printer functions instead of pp_string or operators and punctuators.
2482 (dump_generic_ada_node): Likewise.
2483 * c-pretty-print.c (pp_c_type_specifier): Likewise.
2484 (pp_c_relational_expression): Likewise.
2485 (pp_c_logical_or_expression): Likewise.
2486
dda4f0ec 24872013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
2488
2489 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
2490 functions instead of pp_character.
2491 (pp_ada_tree_identifier): Likewise.
2492 (dump_ada_double_name): Likewise.
2493 (dump_ada_function_declaration): Likewise.
2494 (dump_ada_array_domains): Likewise.
2495 (dump_template_types): Likewise.
2496 (dump_generic_ada_node): Likewise.
2497 (print_ada_declaration): Likewise.
2498 (print_ada_struct_decl): Likewise.
2499 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2500
7aa04c8d 25012013-07-23 Tom Tromey <tromey@redhat.com>
2502
2503 * c-common.h (enum rid) <RID_GENERIC>: New constant.
2504 * c-common.c (c_common_reswords): Add _Generic.
2505
a04e8d62 25062013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
2507
2508 * c-common.c: Fix typos.
2509 * c-common.h: Likewise.
2510
a96c3cc1 25112013-07-13 Lubos Lunak <l.lunak@suse.cz>
2512
2513 PR c++/55203
2514 * c-common.c (c_common_attribute_table): Add warn_unused.
2515 (handle_warn_unused_attribute): New.
2516
da31536d 25172013-07-10 Jakub Jelinek <jakub@redhat.com>
2518
2519 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
2520 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
2521
839f2f70 25222013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
2523
2524 PR c++/57869
2525 * c.opt: Add Wconditionally-supported.
2526
73f353d0 25272013-07-08 Graham Stott <graham.stott@btinternet.com>
2528
1f78217c 2529 * array-notation-common.c (length_mismatch_in_expr_p): Delete
73f353d0 2530 unused variables l_length and l_node.
2531
21ebaa24 25322013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
f5298614 2533
2534 PR c/57821
2535 * c-common.c (complete_array_type): Delay folding first index
2536 like other indices. When folding, check for index overflow.
2537
68ea4406 25382013-06-27 Marc Glisse <marc.glisse@inria.fr>
2539
2540 PR c++/57509
2541 * c-common.h (c_build_vec_perm_expr): New complain argument.
2542 * c-common.c (c_build_vec_perm_expr): Likewise.
2543 Use save_expr also in C++.
2544
60777f69 25452013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
2546
2547 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
2548 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
2549 * c-opts.c (c_common_post_options): Likewise.
2550
839f2f70 25512013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
50acebe0 2552
2553 * array-notation-common.c (length_mismatch_in_expr): Changed the
2554 parameter type's from a dynamic array to a vec_tree. Also removed
2555 the size parameters.
2556 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
2557 the change above.
2558
e9331eab 25592013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
2560
2561 * c-common.h (struct cilkplus_an_parts): New structure.
2562 (struct cilkplus_an_loop_parts): Likewise.
2563 (cilkplus_extract_an_triplets): New prototype.
2564 (fix_sec_implicit_args): Likewise.
2565 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
2566 (fix_sec_implicit_args): Likewise.
60777f69 2567
a9c99fc4 25682013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
2569
2570 * array-notation-common.c (find_inv_trees): Removed an unwanted
2571 typecasting.
2572 * c-common.h (struct inv_list::additional_tcodes): Changed type from
2573 enum rid to enum tree_code.
2574
f2526cce 25752013-06-11 Jan Hubicka <jh@suse.cz>
2576
2577 * c-common.c (handle_alias_ifunc_attribute): Do not set
2578 DECL_EXTERNAL for weakref variables.
2579 * c-pragma.c (handle_pragma_weak): Make sure aliases
2580 are not declared as external.
2581
09970d67 25822013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
2583
2584 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
2585 function from c/c-array-notation.c.
2586 (is_cilkplus_reduce_builtin): Likewise.
2587 (find_rank): Likewise.
2588 (extract_array_notation_exprs): Likewise.
2589 (replace_array_notations): Likewise.
2590 (find_inv_trees): Likewise.
2591 (replace_inv_trees): Likewise.
2592 (contains_array_notation_expr): Likewise.
2593 (find_correct_array_notation_type): Likewise.
2594 * c-common.h (struct inv_list): Moved this struct from the file
2595 c/c-array-notation.c and added a new field called additional tcodes.
2596 (length_mismatch_in_expr_p): New prototype.
2597 (is_cilkplus_reduce_builtin): Likewise.
2598 (find_rank): Likewise.
2599 (extract_array_notation_exprs): Likewise.
2600 (replace_array_notation): Likewise.
2601 (find_inv_trees): Likewise.
2602 (replace_inv_trees): Likewise.
2603 (find_correct_array_notation_type): Likewise.
839f2f70 2604
3c6d4197 26052013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
2606
2607 * c-common.c (c_define_builtins): When cilkplus is enabled, the
2608 function array_notation_init_builtins is called.
2609 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
2610 * c-common.def (ARRAY_NOTATION_REF): New tree.
2611 * c-common.h (build_array_notation_expr): New function declaration.
2612 (build_array_notation_ref): Likewise.
2613 (extract_sec_implicit_index_arg): New extern declaration.
2614 (is_sec_implicit_index_fn): Likewise.
2615 (ARRAY_NOTATION_CHECK): New define.
2616 (ARRAY_NOTATION_ARRAY): Likewise.
2617 (ARRAY_NOTATION_START): Likewise.
2618 (ARRAY_NOTATION_LENGTH): Likewise.
2619 (ARRAY_NOTATION_STRIDE): Likewise.
2620 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
2621 ARRAY_NOTATION_REF.
2622 (pp_c_expression): Likewise.
2623 * c.opt (flag_enable_cilkplus): New flag.
2624 * array-notation-common.c: New file.
2625
8e71dad2 26262013-05-14 Jakub Jelinek <jakub@redhat.com>
2627
2628 PR c++/57274
2629 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
2630
432dd330 26312013-05-10 Marc Glisse <marc.glisse@inria.fr>
2632
2633 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
2634 vectors.
2635
b156ec37 26362013-05-07 Han Shen <shenhan@google.com>
2637
2638 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
2639
1a087624 26402013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2641
2642 * c-common.c (check_user_alignment): Emit error for negative values.
2643
1638c736 26442013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2645
2646 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
2647
949dbf93 26482013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2649
2650 * c-cppbuiltin.c (c_cpp_builtins): Do not define
2651 __GXX_EXPERIMENTAL_CXX1Y__.
2652
9205a6cc 26532013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2654 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
2655
2656 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
2657 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
2658 to simply use OPT_Wpointer_arith.
2659 (c_sizeof_or_alignof_type): Likewise.
2660
05d0bce1 26612013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
2662
2663 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
2664
41609f8b 26652013-04-12 Jakub Jelinek <jakub@redhat.com>
2666
2667 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
2668 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
2669 specifiers.
2670
c671dc4f 26712013-04-07 Steven Bosscher <steven@gcc.gnu.org>
2672
2673 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
2674
ba125576 26752013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
2676
2677 * c-common.c (pointer_int_sum): Remove dead code.
2678
9d3fa937 26792013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
2680
2681 PR middle-end/56524
2682 * c-common.c (handle_optimize_attribute): Don't call
2683 save_optabs_if_changed.
2684
5ceebb21 26852013-03-05 Jakub Jelinek <jakub@redhat.com>
2686
2687 PR middle-end/56461
2688 * c-pch.c (pch_init): Free target_validity at the end.
2689
18eeed2b 26902013-03-04 Jakub Jelinek <jakub@redhat.com>
2691
2692 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
2693
a9196da9 26942013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
2695 Jakub Jelinek <jakub@redhat.com>
2696
2697 PR sanitizer/56454
2698 * c-common.c (handle_no_sanitize_address_attribute): New function.
2699 (c_common_attribute_table): Add no_sanitize_address attribute.
2700 (handle_no_address_safety_analysis_attribute): Add
2701 no_sanitize_address attribute, not no_address_safety_analysis
2702 attribute.
2703
15c27dda 27042013-02-18 Aldy Hernandez <aldyh@redhat.com>
08c7d04b 2705
2706 PR target/52555
2707 * c-common.c (handle_optimize_attribute): Call
2708 save_optabs_if_changed.
2709
19426fe1 27102013-02-18 Jakub Jelinek <jakub@redhat.com>
2711 Steven Bosscher <steven@gcc.gnu.org>
2712
2713 PR pch/54117
2714 * c-opts.c (c_common_post_options): If debug info is enabled
2715 and non-dwarf*, refuse to load PCH files and when writing PCH
2716 file warn.
2717
df936998 27182013-02-05 Jakub Jelinek <jakub@redhat.com>
2719
2720 PR middle-end/56167
2721 * c-common.c (handle_error_attribute): Fix condition.
2722
ae0c3984 27232013-01-30 Jakub Jelinek <jakub@redhat.com>
2724
2725 PR c++/55742
2726 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
2727
1c4973d7 27282013-01-18 Jason Merrill <jason@redhat.com>
2729
2730 PR target/54908
2731 * c.opt (-fextern-tls-init): New.
2732 * c-opts.c (c_common_post_options): Handle it.
2733
7c834436 27342013-01-09 Jakub Jelinek <jakub@redhat.com>
2735
2736 PR c/48418
2737 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
2738 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
2739 and is either negative or bigger or equal to type precision
2740 of the first operand.
2741
5abaa10a 27422012-12-03 Marek Polacek <polacek@redhat.com>
2743
2744 PR c/55570
2745 * c-common.c (check_user_alignment): Swap order of tests,
2746 check TREE_CODE first.
2747
324ca377 27482012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
2749
2750 PR c++/52654
2751 * c-common.h (overflow_type): New enum.
2752 (build_userdef_literal): Add overflow_type argument.
2753 (tree_userdef_literal): Add overflow_type.
2754 (USERDEF_LITERAL_OVERFLOW): New access macro.
2755 * c-common.c (build_userdef_literal): Add overflow_type
2756 argument.
2757 * c-lex.c (c_lex_with_flags): Add overflow_type to
2758 build_userdef_literal calls.
2759 (interpret_integer, interpret_float): Add overflow_type argument.
2760
b4c4a429 27612012-11-28 Richard Biener <rguenther@suse.de>
2762
2763 PR c/35634
2764 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
2765 here and use a type with proper overflow behavior for types that would
2766 need to be promoted for the arithmetic.
2767
d413ffdd 27682012-11-23 Jakub Jelinek <jakub@redhat.com>
2769
2770 PR sanitizer/55435
2771 * c-common.c (handle_no_address_safety_analysis_attribute): New
2772 function.
2773 (c_common_attribute_table): Add no_address_safety_analysis.
2774
52bc861d 27752012-11-16 Simon Baldwin <simonb@google.com>
2776
2777 * c.opt: Add f[no-]canonical-system-headers.
2778 * c-opts.c (c_common_handle_option): Handle
2779 OPT_fcanonical_system_headers.
2780
2dd00636 27812012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
2782
2783 PR c++/54413
2784 * c-opts.c (c_common_handle_option): Set new flags.
2785 * c.opt: Describe new flags.
2786
d4701f6c 27872012-11-09 Jason Merrill <jason@redhat.com>
2788
2789 * c.opt (Wabi-tag): New.
2790
72d65da9 27912012-11-09 Andi Kleen <ak@linux.intel.com>
2792
2793 PR 55139
2794 * c-common.c (get_atomic_generic_size): Mask with
2795 MEMMODEL_MASK
2796
77a357e3 27972012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2798
2799 PR c/53063
2800 * c.opt (Wformat): Make it Alias Wformat=1.
2801 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
2802 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
2803 LangEnabledBy.
2804 (Wformat=): RejectNegative. Use LangEnabledBy.
2805 (Wnonnull): Use LangEnabledBy.
2806 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
2807 * c-format.c (set_Wformat): Delete.
2808 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
2809 (maybe_read_dollar_number): Likewise.
2810 (avoid_dollar_number): Likewise.
2811 (finish_dollar_format_checking): Likewise.
2812 (check_format_info): Likewise.
2813 (check_format_info_main): Likewise.
2814 (check_format_types): Likewise.
2815 (format_type_warning): Likewise.
2816 * c-common.c (int): Likewise.
2817 (check_function_sentinel): Likewise.
2818 * c-common.h (warn_format,set_Wformat): Do not declare here.
2819
45efa6b9 28202012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2821
2822 PR c/53063
2823 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
2824 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
2825 Use LangEnabledBy.
2826 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
2827 common.opt.
2828 (Wvariadic-macros): Init(1).
2829 * c-opts.c (c_common_handle_option): Do not handle them
2830 explicitly.
2831 (c_common_post_options): Likewise.
2832 (sanitize_cpp_opts): warn_unused_macros is now
2833 cpp_warn_unused_macros.
2834 (push_command_line_include): Likewise.
2835 * c-common.c (warn_unknown_pragmas): Do not define.
2836 * c-common.h (warn_unknown_pragmas): Do not declare.
2837
0e4e775a 28382012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
2839
2840 PR c/51294
2841 * c-common.c (conversion_warning): Handle conditional expressions.
2842
8b447d3f 28432012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
2844
2845 PR c++/54930
2846 * c.opt (Wreturn_local_addr): Define new option.
2847
f4a61754 28482012-10-25 Jason Merrill <jason@redhat.com>
2849
ecb10e6a 2850 * c.opt (Wvirtual-move-assign): New.
2851
f4a61754 2852 * c.opt (Winherited-variadic-ctor): New.
2853
7b463b19 28542012-10-25 Marc Glisse <marc.glisse@inria.fr>
2855
2856 PR c++/54427
2857 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
2858
6adc88f8 28592012-10-23 Joseph Myers <joseph@codesourcery.com>
2860
2861 * c-common.h (pch_cpp_save_state): Declare.
2862 * c-target.def (c_preinclude): New hook.
2863 * c-opts.c (done_preinclude): New.
2864 (push_command_line_include): Handle default preincluded header.
2865 (cb_file_change): Call pch_cpp_save_state when calling
2866 push_command_line_include.
2867 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
2868 (pch_cpp_save_state): New.
2869 (pch_init): Call pch_cpp_save_state conditionally, instead of
2870 calling cpp_save_state.
2871
fa816b0b 28722012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
2873
2874 PR c/53063
2875 PR c/40989
2876 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
2877 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
2878 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
2879 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
2880 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
2881 * c-opts.c (c_common_handle_option): Remove explicit handling from
2882 here.
2883 (c_common_post_options): Likewise.
2884
d214ccee 28852012-10-18 Eric Botcazou <ebotcazou@adacore.com>
2886
2887 * c-ada-spec.c (LOCATION_COL): Delete.
2888 (compare_location): New function.
2889 (compare_node): Use it.
2890 (compare_comment): Likewise.
2891
77b27208 28922012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2893
2894 PR c/53063
2895 PR c/40989
2896 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
2897 * c-opts.c (c_common_handle_option): Do not set them here. Add
2898 comment.
2899 (c_common_post_options): Likewise.
2900
cc02ca4d 29012012-10-16 Eric Botcazou <ebotcazou@adacore.com>
2902
2903 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
2904 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
2905 Remove POINTER_TYPE handling, add large unsigned handling and use
2906 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
2907
57f872a2 29082012-10-12 Jakub Jelinek <jakub@redhat.com>
2909
2910 PR c/54381
2911 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
2912 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
2913 locs and array of 3 trees instead of just single loc and single
2914 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
2915 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
2916 For *cmp* builtins that take two sources strings report warnings
2917 about first and second source, not about destination and source.
2918
7354ad2e 29192012-10-12 Marc Glisse <marc.glisse@inria.fr>
2920
2921 PR c++/53055
2922 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
2923
1ac7f120 29242012-10-11 Eric Botcazou <ebotcazou@adacore.com>
2925
2926 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
2927 declaring something coming from another file.
2928
1e0cc9e3 29292012-10-10 Arnaud Charlet <charlet@adacore.com>
2930
1ac7f120 2931 PR ada/54845
1e0cc9e3 2932 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
2933
b0e7825e 29342012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
2935
2936 PR c++/54194
2937 * c-common.c (warn_about_parentheses): Add location_t parameter;
2938 use EXPR_LOC_OR_LOC.
2939 * c-common.h: Update declaration.
2940
41ed701a 29412012-10-09 Marc Glisse <marc.glisse@inria.fr>
2942
2943 PR c++/54427
2944 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
2945 more operations. Make error messages optional.
2946 * c-common.h (enum stv_conv): Moved from c-typeck.c.
2947 (scalar_to_vector): Declare.
2948
3740094c 29492012-10-08 Jason Merrill <jason@redhat.com>
2950
2951 * c-common.c (c_common_reswords): Add thread_local.
2952
ffcdbf9c 29532012-10-08 Dodji Seketeli <dodji@redhat.com>
2954
2955 PR c++/53528 C++11 attribute support
2956 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
2957 new functions.
2958 * c-common.c (check_cxx_fundamental_alignment_constraints): New
2959 static function.
2960 (handle_aligned_attribute): In choose strictest alignment
2961 among many. Use new check_cxx_fundamental_alignment_constraints.
2962 (handle_transparent_union_attribute): In c++11 attribute syntax,
2963 don't look through typedefs.
2964
ef34afc1 29652012-10-04 Arnaud Charlet <charlet@adacore.com>
2966
2967 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
2968 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
2969 out of dumpfile.h.
2970
f1ff4562 29712012-09-25 Dehao Chen <dehao@google.com>
2972
2973 PR middle-end/54645
ef34afc1 2974 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
f1ff4562 2975 map when read in the pch.
2976
735538a1 29772012-09-18 Arnaud Charlet <charlet@adacore.com>
2978
2979 * c-ada-spec.c: Style fixes.
2980
9120cdc8 29812012-09-18 Thomas Quinot <quinot@adacore.com>
2982
2983 * c.opt (-fada-spec-parent): Define new command line switch.
2984 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
2985 is specified, generate binding spec as a child of the specified unit.
2986
8eba82c2 29872012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
2988 Manuel López-Ibáñez <manu@gcc.gnu.org>
2989
2990 PR c++/53210
2991 * c.opt ([Winit-self]): Enabled by -Wall in C++.
2992
38682990 29932012-08-23 Arnaud Charlet <charlet@adacore.com>
2994
2995 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
2996 for pointers, and add missing Convention C pragma.
2997 (print_ada_struct_decl): Add missing aliased keyword.
2998 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
2999
f003f5dc 30002012-08-17 Jakub Jelinek <jakub@redhat.com>
3001
3002 * c-common.c (sizeof_pointer_memaccess_warning): New function.
3003 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
3004 * c-opts.c (c_common_handle_option): Enable it for -Wall.
3005 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
3006 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
3007
ec11736b 30082012-08-10 Richard Guenther <rguenther@suse.de>
3009
3010 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
3011
5f7f600e 30122012-08-07 Steven Bosscher <steven@gcc.gnu.org>
3013
3014 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
3015 instead of separate pp_newline and pp_flush.
3016 (print_c_tree): Likewise.
3017
758a38ab 30182012-07-26 Richard Henderson <rth@redhat.com>
3019
3020 * c-common.c (handle_hot_attribute): Allow labels.
3021 (handle_cold_attribute): Likewise.
3022
9ca77b08 30232012-07-20 Jakub Jelinek <jakub@redhat.com>
3024
3025 PR c++/28656
3026 * c-common.c (check_function_nonnull): Handle multiple nonnull
3027 attributes properly.
3028
b9ed1410 30292012-07-16 Steven Bosscher <steven@gcc.gnu.org>
3030
3031 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
3032 * c-ada-spec.c: Likewise.
3033 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
3034
c2a65b90 30352012-07-14 Steven Bosscher <steven@gcc.gnu.org>
3036
3037 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
3038 Remove code conditional on it.
3039
88c5a1d1 30402012-07-11 Steven Bosscher <steven@gcc.gnu.org>
3041
3042 * c-gimplify.c: Do not include basic-block.h.
3043 * c-common.c: Do not include linfuncs.h.
3044
4a020a8c 30452012-07-08 Steven Bosscher <steven@gcc.gnu.org>
3046
3047 * c-common.h: Include tree.h.
3048
c28ddc97 30492012-07-02 Jason Merrill <jason@redhat.com>
3050
3051 PR c++/53524
3052 * c-common.c (get_priority): Call default_conversion.
3053
405ed67f 30542012-07-01 Uros Bizjak <ubizjak@gmail.com>
3055
3056 * c-pch.c (c_common_write_pch): Remove unused variables.
3057
e53d55e7 30582012-06-29 Steven Bosscher <steven@gcc.gnu.org>
3059
3060 * cppspec.c: Moved from gcc/ to here.
3061
3d9c25ec 30622012-06-27 Kai Tietz <ktietz@redhat.com>
3063
3064 PR preprocessor/37215
3065 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
3066
3169c57a 30672012-06-21 Steven Bosscher <steven@gcc.gnu.org>
3068
3069 * c-common.h (c_common_print_pch_checksum): Remove.
3070 * c-pch.c: Do not include output.h.
3071 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
3072 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
3073 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
3074 (struct c_pch_header): Remove.
3075 (get_ident): Update gpch version.
3076 (pch_init): Do not print executable_checksum to asm_out_file.
3077 Do not fail if there is no asm_out_file to read back from. Set
3078 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
3079 (c_common_write_pch): Verify that nothing was written to asm_out_file
3080 since pch_init was called. Do not write a c_pch_header, and do not
3081 copy from asm_out_file to the PCH.
3082 (c_common_read_pch): Do not read a c_pch_header, and do not restore
3083 the content of asm_out_file from the PCH.
3084 (c_common_print_pch_checksum): Remove.
3085 * c-opts.c (c_common_init): Print out executable_checksum directly.
3086
ff6624bc 30872012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3088
3089 * c-target.def (objc_declare_unresolved_class_reference,
3090 objc_declare_class_definition): Add new hooks.
3091
367b1459 30922012-06-19 Steven Bosscher <steven@gcc.gnu.org>
3093
3094 * c-lex.c: Do not include output.h.
3095 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
3096 Remove uses of ASM_OUTPUT_IDENT.
3097
bf0cb017 30982012-06-15 Marc Glisse <marc.glisse@inria.fr>
3099
3100 PR c++/51033
3101 * c-common.h (c_build_vec_perm_expr): Move decl here.
3102 * c-common.c (c_build_vec_perm_expr): Move definition
3103 here.
3104
b37a3600 31052012-06-06 Steven Bosscher <steven@gcc.gnu.org>
3106
3107 * c.opt (fconserve-space): Turn into a no-op.
3108
19931eea 31092012-06-04 Sterling Augustine <saugustine@google.com>
5f9e7dd5 3110
3111 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
3112 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
3113 both the start and end of the function.
3114
dff12c10 31152012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3116
3117 * c-common.c: Do not include output.h.
3118 * c-pragma.c: Likewise.
3119
5f9e7dd5 31202012-06-04 Steven Bosscher <steven@gcc.gnu.org>
3121
3122 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
3123 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
3124 (lang_decl_name): Handle namespace decls.
3125
b5369b7d 31262012-05-31 Steven Bosscher <steven@gcc.gnu.org>
3127
3128 * c-ada-spec.c: Do not include output.h.
3129 * c-semantics.c: Likewise.
3130
8032877c 31312012-05-29 Joseph Myers <joseph@codesourcery.com>
3132
3133 * c-common.c: Fix typo.
3134
7843e4bc 31352012-05-29 Michael Matz <matz@suse.de>
3136
3137 * c-common.h (c_expand_decl): Remove prototype.
3138
8cf857d4 31392012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
3140
3141 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
3142 * c-opts.c (c_common_handle_option): Remove code handling
3143 warn_missing_braces.
3144
8b64dc3c 31452012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
3146
3147 PR c++/25137
3148 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
3149 -Wmissing_braces.
3150
43cbde16 31512012-05-22 Dodji Seketeli <dodji@redhat.com>
3152
3153 PR c++/53322
3154 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
3155
db490cb6 31562012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
3157
3158 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
3159 * c-opts.c (c_common_handle_option): Do not handle explicitly
3160 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
3161
a60f3e81 31622012-05-16 Dodji Seketeli <dodji@redhat.com>
3163
3164 PR preprocessor/7263
3165 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
3166 to cpp_classify_number. For diagnostics, use the precise location
3167 instead of the global input_location.
3168
82e6ef7c 31692012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3170
cd4797ff 3171 PR c++/11856
82e6ef7c 3172 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
3173
258a168d 31742012-05-14 Bernd Schmidt <bernds@codesourcery.com>
3175
82e6ef7c 3176 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
258a168d 3177
d3b7ee7c 31782012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3179
3180 PR 53063
3181 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
3182 Wreorder): Use LangEnabledBy.
3183 * c-opts.c (c_common_handle_option): Do not enable them
3184 explicitly. Call lang-specific generated functions.
3185 (c_common_post_options): Do not set them here.
3186
70059cea 31872012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
3188
3189 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
3190 Wmissing-field-initializers,Wmissing-parameter-type,
3191 Wold-style-declaration,Woverride-init): Use EnabledBy.
3192 * c-opts.c (c_common_post_options): Do not set here explicitly.
3193
fbb6fbd8 31942012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
3195
3196 PR 53063
3197 * c-opts.c (c_common_handle_option): Use handle_generated_option
3198 to enable sub-options.
3199
61f69bc9 32002012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
3201
3202 PR c++/53158
3203 * c-common.c (warnings_for_convert_and_check): Use warning_at.
3204
5a1fe2db 32052012-05-10 Richard Guenther <rguenther@suse.de>
3206
3207 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
3208 adjust commentary about TYPE_IS_SIZETYPE types.
3209
d42e7c5a 32102012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
3211
3212 PR c++/53261
3213 * c-common.c (warn_logical_operator): Check that argument of
3214 integer_zerop is not NULL.
3215
686369e8 32162012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
3217
3218 PR c/43772
3219 * c-common.c (warn_logical_operator): Do not warn if either side
3220 is already true or false.
3221
03fe1dc2 32222012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
3223
3224 PR c/51712
3225 * c-common.c (expr_original_type): New.
3226 (shorten_compare): Do not warn for enumeration types.
3227
bba5a206 32282012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
3229
3230 * c.opt (fpermissive): Add Var(flag_permissive).
3231
7059d45d 32322012-04-30 Marc Glisse <marc.glisse@inria.fr>
3233
3234 PR c++/51033
3235 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
3236 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
3237
7edb1062 32382012-04-30 Dodji Seketeli <dodji@redhat.com>
3239
3240 Add -Wvarargs option
3241 * c.opt (Wvarargs): Define new option.
3242
068bea1e 32432012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3244
3245 * c-common.c (check_function_arguments): Replace
3246 Wmissing-format-attribute with Wsuggest-attribute=format.
3247
b86527d8 32482012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
3249
3250 * c.opt (Wsuggest-attribute=format): New. Alias of
3251 Wmissing-format-attribute.
3252 * c-format.c (decode_format_type): Replace
3253 Wmissing-format-attribute with Wsuggest-attribute=format.
3254 (check_function_format): Likewise.
3255
19931eea 32562012-04-27 Ollie Wild <aaw@google.com>
76d340ac 3257
3258 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
3259 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
3260 * c.opt: Add Wliteral-suffix.
3261
29438999 32622012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
3263
3264 PR c/44774
3265 * c.opt (Wpedantic): New.
3266 (pedantic): Alias Wpedantic.
3267 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
3268 (c_common_post_options): Likewise.
3269 (sanitize_cpp_opts): Likewise.
3270 * c-lex.c (interpret_float): Likewise.
3271 * c-format.c (check_format_types): Likewise.
3272 * c-common.c (pointer_int_sum): Likewise.
3273 (c_sizeof_or_alignof_type): Likewise.
3274 (c_add_case_label): Likewise.
3275 (c_do_switch_warnings): Likewise.
3276 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
3277
4f9d6b8b 32782012-04-15 Jason Merrill <jason@redhat.com>
3279
3280 PR c++/52818
3281 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
3282 (C_STD_NAME): Distinguish between C++98 and C++11.
3283
74bdbe96 32842012-04-11 Eric Botcazou <ebotcazou@adacore.com>
3285
3286 PR target/52624
3287 * c-common.h (uint16_type_node): Rename into...
3288 (c_uint16_type_node): ...this.
3289 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
3290 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
3291
3d177e8c 32922012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
3293
3294 * c-common.c (warn_if_unused_value): Move definition to here.
3295 * c-common.h (warn_if_unused_value): Move declaration to here.
3296
6a9a958f 32972012-03-23 William Bader <williambader@hotmail.com>
3298
3299 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
3300
543efdbe 33012012-03-20 Jason Merrill <jason@redhat.com>
3302
3303 * c-common.h (enum cxx_dialect): Add cxx1y.
3304 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
3305 test.
3306 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3307 * c-opts.c (c_common_post_options): Likewise.
3308 (set_std_cxx1y): New.
3309 (c_common_handle_option): Call it.
3310 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
3311
62206d34 33122012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
3313
3314 PR c++/14710
3315 * c.opt ([Wuseless-cast]): Add.
3316
fadf62f4 33172012-03-16 Richard Guenther <rguenther@suse.de>
3318
3319 * c-pretty-print.c (pp_c_initializer_list): Adjust.
3320
249faa35 33212012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
3322
3323 PR c++/44783
3324 * c.opt (ftemplate-backtrace-limit) Add.
3325
126b6848 33262012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3327
3328 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
3329 handling.
3330 * c-pragma.c (handle_pragma_extern_prefix): Remove.
3331 (init_pragma): Don't register extern_prefix.
3332
a51edb4c 33332012-03-12 Richard Guenther <rguenther@suse.de>
3334
3335 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
3336 (builtin_type_for_size): Likewise.
3337
0f6a7cb7 33382012-02-13 Jakub Jelinek <jakub@redhat.com>
3339
3340 PR c++/52215
3341 * c-common.c (sync_resolve_params): Don't decide whether to convert
3342 or not based on TYPE_SIZE comparison, convert whenever arg_type
3343 is unsigned INTEGER_TYPE.
3344
0779e32c 33452012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
3346
3347 PR c/52118
3348 * c.opt ([Wunused-local-typedefs]): Fix description.
3349
baec58e1 33502012-01-24 Mike Stump <mikestump@comcast.net>
3351
3352 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
3353 exactly.
3354
c779d8cc 33552012-01-18 Richard Guenther <rguenther@suse.de>
3356
3357 * c-opts.c (c_common_post_options): Reset LTO flags if
3358 we are about to generate a PCH.
3359
ee917d24 33602012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
3361
3362 PR c++/51777
3363 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
3364 use pp_unsigned_wide_integer.
3365
90e2341f 33662012-01-10 Richard Guenther <rguenther@suse.de>
3367
3368 PR middle-end/51806
3369 * c-opts.c (c_common_handle_option): Move -Werror handling
3370 to language independent code.
3371
9ea022ce 33722012-01-05 Richard Guenther <rguenther@suse.de>
3373
3374 PR middle-end/51764
3375 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
3376 from common.opt.
3377
3df19e1b 33782011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
3379
3380 PR c++/51316
3381 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
3382 of array types with an unknown bound.
3383
32074525 33842011-12-20 Joseph Myers <joseph@codesourcery.com>
3385
3386 * c-common.c (flag_isoc99): Update comment to refer to C11.
3387 (flag_isoc1x): Change to flag_isoc11.
3388 * c-common.h (flag_isoc99): Update comment to refer to C11.
3389 (flag_isoc1x): Change to flag_isoc11.
3390 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
3391 C11.
3392 * c-opts.c (set_std_c1x): Change to set_std_c11.
3393 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
3394 Call set_std_c11.
3395 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
3396 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
3397 * c.opt (std=c1x): Change to std=c11. Document as non-draft
3398 standard.
3399 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
3400 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
3401 (std=gnu1x): Make alias of std=gnu11.
3402
fca86134 34032011-12-19 Jason Merrill <jason@redhat.com>
3404
3405 PR c++/51228
3406 * c-common.c (handle_transparent_union_attribute): Check the first
3407 field if the type is complete.
3408
aa4313eb 34092011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
3410
3411 PR libstdc++/51365
3412 * c-common.c (RID_IS_FINAL): Add.
3413 * c-common.h (RID_IS_FINAL): Add.
3414
3f3d5ad4 34152011-11-30 Iain Sandoe <iains@gcc.gnu.org>
3416
3417 * c.opt (fgnu-runtime): Provide full description.
3418 (fnext-runtime): Likewise.
3419 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
3420
c4606d19 34212011-11-28 Andrew MacLeod <amacleod@redhat.com>
3422
3423 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
3424 predefines in one place. Add LOCK_FREE predefines.
3425 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
3426 new func.
3427
1d581089 34282011-11-24 Andrew MacLeod <amacleod@redhat.com>
3429
3430 PR c/51256
19931eea 3431 * c-common.c (get_atomic_generic_size): Check for various error
1d581089 3432 conditions
19931eea 3433 (resolve_overloaded_atomic_exchange,
3434 resolve_overloaded_atomic_compare_exchange,
1d581089 3435 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
3436 error_mark_node for error conditions.
19931eea 3437
6aa221fa 34382011-11-08 Richard Guenther <rguenther@suse.de>
3439
3440 PR middle-end/51010
3441 c-family/
3442
4c0315d0 34432011-11-07 Richard Henderson <rth@redhat.com>
3444 Aldy Hernandez <aldyh@redhat.com>
3445 Torvald Riegel <triegel@redhat.com>
3446
3447 Merged from transactional-memory.
3448
3449 * c-common.c (handle_tm_wrap_attribute,
3450 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
3451 (struct c_common_reswords): Added __transaction* keywords.
3452 (struct c_common_attribute_table): Added transaction* and tm_regparm
3453 attributes.
3454 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
3455 masks.
3456 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
3457 find_tm_attribute): Declare.
3458
920f5a70 34592011-11-07 Jason Merrill <jason@redhat.com>
3460
3461 PR c++/35688
3462 * c-common.c, c-common.h: Revert yesterday's changes.
3463
b4f861b4 34642011-11-06 Jason Merrill <jason@redhat.com>
3465
3466 PR c++/35688
3467 * c-common.c (decl_has_visibility_attr): Split out from...
3468 (c_determine_visibility): ...here.
3469 * c-common.h: Declare it.
3470
83e25171 34712011-11-06 Joseph Myers <joseph@codesourcery.com>
3472
3473 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
3474 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
3475 type.
3476 (check_user_alignment): New. Split out of
3477 handle_aligned_attribute. Disallow integer constants with
3478 noninteger types. Conditionally allow zero.
3479 (handle_aligned_attribute): Use check_user_alignment.
3480 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
3481
1cd6e20d 34822011-11-06 Andrew MacLeod <amacleod@redhat.com>
3483 Richard Henderson <rth@redhat.com>
3484
3485 Merged from cxx-mem-model.
3486
3487 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
19931eea 3488 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
1cd6e20d 3489 parameters that are the same type size.
3490 (get_atomic_generic_size): New. Find size of generic
3491 atomic function parameters and do typechecking.
3492 (add_atomic_size_parameter): New. Insert size into parameter list.
3493 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
3494 either __atomic_exchange_n or external library call.
19931eea 3495 (resolve_overloaded_atomic_compare_exchange): Restructure
1cd6e20d 3496 __atomic_compare_exchange to either _n variant or external library call.
19931eea 3497 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
1cd6e20d 3498 __atomic_load_n or an external library call.
3499 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
3500 __atomic_store_n or an external library call.
3501 (resolve_overloaded_builtin): Handle new __atomic builtins.
3502
7549df0d 35032011-11-04 Eric Botcazou <ebotcazou@adacore.com>
3504
3505 PR c++/50608
3506 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
3507 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
3508 <INDIRECT_REF>: Return the argument.
3509 <ARRAY_REF>: Remove special code for negative offset.
3510 Call fold_build_pointer_plus instead of size_binop.
3511 (fold_offsetof): Remove STOP_REF argument and adjust.
3512 * c-common.h (fold_offsetof_1): Declare.
3513 (fold_offsetof): Remove STOP_REF argument.
3514
7e783eb3 35152011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
3516
3517 PR c++/50810
3518 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3519 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3520 Wnarrowing for C++0x and C++98.
3521 * c.opt ([Wnarrowing]): Update.
3522
8fe701f5 35232011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
3524
3525 PR c++/44277
3526 * c.opt: Add Wzero-as-null-pointer-constant.
3527
0d84dc2d 35282011-10-31 Jason Merrill <jason@redhat.com>
3529
67031f52 3530 * c.opt (-fdeduce-init-list): Off by default.
3531
0d84dc2d 3532 PR c++/50920
3533 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
3534 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
3535 and -Wc++11-compat.
3536 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
3537
66f24c41 35382011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
3539
3540 PR c++/30066
3541 * c.opt (fvisibility-inlines-hidden): Description change.
3542
244db24d 35432011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
3544
3545 Implement C++11 user-defined literals.
3546 * c-common.c (build_userdef_literal): New.
3547 * c-common.def: New tree code.
3548 * c-common.h (tree_userdef_literal): New tree struct and accessors.
3549 * c-lex.c (interpret_float): Add suffix parm.
3550 (c_lex_with_flags): Build literal tokens.
3551
235be70f 35522011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3553
3554 PR c++/50841
3555 Revert:
3556 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3557
3558 PR c++/50810
3559 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3560 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3561 Wnarrowing for C++0x and C++98.
3562 * c.opt ([Wnarrowing]): Update.
3563
4fe0fb1c 35642011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
3565
3566 PR c++/50810
3567 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
3568 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
3569 Wnarrowing for C++0x and C++98.
3570 * c.opt ([Wnarrowing]): Update.
3571
5f7504f9 35722011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
3573
3574 PR c++/45385
3575 * c-common.c (conversion_warning): Remove code looking for
3576 artificial operands.
3577
2a688977 35782011-10-18 Dodji Seketeli <dodji@redhat.com>
3579
3580 PR bootstrap/50760
3581 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
19931eea 3582 !NO_IMPLICIT_EXTERN_C.
2a688977 3583
326e3391 35842011-10-17 Michael Spertus <mike_spertus@symantec.com>
3585
3586 * c-common.c (c_common_reswords): Add __bases,
3587 __direct_bases.
3588 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
3589
35902011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
3591
3592 PR c++/50757
3593 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
3594
62db153a 35952011-10-15 Tom Tromey <tromey@redhat.com>
3596 Dodji Seketeli <dodji@redhat.com>
3597
3598 * c.opt (fdebug-cpp): New option.
3599 * c-opts.c (c_common_handle_option): Handle the option.
3600 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
3601 output stream in parameter. Factorized from ...
3602 (maybe_print_line): ... this. Dump location debug information when
3603 -fdebug-cpp is in effect.
3604 (print_line_1): New static function. Takes an output stream in
3605 parameter. Factorized from ...
3606 (print_line): ... here. Dump location information when -fdebug-cpp
3607 is in effect.
3608 (scan_translation_unit): Dump location information when
3609 -fdebug-cpp is in effect.
3610
ce70f433 36112011-10-15 Tom Tromey <tromey@redhat.com>
3612 Dodji Seketeli <dodji@redhat.com>
3613
3614 * c.opt (ftrack-macro-expansion): New option. Handle it with and
3615 without argument.
3616 * c-opts.c (c_common_handle_option)<case
3617 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
3618 cases. Handle -ftrack-macro-expansion with and without argument.
3619
97bfb9ef 36202011-10-15 Tom Tromey <tromey@redhat.com>
3621 Dodji Seketeli <dodji@redhat.com>
3622
3623 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
3624 (print_line, cb_define, do_line_change): Adjust to avoid touching
3625 the internals of struct line_map. Use the public API instead.
3626 * c-pch.c (c_common_read_pch): Likewise.
3627 * c-lex.c (fe_file_change): Likewise.
3628
326e3391 36292011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
3630
3631 PR c++/17212
3632 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
3633
36342011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
3635
3636 PR c++/33067
3637 * c-pretty-print.c (pp_c_floating_constant): Output
3638 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
3639
b9a16870 36402011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
3641
3642 * c-common.c (def_builtin_1): Delete old interface with two
3643 parallel arrays to hold standard builtin declarations, and replace
3644 it with a function based interface that can support creating
3645 builtins on the fly in the future. Change all uses, and poison
3646 the old names. Make sure 0 is not a legitimate builtin index.
3647 * c-omp.c (c_finish_omp_barrier): Ditto.
3648 (c_finish_omp_taskwait): Ditto.
3649 (c_finish_omp_flush): Ditto.
3650
c7964868 36512011-10-11 Tristan Gingold <gingold@adacore.com>
3652
3653 * c.opt: (fallow-parameterless-variadic-functions): New.
3654
a4e3ffad 36552011-09-08 Dodji Seketeli <dodji@redhat.com>
3656
3657 PR c++/33255 - Support -Wunused-local-typedefs warning
3658 * c-common.h (struct c_language_function::local_typedefs): New
3659 field.
19931eea 3660 (record_locally_defined_typedef, maybe_record_typedef_use)
3661 (maybe_warn_unused_local_typedefs): Declare new functions.
a4e3ffad 3662 * c-common.c (record_locally_defined_typedef)
19931eea 3663 (maybe_record_typedef_use)
3664 (maybe_warn_unused_local_typedefs): Define new functions.
a4e3ffad 3665 * c.opt: Declare new -Wunused-local-typedefs flag.
3666
737a23cc 36672011-09-06 Eric Botcazou <ebotcazou@adacore.com>
3668
3669 PR middle-end/50266
3670 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
3671 computations.
3672
7542c3b4 36732011-09-05 Richard Guenther <rguenther@suse.de>
3674
3675 * c-common.c (complete_array_type): Use ssize_int (-1) instead
3676 of integer_minus_one_node for empty array upper bounds.
3677
1dc92c59 36782011-08-28 Dodji Seketeli <dodji@redhat.com>
3679
3680 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
3681 it's the first time it's being called on this main TU.
3682
2bdf2b6e 36832011-08-24 Richard Guenther <rguenther@suse.de>
3684
3685 PR c/49396
3686 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
3687
36882011-08-22 Gabriel Charette <gchare@google.com>
6ea2c7a3 3689
3690 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
3691 defined in cpp_init_builtins and c_cpp_builtins.
3692
bff4ad11 36932011-08-19 Joseph Myers <joseph@codesourcery.com>
3694
3695 * c-common.c (c_common_reswords): Add __builtin_complex.
3696 * c-common.h (RID_BUILTIN_COMPLEX): New.
3697
985c6e3a 36982011-08-18 Joseph Myers <joseph@codesourcery.com>
3699
3700 * c-common.c (c_common_reswords): Add _Noreturn.
3701 (keyword_is_function_specifier): Handle RID_NORETURN.
3702 * c-common.h (RID_NORETURN): New.
3703
7dfa155b 37042011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
3705
3706 * c-common.c (unsafe_conversion_p): New function. Check if it is
3707 unsafe to convert an expression to the type.
3708 (conversion_warning): Adjust, use unsafe_conversion_p.
3709 * c-common.h (unsafe_conversion_p): New function declaration.
3710
2169f33b 37112011-08-02 Jakub Jelinek <jakub@redhat.com>
3712
3713 * c-common.h (c_finish_omp_atomic): Adjust prototype.
3714 (c_finish_omp_taskyield): New prototype.
3715 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
3716 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
3717 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
3718 or RHS1 have side-effects, evaluate those too in the right spot,
3719 if it is a decl and LHS is also a decl, error out if they
3720 aren't the same.
3721 (c_finish_omp_taskyield): New function.
3722 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
3723 * c-pragma.c (omp_pragmas): Add taskyield.
3724 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
3725 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
3726 PRAGMA_OMP_CLAUSE_MERGEABLE.
3727
ab77850e 37282011-07-25 Dodji Seketeli <dodji@redhat.com>
3729
3730 * c-common.h (set_underlying_type): Remove parm name from
3731 declaration.
3732
6ee97920 37332011-07-25 Romain Geissler <romain.geissler@gmail.com>
3734
3735 * c-pretty-print.h: Search c-common.h in c-family.
19931eea 3736
dc251364 37372011-07-22 Jason Merrill <jason@redhat.com>
3738
1a2a35f0 3739 PR c++/49793
3740 * c.opt (Wnarrowing): New.
3741
27282252 3742 PR c++/30112
3743 * c-common.h: Declare c_linkage_bindings.
3744 * c-pragma.c (handle_pragma_redefine_extname): Use it.
3745
dc251364 3746 PR c++/49813
3747 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
3748 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
3749 as flag_isoc99 for 'restrict'.
3750 (pp_c_specifier_qualifier_list): Likewise for _Complex.
3751
fc501191 37522011-07-21 Ian Lance Taylor <iant@google.com>
3753
3754 PR middle-end/49705
3755 * c-common.c (c_disable_warnings): New static function.
3756 (c_enable_warnings): New static function.
3757 (c_fully_fold_internal): Change local unused_p to bool. Call
3758 c_disable_warnings and c_enable_warnings rather than change
3759 c_inhibit_evaluation_warnings.
3760
07b8f133 37612011-07-20 Jason Merrill <jason@redhat.com>
3762
3763 PR c++/6709 (DR 743)
3764 PR c++/42603 (DR 950)
3765 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
3766 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
3767 (CPP_DECLTYPE): New.
3768 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
3769
2cc66f2a 37702011-07-19 Richard Guenther <rguenther@suse.de>
3771
3772 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
3773 * c-omp.c (c_finish_omp_for): Likewise.
3774
3c802a1e 37752011-07-12 Eric Botcazou <ebotcazou@adacore.com>
3776
3777 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
3778 body on the next line.
3779
98a33d9f 37802011-07-08 Jason Merrill <jason@redhat.com>
3781
3115bda0 3782 PR c++/45437
3783 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
3784
98a33d9f 3785 PR c++/49673
3786 * c-common.c (c_apply_type_quals_to_decl): Don't check
3787 TYPE_NEEDS_CONSTRUCTING.
3788
c38a75b7 37892011-07-06 Richard Guenther <rguenther@suse.de>
3790
3791 * c-common.c (c_common_nodes_and_builtins):
3792 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
3793
e593356b 37942011-07-05 Richard Guenther <rguenther@suse.de>
3795
3796 * c-common.c (c_common_nodes_and_builtins): Build all common
3797 tree nodes first.
3798
fca0886c 37992011-06-27 Jakub Jelinek <jakub@redhat.com>
3800
a68f7a8d 3801 * c-common.h (c_tree_chain_next): New static inline function.
3802
fca0886c 3803 * c-common.c (check_builtin_function_arguments): Handle
3804 BUILT_IN_ASSUME_ALIGNED.
3805
2797f13a 38062011-06-21 Andrew MacLeod <amacleod@redhat.com>
3807
3808 * c-common.c: Add sync_ or SYNC__ to builtin names.
3809 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9cad95b7 3810
38112011-06-20 Pierre Vittet <piervit@pvittet.com>
3812
3813 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
3814 handler.
3815 (gen_pragma_handler): New union.
3816 (internal_pragma_handler): New type.
3817 (c_register_pragma_with_data)
3818 (c_register_pragma_with_expansion_and_data): New functions.
3819
3820 * c-pragma.c (registered_pragmas, c_register_pragma_1)
3821 (c_register_pragma, c_register_pragma_with_expansion)
3822 (c_invoke_pragma_handler): Changed to work with
3823 internal_pragma_handler.
3824 (c_register_pragma_with_data)
3825 (c_register_pragma_with_expansion_and_data): New functions.
3826
218e3e4e 38272011-06-14 Joseph Myers <joseph@codesourcery.com>
3828
3829 * c-common.c: Include common/common-target.h.
3830 (handle_section_attribute): Use
3831 targetm_common.have_named_sections.
3832 * c-cppbuiltin.c: Include common/common-target.h.
3833 (c_cpp_builtins): Use targetm_common.except_unwind_info.
3834
41e53ed2 38352011-06-10 Richard Guenther <rguenther@suse.de>
3836
3837 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
3838 to print a IDENTIFIER_NODE.
3839
a6f06169 38402011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3841 Joseph Myers <joseph@codesourcery.com>
3842
3843 * c.opt (fbuilding-libgcc): New option.
3844 * c-cppbuiltin.c (c_cpp_builtins): Define
3845 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
3846
1ea9269b 38472011-06-07 Jason Merrill <jason@redhat.com>
3848
8ce59854 3849 * c-common.c (max_tinst_depth): Lower default to 900.
3850
1ea9269b 3851 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
3852
1af0124d 38532011-06-07 Richard Guenther <rguenther@suse.de>
3854
3855 * c-common.c (c_common_nodes_and_builtins): Do not set
3856 size_type_node or call set_sizetype.
3857
0e9a4c01 38582011-06-07 Dodji Seketeli <dodji@redhat.com>
3859
3860 PR debug/49130
3861 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
19931eea 3862 type when using pointer comparison to compare types.
0e9a4c01 3863
90b40725 38642011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
3865
3866 * c.opt: Add -Wdelete-non-virtual-dtor.
3867 * c-opts.c (c_common_handle_option): Include it in -Wall.
3868
fc9c9e87 38692011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
3870
3871 PR bootstrap/49190
3872
3873 Revert:
3874 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3875
3876 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3877 not tree_common.
3878
d0389adc 38792011-05-27 Jakub Jelinek <jakub@redhat.com>
3880
3881 PR c++/49165
3882 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
3883 C++ don't call c_common_truthvalue_conversion on void type arms.
3884
cacfdc02 38852011-05-27 Nathan Froyd <froydnj@codesourcery.com>
3886
3887 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
3888 (stmt_list_stack): Define.
3889 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
3890 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
3891
027fc6ef 38922011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3893
3894 * c-common.c (warning_candidate_p): Check for BLOCKs.
3895
f21317a1 38962011-05-26 Nathan Froyd <froydnj@codesourcery.com>
3897
3898 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
3899 not tree_common.
3900
789e953d 39012011-05-25 Jakub Jelinek <jakub@redhat.com>
3902
3903 * c-common.c (def_fn_type): Remove extra va_end.
3904
7f506bca 39052011-05-23 Jason Merrill <jason@redhat.com>
3906
3907 PR c++/48106
3908 * c-common.c (c_common_get_narrower): New.
3909 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
3910
774e9d58 39112011-05-23 Nathan Froyd <froydnj@codesourcery.com>
3912
3913 * c-common.h (check_function_arguments): Tweak prototype of
3914 check_function_arguments.
3915 * c-common.c (check_function_arguments): Likewise. Adjust
3916 calls to check_function_nonnull, check_function_format, and
3917 check_function_sentinel.
3918 (check_function_sentinel): Take a FUNCTION_TYPE rather than
3919 separate attributes and typelist arguments. Use
3920 FOREACH_FUNCTION_ARGS to iterate over argument types.
3921
23407dc9 39222011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
3923
3924 * c-common.c (c_common_reswords): Reorder.
3925 * c-common.h (rid): Likewise.
3926
3a939d12 39272011-05-10 Nathan Froyd <froydnj@codesourcery.com>
3928
3929 * c-common.c (def_fn_type): Don't call build_function_type, call
3930 build_function_type_array or build_varargs_function_type_array
3931 instead.
3932 (c_common_nodes_and_builtins): Likewise.
3933
b6e3dd65 39342011-05-05 Nathan Froyd <froydnj@codesourcery.com>
3935
3936 * c-common.c (c_add_case_label): Omit the loc argument to
3937 build_case_label.
3938 * c-common.h (build_case_label): Remove.
3939 * c-semantics.c (build_case_label): Remove.
3940
4232a958 39412011-05-05 Joseph Myers <joseph@codesourcery.com>
3942
3943 * c-objc.h (objc_start_method_definition): Update prototype.
3944 * stub-objc.c (objc_start_method_definition): Add extra parameter.
3945
d0af78c5 39462011-05-04 Nathan Froyd <froydnj@codesourcery.com>
3947
3948 * c-common.c (check_main_parameter_types): Reindent. Don't use
3949 TYPE_ARG_TYPES directly.
3950 (handle_nonnull_attribute): Likewise.
3951 (sync_resolve_params): Likewise.
3952 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
3953 to check_format_string.
3954 (handle_format_attribute): Likewise.
3955 (check_format_string): Take a function type to examine instead of
3956 a type list. Use a function_arg_iterator to step through argument
3957 types.
3958
ceb7b692 39592011-05-04 Richard Guenther <rguenther@suse.de>
3960
3961 * c-common.c (fix_string_type): Use size_int for index type bounds.
3962 (start_fname_decls): Do not pass NULL to build_int_cst.
3963 (c_init_attributes): Likewise.
3964 * c-lex.c (c_lex_with_flags): Likewise.
3965
c66c81be 39662011-04-27 Jason Merrill <jason@redhat.com>
3967
3968 * c-common.c (make_tree_vector_from_list): New.
3969 * c-common.h: Declare it.
3970
16930c72 39712011-04-26 Richard Guenther <rguenther@suse.de>
3972
3973 PR preprocessor/48248
3974 * c-ppoutput.c (maybe_print_line): Always optimize newlines
3975 for output size with -P.
3976
23407dc9 39772011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
3978
3979 * c-common.c (struct c_common_resword): Add __underlying_type.
3980 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
3981
dd045aee 39822011-04-20 Jim Meyering <meyering@redhat.com>
3983
3984 * c-format.c (init_dollar_format_checking): Remove useless
3985 if-before-free.
3986
394dd737 39872011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
3988
3989 * c-objc.h (objc_get_interface_ivars): Removed.
23407dc9 3990 (objc_detect_field_duplicates): New.
394dd737 3991 * stub-objc.c: Likewise.
23407dc9 3992
a758bf7d 39932011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
3994
3995 * stub-objc.c (objc_declare_protocols): Renamed to
3996 objc_declare_protocol.
3997 * c-objc.h: Likewise.
23407dc9 3998
29d7200d 39992011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
4000
4001 * stub-objc.c (objc_declare_class): Updated argument name.
4002
9b88d08d 40032011-04-12 Nathan Froyd <froydnj@codesourcery.com>
4004
4005 * c-common.h (c_common_init_ts): Declare.
4006 * c-common.c (c_common_init_ts): Define.
4007
4185cf58 40082011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
4009
4010 * c-objc.h (objc_build_message_expr): Updated prototype.
4011 * stub-objc.c (objc_build_message_expr): Likewise.
19931eea 4012
5a90471f 40132011-04-12 Martin Jambor <mjambor@suse.cz>
4014
4015 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
4016 of cgraph_node.
4017
783bb57e 40182011-04-11 Richard Guenther <rguenther@suse.de>
4019
4020 * c-common.c (complete_array_type): Build a range type of
4021 proper type.
4022
c33080b9 40232011-04-08 Nathan Froyd <froydnj@codesourcery.com>
4024
4025 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
4026 (handle_type_generic_attribute): Likewise.
4027
f8913d47 40282011-04-07 Jason Merrill <jason@redhat.com>
4029
4030 PR c++/48450
4031 * c-common.c (c_common_truthvalue_conversion): Don't ignore
4032 conversion from C++0x scoped enum.
4033
c94b1d0e 40342011-04-06 Joseph Myers <joseph@codesourcery.com>
4035
4036 * c-target-def.h: New file.
4037 * c-target.def: New file.
4038 * c-target.h: New file.
4039 * c-common.c (targetcm): Don't define here.
4040 * c-common.h (default_handle_c_option): Declare.
4041 * c-format.c: Include c-target.h instead of target.h.
4042 * c-opts.c: Include c-target.h instead of target.h. Explicitly
4043 include tm.h.
4044 (default_handle_c_option): Move from targhooks.c.
4045
acb10f41 40462011-03-29 Jakub Jelinek <jakub@redhat.com>
4047
4048 PR preprocessor/48248
4049 * c-ppoutput.c (print): Add src_file field.
4050 (init_pp_output): Initialize it.
4051 (maybe_print_line): Don't optimize by adding up to 8 newlines
4052 if map->to_file and print.src_file are different file.
4053 (print_line): Update print.src_file.
4054
82715bcd 40552011-03-25 Kai Tietz <ktietz@redhat.com>
4056
4057 * c-ada-spec.c (compare_comment): Use filename_cmp
4058 instead of strcmp for filename.
4059
451c8e2f 40602011-03-25 Jeff Law <law@redhat.com>
4061
1f78217c 4062 * c-common.c (def_fn_type): Add missing va_end.
451c8e2f 4063
3c47771c 40642011-03-25 Jason Merrill <jason@redhat.com>
4065
4066 * c.opt: Add -std=c++03.
4067
97e6200f 40682011-03-22 Eric Botcazou <ebotcazou@adacore.com>
4069
4070 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
4071
ac86af5d 40722011-03-17 Kai Tietz
4073
4074 PR target/12171
ee212425 4075 * c-pretty-print.c (pp_c_specifier_qualifier_list):
4076 Display allowed attributes for function pointer types.
4077 (pp_c_attributes_display): New function to display
4078 attributes having affects_type_identity flag set to true.
4079 * c-pretty-print.h (pp_c_attributes_display): New prototype.
4080
ac86af5d 4081 * c-common.c (c_common_attribute_table):
4082 Add new element.
4083 (c_common_format_attribute_table): Likewise.
4084
914d1151 40852011-03-18 Jason Merrill <jason@redhat.com>
4086
69788bdf 4087 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
4088 * c-common.h: Don't declare it here.
4089 * c-common.c: Or define it here.
4090 * c-opts.c (c_common_handle_option): Or set it here.
4091
914d1151 4092 PR c++/35315
4093 * c-common.c (handle_transparent_union_attribute): Don't
4094 make a duplicate type in C++.
4095
54cf6eed 40962011-03-15 Jason Merrill <jason@redhat.com>
4097
4098 * c-common.c (max_constexpr_depth): New.
4099 * c-common.h: Declare it.
4100 * c-opts.c (c_common_handle_option): Set it.
4101 * c.opt (fconstexpr-depth): New option.
4102
02cb1060 41032011-03-11 Jason Merrill <jason@redhat.com>
4104
9bf1c74e 4105 * c-common.c (attribute_takes_identifier_p): Add missing const.
4106
02cb1060 4107 PR c++/46803
4108 * c-common.c (attribute_takes_identifier_p): Assume that an
4109 unknown attribute takes an identifier.
4110
ecf2703d 41112011-03-07 Nathan Froyd <froydnj@codesourcery.com>
4112
4113 PR c/47786
4114 * c-common.c (c_type_hash): Call list_length instead of iterating
4115 through DECL_CHAIN. Rename 'i' to 'n_elements'.
4116
2b19dfe4 41172011-02-19 Jakub Jelinek <jakub@redhat.com>
4118
4119 PR c/47809
4120 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
4121
29cf2335 41222011-02-17 Iain Sandoe <iains@gcc.gnu.org>
4123
4124 * c.opt (fobjc-abi-version=) New.
4125 (fobjc-nilcheck): New.
4126
fad3f658 41272011-02-03 Nathan Froyd <froydnj@codesourcery.com>
4128
4129 PR c++/46890
4130 * c-common.h (keyword_is_decl_specifier): Declare.
4131 * c-common.c (keyword_is_decl_specifier): Define.
4132 (keyword_is_function_specifier): New function.
4133
a12319b3 41342011-01-26 Jakub Jelinek <jakub@redhat.com>
4135
4136 PR c/47473
4137 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
4138 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
4139 REAL_TYPE.
4140
5c128dc8 41412011-01-26 Arnaud Charlet <charlet@adacore.com>
4142
4143 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
4144
8d67b0c7 41452011-01-26 Jakub Jelinek <jakub@redhat.com>
4146
4147 PR pch/47430
4148 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
4149 after init_c_lex if pch_file is set.
4150
0675168d 41512011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
4152
e8911163 4153 PR c++/43601
0675168d 4154 * c.opt (-fkeep-inline-dllexport): New switch.
4155
0725e25c 41562011-01-12 Richard Guenther <rguenther@suse.de>
4157
4158 PR middle-end/32511
4159 * c-common.c (handle_weak_attribute): Warn instead of error
4160 on declaring an inline function weak.
4161
fdd84b77 41622011-01-05 Tom Tromey <tromey@redhat.com>
4163
4164 * c-common.h (lvalue_error): Update.
4165 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
4166 not error.
4167
e6e73d14 41682010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
19931eea 4169
d67e8485 4170 PR objc/47075
4171 * c-objc.h (objc_finish_message_expr): Added argument to
4172 prototype.
4173
a36cf284 41742010-12-22 Nathan Froyd <froydnj@codesourcery.com>
4175
4176 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
4177 Use prototype_p.
4178
33b3681f 41792010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
4180
4181 * c-objc.h (objc_maybe_warn_exceptions): New.
19931eea 4182 * stub-objc.c (objc_maybe_warn_exceptions): New.
33b3681f 4183
a1f90215 41842010-12-10 Nathan Froyd <froydnj@codesourcery.com>
4185
4186 * c-common.h (readonly_error): Declare.
4187 * c-common.c (readonly_error): Define.
4188
b1bbc8e5 41892010-12-09 Nathan Froyd <froydnj@codesourcery.com>
4190
4191 * c-common.h (invalid_indirection_error): Declare.
4192 * c-common.c (invalid_indirection_error): Define.
4193
b0d55af9 41942010-12-03 Richard Guenther <rguenther@suse.de>
4195
4196 PR c/46745
4197 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
4198 (pp_c_unary_expression): Likewise.
4199 (pp_c_expression): Likewise.
4200
d7489d8d 42012010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
4202
4203 * c-common.h (objc_finish_function): New.
4204 (objc_non_volatilized_type): Removed.
4205 (objc_type_quals_match): Removed.
4206 * stub-objc.c (objc_finish_function): New.
4207 (objc_non_volatilized_type): Removed.
4208 (objc_type_quals_match): Removed.
19931eea 4209
92468061 42102010-11-30 Joseph Myers <joseph@codesourcery.com>
4211
4212 * c-common.h (parse_optimize_options): Declare.
4213 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
4214 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
4215
967958e4 42162010-11-29 Joseph Myers <joseph@codesourcery.com>
4217
4218 * c-opts.c (check_deps_environment_vars): Use getenv instead of
4219 GET_ENVIRONMENT.
4220 * c-pch.c (O_BINARY): Don't define here.
4221 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
4222
b213bf24 42232010-11-25 Joseph Myers <joseph@codesourcery.com>
4224
4225 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
4226 targetm.except_unwind_info.
4227
9faf44d6 42282010-11-23 Joseph Myers <joseph@codesourcery.com>
4229
4230 * c-opts.c (c_common_handle_option): Pass location to
4231 set_struct_debug_option.
4232
79396169 42332010-11-23 Joseph Myers <joseph@codesourcery.com>
4234
4235 * c-common.c (visibility_options): Move from ../opts.c.
4236 * c-common.h (struct visibility_flags, visibility_options):
4237 Declare here.
4238 * c-opts.c (finish_options): Rename to c_finish_options.
4239 (c_common_init): Update call to finish_options.
4240
b4aa4123 42412010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
4242
4243 PR objc/34033
4244 * c-lex.c (lex_string): Check that each string in an Objective-C
4245 string concat sequence starts with either one or zero '@', and
4246 that there are no spurious '@' signs at the end.
4247
3e0e49f2 42482010-11-20 Joseph Myers <joseph@codesourcery.com>
4249
4250 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
4251 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
4252 HANDLE_PRAGMA_VISIBILITY.
4253 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
4254 HANDLE_PRAGMA_VISIBILITY): Don't define.
4255 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
4256
a9ffdd35 42572010-11-20 Nathan Froyd <froydnj@codesourcery.com>
4258
4259 PR c++/16189
4260 PR c++/36888
4261 PR c++/45331
4262 * c-common.h (keyword_begins_type_specifier): Declare.
4263 (keyword_is_storage_class_specifier): Declare.
4264 (keyword_is_type_qualifier): Declare.
4265 * c-common.c (keyword_begins_type_specifier): New function.
4266 (keyword_is_storage_class_specifier): New function.
4267 (keyword_is_type_qualifier): Declare.
4268
93be21c0 42692010-11-19 Joseph Myers <joseph@codesourcery.com>
4270
4271 PR c/46547
4272 * c-common.c (in_late_binary_op): Define.
4273 (c_common_truthvalue_conversion): Check in_late_binary_op before
4274 calling c_save_expr.
4275 * c-common.h (in_late_binary_op): Declare.
4276
d7175aef 42772010-11-19 Joseph Myers <joseph@codesourcery.com>
4278
4279 * c-opts.c (c_common_handle_option): Update calls to
4280 set_struct_debug_option.
4281
c213e196 42822010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
4283
4284 * c-common.h (objc_declare_protocols): Added additional argument.
4285 * stub-objc.c (objc_declare_protocol): Same change.
19931eea 4286
0b5fc5d6 42872010-11-18 Nathan Froyd <froydnj@codesourcery.com>
4288
4289 PR c/33193
4290 * c-common.h (build_real_imag_expr): Declare.
4291 * c-semantics.c (build_real_imag_expr): Define.
4292
b8ba44e7 42932010-11-17 Joseph Myers <joseph@codesourcery.com>
4294
4295 * c-opts.c (c_common_parse_file): Take no arguments.
4296 * c-common.h (c_common_parse_file): Update prototype.
4297
6ef8d12f 42982010-11-16 Jakub Jelinek <jakub@redhat.com>
4299
4300 PR c++/46401
4301 * c-common.c (warning_candidate_p): Don't track non-const calls
4302 or STRING_CSTs.
4303
929d2a90 43042010-11-15 Ian Lance Taylor <iant@google.com>
4305
4306 * c-lex.c (init_c_lex): Set macro debug callbacks if
4307 flag_dump_go_spec is set.
4308
e4a7640a 43092010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
4310
4311 * c-common.h (objc_build_incr_expr_for_property_ref): New.
4312 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
4313
597d2d81 43142010-11-15 Nathan Froyd <froydnj@codesourcery.com>
4315
4316 PR preprocessor/45038
4317 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
4318 dialects.
4319
c123f04d 43202010-11-12 Joseph Myers <joseph@codesourcery.com>
4321
4322 * c-common.h (c_family_lang_mask): Declare.
4323 * c-opts.c (c_family_lang_mask): Make extern.
4324 * c-pragma.c (handle_pragma_diagnostic): Use
4325 control_warning_option.
4326
3c6c0e40 43272010-11-12 Joseph Myers <joseph@codesourcery.com>
4328
4329 * c-common.c (parse_optimize_options): Update call to
4330 decode_options.
4331 * c-common.h (c_common_handle_option): Update prototype.
4332 * c-opts.c (c_common_handle_option): Take location_t parameter and
4333 pass it to other functions.
4334
19ec5c9e 43352010-11-11 Joseph Myers <joseph@codesourcery.com>
4336
4337 * c-opts.c (warning_as_error_callback): Remove.
4338 (c_common_initialize_diagnostics): Don't call
4339 register_warning_as_error_callback.
4340 (c_common_handle_option): Handle -Werror=normalized= here.
4341
bf776685 43422010-11-10 Joseph Myers <joseph@codesourcery.com>
4343
4344 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
4345 in diagnostic.
4346 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
4347 letter.
4348 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
4349 Remove trailing '.' from diagnostics.
4350 * c.opt (Wwrite-strings_: Avoid '`' in help text.
4351
6bd9d862 43522010-11-10 Joseph Myers <joseph@codesourcery.com>
4353
4354 * c-common.c (parse_optimize_options): Pass global_dc to
4355 decode_options.
4356 * c-opts.c (c_common_handle_option): Pass &global_options to
4357 set_Wstrict_aliasing.
4358 * c.opt (v): Don't mark Common or document here.
4359
1f6616ee 43602010-11-06 Iain Sandoe <iains@gcc.gnu.org>
4361
4362 PR target/44981
4363 * c-format.c (format_type): New type gcc_objc_string_format_type.
4364 (valid_stringptr_type_p): New.
4365 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
19931eea 4366 (check_format_string): Pass expected type, use
1f6616ee 4367 valid_stringptr_type_p (), check that the format string types are
4368 consistent with the format specification.
4369 (decode_format_attr): Warn if NSString is used outside objective-c.
4370 (format_types_orig): Add NSString.
4371 (format_name): New.
4372 (format_flags): New.
4373 (check_format_arg): Handle format strings requiring an external parser.
4374 first_target_format_type: New variable.
4375 (handle_format_attribute): Set up first_target_format_type, pass the
4376 expected format arg string type to check_format_string().
4377 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
4378 * stub-objc.c (objc_string_ref_type_p): New.
4379 (objc_check_format_arg): New.
4380
b0d0931f 43812010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
4382
19931eea 4383 Fixed using the Objective-C 2.0 dot-syntax with class names.
b0d0931f 4384 * c-common.h (objc_build_class_component_ref): New.
4385 * stub-objc.c (objc_build_class_component_ref): New.
4386
f26877d5 43872010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4388
4389 * c.opt (Wproperty-assign-default): New option.
4390
1ef143b6 43912010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
4392
4393 Implemented -fobjc-std=objc1 flag.
4394 * c.opt (fobjc-std=objc1): New option.
4395
8c582e4f 43962010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
4397
4398 Implemented format and noreturn attributes for Objective-C methods.
4399 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
4400 attribute for Objective-C methods.
4401
8637f1db 44022010-10-31 Jason Merrill <jason@redhat.com>
4403
4404 * c-common.c (conversion_warning, warn_for_collisions_1): Use
4405 EXPR_LOC_OR_HERE.
4406
9d9f5bb3 44072010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
4408
4409 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
4410 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
4411 (objc_add_property_declaration): Removed arguments for copies and
4412 ivar.
4413 (objc_build_getter_call): Renamed to
4414 objc_maybe_build_component_ref.
4415 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4416 (objc_is_property_ref): New.
4417 * c-common.c (c_common_reswords): Removed copies and ivar.
4418 * stub-objc.c (objc_add_property_declaration): Removed arguments
4419 for copies and ivar.
4420 (objc_build_getter_call): Renamed to
4421 objc_maybe_build_component_ref.
4422 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
4423 (objc_is_property_ref): New.
19931eea 4424
56f907a0 44252010-10-29 Arnaud Charlet <charlet@adacore.com>
4426 Matthew Gingell <gingell@adacore.com>
4427
4428 * c-ada-spec.c (separate_class_package): New function.
4429 (pp_ada_tree_identifier): Prefix references to C++ classes with the
4430 name of their enclosing package.
4431 (print_ada_declaration): Use separate_class_package.
4432
b5fa273e 44332010-10-27 Jason Merrill <jason@redhat.com>
4434
5290e253 4435 * c-common.c (c_common_reswords): Add __is_literal_type.
4436 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
4437
b5fa273e 4438 * c-common.c (check_case_value): Remove special C++ code.
4439
7590f0e5 44402010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4441
4442 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
4443 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
4444 and RID_LAST_PATTR.
4445 (objc_add_property_declaration): Added additional arguments.
4446 (objc_property_attribute_kind): Removed.
4447 (objc_set_property_attr): Removed.
4448 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
4449 copy and nonatomic.
4450 * stub-objc.c (objc_add_property_declaration): Added additional
4451 arguments.
4452 (objc_set_property_attr): Removed.
19931eea 4453
1d894bcf 44542010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
4455
4456 * c-common.h (objc_add_property_variable): Renamed to
4457 objc_add_property_declaration. Added location argument.
4458 * stub-objc.c (objc_add_property_variable): Same change.
4459
e23bf1fb 44602010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
4461
4462 * c-common.h (objc_maybe_printable_name): New.
4463 * stub-objc.c (objc_maybe_printable_name): New.
4464
93426222 44652010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
4466 Andrew Pinski <pinskia@gmail.com>
4467
4468 * c-common.h (c_common_mark_addressable_vec): Declare.
4469 * c-common.c (c_common_mark_addressable_vec): New function.
4470
45b2b110 44712010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4472
4473 * c-common.h (objc_set_method_type): Removed.
4474 (objc_add_method_declaration): Added boolean argument.
4475 (objc_start_method_definition): Same change.
4476 (objc_build_method_signature): Same change.
4477 * stub-objc.c (objc_set_method_type): Removed.
4478 (objc_add_method_declaration): Added boolean argument.
4479 (objc_start_method_definition): Same change.
4480 (objc_build_method_signature): Same change.
4481
64cd9619 44822010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
4483
4484 * c-common.h (finish_file): Removed.
4485 (objc_write_global_declarations): New.
4486 * c-opts.c (c_common_parse_file): Do not call finish_file.
4487 * stub-objc.c (objc_write_global_declarations): New.
19931eea 4488
e1f293c0 44892010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4490
4491 Implemented parsing @synthesize and @dynamic for
4492 Objective-C/Objective-C++.
4493 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
4494 (objc_add_synthesize_declaration): New.
4495 (objc_add_dynamic_declaration): New.
4496 * c-common.c (c_common_reswords): Add synthesize and dynamic.
4497 * stub-objc.c (objc_add_synthesize_declaration): New.
4498 (objc_add_dynamic_declaration): New.
19931eea 4499
ef97a312 45002010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4501
4502 PR target/46041
4503 * c-cppbuiltin.c (mode_has_fma): Move function here from
4504 builtins.c. Don't use the fma optab, instead just use the
4505 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
4506 using -save-temps.
4507
69b07042 45082010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
4509
4510 Merge from 'apple/trunk' branch on FSF servers.
ef97a312 4511
69b07042 4512 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
4513
19931eea 4514 Radar 4330422
69b07042 4515 * c-common.h (objc_non_volatilized_type): New declaration
4516 * stub-objc.c (objc_non_volatilized_type): New stub.
4517
f15f2e56 45182010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
4519
69b07042 4520 Merge from 'apple/trunk' branch on FSF servers.
f15f2e56 4521
4522 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
4523
19931eea 4524 Radar 4133425
f15f2e56 4525 * c-common.h (objc_diagnose_private_ivar): New decl.
ef97a312 4526 * stub-objc.c (objc_diagnose_private_ivar): New stub.
f15f2e56 4527
4a8875ed 45282010-10-17 Iain Sandoe <iains@gcc.gnu.org>
4529
4530 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
4531 * c-common.h (enum rid): Add RID_AT_PACKAGE.
4532 (objc_ivar_visibility_kind): New enum.
4533 (objc_set_visibility): Adjust prototype to use visibility enum.
ef97a312 4534 * stub-objc.c (objc_set_visibility): Adjust stub to use
4a8875ed 4535 visibility enum.
4536
7e0713b1 45372010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
4538
4539 * c-cppbuiltin.c (builtin_define_float_constants): Emit
4540 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
4541 has the appropriate fma builtins.
4542 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
4543
86c110ac 45442010-10-14 Iain Sandoe <iains@gcc.gnu.org>
4545
7e0713b1 4546 merge from FSF apple 'trunk' branch.
86c110ac 4547 2006 Fariborz Jahanian <fjahanian@apple.com>
7e0713b1 4548
86c110ac 4549 Radars 4436866, 4505126, 4506903, 4517826
4550 * c-common.c (c_common_resword): Define @property and its attributes.
4551 * c-common.h: Define property attribute enum entries.
4552 (OBJC_IS_PATTR_KEYWORD): New.
4553 (objc_property_attribute_kind): New enum.
4554 Declare objc_set_property_attr (), objc_add_property_variable (),
4555 objc_build_getter_call () and objc_build_setter_call ().
4556 * stub-objc.c (objc_set_property_attr): New stub.
4557 (objc_add_property_variable): Likewise.
4558 (objc_build_getter_call): Likewise.
4559 (objc_build_setter_call) Likewise.
7e0713b1 4560
40c8d1dd 45612010-10-13 Iain Sandoe <iains@gcc.gnu.org>
4562
7e0713b1 4563 merge from FSF apple 'trunk' branch.
40c8d1dd 4564 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
4565
4566 Radar 3803157 (method attributes)
4567 * c-common.c (handle_deprecated_attribute): Recognize
4568 objc methods as valid declarations.
4569 * c-common.h: Declare objc_method_decl ().
7e0713b1 4570 * stub-objc.c (objc_method_decl): New stub.
40c8d1dd 4571
f3f006ad 45722010-10-08 Joseph Myers <joseph@codesourcery.com>
4573
4574 * c-common.c (parse_optimize_options): Call
4575 decode_cmdline_options_to_array_default_mask before
4576 decode_options. Update arguments to decode_options.
4577 * c-common.h (c_common_init_options_struct): Declare.
4578 * c-opts.c (c_common_init_options_struct): New. Split out from
4579 c_common_init_options.
4580
0a65c3bb 45812010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
4582
4583 Implemented fast enumeration for Objective-C.
4584 * c-common.h (objc_finish_foreach_loop): New.
4585 * stub-objc.c (objc_finish_foreach_loop): New.
4586
24ca3b4e 45872010-10-05 Joseph Myers <joseph@codesourcery.com>
4588
4589 * c-common.h (struct diagnostic_context): Don't declare here.
4590 (c_common_initialize_diagnostics): Declare using
4591 diagnostic_context typedef.
4592 * c-opts.c (c_common_handle_option): Pass global_dc to
4593 handle_generated_option.
4594
f83b64ca 45952010-10-04 Joseph Myers <joseph@codesourcery.com>
4596
4597 * c-opts.c (c_common_handle_option): Pass &global_options_set to
4598 handle_generated_option.
4599
2fdec027 46002010-10-03 Ian Lance Taylor <iant@google.com>
4601
4602 * c.opt (-fplan9-extensions): New option.
4603
41acdfa4 46042010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4605
4606 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
4607 Remove.
4608 (c_cpp_builtins): Call functions from cppbuiltin.c instead
4609 of duplicating code.
4610
069761fb 46112010-09-30 Iain Sandoe <iains@gcc.gnu.org>
4612
4613 * c-common.c: Add two new entries for @optional
4614 and @required keywords.
4615
4616 merge from FSF 'apple/trunk' branch.
4617 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
4618
4619 Radar 4386773
4620 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
4621 objective-c keywords.
4622 (objc_set_method_opt): New declaration.
4623 * stub-objc.c (objc_set_method_opt): New stub.
19931eea 4624
2c5d2e39 46252010-09-30 Joseph Myers <joseph@codesourcery.com>
4626
4627 * c-common.c (handle_optimize_attribute): Pass &global_options to
4628 cl_optimization_save and cl_optimization_restore.
4629 * c-opts.c (c_common_handle_option): Pass &global_options to
4630 handle_generated_option.
4631 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
4632 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
4633 &global_options to cl_optimization_restore.
4634
e5c75ac3 46352010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
4636
4637 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
4638 Objective-C/Objective-C++ keywords.
4639
3511333e 46402010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
e147d6aa 4641
19931eea 4642 Merge from 'apple/trunk' branch on FSF servers.
4643
e147d6aa 4644 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
4645
4646 Radar 4281748
4647 * c-common.h (objc_check_global_decl): New declaration.
4648 * stub-objc.c (objc_check_global_decl): New stub.
4649
5461e683 46502010-09-29 Joseph Myers <joseph@codesourcery.com>
4651
4652 * c.opt: Don't use VarExists.
4653
5ae82d58 46542010-09-29 Joseph Myers <joseph@codesourcery.com>
4655
4656 * c-common.c (c_cpp_error): Update names of diagnostic_context
4657 members.
4658 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
4659 cl_optimization members.
4660 * c-opts.c (warning_as_error_callback, c_common_handle_option,
4661 sanitize_cpp_opts, finish_options): Update names of cpp_options
4662 members.
4663
b27e241e 46642010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
4665
4666 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
4667 (objc_is_reserved_word): Removed.
4668 * c-common.c: Updated comments.
4669 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
4670 objc_is_reserved_word.
4671 * stub-objc.c (objc_is_reserved_word): Removed.
4672
03fc2271 46732010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4674
19931eea 4675 * c-common.h (objc_add_method_declaration): Adjust prototype to
03fc2271 4676 include attributes.
4677 (objc_start_method_definition): Likewise.
4678 (objc_build_keyword_decl): Likewise.
4679 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
4680 (objc_start_method_definition): Likewise.
4681 (objc_build_keyword_decl): Likewise.
4682
a336eb4b 46832010-09-28 Iain Sandoe <iains@gcc.gnu.org>
4684
4685 * c-common.h (objc_start_class_interface): Adjust prototype.
4686 (objc_start_category_interface): Likewise.
4687 (objc_start_protocol): Likewise.
4688 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
4689 (objc_start_class_interface): Likewise.
4690 (objc_start_category_interface): Likewise.
4691
48b14f50 46922010-09-27 Ian Lance Taylor <iant@google.com>
4693
4694 * c-common.c (c_common_attribute_table): Add no_split_stack.
4695 (handle_no_split_stack_attribute): New static function.
4696
4abfc532 46972010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
4698
19931eea 4699 Merge from 'apple/trunk' branch on FSF servers.
4abfc532 4700
4701 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
4702
19931eea 4703 Radar 4229905
4abfc532 4704 * c-common.h (objc_have_common_type): New declaration.
4705 * stub-objc.c (objc_have_common_type): New stub.
4706
4707 2005-06-22 Ziemowit Laski <zlaski@apple.com>
4708
4709 Radar 4154928
4710 * c-common.h (objc_common_type): New prototype.
19931eea 4711 * stub-objc.c (objc_common_type): New stub.
4abfc532 4712
7bd95dfd 47132010-09-24 Jan Hubicka <jh@suse.cz>
4714
4715 * c-common.c (handle_leaf_attribute): New function.
4716 (struct attribute_spec c_common_att): Add leaf.
4717
5789e05b 47182010-09-22 Joseph Myers <joseph@codesourcery.com>
4719
4720 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
4721 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
4722 -dump, -dump=, -imacros, -imacros=, -include, -include=,
4723 -include-barrier, -include-directory, -include-directory=,
4724 -include-directory-after, -include-directory-after=,
4725 -include-prefix, -include-prefix=, -include-with-prefix,
4726 -include-with-prefix=, -include-with-prefix-after,
4727 -include-with-prefix-after=, -include-with-prefix-before,
4728 -include-with-prefix-before=, -no-integrated-cpp,
4729 -no-line-commands, -no-standard-includes, -no-warnings, -output,
4730 -output=, -pedantic, -pedantic-errors, -preprocess,
4731 -print-missing-file-dependencies, -trace-includes, -traditional,
4732 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
4733 -user-dependencies, -verbose, -write-dependencies,
4734 -write-user-dependencies, no-integrated-cpp, traditional): New.
4735
e6fb54ba 47362010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4737
4738 PR objc/23710
9b60f3b0 4739 * c-common.h (objc_start_method_definition): Return bool instead
4740 of void.
4741 * stub-objc.c (objc_start_method_definition): Return bool instead
4742 of void.
4743
47442010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
4745
4746 PR objc/25965
4747 * c-common.h (objc_get_interface_ivars): New declaration.
4748 * stub-objc.c (objc_get_interface_ivars): New stub.
e6fb54ba 4749
e44b0a1f 47502010-09-15 Ian Lance Taylor <iant@google.com>
4751
4752 * c-common.c (parse_optimize_options): Do not capitalize warning
ebd7c4c1 4753 messages. Remove period at end of warning message.
e44b0a1f 4754
85c0a25c 47552010-09-09 Nathan Sidwell <nathan@codesourcery.com>
4756
4757 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
4758 (handle_alias_attribute): ... here.
4759 (handle_ifunc_attribute): New.
4760
5ba33bf4 47612010-09-06 Mark Mitchell <mark@codesourcery.com>
4762
4763 * c-common.h (do_warn_double_promotion): Declare.
4764 * c-common.c (do_warn_double_promotion): Define.
4765
c920faa3 47662010-09-05 Mark Mitchell <mark@codesourcery.com>
4767
4768 * c.opt (Wdouble-promotion): New.
4769
9604e070 47702010-09-02 Joseph Myers <joseph@codesourcery.com>
4771
4772 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
4773 fvtable-thunks, fxref): Mark no longer supported in help text.
4774
3b0273a1 47752010-09-02 Joseph Myers <joseph@codesourcery.com>
4776
4777 * c.opt (Wimport, fall-virtual, falt-external-templates,
4778 fdefault-inline, fenum-int-equiv, fexternal-templates,
4779 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
4780 fname-mangling-version-, fnew-abi, fnonnull-objects,
4781 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
4782 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
4783 applicable.
4784 (fhandle-exceptions): Mark with Alias and Warn.
4785 * c-opts.c (c_common_handle_option): Don't handle options marked
4786 as ignored.
4787
67089c6b 47882010-09-02 Joseph Myers <joseph@codesourcery.com>
4789
4790 * c.opt (Wcomments, Werror-implicit-function-declaration,
4791 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
4792 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
4793 aliases.
4794 * c-common.c (option_codes): Use OPT_Wcomment instead of
4795 OPT_Wcomments.
4796 * c-opts.c (warning_as_error_callback, c_common_handle_option):
4797 Don't handle options marked as aliases.
4798
2af087f2 47992010-08-25 Richard Guenther <rguenther@suse.de>
4800
4801 * c-common.c (c_common_get_alias_set): Remove special
4802 handling for pointers.
4803
48148244 48042010-08-20 Nathan Froyd <froydnj@codesourcery.com>
4805
4806 * c-common.c: Use FOR_EACH_VEC_ELT.
4807 * c-gimplify.c: Likewise.
4808 * c-pragma.c: Likewise.
4809
89c69892 48102010-08-16 Joseph Myers <joseph@codesourcery.com>
4811
4812 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
4813 RejectDriver.
4814 (MMDX): Change back to MMD. Mark NoDriverArg instead of
4815 RejectDriver.
4816 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
4817 instead of OPT_MDX and OPT_MMDX.
4818
e28aa114 48192010-08-16 Joseph Myers <joseph@codesourcery.com>
4820
4821 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
4822
99b66d21 48232010-08-12 Joseph Myers <joseph@codesourcery.com>
4824
4825 * c.opt (MD, MMD): Change to MDX and MMDX.
4826 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
4827
666f4bf0 48282010-08-11 Joseph Myers <joseph@codesourcery.com>
4829
4830 * c-opts.c (c_common_handle_option): Call handle_generated_option
4831 instead of handle_option.
4832
5ec815f6 48332010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4834
4835 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
4836 (maybe_apply_renaming_pragma): Delete unneeded declarations.
4837
d13143cf 48382010-08-08 Nathan Froyd <froydnj@codesourcery.com>
4839
4840 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
4841 (pending_redefine_extname): Change type to a VEC.
4842 (add_to_renaming_pragma_list): Update for new type of
4843 pending_redefine_extname.
5ec815f6 4844 (maybe_apply_renaming_pragma): Likewise.
d13143cf 4845
2008c983 48462010-08-04 Arnaud Charlet <charlet@adacore.com>
4847
4848 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
4849 visited.
4850 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
4851 decide whether a type has already been declared/seen.
4852 Do not go to the original type.
4853 (dump_nested_types): New parameter forward.
4854 Generate forward declaration if needed and mark type as visited.
4855 (print_ada_declaration): Call dump_nested_types if not already done.
4856 Mark types as visited.
4857
9b091a73 48582010-08-03 Joseph Myers <joseph@codesourcery.com>
4859
4860 * c.opt (-print-pch-checksum): Remove option.
4861 * c-opts.c (c_common_handle_option): Don't handle
4862 OPT_print_pch_checksum.
4863
b78351e5 48642010-07-27 Joseph Myers <joseph@codesourcery.com>
4865
4866 * c-common.h (c_common_handle_option): Update prototype and return
4867 value type.
4868 * c-opts.c (c_common_handle_option): Update prototype and return
4869 value type. Update calls to handle_option and
4870 enable_warning_as_error.
4871
34416a90 48722010-07-27 Jakub Jelinek <jakub@redhat.com>
4873
4874 PR c/45079
4875 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
4876
fecf9011 48772010-07-27 Joseph Myers <joseph@codesourcery.com>
4878
4879 * c-common.h (c_common_missing_argument): Remove.
4880 * c-opts.c (c_common_missing_argument): Remove.
4881 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
4882 idirafter, imacros, include, isysroot, isystem, iquote): Add
4883 MissingArgError.
4884 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
4885
e88d34f6 48862010-07-27 Joseph Myers <joseph@codesourcery.com>
4887
4888 * c-common.h (c_common_option_lang_mask,
4889 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
4890 New.
4891 (c_common_init_options): Update prototype.
4892 * c-opts.c (c_common_option_lang_mask): New.
4893 (c_common_initialize_diagnostics): Split out of
4894 c_common_init_options.
4895 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
4896 New.
4897 (c_common_init_options): Update prototype. Use decoded options in
4898 search for -lang-asm.
4899
1767a056 49002010-07-15 Nathan Froyd <froydnj@codesourcery.com>
4901
4902 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
4903 * c-format.c: Likewise.
4904
0b205f4c 49052010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
4906
4907 * c-common.h: Include diagnostic-core.h. Error if already
4908 included.
4909 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
4910
1c58e3f1 49112010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
4912
1f78217c 4913 * c-common.c (IN_GCC_FRONTEND): Do not undef.
1c58e3f1 4914 Do not include expr.h
4915 (vector_mode_valid_p): Move here.
4916
33cc157c 49172010-06-21 DJ Delorie <dj@redhat.com>
4918
4919 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
4920 allow these pragmas anywhere.
4921
49222010-06-14 Jakub Jelinek <jakub@redhat.com>
4923
4924 PR bootstrap/44509
4925 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
4926 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
4927 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
4928 ggc_strdup instead of xstrdup.
4929
49302010-06-10 Jakub Jelinek <jakub@redhat.com>
4931
4932 * c-cppbuiltin.c: Include cpp-id-data.h.
4933 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
4934 (lazy_hex_fp_value): New function.
4935 (builtin_define_with_hex_fp_value): Provide definitions lazily.
4936
9b40bfbf 49372010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
4938
4939 * c-gimplify.c: Do not include tree-flow.h
4940
202d6e5f 49412010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
4942
4943 PR other/44034
4944 * c-common.c: Rename targetm member:
4945 targetm.enum_va_list -> targetm.enum_va_list_p
4946
d3237426 49472010-06-28 Anatoly Sokolov <aesok@post.ru>
4948
4949 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
4950
596981c8 49512010-06-28 Steven Bosscher <steven@gcc.gnu.org>
4952
4953 * c-cppbuiltin.c: Do not include except.h.
4954
b9bdfa0b 49552010-06-24 Andi Kleen <ak@linux.intel.com>
4956
19931eea 4957 * c-common.c (warn_for_omitted_condop): New.
4958 * c-common.h (warn_for_omitted_condop): Add prototype.
b9bdfa0b 4959
55ad092d 49602010-06-21 Joseph Myers <joseph@codesourcery.com>
4961
4962 * c.opt (lang-objc): Remove.
4963 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
4964
9e7c2572 49652010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
4966
4967 * c-opts.c: Include "tm_p.h".
4968
615ef0bb 49692010-06-20 Joseph Myers <joseph@codesourcery.com>
4970
4971 * c-common.c (parse_optimize_options): Update call to
4972 decode_options.
4973
aef48c9a 49742010-06-18 Nathan Froyd <froydnj@codesourcery.com>
4975
4976 * c-common.c (record_types_used_by_current_var_decl): Adjust for
4977 new type of types_used_by_cur_var_decl.
4978
d74003b4 49792010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
4980
4981 PR bootstrap/44512
4982 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
4983 for C++ standard compliance.
4984
1194d077 49852010-06-16 Jason Merrill <jason@redhat.com>
4986
4987 * c.opt: Add -Wnoexcept.
4988
d473d901 49892010-06-16 Richard Guenther <rguenther@suse.de>
4990
4991 PR c/44555
4992 * c-common.c (c_common_truthvalue_conversion): Remove
4993 premature and wrong optimization concering ADDR_EXPRs.
4994
b62dbfd3 49952010-06-15 Arnaud Charlet <charlet@adacore.com>
4996
4997 * c-ada-spec.c (dump_sloc): Remove column info.
4998 (is_simple_enum): New function.
4999 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
5000 enum types when relevant.
5001
200dd99c 50022010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5003
19931eea 5004 * c-common.c (conversion_warning): Warn at expression
200dd99c 5005 location.
5006
abf6a617 50072010-06-10 Joseph Myers <joseph@codesourcery.com>
5008
5009 * c-opts.c (c_common_handle_option): Don't handle
5010 OPT_fshow_column.
5011
ba72912a 50122010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
5013
5014 * c-pragma.c (push_alignment): Use typed GC allocation.
5015 (handle_pragma_push_options): Likewise.
5016
5017 * c-common.c (parse_optimize_options): Likewise.
5018
5019 * c-common.h (struct sorted_fields_type): Add variable_size GTY
5020 option.
5021
4aafe913 50222010-06-07 Joseph Myers <joseph@codesourcery.com>
5023
5024 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
5025 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5026 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5027 flag_signed_bitfields, warn_strict_null_sentinel,
5028 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
5029 flag_gen_declaration, flag_no_gnu_keywords,
5030 flag_implement_inlines, flag_implicit_templates,
5031 flag_implicit_inline_templates, flag_optional_diags,
5032 flag_elide_constructors, flag_default_inline, flag_rtti,
5033 flag_conserve_space, flag_access_control, flag_check_new,
5034 flag_new_for_scope, flag_weak, flag_working_directory,
5035 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
5036 flag_enforce_eh_specs, flag_threadsafe_statics,
5037 flag_pretty_templates): Remove.
5038 * c-common.h (flag_preprocess_only, flag_nil_receivers,
5039 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
5040 flag_replace_objc_classes, flag_undef, flag_no_builtin,
5041 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
5042 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
5043 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
5044 flag_no_gnu_keywords, flag_implement_inlines,
5045 flag_implicit_templates, flag_implicit_inline_templates,
5046 flag_optional_diags, flag_elide_constructors, flag_default_inline,
5047 flag_rtti, flag_conserve_space, flag_access_control,
5048 flag_check_new, flag_new_for_scope, flag_weak,
5049 flag_working_directory, flag_use_cxa_atexit,
5050 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
5051 flag_threadsafe_statics, flag_pretty_templates,
5052 warn_strict_null_sentinel): Remove.
5053 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
5054 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
5055 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
5056 fimplicit-inline-templates, fimplicit-templates,
5057 flax-vector-conversions, fms-extensions, fnil-receivers,
5058 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
5059 frtti, fshort-double, fshort-enums, fshort-wchar,
5060 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
5061 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
5062 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
5063 gen-decls, undef): Use Var.
5064 (fdefault-inline, foptional-diags): Document as doing nothing.
5065 * c-opts.c (c_common_handle_option): Remove cases for options now
5066 using Var. Mark ignored options as such.
5067
7bedc3a0 50682010-06-05 Steven Bosscher <steven@gcc.gnu.org>
5069
19931eea 5070 * c-common.c: Moved to here from parent directory.
7bedc3a0 5071 * c-common.def: Likewise.
5072 * c-common.h: Likewise.
5073 * c-cppbuiltin.c: Likewise.
5074 * c-dump.c: Likewise.
5075 * c-format.c: Likewise.
5076 * c-format.h : Likewise.
5077 * c-gimplify.c: Likewise.
5078 * c-lex.c: Likewise.
5079 * c-omp.c: Likewise.
5080 * c.opt: Likewise.
5081 * c-opts.c: Likewise.
5082 * c-pch.c: Likewise.
5083 * c-ppoutput.c: Likewise.
5084 * c-pragma.c: Likewise.
5085 * c-pragma.h: Likewise.
5086 * c-pretty-print.c: Likewise.
5087 * c-pretty-print.h: Likewise.
5088 * c-semantics.c: Likewise.
5089 * stub-objc.c: Likewise.
5090
5091 * c-common.c: Include gt-c-family-c-common.h.
5092 * c-pragma.c: Include gt-c-family-c-pragma.h.
5093\f
d353bf18 5094Copyright (C) 2010-2015 Free Software Foundation, Inc.
7bedc3a0 5095
5096Copying and distribution of this file, with or without modification,
5097are permitted in any medium without royalty provided the copyright
5098notice and this notice are preserved.