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