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