Daily bump.
[gcc.git] / gcc / c-family / ChangeLog
1 2020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
2
3 * c-common.c (__is_nothrow_assignable): New.
4 (__is_nothrow_constructible): Likewise.
5 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
6 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
7
8 2020-10-23 Jan Hubicka <hubicka@ucw.cz>
9
10 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
11
12 2020-10-23 Marek Polacek <polacek@redhat.com>
13
14 PR c++/91741
15 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
16 (c_common_init_ts): Likewise.
17 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
18 * c-common.h (maybe_warn_sizeof_array_div): Declare.
19 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
20 (maybe_warn_sizeof_array_div): New function.
21 * c.opt (Wsizeof-array-div): New option.
22
23 2020-10-23 Martin Sebor <msebor@redhat.com>
24
25 PR c/97463
26 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
27
28 2020-10-22 Martin Liska <mliska@suse.cz>
29
30 PR c/94722
31 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
32 (handle_stack_protect_attribute): Add error message for a
33 no_stack_protector function.
34
35 2020-10-22 Martin Liska <mliska@suse.cz>
36
37 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
38
39 2020-10-22 Jan Hubicka <hubicka@ucw.cz>
40
41 * c-gimplify.c: Include tree-nested.h
42 (c_genericize): Update for new nested function info.
43
44 2020-10-14 Martin Sebor <msebor@redhat.com>
45
46 PR c/97413
47 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
48 bounds in an extra list.
49
50 2020-10-05 Richard Biener <rguenther@suse.de>
51 Jakub Jelinek <jakub@redhat.com>
52
53 PR c++/97197
54 * c-pretty-print.c: Include langhooks.h.
55 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
56 expression.
57 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
58 unary_expression.
59 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
60
61 2020-09-30 Martin Sebor <msebor@redhat.com>
62
63 PR middle-end/97189
64 * c-attribs.c (append_access_attr): Use the function declaration
65 location for a warning about an attribute access argument.
66
67 2020-09-29 Marek Polacek <polacek@redhat.com>
68
69 PR c++/94695
70 * c.opt (Wrange-loop-construct): New option.
71
72 2020-09-23 Martin Sebor <msebor@redhat.com>
73
74 PR c/97131
75 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
76
77 2020-09-23 Marek Polacek <polacek@redhat.com>
78
79 PR c/97125
80 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
81 after loops and other structured control constructs have been lowered.
82
83 2020-09-22 Jakub Jelinek <jakub@redhat.com>
84
85 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
86 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
87
88 2020-09-21 Marek Polacek <polacek@redhat.com>
89
90 * c.opt (Wctad-maybe-unsupported): New option.
91
92 2020-09-19 Martin Sebor <msebor@redhat.com>
93
94 PR c/50584
95 * c-common.h (warn_parm_array_mismatch): Declare new function.
96 (has_attribute): Move declaration of an existing function.
97 (build_attr_access_from_parms): Declare new function.
98 * c-warn.c (parm_array_as_string): Define new function.
99 (plus_one): Define new function.
100 (warn_parm_ptrarray_mismatch): Define new function.
101 (warn_parm_array_mismatch): Define new function.
102 (vla_bound_parm_decl): New function.
103 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
104 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
105 qualifiers here...
106 (c_pretty_printer::direct_abstract_declarator): ...but instead print
107 them in brackets here. Also print [static]. Strip extraneous
108 expressions from VLA bounds.
109
110 2020-09-19 Martin Sebor <msebor@redhat.com>
111
112 PR c/50584
113 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
114 (handle_argspec_attribute): New function.
115 (get_argument, get_argument_type): New functions.
116 (append_access_attrs): Add overload. Handle internal attribute
117 representation in addition to external.
118 (handle_access_attribute): Handle internal attribute representation
119 in addition to external.
120 (build_attr_access_from_parms): New function.
121
122 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
123
124 * c-gimplify.c (genericize_c_loop): Rewrite to match
125 c_finish_loop in c-typeck.c.
126
127 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
128
129 * c-common.c (c_block_may_fallthrough): New, split from
130 cxx_block_may_fallthrough in the cp front end.
131 (c_common_init_ts): Move handling of loop and switch-related
132 statements here from the cp front end.
133 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
134 cp front end.
135 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
136 * c-common.h (c_block_may_fallthru): Declare.
137 (bc_state_t): Move here from cp front end.
138 (save_bc_state, restore_bc_state): Declare.
139 (c_genericize_control_stmt): Declare.
140 (WHILE_COND, WHILE_BODY): Likewise.
141 (DO_COND, DO_BODY): Likewise.
142 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
143 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
144 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
145 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
146 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
147 * c-dump.c (dump_stmt): Copy from cp front end.
148 (c_dump_tree): Move code to handle structured loop and switch
149 tree nodes here from cp front end.
150 * c-gimplify.c: Adjust includes.
151 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
152 cp front end.
153 (save_bc_state, restore_bc_state): New functions using old code
154 from cp front end.
155 (get_bc_label, expr_loc_or_loc): Move from cp front end.
156 (genericize_c_loop): Move from cp front end.
157 (genericize_for_stmt, genericize_while_stmt): Likewise.
158 (genericize_do_stmt, genericize_switch_stmt): Likewise.
159 (genericize_continue_stmt, genericize_break_stmt): Likewise.
160 (genericize_omp_for_stmt): Likewise.
161 (c_genericize_control_stmt): New function using code split from
162 cp front end.
163 (c_genericize_control_r): New.
164 (c_genericize): Call walk_tree with c_genericize_control_r.
165 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
166 structured loop and switch tree nodes here from cp front end.
167
168 2020-09-17 Patrick Palka <ppalka@redhat.com>
169
170 PR c/80076
171 * c-indentation.c (should_warn_for_misleading_indentation): Move
172 declarations of local variables closer to their first use.
173 Handle virtual token locations by resolving them to their
174 respective macro expansion points. If all three tokens are
175 produced from the same macro expansion, then instead use their
176 loci within the macro definition.
177
178 2020-09-16 Martin Sebor <msebor@redhat.com>
179
180 PR c/78666
181 PR c/96126
182 * c-attribs.c (validate_attr_args): New function.
183 (validate_attr_arg): Same.
184 (handle_section_attribute): Call it. Introduce a local variable.
185 (handle_alloc_size_attribute): Same.
186 (handle_alloc_align_attribute): Same.
187
188 2020-09-14 Jakub Jelinek <jakub@redhat.com>
189
190 * c-attribs.c (handle_optimize_attribute): Adjust
191 cl_optimization_save, cl_optimization_restore and
192 build_optimization_node callers.
193 * c-pragma.c (handle_pragma_optimize): Adjust
194 build_optimization_node caller.
195 (handle_pragma_push_options): Adjust
196 build_optimization_node and build_target_option_node callers.
197 (handle_pragma_pop_options, handle_pragma_reset_options):
198 Adjust cl_optimization_restore callers.
199
200 2020-08-28 Martin Sebor <msebor@redhat.com>
201
202 * c.opt (Wstringop-overread): New option.
203
204 2020-08-11 Jakub Jelinek <jakub@redhat.com>
205
206 PR c/96545
207 * c-common.c (get_atomic_generic_size): Require that first argument's
208 type points to a complete type and use tree_fits_uhwi_p instead of
209 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
210
211 2020-07-31 Martin Sebor <msebor@redhat.com>
212
213 PR c++/96003
214 * c-common.c (check_function_arguments_recurse): Return early when
215 no-warning bit is set.
216
217 2020-07-31 Richard Biener <rguenther@suse.de>
218
219 PR debug/96383
220 * c-common.h (c_common_finalize_early_debug): Declare.
221 * c-common.c: Include debug.h.
222 (c_common_finalize_early_debug): finalize_early_debug langhook
223 implementation generating debug for extern declarations.
224
225 2020-07-27 Nathan Sidwell <nathan@acm.org>
226
227 * c-common.c (try_to_locate_new_include_insertion_point): Use
228 strcmp, not pointer equality.
229
230 2020-07-25 Martin Sebor <msebor@redhat.com>
231
232 PR c++/96310
233 * c-common.c (check_nonnull_arg): Print note only when warning was
234 issued.
235
236 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
237
238 * c-omp.c (c_finish_omp_critical): Check for no name but
239 nonzero hint provided.
240
241 2020-07-20 Jason Merrill <jason@redhat.com>
242
243 * c-cppbuiltin.c (c_cpp_builtins): Update
244 __cpp_nontype_template_args for C++20.
245
246 2020-07-20 Martin Sebor <msebor@redhat.com>
247
248 PR c/96249
249 * c.opt: Remove stray text.
250
251 2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
252
253 PR other/86904
254 * c-indentation.c (should_warn_for_misleading_indentation): Get
255 global tabstop from the new source.
256 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
257 is now a common option.
258 * c.opt: Likewise.
259
260 2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
261
262 * c.opt (Wscalar-storage-order): Add explicit variable.
263
264 2020-07-07 Nathan Sidwell <nathan@acm.org>
265
266 * c-opts.c (c_common_post_options): Add 'injecting' arg to
267 cpp_read_main_file.
268 (c_finish_options): Add linemap_line_start calls for builtin and cmd
269 maps. Force token position to line_table's highest line.
270 * c-ppoutput.c (print_line_1): Refactor, print line zero.
271 (cb_define): Always increment source line.
272
273 2020-07-06 Martin Sebor <msebor@redhat.com>
274
275 PR c++/95984
276 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
277 to stub lambda objects with null this pointer.
278 (check_nonnull_arg): Handle C++ nullptr.
279
280 2020-07-02 Jason Merrill <jason@redhat.com>
281 Jakub Jelinek <jakub@redhat.com>
282
283 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
284
285 2020-06-30 Jakub Jelinek <jakub@redhat.com>
286
287 PR c++/95963
288 * c-common.c (check_function_arguments_recurse): Don't crash on
289 calls to internal functions.
290
291 2020-06-28 Martin Sebor <msebor@redhat.com>
292
293 PR c++/86568
294 * c-common.c (struct nonnull_arg_ctx): Add members.
295 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
296 C++ member functions specially. Consider the this pointer implicitly
297 nonnull.
298 (check_nonnull_arg): Use location of argument when available.
299 (check_function_arguments): Use nonnull_arg_ctx as argument.
300
301 2020-06-27 Jakub Jelinek <jakub@redhat.com>
302
303 PR middle-end/95903
304 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
305 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
306 smaller precision intop operands separately.
307
308 2020-06-26 Marek Polacek <polacek@redhat.com>
309
310 * c-opts.c (c_common_init_options): Default to gnu++17.
311
312 2020-06-17 Jonathan Wakely <jwakely@redhat.com>
313
314 PR c/95378
315 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
316 pointer arguments.
317
318 2020-06-16 Jakub Jelinek <jakub@redhat.com>
319
320 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
321 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
322 idx members.
323 (c_omp_is_loop_iterator): New function.
324 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
325 if outer loop iterator is present. Perform duplicate checking through
326 hash_set in the function rather than expecting caller to do that.
327 Pass NULL instead of d->ppset to walk_tree_1.
328 (c_omp_check_nonrect_loop_iv): New function.
329 (c_omp_check_loop_iv): Use it. Fill in new members, allow
330 non-rectangular loop forms, diagnose multiple associated loops with
331 the same iterator. Pass NULL instead of &pset to walk_tree_1.
332 (c_omp_check_loop_iv_exprs): Likewise.
333
334 2020-06-10 Martin Liska <mliska@suse.cz>
335
336 PR tree-optimization/92860
337 * c-attribs.c (handle_optimize_attribute):
338 Save global options and compare it after parsing of function
339 attribute.
340 * c-pragma.c (opt_stack::saved_global_options): New field.
341 (handle_pragma_push_options): Save global_options.
342 (handle_pragma_pop_options): Compare them after pop.
343
344 2020-06-09 Jakub Jelinek <jakub@redhat.com>
345
346 PR c/95580
347 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
348 case when MEM_REF's first argument has type pointer to incomplete type.
349
350 2020-06-05 Jason Merrill <jason@redhat.com>
351
352 * c-pretty-print.c (pp_c_additive_expression): Handle negative
353 operand to POINTER_PLUS_EXPR.
354
355 2020-06-04 Martin Sebor <msebor@redhat.com>
356
357 PR middle-end/10138
358 PR middle-end/95136
359 * c-attribs.c (append_access_attrs): Handle attr_access::none.
360 (handle_access_attribute): Same.
361
362 2020-06-03 Mark Wielaard <mark@klomp.org>
363
364 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
365 New function.
366 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
367 New function declaration.
368
369 2020-06-03 Mark Wielaard <mark@klomp.org>
370
371 * known-headers.cc (get_string_macro_hint): New function.
372 (get_stdlib_header_for_name): Use get_string_macro_hint.
373 (get_c_stdlib_header_for_string_macro_name): New function.
374 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
375 New function declaration.
376
377 2020-06-03 Tobias Burnus <tobias@codesourcery.com>
378
379 * c-common.h (c_omp_predetermined_mapping): Declare.
380 * c-omp.c (c_omp_predetermined_mapping): New.
381
382 2020-05-22 Mark Wielaard <mark@klomp.org>
383
384 * known-headers.cc (get_stdlib_header_for_name): Add a new
385 stdlib_hint array for stdbool and stdint.
386
387 2020-05-22 Mark Wielaard <mark@klomp.org>
388
389 * known-headers.cc (get_stdlib_header_for_name): Return
390 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
391 flag_isoc99.
392
393 2020-05-20 Nathan Sidwell <nathan@acm.org>
394
395 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
396
397 * c-common.c (try_to_locate_new_include_insertion_point): Use
398 strcmp to compare filenames.
399 * c-lex.c (init_c_lex): Move declaration to initialization.
400 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
401 deferred count loop.
402
403 2020-05-15 Jason Merrill <jason@redhat.com>
404
405 * c-opts.c (set_std_cxx20): Set flag_coroutines.
406
407 2020-05-13 Jason Merrill <jason@redhat.com>
408
409 * c.opt (std=c++20): Make c++2a the alias.
410 (std=gnu++20): Likewise.
411 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
412 * c-opts.c: Adjust.
413 * c-cppbuiltin.c: Adjust.
414 * c-ubsan.c: Adjust.
415 * c-warn.c: Adjust.
416
417 2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
418
419 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
420
421 2020-05-08 Nathan Sidwell <nathan@acm.org>
422
423 Reimplement directives only processing.
424 * c-ppoutput.c (token_streamer): Ne.
425 (directives_only_cb): New. Swallow ...
426 (print_lines_directives_only): ... this.
427 (scan_translation_unit_directives_only): Reimplment using the
428 published interface.
429
430 2020-05-07 Marek Polacek <polacek@redhat.com>
431
432 * c-format.c (badwords): Add "nonstatic".
433
434 202-05-07 Jakub Jelinek <jakub@redhat.com>
435
436 PR c/94968
437 * c-common.c (speculation_safe_value_resolve_params): Return false if
438 error_operand_p (val2).
439 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
440 Remove extraneous semicolon.
441
442 2020-05-06 qing zhao <qing.zhao@oracle.com>
443
444 PR c/94230
445 * c-indentation.c (get_visual_column): Add a hint to use the new
446 -flarge-source-files option.
447
448 2020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
449
450 * c-attribs.c (handle_vector_size_attribute): Add attribute
451 nonnull for argument args in order to silence warning of
452 uninitialized variable usage. Since this is local to the
453 compilation unit and thus cannot be checked at call sides by the
454 compiler, added an assert statement in order to verify this.
455
456 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
457
458 PR target/93492
459 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
460 value to USHRT_MAX (65535).
461
462 2020-04-29 Jakub Jelinek <jakub@redhat.com>
463
464 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
465
466 2020-04-27 Jakub Jelinek <jakub@redhat.com>
467
468 PR c/94755
469 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
470 fncode == BUILT_IN_NONE before initialization of first_param.
471
472 2020-04-23 Marek Polacek <polacek@redhat.com>
473
474 PR c++/94733
475 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
476 TREE_PURPOSE.
477
478 2020-04-14 Patrick Palka <ppalka@redhat.com>
479
480 PR c++/85278
481 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
482 ampersand if it's an rvalue reference type.
483
484 2020-04-13 Martin Sebor <msebor@redhat.com>
485
486 PR c/92326
487 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
488 printing array bound for flexible array members.
489
490 2020-04-13 Iain Sandoe <iain@sandoe.co.uk>
491
492 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
493 define, per n4861.
494
495 2020-04-02 Richard Biener <rguenther@suse.de>
496
497 PR c/94392
498 * c-opts.c (c_common_post_options): Enable -ffinite-loops
499 for -O2 and C++11 or newer.
500
501 2020-03-28 Patrick Palka <ppalka@redhat.com>
502
503 * c.opt: Add -fconcepts-diagnostics-depth.
504
505 2020-03-27 Martin Sebor <msebor@redhat.com>
506
507 PR c++/94346
508 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
509 to decl_attributes. Make handling of different kinds of entities
510 more robust.
511
512 2020-03-27 Martin Sebor <msebor@redhat.com>
513
514 PR c++/94098
515 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
516 here.
517
518 2020-03-23 Jakub Jelinek <jakub@redhat.com>
519
520 PR c++/91993
521 * c-warn.c (warnings_for_convert_and_check): For expr and/or
522 result being COMPOUND_EXPRs, skip to ultimate rhs.
523
524 2020-03-20 Richard Sandiford <richard.sandiford@arm.com>
525
526 PR middle-end/94072
527 * c-common.c (c_common_type_for_mode): Before using a registered
528 built-in type, check that the vectorness of the type matches
529 the vectorness of the mode.
530
531 2020-03-17 Jakub Jelinek <jakub@redhat.com>
532
533 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
534 issue in a diagnostic message.
535
536 2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
537
538 * c.opt: Avoid redundancy in the help text.
539
540 2020-03-02 Marek Polacek <polacek@redhat.com>
541
542 PR c++/93958 - add missing -std=gnu++20.
543 * c.opt: Add -std=gnu++20.
544
545 2020-03-01 Martin Sebor <msebor@redhat.com>
546
547 PR c++/92721
548 * c-attribs.c (append_access_attrs): Correctly handle attribute.
549 (handle_access_attribute): Same.
550
551 2020-02-25 Jakub Jelinek <jakub@redhat.com>
552
553 PR c/93858
554 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
555 "did you mean" hint in diagnostics.
556
557 2020-02-15 Jason Merrill <jason@redhat.com>
558
559 * c.opt: Add -std=c++20.
560
561 2020-02-14 Eric Botcazou <ebotcazou@adacore.com>
562
563 * c-ada-spec.c: Include bitmap.h.
564 (dump_ada_double_name): Rename into...
565 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
566 (dump_ada_array_type): Adjust to above renaming. Robustify.
567 (dump_nested_types_1): New function copied from... Add dumped_types
568 parameter and pass it down to dump_nested_type.
569 (dump_nested_types): ...this. Remove parent parameter. Just call
570 dump_nested_types_1 on an automatic bitmap.
571 (dump_nested_type): Add dumped_types parameter.
572 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
573 Adjust recursive calls and adjust to above renaming.
574 (dump_ada_declaration): Adjust call to dump_nested_types.
575 Tidy up and adjust to above renaming.
576 (dump_ada_specs): Initialize and release bitmap obstack.
577
578 2020-02-10 Martin Sebor <msebor@redhat.com>
579
580 PR c/93640
581 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
582
583 2020-02-10 Jakub Jelinek <jakub@redhat.com>
584
585 PR other/93641
586 * c-format.c (check_plain): Fix up last argument of strncasecmp.
587 Remove useless extra test.
588
589 2020-02-03 Julian Brown <julian@codesourcery.com>
590 Tobias Burnus <tobias@codesourcery.com>
591
592 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
593
594 2020-01-29 Jason Merrill <jason@redhat.com>
595
596 PR c++/89357
597 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
598
599 2020-01-23 Jason Merrill <jason@redhat.com>
600
601 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
602
603 2020-01-23 Martin Sebor <msebor@redhat.com>
604
605 PR c/84919
606 * c-common.c (check_function_arguments): Avoid overlap checking
607 of sprintf functions.
608
609 2020-01-22 Jason Merrill <jason@redhat.com>
610
611 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
612 PR c++/40752
613 * c-warn.c (conversion_warning): Check operands only after checking
614 the whole expression. Don't check second operand of + for sign.
615
616 2020-01-21 Jason Merrill <jason@redhat.com>
617 Manuel López-Ibáñez <manu@gcc.gnu.org>
618
619 PR c++/40752 - useless -Wconversion with short +=.
620 * c.opt (-Warith-conversion): New.
621 * c-warn.c (conversion_warning): Recurse for operands of
622 operators. Only warn about the whole expression with
623 -Warith-conversion.
624
625 2020-01-21 Jason Merrill <jason@redhat.com>
626
627 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
628 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
629
630 2020-01-20 Nathan Sidwell <nathan@acm.org>
631
632 PR preprocessor/80005
633 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
634
635 2020-01-18 Iain Sandoe <iain@sandoe.co.uk>
636
637 * c-common.c (co_await, co_yield, co_return): New.
638 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
639 RID_CO_RETURN): New enumeration values.
640 (D_CXX_COROUTINES): Bit to identify coroutines are active.
641 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
642 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
643 * c.opt (fcoroutines): New command-line switch.
644
645 2020-01-10 David Malcolm <dmalcolm@redhat.com>
646
647 * c-format.c (local_event_ptr_node): New.
648 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
649 (init_dynamic_diag_info): Initialize local_event_ptr_node.
650 * c-format.h (T_EVENT_PTR): New define.
651
652 2020-01-10 Martin Sebor <msebor@redhat.com>
653
654 PR c/93132
655 * c-attribs.c (append_access_attrs): Validate against the translated
656 access string rather than the human-readable representation.
657
658 2020-01-01 Jakub Jelinek <jakub@redhat.com>
659
660 Update copyright years.
661
662 2019-12-20 Eric Botcazou <ebotcazou@adacore.com>
663
664 * c-ada-spec.h (decl_sloc): Delete.
665 * c-ada-spec.c (decl_sloc): Make static.
666
667 2019-12-19 Julian Brown <julian@codesourcery.com>
668
669 * c-common.h (c_omp_map_clause_name): Add prototype.
670 * c-omp.c (c_omp_map_clause_name): New function.
671 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
672 PRAGMA_OACC_CLAUSE_DETACH.
673
674 2019-12-19 Julian Brown <julian@codesourcery.com>
675 Maciej W. Rozycki <macro@codesourcery.com>
676 Tobias Burnus <tobias@codesourcery.com>
677 Thomas Schwinge <thomas@codesourcery.com>
678
679 * c-pragma.h (pragma_omp_clause): Add
680 PRAGMA_OACC_CLAUSE_NO_CREATE.
681
682 2019-12-17 Martin Sebor <msebor@redhat.com>
683
684 PR c++/61339
685 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
686
687 2019-12-11 David Malcolm <dmalcolm@redhat.com>
688
689 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
690 implementation.
691 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
692
693 2019-12-09 David Malcolm <dmalcolm@redhat.com>
694
695 * c-format.c (range_label_for_format_type_mismatch::get_text):
696 Replace label_text ctor called with true with label_text::take.
697
698 2019-12-09 David Malcolm <dmalcolm@redhat.com>
699
700 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
701 initial newline from expected outputs.
702 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
703 call to diagnostic_show_locus.
704
705 2019-12-06 Jakub Jelinek <jakub@redhat.com>
706
707 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
708 now.
709
710 2019-12-05 Marek Polacek <polacek@redhat.com>
711 Jakub Jelinek <jakub@redhat.com>
712
713 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
714 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
715
716 2019-12-05 Marek Polacek <polacek@redhat.com>
717
718 PR c++/92271 - make __is_same alias for __is_same_as.
719 * c-common.c: Add __is_same, an alias for __is_same_as.
720
721 2019-12-03 Marek Polacek <polacek@redhat.com>
722
723 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
724 * c-cppbuiltin.c (c_cpp_builtins): Predefine
725 __cpp_aggregate_paren_init=201902 for -std=c++2a.
726
727 2019-11-30 Jan Hubicka <hubicka@ucw.cz>
728
729 * c-attribs.c (handle_symver_attribute): New function
730 (c_common_attributes): Add symver.
731
732 2019-11-30 Richard Sandiford <richard.sandiford@arm.com>
733
734 * c-common.c (pointer_int_sum): Use verify_type_context to check
735 whether the target allows pointer arithmetic for the types involved.
736 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
737 to check whether the target allows sizeof and alignof operations
738 for the types involved.
739
740 2019-11-27 Jason Merrill <jason@redhat.com>
741
742 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
743
744 2019-11-26 Jakub Jelinek <jakub@redhat.com>
745
746 PR c++/61414
747 * c-attribs.c (handle_mode_attribute): Add mode attribute to
748 ENUMERAL_TYPEs.
749
750 2019-11-25 Joseph Myers <joseph@codesourcery.com>
751
752 PR c/91985
753 * c-common.c (c_common_type_for_mode): Handle decimal
754 floating-point types being NULL_TREE.
755 * c-format.c (get_format_for_type_1): Handle specified types being
756 NULL_TREE.
757 * c-lex.c (interpret_float): Give an error for decimal
758 floating-point constants when decimal floating-point not
759 supported.
760
761 2019-11-23 Jakub Jelinek <jakub@redhat.com>
762
763 PR middle-end/83859
764 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
765 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
766 group warning with inform together.
767 (handle_access_attribute): Formatting fix.
768
769 2019-11-22 Jakub Jelinek <jakub@redhat.com>
770
771 PR c/90677
772 * c-common.h (identifier_global_tag): Declare.
773 * c-format.c (get_pointer_to_named_type): Renamed to ...
774 (get_named_type): ... this. Use identifier_global_tag instead of
775 identifier_global_value, handle the return value being a TYPE_P.
776 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
777 to call get_named_type instead. Formatting fixes.
778
779 Implement P1902R1, Missing feature-test macros 2017-2019.
780 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
781 and __cpp_generic_lambdas for -std=c++2a. Define
782 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
783 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
784 __cpp_concepts for -std=c++2a.
785
786 2019-11-22 Martin Sebor <msebor@redhat.com>
787
788 PR middle-end/83859
789 * c-attribs.c (handle_access_attribute): New function.
790 (c_common_attribute_table): Add new attribute.
791 (get_argument_type): New function.
792 (append_access_attrs): New function.
793 (get_nonnull_operand): Rename...
794 (get_attribute_operand): ...to this.
795 * c-common.c (get_nonnull_operand): Rename...
796 (get_attribute_operand): ...to this.
797
798 2019-11-21 Joseph Myers <joseph@codesourcery.com>
799
800 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
801 of warning.
802
803 2019-11-19 Joseph Myers <joseph@codesourcery.com>
804
805 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
806 warning for standard attributes mixed with fallthrough attributes.
807
808 2019-11-15 Joseph Myers <joseph@codesourcery.com>
809
810 * c-attribs.c (handle_fallthrough_attribute): Remove static.
811 * c-common.h (handle_fallthrough_attribute): Declare.
812
813 2019-11-15 Joseph Myers <joseph@codesourcery.com>
814
815 * c-attribs.c (handle_deprecated_attribute): Remove static.
816 * c-common.h (handle_deprecated_attribute): Declare.
817
818 2019-11-14 Joseph Myers <joseph@codesourcery.com>
819
820 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
821 char for C.
822
823 2019-11-14 Jakub Jelinek <jakub@redhat.com>
824
825 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
826 valid vendors.
827
828 * c-omp.c (c_omp_check_context_selector): Handle name lists
829 containing string literals. Don't diagnose atomic_default_mem_order
830 with multiple props.
831
832 2019-11-13 Joseph Myers <joseph@codesourcery.com>
833
834 * c-cppbuiltin.c (builtin_define_float_constants): Also define
835 NORM_MAX constants. Update call to get_max_float.
836 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
837 constants.
838
839 2019-11-13 Eric Botcazou <ebotcazou@adacore.com>
840
841 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
842 (dump_forward_type): Do not generate a declaration for function types.
843 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
844 of the component type if it is declared in another file.
845
846 2019-11-12 Martin Liska <mliska@suse.cz>
847
848 * c-opts.c (c_common_post_options):
849 Use SET_OPTION_IF_UNSET.
850
851 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
852 Frederik Harwath <frederik@codesourcery.com>
853
854 gcc/c-family/
855 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
856 constant.
857 * c-pragma.c (oacc_pragmas): Add "serial" entry.
858
859 2019-11-08 Richard Sandiford <richard.sandiford@arm.com>
860
861 * c-common.h (gnu_vector_type_p): New function.
862 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
863 vectors to satisfy gnu_vector_type_p.
864 (c_build_vec_convert): Likewise __builtin_convertvector.
865 (convert_vector_to_array_for_subscript): Likewise when applying
866 implicit vector to array conversion.
867 (scalar_to_vector): Likewise when converting vector-scalar
868 operations to vector-vector operations.
869
870 2019-11-08 Joseph Myers <joseph@codesourcery.com>
871
872 * c.opt (Wold-style-definition): Initialize to -1.
873 * c-opts.c (c_common_post_options): Set warn_old_style_definition
874 to flag_isoc2x if not set explicitly.
875
876 2019-11-07 Joseph Myers <joseph@codesourcery.com>
877
878 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
879
880 2019-11-05 Jason Merrill <jason@redhat.com>
881
882 * c-opts.c (c_common_post_options): -fconcepts-ts implies
883 -fconcepts.
884
885 2019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
886
887 * c-opts.c (c_common_post_options): Update
888 latest_abi_version.
889
890 2019-11-02 Jakub Jelinek <jakub@redhat.com>
891
892 * c-common.h (c_omp_get_context_selector): Remove.
893 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
894 and renamed to omp_get_context_selector.
895
896 * c-omp.c (c_omp_mark_declare_variant): Use
897 omp_context_selector_set_compare.
898
899 PR c++/88335 - Implement P1073R3: Immediate functions
900 * c-common.h (enum rid): Add RID_CONSTEVAL.
901 * c-common.c (c_common_reswords): Add consteval.
902
903 2019-11-01 Martin Sebor <msebor@redhat.com>
904
905 PR middle-end/91679
906 PR middle-end/91647
907 PR middle-end/91463
908 PR middle-end/92312
909 * c-pretty-print.c (direct_abstract_declarator): Print
910 bound in zero-length arrays.
911 * c.opt (-Wzero-length-bounds): New option.
912
913 2019-10-30 Nathan Sidwell <nathan@acm.org>
914
915 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
916 macros.
917
918 2019-10-28 Martin Sebor <msebor@redhat.com>
919
920 PR c/66970
921 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
922 even when only preprocessing.
923 * c-common.h (names_builtin_p): Declare new function.
924 * c-lex.c (init_c_lex): Set has_builtin.
925 (c_common_has_builtin): Define a new function.
926 * c-ppoutput.c (init_pp_output): Set has_builtin.
927
928 2019-10-24 Jakub Jelinek <jakub@redhat.com>
929
930 * c-common.h (c_omp_context_selector_matches): Remove.
931 * c-omp.c (c_omp_context_selector_matches): Remove.
932 * c-attribs.c (c_common_attribute_table): Add
933 "omp declare target {host,nohost,block}" attributes.
934
935 2019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
936
937 * c-lex.c (c_common_has_attribute): Update nodiscard value.
938
939 2019-10-14 Richard Sandiford <richard.sandiford@arm.com>
940
941 * c-common.h (user_facing_original_type_p): Declare.
942 * c-common.c: Include c-spellcheck.h.
943 (user_facing_original_type_p): New function.
944
945 2019-10-12 Jakub Jelinek <jakub@redhat.com>
946
947 * c-common.h (c_omp_mark_declare_variant,
948 c_omp_context_selector_matches): Declare.
949 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
950 and hsa-common.h.
951 (c_omp_get_context_selector): Support second argument NULL.
952 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
953 functions.
954 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
955 attribute, add "omp declare variant base" and
956 "omp declare variant variant" attributes.
957
958 2019-10-11 Joseph Myers <joseph@codesourcery.com>
959
960 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
961 CppReason(CPP_W_C11_C2X_COMPAT).
962
963 2019-10-11 Joseph Myers <joseph@codesourcery.com>
964
965 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
966 _Decimal64 and _Decimal128.
967
968 2019-10-10 Joseph Myers <joseph@codesourcery.com>
969
970 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
971 types if DFP not supported.
972
973 2019-10-10 Jakub Jelinek <jakub@redhat.com>
974
975 * c-common.h (c_omp_check_context_selector,
976 c_omp_get_context_selector): Declare.
977 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
978 in diagnostic message.
979 (c_omp_check_context_selector, c_omp_get_context_selector): New
980 functions.
981 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
982 attribute.
983 (handle_omp_declare_variant_attribute): New function.
984
985 2019-10-09 Martin Sebor <msebor@redhat.com>
986
987 PR tree-optimization/90879
988 * c.opt (-Wstring-compare): New option.
989
990 2019-10-08 Andrew Sutton <asutton@lock3software.com>
991 Jason Merrill <jason@redhat.com>
992
993 Update the concepts implementation to conform to the C++20
994 specification, improve compile times, and generally clean up
995 the implementation.
996
997 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
998 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
999 * c.opt: Add -Wconcepts-ts.
1000 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
1001 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
1002 (set_std_cxx2a): Enable concepts by default.
1003
1004 2019-10-08 Joseph Myers <joseph@codesourcery.com>
1005
1006 * c-opts.c (c_common_post_options): Set
1007 -fno-fp-int-builtin-inexact for C2X.
1008
1009 2019-10-05 Jakub Jelinek <jakub@redhat.com>
1010
1011 PR c++/91369 - Implement P0784R7: constexpr new
1012 * c-cppbuiltin.c (c_cpp_builtins): Predefine
1013 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
1014
1015 2019-10-04 Joseph Myers <joseph@codesourcery.com>
1016
1017 PR c/82752
1018 * c-format.c (C_STD_VER): Handle C2x.
1019 (C_STD_NAME): Likewise.
1020 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
1021 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
1022 modifier allowed and 'p' flag.
1023 * c-format.h (enum format_std_version): Add STD_C2X.
1024 (struct format_char_info): Mention 'p' in comment on flags2.
1025
1026 2019-10-01 David Malcolm <dmalcolm@redhat.com>
1027
1028 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
1029 calling diagnostic_show_locus, rather than destroying it afterwards.
1030
1031 2019-10-01 Jakub Jelinek <jakub@redhat.com>
1032
1033 PR c++/91925
1034 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
1035 with NULL DECL_FIELD_OFFSET.
1036
1037 2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
1038
1039 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
1040 has a type name, use it in preference to the __vector syntax.
1041
1042 2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
1043
1044 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
1045 two spaces between a comma and "...".
1046
1047 2019-09-27 Jakub Jelinek <jakub@redhat.com>
1048
1049 PR c++/88203
1050 * c-common.h (c_omp_predefined_variable): Declare.
1051 * c-omp.c (c_omp_predefined_variable): New function.
1052 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
1053 for predefined variables.
1054
1055 2019-09-27 Richard Sandiford <richard.sandiford@arm.com>
1056
1057 * c-common.h (build_function_call_vec): Take the original
1058 function decl as an optional final parameter.
1059 (check_builtin_function_arguments): Take the original function decl.
1060 * c-common.c (check_builtin_function_arguments): Likewise.
1061 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
1062 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
1063
1064 2019-09-15 Jason Merrill <jason@redhat.com>
1065
1066 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
1067 fold_for_warn in "|| mask" warning.
1068
1069 2019-09-10 Martin Liska <mliska@suse.cz>
1070
1071 * c.opt: Use newly added WarnRemoved.
1072
1073 2019-09-09 Martin Liska <mliska@suse.cz>
1074
1075 * c.opt: Update comment of removed
1076 options that are preserved only for backward
1077 compatibility.
1078
1079 2019-09-06 Martin Liska <mliska@suse.cz>
1080
1081 PR c++/91125
1082 * c-common.c: Remove definition of flag_use_repository.
1083 * c-common.h: Likewise.
1084 * c-opts.c (c_common_handle_option):
1085 Do not handle OPT_frepo option.
1086 * c.opt: Mark the option with Deprecated.
1087
1088 2019-09-04 Marek Polacek <polacek@redhat.com>
1089
1090 * c.opt (fdeduce-init-list): Ignored.
1091
1092 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1093
1094 PR c/78736
1095 * c.opt (Wenum-conversion): New option.
1096
1097 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1098
1099 * c-attribs.c (handle_section_attribute): Call the
1100 handle_generic_attribute target hook after performing target
1101 independent processing.
1102 (handle_noinit_attribute): Likewise.
1103
1104 2019-09-03 Ian Lance Taylor <iant@golang.org>
1105
1106 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
1107 when using -fgo-dump-spec.
1108
1109 2019-09-02 Martin Liska <mliska@suse.cz>
1110
1111 PR c++/91155
1112 * c-common.c (fname_as_string): Use cxx_printable_name for
1113 __PRETTY_FUNCTION__ same as was used before r265711.
1114
1115 2019-08-28 Marek Polacek <polacek@redhat.com>
1116
1117 Implement P1152R4: Deprecating some uses of volatile.
1118 PR c++/91361
1119 * c-opts.c (c_common_post_options): Enable -Wvolatile by
1120 default for C++2a, unless -Wno-deprecated.
1121 * c.opt (Wvolatile): New warning.
1122
1123 2019-08-28 Marek Polacek <polacek@redhat.com>
1124
1125 PR c++/91360 - Implement C++20 P1143R2: constinit.
1126 * c-common.c (c_common_reswords): Add constinit and __constinit.
1127 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
1128 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
1129 RID_LAST_CXX20.
1130 (D_CXX20): Define.
1131 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
1132 * c-format.c (cxx_keywords): Add "constinit".
1133 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
1134
1135 2019-08-27 Jakub Jelinek <jakub@redhat.com>
1136
1137 PR c++/91415
1138 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
1139 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
1140 like COMPOUND_EXPR rather than normal expression.
1141
1142 2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
1143
1144 PR pch/61250
1145 * c-lex.c (c_lex_with_flags): Don't call
1146 c_common_no_more_pch () from here.
1147
1148 2019-08-23 Jakub Jelinek <jakub@redhat.com>
1149
1150 PR middle-end/91283
1151 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
1152 instead of flag_excess_precision_cmdline.
1153 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
1154 * c-opts.c (c_common_post_options): Likewise.
1155
1156 2019-08-22 Martin Sebor <msebor@redhat.com>
1157
1158 PR middle-end/91490
1159 * c-common.c (braced_list_to_string): Add argument and overload.
1160 Handle flexible length arrays and unions.
1161
1162 2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
1163
1164 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
1165 function declarations where arguments are missing. Rename variables.
1166
1167 2019-08-15 Richard Biener <rguenther@suse.de>
1168
1169 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
1170 enabled, define __SIZETYPE__.
1171
1172 2019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
1173
1174 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
1175 exclusion with "section" attribute.
1176 (attr_noinit_exclusions): New table.
1177 (handle_noinit_attribute): New function.
1178
1179 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
1180
1181 PR middle-end/91421
1182 * c-common.c (resolve_overloaded_builtin): Use
1183 copy_decl_built_in_function.
1184
1185 2019-08-13 Martin Sebor <msebor@redhat.com>
1186
1187 PR c/80619
1188 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
1189 (asm_fprintf_length_spec): Same.
1190 * c-format.h (format_lengths): Add FMT_LEN_w.
1191
1192 2019-08-10 Jakub Jelinek <jakub@redhat.com>
1193
1194 * c-pragma.h (enum pragma_omp_clause): Add
1195 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
1196
1197 2019-08-07 Jakub Jelinek <jakub@redhat.com>
1198
1199 * c-pragma.h (enum pragma_omp_clause): Add
1200 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
1201 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
1202 enumeration value.
1203
1204 2019-08-05 Marek Polacek <polacek@redhat.com>
1205
1206 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
1207 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
1208 default for C++2a, unless -Wno-deprecated.
1209 * c.opt (Wcomma-subscript): New warning.
1210
1211 2019-07-20 Jakub Jelinek <jakub@redhat.com>
1212
1213 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
1214 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
1215 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
1216 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
1217 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
1218 constructs with the loop construct.
1219
1220 2019-07-13 Jakub Jelinek <jakub@redhat.com>
1221
1222 PR c/91149
1223 * c-omp.c (c_omp_split_clauses): Fix a pasto in
1224 OMP_CLAUSE_REDUCTION_TASK handling.
1225
1226 2019-07-12 Jakub Jelinek <jakub@redhat.com>
1227
1228 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
1229 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
1230
1231 2019-07-09 Martin Sebor <msebor@redhat.com>
1232
1233 PR c++/61339
1234 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
1235 and others to class.
1236 * c-pretty-print.h: Same.
1237
1238 2019-07-09 Martin Sebor <msebor@redhat.com>
1239
1240 PR c++/61339
1241 * c-format.c (check_argument_type): Change class-key from class to
1242 struct and vice versa to match convention and avoid -Wclass-is-pod
1243 and -Wstruct-no-pod.
1244 * c-pretty-print.h: Same.
1245
1246 2019-07-03 Martin Liska <mliska@suse.cz>
1247
1248 * c-common.c (try_to_locate_new_include_insertion_point): Remove
1249 dead assignemts.
1250
1251 2019-07-03 Jakub Jelinek <jakub@redhat.com>
1252
1253 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
1254 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
1255 with OMP_PARALLEL.
1256
1257 2019-07-02 qing zhao <qing.zhao@oracle.com>
1258
1259 PR preprocessor/90581
1260 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
1261 * c.opt: Add new option -fmax-include-depth.
1262
1263 2019-06-26 Jason Merrill <jason@redhat.com>
1264
1265 PR c++/55442 - memory-hog with highly recursive constexpr.
1266 * c.opt (fconstexpr-loop-limit): New.
1267
1268 2019-06-25 Jakub Jelinek <jakub@redhat.com>
1269
1270 PR sanitizer/90954
1271 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
1272 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
1273
1274 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1275
1276 * c-common.c (c_common_nodes_and_builtins): Define
1277 alternate "__intN__" name for "__intN" types.
1278
1279 2019-06-24 Jan Hubicka <jh@suse.cz>
1280
1281 * c-common.c (braced_lists_to_strings): Check that
1282 type is array or integer prior checking string flag.
1283
1284 2019-06-21 Matthew Beliveau <mbelivea@redhat.com>
1285
1286 PR c++/90875 - added -Wswitch-outside-range option
1287 * c.opt (Wswitch-outside-range): Added new option.
1288 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
1289
1290 2019-06-21 Marek Polacek <polacek@redhat.com>
1291
1292 PR c++/90953 - ICE with -Wmissing-format-attribute.
1293 * c-common.c (check_function_arguments_recurse): Use
1294 get_attribute_name.
1295 (check_missing_format_attribute): Likewise.
1296
1297 2019-06-19 Marek Polacek <polacek@redhat.com>
1298
1299 PR c++/60364 - noreturn after first decl not diagnosed.
1300 * c-attribs.c (handle_noreturn_attribute): No longer static.
1301 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
1302 Declare.
1303 * c-format.c (check_function_format): Use get_attribute_name.
1304
1305 2019-06-19 Martin Sebor <msebor@redhat.com>
1306
1307 PR translation/90156
1308 * c-format.c (function_format_info::format_type): Adjust type.
1309 (function_format_info::is_raw): New member.
1310 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
1311 (decode_format_attr): Adjust call to decode_format_type.
1312 Avoid a redundant call to convert_format_name_to_system_name.
1313 Avoid abbreviating the word "arguments" in a diagnostic.
1314 (format_warning_substr): New function.
1315 (avoid_dollar_number): Quote dollar sign in a diagnostic.
1316 (finish_dollar_format_checking): Same.
1317 (check_format_info): Same.
1318 (struct baltoks_t): New.
1319 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
1320 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
1321 functions.
1322 (check_format_info_main): Call check_plain. Use baltoks_t. Call
1323 maybe_diag_unbalanced_tokens.
1324 (handle_format_attribute): Spell out the word "arguments" in
1325 a diagnostic.
1326
1327 2019-06-11 Matthew Beliveau <mbelivea@redhat.com>
1328
1329 PR c++/90449 - add -Winaccessible-base option.
1330 * c.opt (Winaccessible-base): New option.
1331
1332 2019-06-10 Jakub Jelinek <jakub@redhat.com>
1333
1334 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
1335 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
1336 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
1337 combined/composite constructs where it is not allowed. Copy over
1338 OMP_CLAUSE_REDUCTION_INSCAN.
1339
1340 2019-06-05 Martin Sebor <msebor@redhat.com>
1341
1342 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
1343 (handle_alias_ifunc_attribute): Same.
1344 (handle_copy_attribute): Same.
1345 (handle_weakref_attribute): Same.
1346 (handle_nonnull_attribute): Same.
1347 * c-warn.c (warn_for_sign_compare): Same.
1348 (warn_for_restrict): Same.
1349 * c.opt: Same.
1350
1351 2019-06-05 Martin Sebor <msebor@redhat.com>
1352
1353 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
1354 * c.opt (-Wformat-diag): Remove a spurious period.
1355
1356 2019-05-29 Jakub Jelinek <jakub@redhat.com>
1357
1358 PR c/90628
1359 * c-common.c (check_builtin_function_arguments)
1360 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
1361 as last argument.
1362
1363 2019-05-23 Eric Botcazou <ebotcazou@adacore.com>
1364
1365 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
1366
1367 2019-05-22 Martin Liska <mliska@suse.cz>
1368
1369 PR lto/90500
1370 * c-attribs.c (handle_copy_attribute): Do not copy
1371 target_clones attribute.
1372
1373 2019-05-21 Eric Botcazou <ebotcazou@adacore.com>
1374
1375 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
1376 * c-ada-spec.c (print_assignment_operator): New function.
1377 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
1378 assignment operators declared as methods and filter out the others.
1379
1380 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1381
1382 PR c/89433
1383 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
1384 "omp declare target".
1385
1386 2019-05-16 Martin Sebor <msebor@redhat.com>
1387
1388 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
1389 keywords, operators, and types in diagnostics.
1390 (handle_scalar_storage_order_attribute): Same.
1391 (handle_mode_attribute): Same.
1392 (handle_visibility_attribute): Same.
1393 (handle_assume_aligned_attribute): Same.
1394 (handle_no_split_stack_attribute): Same.
1395 * c-common.c (shorten_compare): Same.
1396 (c_common_truthvalue_conversion): Same.
1397 (cb_get_source_date_epoch): Same.
1398 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
1399 in diagnostics.
1400 (interpret_float): Same.
1401 * c-omp.c (c_finish_omp_for): Same.
1402 * c-opts.c (c_common_post_options): Same.
1403 * c-pch.c (c_common_pch_pragma): Same.
1404 * c-pragma.c (pop_alignment): Same.
1405 (handle_pragma_pack): Same.
1406 (apply_pragma_weak): Same.
1407 (handle_pragma_weak): Same.
1408 (handle_pragma_scalar_storage_order): Same.
1409 (handle_pragma_redefine_extname): Same.
1410 (add_to_renaming_pragma_list): Same.
1411 (maybe_apply_renaming_pragma): Same.
1412 (push_visibility): Same.
1413 (handle_pragma_visibility): Same.
1414 (handle_pragma_optimize): Same.
1415 (handle_pragma_message): Same.
1416 * c-warn.c (warn_for_omitted_condop): Same.
1417 (lvalue_error): Same.
1418
1419 2019-05-15 Richard Biener <rguenther@suse.de>
1420
1421 PR c/90474
1422 * c-common.c (c_common_mark_addressable_vec): Also mark
1423 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
1424 c_mark_addressable.
1425
1426 2019-05-06 Nathan Sidwell <nathan@acm.org>
1427
1428 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
1429
1430 2019-04-30 Nathan Sidwell <nathan@acm.org>
1431
1432 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
1433
1434 2019-04-30 Martin Liska <mliska@suse.cz>
1435
1436 * c-pragma.c (handle_pragma_diagnostic): Provide hints
1437 for unknown options.
1438
1439 2019-04-26 Richard Sandiford <richard.sandiford@arm.com>
1440
1441 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
1442 the pointer target rather than the pointer itself.
1443
1444 2019-04-19 Jakub Jelinek <jakub@redhat.com>
1445
1446 PR c/89888
1447 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
1448 arguments.
1449 (c_do_switch_warnings): Remove outside_range_p argument.
1450 * c-common.c (check_case_bounds): Removed.
1451 (c_add_case_label): Remove orig_type and outside_range_p arguments.
1452 Don't call check_case_bounds. Fold low_value as well as high_value.
1453 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
1454 Check for case labels outside of range of original type here and
1455 adjust them.
1456
1457 2019-04-12 Jakub Jelinek <jakub@redhat.com>
1458
1459 PR translation/90041
1460 * c.opt (-fhandle-exceptions): Use %< and %> around option names
1461 in the Warn diagnostics.
1462
1463 PR c/89946
1464 * c-attribs.c (handle_patchable_function_entry_attribute): Add
1465 function comment. Warn if arguments of the attribute are not positive
1466 integer constants.
1467
1468 2019-04-09 Eric Botcazou <ebotcazou@adacore.com>
1469
1470 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
1471 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
1472
1473 2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
1474
1475 * c-ada-spec.c (is_float128): New predicate extracted from...
1476 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
1477 <REAL_TYPE>: ...here. Call it.
1478
1479 2019-04-05 David Malcolm <dmalcolm@redhat.com>
1480
1481 PR c/89985
1482 * c-warn.c (check_address_or_pointer_of_packed_member): Add
1483 auto_diagnostic_group. Guard inform calls by result of
1484 warning_at call.
1485
1486 2019-04-05 Marek Polacek <polacek@redhat.com>
1487
1488 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
1489 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
1490 of RHS.
1491
1492 2019-04-03 Jason Merrill <jason@redhat.com>
1493
1494 PR c++/86586 - -fcompare-debug=-Wsign-compare.
1495 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
1496
1497 2019-04-01 Martin Sebor <msebor@redhat.com>
1498
1499 PR c/89685
1500 * c-attribs.c (handle_copy_attribute): Handle references and
1501 non-constant expressions.
1502
1503 2019-03-22 Jakub Jelinek <jakub@redhat.com>
1504
1505 PR c++/87481
1506 * c.opt (-fconstexpr-ops-limit=): New option.
1507
1508 2019-03-21 Jakub Jelinek <jakub@redhat.com>
1509
1510 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
1511 template param.
1512
1513 2019-03-19 Martin Sebor <msebor@redhat.com>
1514
1515 PR tree-optimization/89688
1516 * c-common.c (braced_list_to_string): Make static.
1517 (braced_lists_to_strings): Define new function.
1518 * c-common.h (braced_list_to_string): Remove.
1519 (braced_lists_to_strings): Declare.
1520
1521 2019-03-12 Martin Liska <mliska@suse.cz>
1522
1523 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
1524
1525 2019-03-11 Martin Liska <mliska@suse.cz>
1526
1527 * c-opts.c (c_common_post_options): Wrap apostrophes
1528 in gcc internal format with %'.
1529
1530 2019-03-11 Martin Liska <mliska@suse.cz>
1531
1532 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
1533 in a string format message and fix GNU coding style.
1534 * c-common.c (vector_types_convertible_p): Likewise.
1535 (c_build_vec_perm_expr): Likewise.
1536 * c-indentation.c (get_visual_column): Likewise.
1537 * c-opts.c (c_common_handle_option): Likewise.
1538 (c_common_post_options): Likewise.
1539 (sanitize_cpp_opts): Likewise.
1540 * c-pch.c (c_common_pch_pragma): Likewise.
1541 * c-pragma.c (handle_pragma_pack): Likewise.
1542
1543 2019-03-08 Jakub Jelinek <jakub@redhat.com>
1544
1545 PR tree-optimization/89550
1546 * c-common.c (c_common_truthvalue_conversion): Only set
1547 TREE_NO_WARNING if warning_at returned true.
1548 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
1549
1550 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
1551 Martin Sebor <msebor@gmail.com>
1552
1553 * c.opt (Wmissing-attributes): Clean up doc string.
1554
1555 2019-02-25 Jakub Jelinek <jakub@redhat.com>
1556
1557 PR c/89495
1558 * c-format.c (maybe_read_dollar_number): Compute nargnum in
1559 HOST_WIDE_INT type to avoid overflows and change overflow_flag
1560 checking.
1561
1562 2019-02-22 Richard Biener <rguenther@suse.de>
1563
1564 * c-pch.c (no_checksum): Remove.
1565 (pch_init): Remove assertion that executable_checksum is not
1566 all zero.
1567 (c_common_valid_pch): Likewise.
1568
1569 2019-02-18 Martin Sebor <msebor@redhat.com>
1570
1571 PR middle-end/89294
1572 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
1573
1574 2019-02-16 David Malcolm <dmalcolm@redhat.com>
1575
1576 PR c++/88680
1577 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
1578 implementing -Wtype-limits.
1579
1580 2019-02-11 Martin Sebor <msebor@redhat.com>
1581
1582 PR c++/87996
1583 * c-common.c (invalid_array_size_error): New function.
1584 (valid_array_size_p): Call it. Handle size as well as type.
1585 * c-common.h (valid_constant_size_p): New function.
1586 (enum cst_size_error): New type.
1587
1588 2019-01-31 David Malcolm <dmalcolm@redhat.com>
1589
1590 PR c/89122
1591 * known-headers.cc (get_stdlib_header_for_name): Add
1592 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
1593
1594 2019-01-31 Jakub Jelinek <jakub@redhat.com>
1595
1596 PR libstdc++/88170
1597 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
1598 a C cast in pp_c_flag_gnu_v3 mode.
1599
1600 2019-01-29 Jakub Jelinek <jakub@redhat.com>
1601
1602 PR c/86125
1603 * c-common.c (c_common_nodes_and_builtins): Build type variants for
1604 builtin_structptr_types types even for C.
1605
1606 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1607
1608 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
1609 when rhs is of array type correctly. Fix handling of nested structures.
1610 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
1611 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
1612 type casts within nested compound expressions.
1613
1614 2019-01-22 Jakub Jelinek <jakub@redhat.com>
1615
1616 PR middle-end/88968
1617 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
1618 variable after using BIT_FIELD_REF.
1619
1620 2019-01-18 H.J. Lu <hongjiu.lu@intel.com>
1621
1622 PR c/51628
1623 PR c/88664
1624 * c-common.h (warn_for_address_or_pointer_of_packed_member):
1625 Remove the boolean argument.
1626 * c-warn.c (check_address_of_packed_member): Renamed to ...
1627 (check_address_or_pointer_of_packed_member): This. Also
1628 warn pointer conversion.
1629 (check_and_warn_address_of_packed_member): Renamed to ...
1630 (check_and_warn_address_or_pointer_of_packed_member): This.
1631 Also warn pointer conversion.
1632 (warn_for_address_or_pointer_of_packed_member): Remove the
1633 boolean argument. Don't check pointer conversion here.
1634
1635 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
1636
1637 PR inline-asm/52813
1638 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
1639
1640 2019-01-14 Jakub Jelinek <jakub@redhat.com>
1641
1642 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
1643 and __cpp_nontype_template_parameter_auto. Add a comment that
1644 __cpp_template_auto is deprecated.
1645
1646 2019-01-14 Tom Honermann <tom@honermann.net>
1647
1648 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
1649 * c-common.c (c_common_reswords): Add char8_t.
1650 (fix_string_type): Use char8_t for the type of u8 string literals.
1651 (c_common_get_alias_set): char8_t doesn't alias.
1652 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
1653 C++.
1654 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
1655 (keyword_begins_type_specifier): Add RID_CHAR8.
1656 * c-common.h (rid): Add RID_CHAR8.
1657 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
1658 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
1659 Define char8_type_node and char8_array_type_node.
1660 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
1661 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
1662 (c_cpp_builtins): Predefine __cpp_char8_t.
1663 * c-lex.c (lex_string): Use char8_array_type_node as the type of
1664 CPP_UTF8STRING.
1665 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
1666 * c-opts.c: If not otherwise specified, enable -fchar8_t when
1667 targeting C++2a.
1668 * c.opt: Add the -fchar8_t command line option.
1669
1670 2019-01-14 Martin Sebor <msebor@redhat.com>
1671
1672 PR target/88638
1673 * c-attribs.c (positional_argument): Call valid_format_string_type_p
1674 and issue errors if it fails.
1675 * c-common.h (valid_format_string_type_p): Declare.
1676 * c-format.c (valid_stringptr_type_p): Rename...
1677 (valid_format_string_type_p): ...to this and make extern.
1678 (handle_format_arg_attribute): Adjust to new name.
1679 (check_format_string): Same.
1680
1681 2019-01-13 H.J. Lu <hongjiu.lu@intel.com>
1682
1683 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
1684 Replace "may may" with "may" in warning message.
1685
1686 2019-01-07 Jakub Jelinek <jakub@redhat.com>
1687
1688 PR c++/85052
1689 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
1690 (c_build_vec_convert): Declare.
1691 * c-common.c (c_build_vec_convert): New function.
1692
1693 2019-01-04 Martin Sebor <msebor@redhat.com>
1694
1695 PR c/88546
1696 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
1697 Handle C++ empty throw specification and C11 _Noreturn.
1698 (has_attribute): Also handle C11 _Noreturn.
1699
1700 2019-01-04 Martin Sebor <msebor@redhat.com>
1701
1702 PR c/88363
1703 * c-attribs.c (positional_argument): Also accept enumerated types.
1704
1705 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1706
1707 Update copyright years.
1708
1709 2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1710
1711 PR c/51628
1712 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
1713 * c-warn.c (check_alignment_of_packed_member): New function.
1714 (check_address_of_packed_member): Likewise.
1715 (check_and_warn_address_of_packed_member): Likewise.
1716 (warn_for_address_or_pointer_of_packed_member): Likewise.
1717 * c.opt: Add -Wno-address-of-packed-member.
1718
1719 2018-12-20 David Malcolm <dmalcolm@redhat.com>
1720
1721 PR c++/87504
1722 * c-warn.c (get_outermost_macro_expansion): New function.
1723 (spelled_the_same_p): Use it to unwind the macro expansions, and
1724 compare the outermost macro in each nested expansion, rather than
1725 the innermost.
1726
1727 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1728
1729 PR c++/87504
1730 * c-common.h (warn_tautological_cmp): Convert 1st param from
1731 location_t to const op_location_t &.
1732 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1733 when testing for INTEGER_CST.
1734 (warn_tautological_bitwise_comparison): Convert 1st param from
1735 location_t to const op_location_t &; use it to build a
1736 binary_op_rich_location, and use this.
1737 (spelled_the_same_p): New function.
1738 (warn_tautological_cmp): Convert 1st param from location_t to
1739 const op_location_t &. Warn for macro expansions if
1740 spelled_the_same_p. Use binary_op_rich_location.
1741
1742 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1743
1744 PR c++/43064
1745 PR c++/43486
1746 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1747 (verify_tree): Handle location wrappers.
1748 (c_common_truthvalue_conversion): Strip any location wrapper.
1749 Handle CONST_DECL.
1750 (fold_offsetof): Strip any location wrapper.
1751 (complete_array_type): Likewise for initial_value.
1752 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1753 index before checking for INTEGER_CST.
1754 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1755 print parentheses around location wrappers.
1756 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1757 before checking for INTEGER_CST.
1758 (warn_tautological_bitwise_comparison): Call
1759 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1760 before checking for INTEGER_CST.
1761 (readonly_error): Strip any location wrapper.
1762 (warn_array_subscript_with_type_char): Strip location wrappers
1763 before checking for INTEGER_CST. Use the location of the index if
1764 available.
1765
1766 2018-12-06 Jason Merrill <jason@redhat.com>
1767
1768 PR c++/88136 - -Wdeprecated-copy false positives
1769 * c.opt (Wdeprecated-copy-dtor): New.
1770 (Wdeprecated-copy): Move to -Wextra.
1771
1772 2018-11-29 Martin Sebor <msebor@redhat.com>
1773
1774 PR c/88172
1775 PR testsuite/88208
1776 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1777 alignments to values less than the target requires.
1778 (has_attribute): For attribute aligned consider both the attribute
1779 and the alignment bits.
1780 * c-common.c (c_init_attributes): Optionally issue a warning for
1781 zero alignment.
1782
1783 2018-11-28 Martin Sebor <msebor@redhat.com>
1784
1785 PR c/88065
1786 PR c/87297
1787 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1788 or destination is an error.
1789
1790 2018-11-28 Jakub Jelinek <jakub@redhat.com>
1791
1792 PR c++/88215
1793 * c-ubsan.c: Include langhooks.h.
1794 (ubsan_instrument_division): Change gcc_assert that main variants
1795 of op0 and op1 types are equal to gcc_checking_assert that the
1796 main variants are compatible types.
1797
1798 2018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1799
1800 * c-ada-spec.c: Include stringpool.h.
1801 (has_static_fields): Return false for incomplete types.
1802 (is_tagged_type): Likewise.
1803 (has_nontrivial_methods): Likewise.
1804 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1805 (struct overloaded_name_hash): New structure.
1806 (struct overloaded_name_hasher): Likewise.
1807 (overloaded_names): New global variable.
1808 (init_overloaded_names): New static function.
1809 (overloaded_name_p): New predicate.
1810 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1811 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1812 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1813 Remove always-true condition and dump forward types.
1814 (dump_ada_specs): Delete overloaded_names.
1815
1816 2018-11-20 Martin Sebor <msebor@redhat.com>
1817
1818 * c-attribs.c (type_for_vector_size): New function.
1819 (type_valid_for_vector_size): Same.
1820 (handle_vector_size_attribute): Move code to the functions above
1821 and call them.
1822 (validate_attribute, has_attribute): New functions.
1823 * c-common.h (has_attribute): Declare.
1824 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1825 * c-common.c (c_common_resword): Same.
1826
1827 2018-11-16 Jason Merrill <jason@redhat.com>
1828
1829 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1830 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1831
1832 2018-11-16 Jakub Jelinek <jakub@redhat.com>
1833
1834 PR middle-end/87854
1835 * c-common.c (fix_string_type): Reject string literals larger than
1836 TYPE_MAX_VALUE (ssizetype) bytes.
1837
1838 2018-11-15 Martin Sebor <msebor@redhat.com>
1839
1840 PR c++/87541
1841 PR c++/87542
1842 * c-attribs.c (positional_argument): New function.
1843 (handle_alloc_size_attribute): Use it and simplify.
1844 (handle_alloc_align_attribute): Same.
1845 (handle_assume_aligned_attribute): Same.
1846 (handle_nonnull_attribute): Same.
1847 * c-common.c (check_function_arguments): Pass fntype to
1848 check_function_format.
1849 * c-common.h (check_function_format): Add an argument.
1850 (PosArgFlags, positional_argument): Declare new type and function.
1851 * c-format.c (decode_format_attr): Add arguments.
1852 (check_format_string, get_constant): Same.
1853 (convert_format_name_to_system_name): Adjust.
1854
1855 2018-11-15 David Malcolm <dmalcolm@redhat.com>
1856
1857 PR other/19165
1858 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
1859
1860 2018-11-14 Jakub Jelinek <jakub@redhat.com>
1861
1862 P1236R1 - Signed integers are two's complement
1863 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
1864 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
1865 with in-range second operand well defined for -std=c++2a.
1866
1867 PR other/88007
1868 * c-common.c (parse_optimize_options): Allocate option string from
1869 opts_obstack rather than as GC memory. Move the allocation after
1870 warning for invalid option.
1871
1872 2018-11-13 David Malcolm <dmalcolm@redhat.com>
1873
1874 * c-common.c (c_get_substring_location): Update for renaming of
1875 get_source_location_for_substring to get_location_within_string.
1876 * c-lex.c: Replace "source_location" with "location_t".
1877 * c-opts.c: Likewise.
1878 * c-ppoutput.c: Likewise.
1879
1880 2018-11-13 Martin Sebor <msebor@redhat.com>
1881
1882 PR middle-end/81824
1883 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
1884 (handle_tls_model_attribute): Improve diagnostics.
1885
1886 2018-11-12 Jason Merrill <jason@redhat.com>
1887
1888 * c-cppbuiltin.c (c_cpp_builtins): Define
1889 __cpp_impl_destroying_delete.
1890
1891 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1892 __cpp_conditional_explicit.
1893
1894 2018-11-09 Martin Sebor <msebor@redhat.com>
1895
1896 PR middle-end/81824
1897 * c-attribs.c (handle_copy_attribute): New function.
1898
1899 2018-11-09 Martin Sebor <msebor@redhat.com>
1900
1901 PR c/87795
1902 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1903
1904 2018-11-08 Jakub Jelinek <jakub@redhat.com>
1905
1906 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1907 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1908 enum omp_memory_order MEMORY_ORDER.
1909 (c_finish_omp_flush): Add MO argument.
1910 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1911 (c_finish_omp_for): Add FINAL_P argument.
1912 * c-omp.c: Include memmodel.h.
1913 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1914 OMP_TASKGROUP_CLAUSES to it.
1915 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1916 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
1917 instead of OMP_ATOMIC_SEQ_CST.
1918 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
1919 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
1920 __atomic_thread_fence call with the given value.
1921 (check_omp_for_incr_expr): Formatting fixes.
1922 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
1923 even in OpenMP loops, diagnose if NE_EXPR and incr expression
1924 is not constant expression 1 or -1. Transform NE_EXPR loops
1925 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
1926 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
1927 loops too.
1928 (c_omp_split_clauses): Add support for combined
1929 #pragma omp parallel master and
1930 #pragma omp {,parallel }master taskloop{, simd} constructs.
1931 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
1932 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
1933 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
1934 (c_omp_predetermined_sharing): Don't return
1935 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
1936 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
1937 PRAGMA_OMP_REQUIRES.
1938 * c-pragma.h (enum pragma_kind): Likewise.
1939 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
1940 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1941
1942 2018-11-08 David Malcolm <dmalcolm@redhat.com>
1943
1944 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
1945
1946 2018-11-08 David Malcolm <dmalcolm@redhat.com>
1947
1948 * c-format.c (local_cgraph_node_ptr_node): New variable.
1949 (gcc_dump_printf_char_table): Add entry for %C.
1950 (get_pointer_to_named_type): New function, taken from the handling
1951 code for "gimple *" from...
1952 (init_dynamic_diag_info): ...here. Add handling for
1953 "cgraph_node *".
1954 * c-format.h (T_CGRAPH_NODE): New.
1955
1956 2018-10-19 Jason Merrill <jason@redhat.com>
1957
1958 * c-cppbuiltin.c (c_cpp_builtins): Add
1959 __cpp_nontype_template_parameter_class.
1960
1961 2018-10-31 Nathan Sidwell <nathan@acm.org>
1962
1963 * c-opts.c (c_finish_options): Force command line macro
1964 location. Refactor to avoid repeating main debug hook.
1965 (push_command_line_include): Clarify comment.
1966
1967 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
1968
1969 2018-10-30 Martin Sebor <msebor@redhat.com>
1970
1971 PR middle-end/87041
1972 * c-format.c (check_format_types): Avoid diagnosing null pointer
1973 arguments to printf-family of functions.
1974
1975 2018-10-30 Marek Polacek <polacek@redhat.com>
1976
1977 Implement P0892R2, explicit(bool).
1978 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
1979
1980 2018-10-29 David Malcolm <dmalcolm@redhat.com>
1981
1982 * name-hint.h (name_hint::take_deferred): New member function.
1983
1984 2018-10-29 David Malcolm <dmalcolm@redhat.com>
1985
1986 PR c++/56856
1987 * c-common.c (check_function_sentinel): Call fold_for_warn on the
1988 argument.
1989 (check_function_restrict): Rename param "argarray" to
1990 "unfolded_argarray", and make a copy named "argarray", calling
1991 fold_for_warn on each argument.
1992 (check_function_arguments): Add note about responsibility for
1993 folding the arguments.
1994
1995 2018-10-17 Joseph Myers <joseph@codesourcery.com>
1996
1997 * c-common.c (flag_isoc2x): New variable.
1998 * c-common.h (clk_c): Update comment to reference C2X.
1999 (flag_isoc99, flag_isoc11): Update comments to reference future
2000 standard versions in general.
2001 (flag_isoc2x): Declare.
2002 * c-opts.c (set_std_c2x): New function.
2003 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
2004 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
2005 flag_isoc2x to 0.
2006 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
2007
2008 2018-10-17 Joseph Myers <joseph@codesourcery.com>
2009
2010 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
2011 (std=iso9899:2018): Document C17 as published in 2018.
2012
2013 2018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
2014
2015 PR c++/87364
2016 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
2017
2018 2018-10-11 Will Wray <wjwray@gmail.com>
2019
2020 PR c++/87364
2021 * c-pretty-print.h (pp_c_type_cast): Prototype.
2022 (pp_c_integer_constant): Likewise.
2023 * c-pretty-print.c (pp_c_type_cast): No longer static.
2024 (pp_c_integer_constant): Likewise.
2025 (pp_c_enumeration_constant): Fix loop termination when finding
2026 name of constant. No longer returns a value. Call
2027 pp_c_integer_constant.
2028 (c_pretty_printer::constant): Update for changes to
2029 pp_c_enumeration_constant.
2030
2031 2018-10-11 Jakub Jelinek <jakub@redhat.com>
2032
2033 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
2034 for no_unique_address.
2035
2036 2018-10-09 David Malcolm <dmalcolm@redhat.com>
2037
2038 * c-common.c (c_option_controlling_cpp_error): Rename to...
2039 (c_option_controlling_cpp_diagnostic): ...this, and convert
2040 "reason" from int to enum.
2041 (c_cpp_error): Rename to...
2042 (c_cpp_diagnostic): ...this, converting level and reason to enums.
2043 * c-common.h (c_cpp_error): Rename to...
2044 (c_cpp_diagnostic): ...this, converting level and reason to enums.
2045 * c-opts.c (c_common_init_options): Update for renaming.
2046
2047 2018-10-08 Richard Sandiford <richard.sandiford@arm.com>
2048
2049 PR c/87286
2050 * c-common.c (vector_types_compatible_elements_p): Use
2051 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
2052
2053 2018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
2054
2055 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
2056 to generate constructor destructor priority warning.
2057 * c.opt (-Wprio-ctor-dtor): New option.
2058
2059 2018-10-01 Jason Merrill <jason@redhat.com>
2060
2061 * c-lex.c (c_common_has_attribute): Add no_unique_address.
2062
2063 2018-10-01 Eric Botcazou <ebotcazou@adacore.com>
2064
2065 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
2066 (dump_ada_node): Add const keyword.
2067
2068 2018-09-25 Martin Liska <mliska@suse.cz>
2069
2070 * c-common.c (c_common_truthvalue_conversion):
2071 Remove Pascal from documentation.
2072
2073 2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
2074
2075 * c-ada-spec.c: Include diagnostic.h.
2076 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
2077
2078 2018-09-19 Marek Polacek <polacek@redhat.com>
2079
2080 * c.opt (Wclass-conversion): New.
2081
2082 2018-09-17 David Malcolm <dmalcolm@redhat.com>
2083
2084 * c-format.c (range_label_for_format_type_mismatch::get_text):
2085 Update for new param.
2086
2087 2018-09-17 David Malcolm <dmalcolm@redhat.com>
2088
2089 * c-format.c (format_warning_at_char): Update for introduction of
2090 format_string_diagnostic_t.
2091 (format_type_warning): Likewise.
2092
2093 2018-09-17 Martin Jambor <mjambor@suse.cz>
2094
2095 PR c/63886
2096 * c.opt (Wabsolute-value): New.
2097
2098 2018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
2099
2100 * c-common.c (complete_flexible_array_elts): New helper function.
2101 * c-common.h (complete_flexible_array_elts): Declare.
2102
2103 2018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2104
2105 * c-common.c (braced_list_to_string): Remove eval parameter.
2106 Add some more checks. Always create zero-terminated STRING_CST.
2107 * c-common.h (braced_list_to_string): Adjust prototype.
2108
2109 2018-08-27 David Malcolm <dmalcolm@redhat.com>
2110
2111 PR 87091
2112 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
2113 to a tri-state.
2114 (maybe_suggest_missing_token_insertion): Likewise.
2115 (maybe_add_include_fixit): Add param "override_location". If set,
2116 and source-printing is enabled, then override the rich_location's
2117 primary location with that of the insertion point for the fix-it
2118 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
2119 * c-common.h (extern void maybe_add_include_fixit): Add bool
2120 param.
2121 * c-format.c (selftest::test_type_mismatch_range_labels): Update
2122 for conversion of show_caret_p to a tri-state.
2123 * c-warn.c (warn_for_restrict): Likewise.
2124 * known-headers.cc
2125 (suggest_missing_header::~suggest_missing_header): Update call to
2126 maybe_add_include_fixit to suggest overriding the location, as it
2127 is for a note.
2128
2129 2018-08-27 Martin Liska <mliska@suse.cz>
2130
2131 * c-common.c (check_function_restrict): Use new function
2132 fndecl_built_in_p and remove check for FUNCTION_DECL if
2133 possible.
2134 (check_builtin_function_arguments): Likewise.
2135 (reject_gcc_builtin): Likewise.
2136 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
2137
2138 2018-08-26 Marek Polacek <polacek@redhat.com>
2139
2140 PR c++/87029, Implement -Wredundant-move.
2141 * c.opt (Wredundant-move): New option.
2142
2143 2018-08-21 Marek Polacek <polacek@redhat.com>
2144
2145 PR c++/86981, Implement -Wpessimizing-move.
2146 * c.opt (Wpessimizing-move): New option.
2147
2148 2018-08-20 David Malcolm <dmalcolm@redhat.com>
2149
2150 PR other/84889
2151 * c-attribs.c (common_handle_aligned_attribute): Add
2152 auto_diagnostic_group instance.
2153 * c-indentation.c (warn_for_misleading_indentation): Likewise.
2154 * c-opts.c (c_common_post_options): Likewise.
2155 * c-warn.c (warn_logical_not_parentheses): Likewise.
2156 (warn_duplicated_cond_add_or_warn): Likewise.
2157 (warn_for_multistatement_macros): Likewise.
2158
2159 2018-08-20 Nathan Sidwell <nathan@acm.org>
2160
2161 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
2162 access.
2163
2164 2018-08-17 Nathan Sidwell <nathan@acm.org>
2165
2166 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
2167 field.
2168 (laxy_hex_fp_value_count): Make unsigned.
2169 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
2170 manipulate the macro.
2171 (builtin_defin_with_hex_fp_value): Adjust callback name, use
2172 cpp_define_lazily.
2173
2174 2018-08-17 David Malcolm <dmalcolm@redhat.com>
2175
2176 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
2177 (gcc_dump_printf_length_specs): New.
2178 (gcc_dump_printf_flag_pairs): New.
2179 (gcc_dump_printf_flag_specs): New.
2180 (gcc_dump_printf_char_table): New.
2181 (format_types_orig): Add entry for "gcc_dump_printf".
2182 (init_dynamic_diag_info): Set up length_char_specs and
2183 conversion_specs for gcc_dump_printf_format_type.
2184 (handle_format_attribute): Handle gcc_dump_printf_format_type.
2185
2186 2018-08-17 Nathan Sidwell <nathan@acm.org>
2187
2188 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
2189
2190 * c-ada-spec.c: Don't #include "cpp-id-data.h"
2191 * c-cppbuiltin.c: Likewise.
2192
2193 2018-08-17 Martin Liska <mliska@suse.cz>
2194
2195 * c.opt: Remove Warn, Init and Report for options with
2196 Ignore/Deprecated flag. Warning is done automatically for
2197 Deprecated flags.
2198
2199 2018-08-16 David Malcolm <dmalcolm@redhat.com>
2200
2201 PR c++/70693
2202 * c-common.c (selftest::c_family_tests): Call
2203 selftest::c_indentation_c_tests.
2204 * c-common.h (selftest::c_indentation_c_tests): New decl.
2205 * c-indentation.c: Include "selftest.h".
2206 (next_tab_stop): Add "tab_width" param, rather than accessing
2207 cpp_opts.
2208 (get_visual_column): Likewise. Clarify comment. Bulletproof
2209 against reading past the end of the line.
2210 (get_first_nws_vis_column): Add "tab_width" param.
2211 (detect_intervening_unindent): Likewise.
2212 (should_warn_for_misleading_indentation): Read tab width from
2213 cpp_opts and pass around.
2214 (selftest::test_next_tab_stop): New test.
2215 (selftest::assert_get_visual_column_succeeds): New function.
2216 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
2217 (selftest::assert_get_visual_column_fails): New function.
2218 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
2219 (selftest::test_get_visual_column): New test.
2220 (selftest::c_indentation_c_tests): New function.
2221
2222 2018-08-16 Nathan Sidwell <nathan@acm.org>
2223
2224 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
2225 (store_ada_macro): Likewise.
2226 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
2227 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
2228
2229 2018-08-15 David Malcolm <dmalcolm@redhat.com>
2230
2231 * c-format.c: Include "selftest-diagnostic.h" and
2232 "gcc-rich-location.h".
2233 (format_warning_at_char): Pass NULL for new label params of
2234 format_warning_va.
2235 (class indirection_suffix): New class.
2236 (class range_label_for_format_type_mismatch): New class.
2237 (format_type_warning): Move logic for generating "*" suffix to
2238 class indirection_suffix. Create "fmt_label" and "param_label"
2239 to show their types, and pass them to the
2240 format_warning_at_substring calls.
2241 (selftest::test_type_mismatch_range_labels): New test.
2242 (selftest::c_format_c_tests): Call it.
2243
2244 2018-08-13 Martin Sebor <msebor@redhat.com>
2245
2246 PR tree-optimization/71625
2247 * c-common.c (braced_list_to_string): New function.
2248 * c-common.h (braced_list_to_string): Declare it.
2249
2250 2018-08-08 Nathan Sidwell <nathan@acm.org>
2251
2252 * c-common.c (try_to_locate_new_include_inertion_point): Use
2253 linemap_included_from_linemap.
2254 * c-lex.c (fe_file_change): Use linemap_included_from.
2255 * c-ppoutput.c (pp_file_change): Likewise.
2256
2257 2018-08-01 Martin Sebor <msebor@redhat.com>
2258
2259 PR tree-optimization/86650
2260 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
2261 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
2262 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
2263 * c-format.h (T89_G): Update to be "gimple *" rather than
2264 "gcall *".
2265 (local_gcall_ptr_node): Rename...
2266 (local_gimple_ptr_node): ...to this.
2267
2268 2018-07-31 David Malcolm <dmalcolm@redhat.com>
2269
2270 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
2271 table entries for gcc_diag_char_table, and the 'Z' entry from
2272 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
2273 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
2274 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
2275 adding missing "Z" for this table. Remove erroneous "G" and "K"
2276 entries.
2277 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
2278 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
2279 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
2280
2281 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
2282
2283 * c-common.c (speculation_safe_resolve_call): New function.
2284 (speculation_safe_resolve_params): New function.
2285 (speculation_safe_resolve_return): New function.
2286 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
2287 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
2288 __HAVE_SPECULATION_SAFE_VALUE.
2289
2290 2018-07-20 David Malcolm <dmalcolm@redhat.com>
2291
2292 * c-common.c (c_cpp_error): Remove redundant "line_table"
2293 parameter from call to rich_location::set_range.
2294 (maybe_suggest_missing_token_insertion): Likewise.
2295
2296 2018-07-20 Martin Sebor <msebor@redhat.com>
2297
2298 PR middle-end/82063
2299 * c.opt (-Warray-bounds): Remove redundant -Wall.
2300
2301 2018-07-20 Martin Sebor <msebor@redhat.com>
2302
2303 PR middle-end/82063
2304 * c-common.h (c_common_handle_option): Change function argument
2305 to HOST_WIDE_INT.
2306 * c-opts.c (c_common_init_options): Same.
2307 (c_common_handle_option): Same. Remove special handling of
2308 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
2309 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
2310 options to take a HOST_WIDE_INT argument and accept a byte-size
2311 suffix. Initialize.
2312 (-Wvla-larger-than): Same.
2313 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
2314 (-Wno-vla-larger-than): Same.
2315
2316 2018-07-12 Jakub Jelinek <jakub@redhat.com>
2317
2318 * c-attribs.c (c_common_attribute_table): Add
2319 "omp declare target implicit" attribute.
2320
2321 2018-07-12 Richard Biener <rguenther@suse.de>
2322
2323 PR c/86453
2324 * c-attribs.c (handle_packed_attribute): Do not build a variant
2325 type with TYPE_PACKED, instead ignore the attribute if we may
2326 not apply to the original type.
2327
2328 2018-07-10 Jakub Jelinek <jakub@redhat.com>
2329
2330 PR c++/86443
2331 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
2332 to contain TREE_LIST for both the original class iterator and the
2333 "last" helper var.
2334
2335 2018-07-07 Eric Botcazou <ebotcazou@adacore.com>
2336
2337 * c-ada-spec.c (to_ada_name): Remove index parameter.
2338 (pp_ada_tree_identifier): Likewise.
2339 (dump_ada_macros): Adjust call to to_ada_name.
2340 (struct overloaded_name_hash): Delete.
2341 (struct overloaded_name_hasher): Likewise.
2342 (overloaded_names): Likewise.
2343 (compute_overloading_index): Likewise.
2344 (dump_ada_decl_name): Do not call compute_overloading_index and
2345 adjust calls to pp_ada_tree_identifier.
2346 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2347 (dump_ada_import): Add spc parameter and switch to aspect syntax.
2348 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
2349 (dump_ada_enum_type): Remove type and display_convention parameters.
2350 Adjust calls to pp_ada_tree_identifier.
2351 (dump_ada_node): Likewise and for dump_ada_structure.
2352 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
2353 and tidy up.
2354 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
2355 syntax.
2356 (print_constructor): Adjust call to pp_ada_tree_identifier.
2357 (print_destructor): Likewise.
2358 (dump_ada_declaration): Switch to aspect syntax.
2359 (dump_ada_structure): Likewise and tidy up. Replace display_convention
2360 parameter with nested parameter.
2361 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
2362 (dump_ada_specs): Do not delete overloaded_names table.
2363
2364 2018-07-06 Peter Bergner <bergner@linux.ibm.com>
2365
2366 PR target/86324
2367 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
2368 target hook.
2369
2370 2018-07-05 Nathan Sidwell <nathan@acm.org>
2371
2372 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
2373 NO_IMPLICIT_EXTERN_C.
2374
2375 2018-06-28 Martin Liska <mliska@suse.cz>
2376
2377 * cppspec.c: Include opt-suggestions.h.
2378
2379 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2380 Thomas Schwinge <thomas@codesourcery.com>
2381 Cesar Philippidis <cesar@codesourcery.com>
2382
2383 * c-pragma.h (enum pragma_omp_clause): Add
2384 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
2385 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
2386
2387 2018-06-20 Jakub Jelinek <jakub@redhat.com>
2388
2389 PR c++/86210
2390 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
2391 comment.
2392
2393 2018-06-18 Martin Sebor <msebor@redhat.com>
2394
2395 PR middle-end/85602
2396 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
2397 nonstring.
2398
2399 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
2400
2401 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
2402
2403 2018-06-13 Jason Merrill <jason@redhat.com>
2404
2405 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
2406 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
2407 handling.
2408
2409 PR c++/86094 - wrong code with defaulted move ctor.
2410 * c-opts.c (c_common_post_options): Bump the current ABI version to
2411 13. Set warn_abi_version and flag_abi_compat_version to the current
2412 version rather than 0. Fix defaulting flag_abi_compat_version from
2413 warn_abi_version.
2414
2415 2018-06-12 Martin Sebor <msebor@redhat.com>
2416
2417 PR c/85931
2418 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
2419 sizeof source and destination yields the same value.
2420
2421 2018-06-12 Martin Liska <mliska@suse.cz>
2422
2423 * c.opt: Make MPX-related options as Deprecated.
2424
2425 2018-06-08 David Malcolm <dmalcolm@redhat.com>
2426
2427 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
2428 rather than 0.
2429
2430 2018-06-08 Martin Liska <mliska@suse.cz>
2431
2432 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
2433 for MPX (macros, related functions, fields in cgraph_node, ...).
2434 (handle_bnd_legacy): Likewise.
2435 (handle_bnd_instrument): Likewise.
2436 * c.opt: Likewise.
2437
2438 2018-06-06 Jakub Jelinek <jakub@redhat.com>
2439
2440 PR c++/86068
2441 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
2442 __cpp_transactional_memory to 201500 instead of 210500.
2443
2444 2018-06-06 Jason Merrill <jason@redhat.com>
2445
2446 PR c++/85710 - ICE with -Wmemset-elt-size.
2447 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
2448
2449 2018-06-01 Jason Merrill <jason@redhat.com>
2450
2451 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
2452 201703.
2453
2454 2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
2455
2456 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
2457 declaration for a typedef independently of whether the declaration of
2458 the subtype is generated.
2459
2460 2018-05-31 Martin Sebor <msebor@redhat.com>
2461
2462 PR c/82063
2463 * c.opt (-Wno-alloc-size-larger-than): New option.
2464
2465 2018-04-22 David Pagan <dave.pagan@oracle.com>
2466
2467 PR c/55976
2468 * c-opts.c (c_common_post_options): Set default for warn_return_type
2469 for C++/C++ with ObjC extensions only. For C, makes it possible to
2470 differentiate between default (no option), -Wreturn-type, and
2471 -Wno-return-type.
2472
2473 2018-05-29 Jason Merrill <jason@redhat.com>
2474
2475 * c.opt (Winit-list-lifetime): New flag.
2476
2477 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
2478
2479 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
2480 splay_tree_delete_pointers.
2481
2482 2018-05-26 Jakub Jelinek <jakub@redhat.com>
2483
2484 PR bootstrap/85921
2485 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
2486 noinline variable to workaround broken kernel headers.
2487
2488 2018-05-18 Jason Merrill <jason@redhat.com>
2489
2490 * c.opt (Wdeprecated-copy): New flag.
2491
2492 2018-05-17 Martin Liska <mliska@suse.cz>
2493
2494 * c-warn.c (overflow_warning): Do not use
2495 space in between 'G_' and '('.
2496
2497 2018-05-09 Jason Merrill <jason@redhat.com>
2498
2499 * c-common.c (valid_array_size_p): Add complain parameter.
2500 * c-common.h: ...which defaults to true.
2501
2502 2018-05-11 Jakub Jelinek <jakub@redhat.com>
2503
2504 PR c/85696
2505 * c-omp.c (c_omp_predetermined_sharing): Return
2506 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
2507
2508 2018-05-11 Martin Liska <mliska@suse.cz>
2509
2510 PR sanitizer/85556
2511 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
2512 TREE_LIST values.
2513
2514 2018-05-10 Jakub Jelinek <jakub@redhat.com>
2515
2516 PR c++/85662
2517 * c-common.h (fold_offsetof_1): Removed.
2518 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
2519 CTX argument defaulted to ERROR_MARK.
2520 * c-common.c (fold_offsetof_1): Renamed to ...
2521 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
2522 argument, convert the pointer constant to TYPE and use size_binop
2523 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
2524 a pointer type. Adjust recursive calls.
2525
2526 2018-05-10 Eric Botcazou <ebotcazou@adacore.com>
2527
2528 PR c++/85400
2529 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
2530
2531 2018-05-07 Nathan Sidwell <nathan@acm.org>
2532
2533 * c.opt (ffor-scope): Remove functionality, issue warning.
2534
2535 2018-05-03 Nathan Sidwell <nathan@acm.org>
2536
2537 * c.opt (ffriend-injection): Remove functionality, issue warning.
2538
2539 2018-05-01 David Malcolm <dmalcolm@redhat.com>
2540
2541 PR c/84258
2542 * c-format.c (struct format_check_results): Add field
2543 "number_non_char".
2544 (check_format_info): Initialize it, and warn if encountered.
2545 (check_format_arg): Distinguish between wide char and
2546 everything else when detecting arrays of non-char.
2547
2548 2018-04-30 David Malcolm <dmalcolm@redhat.com>
2549
2550 * c-format.c (get_corrected_substring): Update for
2551 location_get_source_line returning a char_span. Use a char_span
2552 when handling the prefix of the correction.
2553 * c-indentation.c (get_visual_column): Update for
2554 location_get_source_line returning a char_span.
2555 (get_first_nws_vis_column): Likewise.
2556
2557 2018-03-29 David Malcolm <dmalcolm@redhat.com>
2558
2559 PR c++/84269
2560 * known-headers.cc (get_stdlib_header_for_name): Add various names
2561 from <assert.h>, <string.h>, and <memory.h>; add more names from
2562 <stdio.h>.
2563
2564 2018-03-27 Jakub Jelinek <jakub@redhat.com>
2565
2566 PR c++/85061
2567 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
2568 get_base_address of the second operand is a VAR_P, rather than the
2569 operand itself, and use gcc_checking_assert instead of gcc_assert.
2570
2571 2018-03-23 Marek Polacek <polacek@redhat.com>
2572
2573 PR c++/85045
2574 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
2575 <case RDIV_EXPR>: Tweak condition.
2576
2577 2018-03-20 Eric Botcazou <ebotcazou@adacore.com>
2578
2579 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
2580
2581 2018-03-16 Jakub Jelinek <jakub@redhat.com>
2582
2583 PR c/84909
2584 * c-warn.c (conversion_warning): Replace "to to" with "to" in
2585 diagnostics.
2586
2587 PR c/84910
2588 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
2589 diagnostics.
2590
2591 2018-03-16 Richard Biener <rguenther@suse.de>
2592
2593 PR c/84873
2594 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
2595 unshare the possibly folded expression.
2596
2597 2018-03-15 Richard Biener <rguenther@suse.de>
2598
2599 PR c/84873
2600 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
2601
2602 2018-03-13 Martin Sebor <msebor@redhat.com>
2603
2604 PR tree-optimization/84725
2605 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
2606 with all three narrow character types, including their qualified forms.
2607
2608 2018-03-12 Martin Sebor <msebor@redhat.com>
2609
2610 PR tree-optimization/83456
2611 * c-common.c (check_function_restrict): Return bool.
2612 Restore checking of bounded built-in functions.
2613 (check_function_arguments): Also return the result
2614 of warn_for_restrict.
2615 * c-common.c (check_function_restrict): Return bool.
2616 * c-warn.c (warn_for_restrict): Return bool.
2617
2618 2018-03-02 Marek Polacek <polacek@redhat.com>
2619
2620 PR c++/84171
2621 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
2622 is erroneous.
2623
2624 2018-03-02 Thomas Schwinge <thomas@codesourcery.com>
2625
2626 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
2627 function".
2628
2629 2018-03-01 Marek Polacek <polacek@redhat.com>
2630
2631 PR c++/84639
2632 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
2633 alignment in computation.
2634
2635 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2636
2637 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
2638 <REAL_TYPE>: Deal specifically with _Float128/__float128.
2639
2640 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2641
2642 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
2643 (is_char_array): Take a type instead of a declaration.
2644 (dump_ada_array_type): Likewise.
2645 (is_simple_enum): Minor tweak.
2646 (dump_ada_enum_type): New function extracted from...
2647 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
2648 <INTEGER_TYPE>: Remove unreachable code.
2649 <RECORD_TYPE>: Likewise. Minor tweaks.
2650 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
2651 <ENUMERAL_TYPE>: New case.
2652 <RECORD_TYPE>: Factor out common code.
2653 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
2654 Minor tweaks. Deal with enumeral types.
2655 (dump_ada_structure): Minor tweaks.
2656
2657 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2658
2659 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
2660 address for incomplete structures.
2661 (dump_forward_type): Do not bail out for incomplete structures.
2662 (dump_ada_declaration): Do not special-case incomplete structures
2663 for subtypes. Dump them as null records for types.
2664
2665 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2666
2667 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
2668 (is_char_array): Fix formatting.
2669 (dump_template_types): Likewise.
2670 (dump_generic_ada_node): Rename into...
2671 (dump_ada_node): ...this.
2672 <POINTER_TYPE>: Remove superfluous space. Use generic address for
2673 incomplete structures and not for empty structures. Do not use it
2674 when forward declarations are needed.
2675 (dump_forward_type): New function.
2676 (dump_nested_types): Remove FORWARD parameter. Do not consider
2677 TREE_VISITED and do not generate a forward declaration. Only dump
2678 original nested types for nested declaration.
2679 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
2680 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
2681 <RECORD_TYPE>: Do not consider TREE_VISITED.
2682 (dump_ada_declaration): Use booleans and fix formatting throughout.
2683 <TYPE_DECL>: Skip incomplete structures and not empty structures.
2684 Call dump_forward_type instead of dump_nested_types for a typedef.
2685 Remove superfluous check and adjust call to dump_nested_types.
2686 <POINTER_TYPE>: Call dump_forward_type and fall through.
2687 (dump_ada_struct_decl): Rename into...
2688 (dump_ada_structure): ...this. Do not special-case empty structures.
2689
2690 2018-02-27 Martin Sebor <msebor@redhat.com>
2691
2692 PR c++/83871
2693 * c.opt (-Wmissing-attributes): New option.
2694
2695 2018-02-21 Martin Liska <mliska@suse.cz>
2696
2697 * c.opt (Wcatch-value=): Add IntegerRange.
2698
2699 2018-02-15 Jason Merrill <jason@redhat.com>
2700
2701 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2702
2703 2018-02-09 Nathan Sidwell <nathan@acm.org>
2704
2705 PR c/84293
2706 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
2707 arg.
2708 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
2709 arg. Adjust.
2710
2711 2018-02-09 Martin Sebor <msebor@redhat.com>
2712
2713 PR lto/84212
2714 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
2715 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
2716 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
2717 (-Wstrict-overflow, -Wsuggest-attribute): Same.
2718 (-Wuninitialized): Same.
2719
2720 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2721
2722 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
2723 keyword for components.
2724
2725 2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
2726
2727 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
2728
2729 2018-02-02 Julia Koval <julia.koval@intel.com>
2730
2731 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2732
2733 2018-01-29 Marek Polacek <polacek@redhat.com>
2734
2735 PR c/83966
2736 * c-format.c (check_function_format): Check current_function_decl.
2737
2738 2018-01-27 Jakub Jelinek <jakub@redhat.com>
2739
2740 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2741 argument.
2742 (LAZY_HEX_FP_VALUES_CNT): Define.
2743 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2744 values rather than just 12.
2745 (builtin_define_with_hex_fp_value): Likewise.
2746
2747 2018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2748
2749 PR other/70268
2750 * c.opt (-fmacro-prefix-map): New option.
2751 * c-opts.c (c_common_handle_option): Handle it.
2752 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2753 * c-ppoutput.c (init_pp_output): Likewise.
2754
2755 2018-01-17 David Malcolm <dmalcolm@redhat.com>
2756
2757 PR c++/83814
2758 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2759
2760 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2761
2762 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2763 Skip 'f' and 'F' characters if it is true.
2764 (store_ada_macro): Minor tweak.
2765 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2766 <CPP_WSTRING>: Likewise.
2767 <CPP_STRING>: Output '&' in the buffer if not the first string.
2768 <CPP_NUMBER>: Adjust calls to dump_number.
2769
2770 2018-01-10 David Malcolm <dmalcolm@redhat.com>
2771
2772 PR c++/43486
2773 * c-common.c: Include "selftest.h".
2774 (get_atomic_generic_size): Perform the test for integral type
2775 before the range test for any integer constant, fixing indentation
2776 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2777 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2778 (selftest::test_fold_for_warn): New function.
2779 (selftest::c_common_c_tests): New function.
2780 (selftest::c_family_tests): Call it, and
2781 selftest::c_pretty_print_c_tests.
2782 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2783 * c-format.c (check_format_arg): Convert VAR_P check to a
2784 fold_for_warn.
2785 * c-pretty-print.c: Include "selftest.h".
2786 (pp_c_cast_expression): Don't print casts for location wrappers.
2787 (selftest::assert_c_pretty_printer_output): New function.
2788 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2789 (selftest::test_location_wrappers): New function.
2790 (selftest::c_pretty_print_c_tests): New function.
2791 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2792
2793 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2794 Alan Hayward <alan.hayward@arm.com>
2795 David Sherwood <david.sherwood@arm.com>
2796
2797 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2798
2799 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2800 Alan Hayward <alan.hayward@arm.com>
2801 David Sherwood <david.sherwood@arm.com>
2802
2803 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2804 as polynomial.
2805
2806 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2807 Alan Hayward <alan.hayward@arm.com>
2808 David Sherwood <david.sherwood@arm.com>
2809
2810 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2811 (convert_vector_to_array_for_subscript): Handle polynomial
2812 TYPE_VECTOR_SUBPARTS.
2813 (c_common_type_for_mode): Check valid_vector_subparts_p.
2814 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2815 VECTOR_CST_NELTS.
2816
2817 2018-01-03 Jakub Jelinek <jakub@redhat.com>
2818
2819 Update copyright years.
2820
2821 2017-12-22 Mike Stump <mikestump@comcast.net>
2822 Eric Botcazou <ebotcazou@adacore.com>
2823
2824 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2825 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2826
2827 2017-12-22 Alexandre Oliva <aoliva@redhat.com>
2828
2829 PR debug/83527
2830 PR debug/83419
2831 * c-semantics.c (only_debug_stmts_after_p): New.
2832 (pop_stmt_list): Clear side effects in debug-only stmt list.
2833 Check for single nondebug stmt followed by debug stmts only.
2834
2835 2017-12-21 Alexandre Oliva <aoliva@redhat.com>
2836
2837 PR debug/83419
2838 * c-semantics.c (pop_stmt_list): Propagate side effects from
2839 single nondebug stmt to container list.
2840
2841 2017-12-19 Jakub Jelinek <jakub@redhat.com>
2842
2843 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
2844 conditions with typical order conditions.
2845
2846 2017-12-18 Marek Polacek <polacek@redhat.com>
2847
2848 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
2849 not in effect.
2850
2851 2017-12-17 Martin Sebor <msebor@redhat.com>
2852
2853 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
2854 an error for attribute warn_if_not_aligned.
2855
2856 2017-12-16 Martin Sebor <msebor@redhat.com>
2857
2858 PR tree-optimization/78918
2859 * c-common.c (check_function_restrict): Avoid checking built-ins.
2860 * c.opt (-Wrestrict): Include in -Wall.
2861
2862 2017-12-15 Jakub Jelinek <jakub@redhat.com>
2863
2864 * c-attribs.c (c_common_attribute_table,
2865 c_common_format_attribute_table): Swap affects_type_identity
2866 and handler fields, adjust comments.
2867
2868 2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
2869
2870 * c.opt (Wcast-function-type): New warning option.
2871 * c-lex.c (get_fileinfo): Avoid warning.
2872 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
2873
2874 2017-12-14 Qing Zhao <qing.zhao@oracle.com>
2875
2876 PR middle_end/79538
2877 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
2878 Adjust the size of buf1 and buf2, add a new buf to avoid
2879 format-overflow warning.
2880
2881 2017-12-12 Alexandre Oliva <aoliva@redhat.com>
2882
2883 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
2884 subsequent statement list.
2885
2886 2017-12-07 Martin Sebor <msebor@redhat.com>
2887
2888 PR c/81544
2889 PR c/81566
2890 * c-attribs.c (attr_aligned_exclusions): New array.
2891 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2892 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2893 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2894 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2895 (attr_warn_unused_result_exclusions): Same.
2896 (handle_hot_attribute, handle_cold_attribute): Simplify.
2897 (handle_const_attribute): Warn on function returning void.
2898 (handle_pure_attribute): Same.
2899 (handle_aligned_attribute): Diagnose conflicting attribute
2900 specifications.
2901 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2902
2903 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2904
2905 PR c/83236
2906 * c-common.c (selftest::c_family_tests): Call
2907 selftest::c_spellcheck_cc_tests.
2908 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2909 * c-spellcheck.cc: Include "selftest.h".
2910 (name_reserved_for_implementation_p): New function.
2911 (should_suggest_as_macro_p): New function.
2912 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2913 should_suggest_as_macro_p and call it.
2914 (selftest::test_name_reserved_for_implementation_p): New function.
2915 (selftest::c_spellcheck_cc_tests): New function.
2916 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
2917
2918 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2919
2920 * c-spellcheck.cc: New file, taken from macro-handling code in
2921 spellcheck-tree.c.
2922 * c-spellcheck.h: New file, taken from macro-handling code in
2923 spellcheck-tree.h.
2924
2925 2017-12-01 Jakub Jelinek <jakub@redhat.com>
2926
2927 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
2928 attribute.
2929 (handle_simd_attribute): Don't check for "cilk simd function"
2930 attribute. Reindent, formatting changes.
2931
2932 2017-11-30 Julia Koval <julia.koval@intel.com>
2933
2934 * c-common.h (inv_list): Remove.
2935
2936 2017-11-28 Jakub Jelinek <jakub@redhat.com>
2937
2938 PR sanitizer/81275
2939 * c-common.c (c_switch_covers_all_cases_p_1,
2940 c_switch_covers_all_cases_p): New functions.
2941 * c-common.h (c_switch_covers_all_cases_p): Declare.
2942
2943 2017-11-28 Julia Koval <julia.koval@intel.com>
2944 Sebastian Peryt <sebastian.peryt@intel.com>
2945
2946 * array-notation-common.c: Delete.
2947 * c-cilkplus.c: Ditto.
2948 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
2949 * c-common.def (ARRAY_NOTATION_REF): Remove.
2950 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
2951 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
2952 c_validate_cilk_plus_loop, cilkplus_an_parts,
2953 cilk_ignorable_spawn_rhs_op,
2954 cilk_recognize_spawn): Remove.
2955 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
2956 * c-omp.c: Remove CILK_SIMD check.
2957 * c-pragma.c: Ditto.
2958 * c-pragma.h: Remove CILK related pragmas.
2959 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
2960 ARRAY_NOTATION_REF condition.
2961 (c_pretty_printer::expression): Ditto.
2962 * c.opt (fcilkplus): Remove.
2963 * cilk.c: Delete.
2964
2965 2017-11-21 Marc Glisse <marc.glisse@inria.fr>
2966
2967 * c-pretty-print.c (pp_c_additive_expression,
2968 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
2969
2970 2017-11-21 Jakub Jelinek <jakub@redhat.com>
2971
2972 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
2973
2974 PR c++/83059
2975 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
2976 instead of tree_to_uhwi, formatting fix.
2977
2978 2017-11-20 David Malcolm <dmalcolm@redhat.com>
2979
2980 PR c/81404
2981 * known-headers.cc: New file, based on material from c/c-decl.c.
2982 (suggest_missing_header): Copied as-is.
2983 (get_stdlib_header_for_name): New, based on get_c_name_hint but
2984 heavily edited to add C++ support. Add some knowledge about
2985 <limits.h>, <stdint.h>, and <wchar.h>.
2986 * known-headers.h: Likewise.
2987
2988 2017-11-20 David Malcolm <dmalcolm@redhat.com>
2989
2990 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
2991 (lookup_name_fuzzy): Likewise. Convert return type from
2992 const char * to name_hint. Add location_t param.
2993 * name-hint.h: New header.
2994
2995 2017-11-19 Jakub Jelinek <jakub@redhat.com>
2996
2997 PR c/66618
2998 PR c/69960
2999 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
3000
3001 2017-11-16 Joseph Myers <joseph@codesourcery.com>
3002
3003 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
3004 expected publication date of C17.
3005 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
3006
3007 2017-11-15 Joseph Myers <joseph@codesourcery.com>
3008
3009 PR c/81156
3010 * c-common.c (c_common_reswords): Add __builtin_tgmath.
3011 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
3012
3013 2017-11-10 Martin Sebor <msebor@redhat.com>
3014
3015 PR c/81117
3016 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
3017 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
3018 * c.opt (-Wstringop-truncation): New option.
3019
3020 2017-11-06 Martin Liska <mliska@suse.cz>
3021
3022 PR middle-end/82404
3023 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
3024 FE.
3025 * c.opt: Set default value of warn_return_type.
3026
3027 2017-10-31 David Malcolm <dmalcolm@redhat.com>
3028
3029 * c-common.c (binary_op_error): Update for renaming of
3030 error_at_rich_loc.
3031 (c_parse_error): Likewise.
3032 * c-warn.c (warn_logical_not_parentheses): Likewise for
3033 renaming of inform_at_rich_loc.
3034 (warn_for_restrict): Likewise for renaming of
3035 warning_at_rich_loc_n.
3036
3037 2017-10-30 Joseph Myers <joseph@codesourcery.com>
3038
3039 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
3040 * c-opts.c (set_std_c17): New function.
3041 (c_common_init_options): Use gnu17 as default C version.
3042 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
3043
3044 2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
3045
3046 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
3047 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
3048 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
3049 __FP_FAST_FMA<N>X.
3050
3051 2017-10-23 Marek Polacek <polacek@redhat.com>
3052
3053 PR c/82681
3054 * c-warn.c (warnings_for_convert_and_check): Fix typos.
3055
3056 2017-10-19 Eric Botcazou <ebotcazou@adacore.com>
3057
3058 * c-common.c (check_builtin_function_arguments): Also check arguments
3059 of __builtin_alloca_with_align_and_max.
3060
3061 2017-10-17 David Malcolm <dmalcolm@redhat.com>
3062
3063 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
3064 rather than NULL to format_warning_va.
3065 (check_format_types): Likewise when calling format_type_warning.
3066 Remove code to extract source_ranges and source_range * in favor
3067 of just a location_t.
3068 (format_type_warning): Convert source_range * param to a
3069 location_t.
3070
3071 2017-10-13 Jakub Jelinek <jakub@redhat.com>
3072
3073 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
3074 [LR]SHIFT_EXPR.
3075
3076 2017-10-12 David Malcolm <dmalcolm@redhat.com>
3077
3078 * c-common.c (enum missing_token_insertion_kind): New enum.
3079 (get_missing_token_insertion_kind): New function.
3080 (maybe_suggest_missing_token_insertion): New function.
3081 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
3082
3083 2017-10-11 Nathan Sidwell <nathan@acm.org>
3084
3085 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
3086 (c_common_handle_option): Update incpath_kind names.
3087
3088 2017-10-11 Martin Liska <mliska@suse.cz>
3089
3090 PR sanitizer/82490
3091 * c-attribs.c (handle_no_sanitize_attribute): Report directly
3092 Wattributes warning.
3093
3094 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
3095
3096 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
3097 operating on trees as wide_ints.
3098 * c-common.c (pointer_int_sum): Likewise.
3099 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3100 * c-warn.c (match_case_to_enum_1): Likewise.
3101 (c_do_switch_warnings): Likewise.
3102 (maybe_warn_shift_overflow): Likewise.
3103
3104 2017-10-10 Jakub Jelinek <jakub@redhat.com>
3105
3106 PR c/82437
3107 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
3108 instead of wide_int::from.
3109
3110 2017-10-06 Jakub Jelinek <jakub@redhat.com>
3111
3112 PR c/82437
3113 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
3114 using to_widest use wide_int with the larger of the two precisions.
3115
3116 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3117
3118 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
3119 functions.
3120
3121 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
3122
3123 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
3124 when combining the original unconverted comparison operands.
3125
3126 2017-09-29 Jakub Jelinek <jakub@redhat.com>
3127
3128 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
3129 attribute.
3130
3131 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
3132
3133 * c-ada-spec.c (to_ada_name): Add index parameter.
3134 (pp_ada_tree_identifier): Likewise.
3135 (dump_ada_macros): Adjust call to to_ada_name.
3136 (struct overloaded_name_hash): New type.
3137 (struct overloaded_name_hasher): Likewise.
3138 (overloaded_names): New hash table.
3139 (compute_overloading_index): New function.
3140 (dump_ada_decl_name): Call it and pass the result to
3141 pp_ada_tree_identifier.
3142 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
3143 (dump_ada_function_declaration): Likewise.
3144 (dump_generic_ada_node): Likewise.
3145 (print_constructor): Likewise.
3146 (print_destructor): Likewise.
3147 (dump_ada_specs): Delete overloaded_names table.
3148
3149 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
3150
3151 * c-ada-spec.c (max_ada_macros): Move around.
3152 (store_ada_macro_index): Likewise.
3153 (source_file): Rename into...
3154 (macro_source_file): ...this.
3155 (count_ada_macro): Move around.
3156 (store_ada_macro): Likewise.
3157 (compare_macro): Likewise.
3158 (print_ada_macros): Merge in...
3159 (dump_ada_macros): ...this.
3160 (source_file_base): Rename into...
3161 (current_source_file): ...this.
3162 (print_comment): Move around.
3163 (dump_ada_nodes): Call dump_ada_declaration directly.
3164 (struct with): Change type of limited field to bool.
3165 (append_withs): Change type of limited_access parameter to bool.
3166 (pp_ada_tree_identifie): Likewise.
3167 (dump_ada_decl_nam): Likewise.
3168 (dump_generic_ada_node): Likewise. Do not print the return type.
3169 (to_ada_name): Change type of space_found parameter to bool.
3170 (dump_ada_function_declaration): Return void and change type of
3171 parameters to bool. Also print the return type for a function.
3172 (print_ada_methods): Rename into...
3173 (dump_ada_methods): ...this.
3174 (print_ada_declaration): Rename into ...
3175 (dump_ada_declaration): ...this. Do not print the return type.
3176 (print_ada_struct_decl): Rename into...
3177 (dump_ada_struct_decl): ...this.
3178
3179 2017-09-29 Jakub Jelinek <jakub@redhat.com>
3180
3181 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
3182 rather than DECL_INITIAL.
3183 (common_handle_aligned_attribute): Likewise.
3184
3185 2017-09-20 Alexandre Oliva <aoliva@redhat.com>
3186
3187 * c.opt (gen-decls): Add RejectNegative.
3188
3189 2017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
3190 Jakub Jelinek <jakub@redhat.com>
3191
3192 Add support for -std=c++2a.
3193 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
3194 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
3195 * c-opts.c (set_std_cxx2a): New.
3196 (c_common_handle_option): Set options when -std=c++2a is enabled.
3197 (c_common_post_options): Adjust comments.
3198 (set_std_cxx14, set_std_cxx17): Likewise.
3199
3200 2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
3201
3202 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
3203 message for non-uniform endianness and issue a warning in C++.
3204
3205 2017-09-15 Jakub Jelinek <jakub@redhat.com>
3206
3207 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
3208 (Wc++17-compat): Change from undocumented alias to option.
3209 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
3210 change C++1z to C++17 in description.
3211 (std=c++1z, std=gnu++1z): Change from option to undocumented
3212 deprecated alias.
3213 (std=c++17, std=gnu++17): Change from undocumented alias to option.
3214 Adjust description.
3215 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
3216 * c-opts.c (set_std_cxx1z): Rename to ...
3217 (set_std_cxx17): ... this.
3218 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
3219 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
3220 caller.
3221 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
3222 comments.
3223
3224 2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
3225
3226 * c-attribs.c (common_handle_aligned_attribute): Don't warn
3227 function alignment if warn_if_not_aligned_p is true.
3228
3229 2017-09-12 Nathan Sidwell <nathan@acm.org>
3230
3231 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
3232 resort_sorted_fields): Move to c/c-decl.c.
3233 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
3234 (struct sorted_fields_type): Move to c/c-lang.h.
3235
3236 2017-09-09 Jonathan Wakely <jwakely@redhat.com>
3237
3238 PR c++/81852
3239 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
3240
3241 2017-09-04 Marek Polacek <polacek@redhat.com>
3242
3243 PR c/81783
3244 * c-warn.c (warn_tautological_bitwise_comparison): New function.
3245 (warn_tautological_cmp): Call it.
3246
3247 2017-09-01 Boris Kolpackov <boris@codesynthesis.com>
3248
3249 * c-opts.c (c_common_finish): Write dependency information even if
3250 there are errors.
3251
3252 2017-09-01 Jakub Jelinek <jakub@redhat.com>
3253
3254 PR c/81887
3255 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
3256 (omp_pragmas_simd): ... here.
3257 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
3258 create new clauses list containing just simd clause.
3259
3260 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3261 Alan Hayward <alan.hayward@arm.com>
3262 David Sherwood <david.sherwood@arm.com>
3263
3264 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
3265 into scalar_mode_supported_p call.
3266 (handle_mode_attribute): Update call to scalar_mode_supported_p.
3267
3268 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3269 Alan Hayward <alan.hayward@arm.com>
3270 David Sherwood <david.sherwood@arm.com>
3271
3272 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
3273 for the mode iterator.
3274
3275 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3276 Alan Hayward <alan.hayward@arm.com>
3277 David Sherwood <david.sherwood@arm.com>
3278
3279 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
3280 * c-common.c (c_build_vec_perm_expr): Likewise.
3281
3282 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3283 Alan Hayward <alan.hayward@arm.com>
3284 David Sherwood <david.sherwood@arm.com>
3285
3286 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
3287
3288 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3289 Alan Hayward <alan.hayward@arm.com>
3290 David Sherwood <david.sherwood@arm.com>
3291
3292 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
3293 before calling targetm.addr_space.valid_pointer_mode.
3294
3295 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3296 Alan Hayward <alan.hayward@arm.com>
3297 David Sherwood <david.sherwood@arm.com>
3298
3299 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
3300
3301 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3302 Alan Hayward <alan.hayward@arm.com>
3303 David Sherwood <david.sherwood@arm.com>
3304
3305 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
3306 iterators.
3307 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3308
3309 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3310 Alan Hayward <alan.hayward@arm.com>
3311 David Sherwood <david.sherwood@arm.com>
3312
3313 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
3314 case statements.
3315
3316 2017-08-29 Martin Liska <mliska@suse.cz>
3317
3318 PR other/39851
3319 * c-common.c (parse_optimize_options): Add argument to function
3320 call.
3321 * c-pragma.c (handle_pragma_diagnostic): Likewise.
3322
3323 2017-08-24 David Malcolm <dmalcolm@redhat.com>
3324
3325 * c-lex.c (interpret_float): Use token location
3326 when building an EXCESS_PRECISION_EXPR.
3327
3328 2017-08-21 David Malcolm <dmalcolm@redhat.com>
3329
3330 * c-common.c (check_function_arguments): Add "arglogs" param; pass
3331 it to check_function_format.
3332 * c-common.h (check_function_arguments): Add vec<location_t> *
3333 param.
3334 (check_function_format): Likewise.
3335 * c-format.c (struct format_check_context): Add field "arglocs".
3336 (check_function_format): Add param "arglocs"; pass it to
3337 check_format_info.
3338 (check_format_info): Add param "arglocs"; use it to initialize
3339 new field of format_ctx.
3340 (check_format_arg): Pass format_ctx->arglocs to new param of
3341 check_format_info_main.
3342 (class argument_parser): New field "arglocs".
3343 (argument_parser::argument_parser): Add "arglocs_" param and use
3344 it to initialize new field.
3345 (argument_parser::check_argument_type): Pass new arglocs field to
3346 check_format_types.
3347 (check_format_info_main): Add param "arglocs", and use it when
3348 constructing arg_parser.
3349 (check_format_types): Add param "arglocs"; use it if non-NULL when
3350 !EXPR_HAS_LOCATION (cur_param) to get at location information.
3351
3352 2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
3353
3354 PR c/53037
3355 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
3356 (c_common_attribute_table): Add warn_if_not_aligned.
3357 (handle_aligned_attribute): Renamed to ...
3358 (common_handle_aligned_attribute): Remove argument, name, and add
3359 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
3360 (handle_aligned_attribute): New.
3361 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
3362
3363 2017-08-14 Martin Sebor <msebor@redhat.com>
3364
3365 PR c/81117
3366 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
3367 (handle_nonstring_attribute): New function.
3368
3369 2017-08-14 Martin Sebor <msebor@redhat.com>
3370
3371 PR c/81117
3372 * c-format.h (T89_G): New macro.
3373 * c-format.c (local_gcall_ptr_node): New variable.
3374 (init_dynamic_diag_info): Initialize it.
3375
3376 2017-08-11 Martin Liska <mliska@suse.cz>
3377
3378 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
3379 TARGET_SUPPORTS_ALIASES.
3380
3381 2017-08-10 David Malcolm <dmalcolm@redhat.com>
3382
3383 * c-common.c (c_parse_error): Add rich_location * param, using it
3384 rather implicitly using input_location.
3385 * c-common.h (c_parse_error): Add rich_location * param.
3386
3387 2017-08-09 Marek Polacek <polacek@redhat.com>
3388
3389 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
3390 (c_common_truthvalue_conversion): Likewise.
3391 * c-omp.c (c_finish_omp_atomic): Likewise.
3392 * c-common.h (build_binary_op): Update declaration.
3393
3394 2017-08-08 Martin Liska <mliska@suse.cz>
3395
3396 * c-ada-spec.c: Include header files.
3397 * c-ubsan.c: Likewise.
3398 * c-warn.c: Likewise.
3399
3400 2017-08-07 Jakub Jelinek <jakub@redhat.com>
3401
3402 PR c/69389
3403 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
3404
3405 2017-08-07 Eric Botcazou <ebotcazou@adacore.com>
3406
3407 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
3408 (print_ada_methods): Likewise.
3409 (print_ada_declaration): Likewise.
3410
3411 2017-08-07 Martin Liska <mliska@suse.cz>
3412
3413 * array-notation-common.c: Add new includes.
3414 * c-format.c( handle_format_attribute): Canonicalize a format
3415 function name.
3416 * c-lex.c (c_common_has_attribute): Canonicalize name of an
3417 attribute.
3418 * c-pretty-print.c: Add new include.
3419
3420 2017-08-05 Eric Botcazou <ebotcazou@adacore.com>
3421
3422 * c-ada-spec.c (has_static_fields): Look only into variables.
3423 (print_constructor): Add TYPE parameter and use it for the name.
3424 (print_destructor): Likewise.
3425 (print_ada_declaration): Adjust to new constructor/destructor names.
3426 Adjust calls to print_constructor and print_destructor.
3427 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
3428 Look only into variables in the final loop.
3429
3430 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
3431
3432 * c-ada-spec.c (has_static_fields): Look only into fields.
3433 (dump_generic_ada_node): Small tweak.
3434 (dump_nested_types): Look only into fields.
3435 (print_ada_declaration): Look only into methods. Small tweak.
3436 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
3437
3438 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
3439
3440 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
3441 (dump_ada_function_declaration): Likewise.
3442 (dump_generic_ada_node): Likewise.
3443 (print_ada_declaration): Add support for const-qualified variables.
3444
3445 2017-07-31 Martin Liska <mliska@suse.cz>
3446
3447 PR sanitize/81530
3448 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
3449 Guard condition with flag_sanitize_p also with current_function_decl
3450 non-null equality.
3451 (ubsan_maybe_instrument_reference_or_call): Likewise.
3452
3453 2017-07-30 Uros Bizjak <ubizjak@gmail.com>
3454
3455 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
3456
3457 2017-07-29 Eric Botcazou <ebotcazou@adacore.com>
3458
3459 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
3460 for enumeral types.
3461 (print_ada_declaration): Add missing guard for record types.
3462
3463 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3464
3465 PR c/45784
3466 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
3467 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
3468 new COMPOUND_EXPRs around the rhs of the comparison.
3469
3470 2017-07-27 Marek Polacek <polacek@redhat.com>
3471
3472 PR c/81417
3473 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
3474 the types.
3475
3476 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3477
3478 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
3479 (handle_noipa_attribute): New function.
3480
3481 2017-07-07 Torsten Duwe <duwe@suse.de>
3482
3483 * c-attribs.c (c_common_attribute_table): Add entry for
3484 "patchable_function_entry".
3485
3486 2017-07-20 Nathan Sidwell <nathan@acm.org>
3487
3488 Remove TYPE_METHODS.
3489 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
3490 dump_ada_template, print_ada_methods,
3491 print_ada_declaration): Member fns are on TYPE_FIELDS.
3492
3493 2017-07-18 Nathan Sidwell <nathan@acm.org>
3494
3495 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
3496
3497 2017-07-14 David Malcolm <dmalcolm@redhat.com>
3498
3499 * c-common.c (try_to_locate_new_include_insertion_point): New
3500 function.
3501 (per_file_includes_t): New typedef.
3502 (added_includes_t): New typedef.
3503 (added_includes): New variable.
3504 (maybe_add_include_fixit): New function.
3505 * c-common.h (maybe_add_include_fixit): New decl.
3506
3507 2017-07-10 Martin Sebor <msebor@redhat.com>
3508
3509 PR other/81345
3510 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
3511
3512 2017-07-06 David Malcolm <dmalcolm@redhat.com>
3513
3514 * c-common.c (selftest::c_family_tests): New.
3515 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
3516 (selftest::c_family_tests): New decl.
3517
3518 2017-07-04 Marek Polacek <polacek@redhat.com>
3519
3520 PR c/81231
3521 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
3522 types.
3523
3524 2017-07-04 Marek Polacek <polacek@redhat.com>
3525
3526 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
3527
3528 2017-06-28 Martin Liska <mliska@suse.cz>
3529
3530 PR ipa/81128
3531 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
3532 to a function declaration.
3533
3534 2017-06-28 Martin Liska <mliska@suse.cz>
3535
3536 PR driver/79659
3537 * c.opt: Add IntegerRange to various options.
3538
3539 2017-06-26 Marek Polacek <polacek@redhat.com>
3540
3541 PR c/80116
3542 * c-common.h (warn_for_multistatement_macros): Declare.
3543 * c-warn.c: Include "c-family/c-indentation.h".
3544 (warn_for_multistatement_macros): New function.
3545 * c.opt (Wmultistatement-macros): New option.
3546 * c-indentation.c (guard_tinfo_to_string): No longer static.
3547 Change the parameter type to "enum rid". Handle RID_SWITCH.
3548 * c-indentation.h (guard_tinfo_to_string): Declare.
3549
3550 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
3551
3552 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
3553
3554 2017-06-15 Martin Sebor <msebor@redhat.com>
3555
3556 PR c++/80560
3557 * c.opt (-Wclass-memaccess): New option.
3558
3559 2017-06-14 Boris Kolpackov <boris@codesynthesis.com>
3560
3561 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
3562
3563 2017-06-13 Marek Polacek <polacek@redhat.com>
3564
3565 PR objc/80949
3566 * c-warn.c (do_warn_duplicated_branches): Return if any of the
3567 branches is null.
3568
3569 2017-06-13 Martin Liska <mliska@suse.cz>
3570
3571 PR sanitize/78204
3572 * c-attribs.c (add_no_sanitize_value): New function.
3573 (handle_no_sanitize_attribute): Likewise.
3574 (handle_no_sanitize_address_attribute): Use the function.
3575 (handle_no_sanitize_thread_attribute): New function.
3576 (handle_no_address_safety_analysis_attribute): Use
3577 add_no_sanitize_value.
3578 (handle_no_sanitize_undefined_attribute): Likewise.
3579 * c-common.h: Declare new functions.
3580 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
3581 (ubsan_instrument_shift): Likewise.
3582 (ubsan_instrument_bounds): Likewise.
3583 (ubsan_maybe_instrument_array_ref): Likewise.
3584 (ubsan_maybe_instrument_reference_or_call): Likewise.
3585
3586 2017-06-11 Jason Merrill <jason@redhat.com>
3587
3588 * c-ada-spec.c, c-pragma.c: Use id_equal.
3589
3590 2017-06-04 Marek Polacek <polacek@redhat.com>
3591
3592 PR c/80919
3593 * c-format.c (matching_type_p): Return false if any of the types
3594 requires structural equality.
3595
3596 2017-06-02 Martin Sebor <msebor@redhat.com>
3597
3598 PR c/80892
3599 * c-warn.c (conversion_warning): Use -Wconversion for integer
3600 conversion and -Wfloat-conversion for floating one.
3601
3602 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3603
3604 * c.opt (Wsizeof-pointer-div): New warning option.
3605
3606 2017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
3607
3608 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
3609 (Wcatch-value=1): Enable by -Wall.
3610
3611 2017-05-30 David Malcolm <dmalcolm@redhat.com>
3612
3613 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
3614 format_chars.
3615 * c.opt (fdiagnostics-show-template-tree): New option.
3616 (felide-type): New option.
3617
3618 2017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
3619
3620 * c.opt (Wcatch-value=): New C++ warning flag.
3621
3622 2017-05-24 Nathan Sidwell <nathan@acm.org>
3623
3624 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
3625 const casts to avoid warning.
3626
3627 2017-05-24 Martin Sebor <msebor@redhat.com>
3628
3629 PR c/80731
3630 * c-common.h (unsafe_conversion_p): Add a function argument.
3631 * c-common.c (unsafe_conversion_p): Same.
3632 Add type names and values to diagnostics.
3633 (scalar_to_vector): Adjust.
3634 * c-warn.c (constant_expression_error): Add a function argument.
3635 Add type names and values to diagnostics.
3636 (conversion_warning): Add a function argument.
3637 Add type names and values to diagnostics.
3638 (warnings_for_convert_and_check): Same.
3639
3640 2017-05-19 Jason Merrill <jason@redhat.com>
3641
3642 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
3643 enumerators.
3644
3645 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3646
3647 * c-format.c (locus): Move out of function scope,
3648 add GTY attribute.
3649
3650 2017-05-19 Nathan Sidwell <nathan@acm.org>
3651
3652 * c-opts.c (class_dump_file, class_dump_flags): Delete.
3653 (c_common_parse_file): Remove class dump handling.
3654 (get_dump_info): Likewise.
3655
3656 2017-05-19 Richard Biener <rguenther@suse.de>
3657
3658 PR c++/80593
3659 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
3660 to alias-set zero memory.
3661
3662 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
3663
3664 * c-format.c (local_tree_type_node): Add GTY attribute.
3665
3666 2017-05-18 Marek Polacek <polacek@redhat.com>
3667
3668 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
3669 (c_common_fixed_point_type_for_size): Likewise.
3670 (c_common_type_for_mode): Likewise.
3671 (shorten_compare): Likewise.
3672 (c_promoting_integer_type_p): Use false/true instead of 0/1.
3673 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
3674
3675 2017-05-18 Marek Polacek <polacek@redhat.com>
3676
3677 * c-common.c (self_promoting_args_p): Change the return type to bool.
3678 Use false/true instead of 0/1.
3679 * c-common.h (self_promoting_args_p): Update.
3680
3681 2017-05-17 Marek Polacek <polacek@redhat.com>
3682
3683 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
3684 * c-warn.c: Likewise.
3685
3686 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
3687
3688 Implement new C++ intrinsics __is_assignable and __is_constructible.
3689 * c-common.c (__is_assignable, __is_constructible): New.
3690 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
3691
3692 2017-05-17 Martin Liska <mliska@suse.cz>
3693
3694 * c-common.h: Introduce dump_flags_t type and
3695 use it instead of int type.
3696 * c-gimplify.c (c_genericize): Likewise.
3697 * c-opts.c: Likewise.
3698
3699 2017-05-17 Marek Polacek <polacek@redhat.com>
3700
3701 * c-common.c (c_save_expr): Remove.
3702 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
3703 * c-common.h (c_save_expr): Remove declaration.
3704
3705 2017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
3706
3707 PR c/35441
3708 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
3709 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
3710 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
3711 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
3712 RDIV_EXPR.
3713 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
3714
3715 2017-05-09 Marek Polacek <polacek@redhat.com>
3716
3717 PR c/80525
3718 * c-warn.c (unwrap_c_maybe_const): New.
3719 (warn_logical_operator): Call it.
3720
3721 2017-05-09 Nathan Sidwell <nathan@acm.org>
3722
3723 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
3724 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
3725
3726 2017-05-08 Martin Sebor <msebor@redhat.com>
3727
3728 PR translation/80280
3729 * c-format.h (struct format_flag_spec): Add new member.
3730 (T89_T): New macro.
3731 * c-format.c (local_tree_type_node): New global.
3732 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3733 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3734 (strfmon_flag_specs): Likewise.
3735 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3736 with distinct quoting properties.
3737 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3738 (flag_chars_t::validate): Add argument and handle bad quoting.
3739 (check_format_info_main): Handle quoting problems.
3740 (init_dynamic_diag_info): Simplify.
3741
3742 2017-05-08 Jason Merrill <jason@redhat.com>
3743
3744 * c-opts.c (c_common_post_options): Update defaults for
3745 flag_abi_version and flag_abi_compat_version.
3746
3747 2017-05-05 David Malcolm <dmalcolm@redhat.com>
3748
3749 * c-common.c (c_cpp_error): Replace report_diagnostic
3750 with diagnostic_report_diagnostic.
3751
3752 2017-05-04 Martin Sebor <msebor@redhat.com>
3753
3754 PR translation/80280
3755 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3756 (handle_weakref_attribute): Same.
3757
3758 2017-05-03 Nathan Sidwell <nathan@acm.org>
3759
3760 Canonicalize canonical type hashing
3761 * c-common.c (complete_array_type): Use type_hash_canon.
3762
3763 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3764
3765 PR c++/80038
3766 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3767 prototype.
3768 (cilk_install_body_pedigree_operations): Likewise.
3769 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3770 detatched.
3771 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3772 (cilk_install_body_pedigree_operations): Likewise.
3773 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3774 unwrapping.
3775
3776 2017-04-27 Jakub Jelinek <jakub@redhat.com>
3777
3778 PR c++/80534
3779 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3780 flag on non-aggregate element types.
3781
3782 2017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3783
3784 * c-common.c (c_type_hasher, type_hash_table): Remove.
3785 (c_common_get_alias_set): Remove unreachable code.
3786 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3787
3788 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3789
3790 * c.opt (Wextra-semi): New C++ warning flag.
3791
3792 2017-04-20 Jakub Jelinek <jakub@redhat.com>
3793
3794 PR middle-end/80423
3795 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3796
3797 2017-04-18 Jakub Jelinek <jakub@redhat.com>
3798
3799 PR middle-end/79788
3800 PR middle-end/80375
3801 * c-common.c (c_common_type_for_mode): Don't handle
3802 widest_*_literal_type_node here.
3803 c_common_signed_or_unsigned_type): Likewise.
3804 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3805 to *intTI_type_node or *intDI_type_node depending on whether
3806 TImode is supported by the target or not.
3807
3808 2017-04-10 Martin Liska <mliska@suse.cz>
3809
3810 PR sanitizer/80350
3811 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3812 doing an UBSAN check.
3813
3814 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
3815
3816 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3817
3818 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3819
3820 PR c++/79572
3821 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3822 tree *.
3823 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3824 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3825 REFERENCE_TYPE.
3826
3827 2017-03-31 David Malcolm <dmalcolm@redhat.com>
3828
3829 PR documentation/78732
3830 * c.opt (Wendif-labels): Fix description to refer to
3831 #else rather than #elif.
3832
3833 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3834
3835 PR libstdc++/80251
3836 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
3837 * c-common.c (c_common_reswords): Add __is_aggregate trait.
3838
3839 2017-03-27 Jakub Jelinek <jakub@redhat.com>
3840
3841 PR middle-end/80162
3842 * c-common.c (c_common_mark_addressable_vec): Don't set
3843 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
3844
3845 2017-03-21 Martin Sebor <msebor@redhat.com>
3846
3847 PR c++/79548
3848 * c-common.c (set_underlying_type): Mark type used only when
3849 original del is declared unused.
3850
3851 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3852
3853 PR translation/79848
3854 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
3855 "%qs".
3856
3857 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3858
3859 PR c/79921
3860 * c-indentation.c (warn_for_misleading_indentation): Remove parens
3861 from inform's message, so that xgettext can locate it.
3862
3863 2017-03-09 Marek Polacek <polacek@redhat.com>
3864
3865 PR c++/79962
3866 PR c++/79984
3867 * c-attribs.c (handle_nonnull_attribute): Save the result of default
3868 conversion to the attribute list.
3869
3870 2017-03-09 Martin Liska <mliska@suse.cz>
3871
3872 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
3873
3874 2017-03-03 Jason Merrill <jason@redhat.com>
3875
3876 * c.opt (Wnoexcept-type): New.
3877
3878 2017-03-02 Richard Biener <rguenther@suse.de>
3879
3880 PR c/79756
3881 * c-common.c (c_common_mark_addressable_vec): Look through
3882 C_MAYBE_CONST_EXPR.
3883
3884 2017-02-28 Martin Liska <mliska@suse.cz>
3885
3886 * c.opt: Replace space with tabular for options of <number>
3887 type.
3888
3889 2017-02-28 Martin Liska <mliska@suse.cz>
3890
3891 * c.opt: Fix --help=option -Q for options which are of
3892 an enum type.
3893
3894 2017-02-24 Jakub Jelinek <jakub@redhat.com>
3895
3896 PR c++/79588
3897 * c-common.c (check_function_restrict): New function.
3898 (check_function_arguments): Add FNDECL argument. Call
3899 check_function_restrict if -Wrestrict.
3900 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3901 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3902 * c-common.h (check_function_arguments): Add FNDECL argument.
3903 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3904
3905 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3906
3907 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3908 treatment of parameters with pointer-to-tagged type and tidy up.
3909 (print_ada_methods): Remove the special treatment of C++ static member
3910 functions.
3911
3912 2017-02-22 Martin Liska <mliska@suse.cz>
3913
3914 * c.opt: Replace inequality signs with square brackets
3915 for -Wnornalized.
3916
3917 2017-02-21 Jakub Jelinek <jakub@redhat.com>
3918
3919 PR c++/79641
3920 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
3921 preserve quals.
3922
3923 2017-02-17 Joseph Myers <joseph@codesourcery.com>
3924
3925 * c-cppbuiltin.c (builtin_define_float_constants): Define
3926 __DECIMAL_DIG__ to the value for long double.
3927
3928 2017-02-15 Marek Polacek <polacek@redhat.com>
3929
3930 PR c/79515
3931 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
3932 conversion has occured.
3933
3934 2017-01-24 David Malcolm <dmalcolm@redhat.com>
3935
3936 * c-common.c (c_common_reswords): Add "__RTL".
3937 * c-common.h (enum rid): Add RID_RTL.
3938
3939 2017-01-20 Marek Polacek <polacek@redhat.com>
3940
3941 PR c/64279
3942 * c-common.h (do_warn_duplicated_branches_r): Declare.
3943 * c-gimplify.c (c_genericize): Walk the function tree calling
3944 do_warn_duplicated_branches_r.
3945 * c-warn.c (expr_from_macro_expansion_r): New.
3946 (do_warn_duplicated_branches): New.
3947 (do_warn_duplicated_branches_r): New.
3948 * c.opt (Wduplicated-branches): New option.
3949
3950 2017-01-17 David Malcolm <dmalcolm@redhat.com>
3951
3952 PR c++/71497
3953 * c-indentation.c (warn_for_misleading_indentation): Use the past
3954 subjunctive in the note.
3955
3956 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
3957
3958 PR c/79116
3959 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
3960 start type to integer_type.
3961
3962 2017-01-16 Jakub Jelinek <jakub@redhat.com>
3963
3964 PR driver/49726
3965 * c.opt (gen-decls): Add Driver flag.
3966
3967 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3968
3969 Revert:
3970 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3971
3972 PR c++/71737
3973 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3974
3975 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3976
3977 PR c++/71737
3978 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3979
3980 2017-01-12 Martin Sebor <msebor@redhat.com>
3981
3982 (-Wformat-overflow): ...to this.
3983
3984 2017-01-11 Martin Sebor <msebor@redhat.com>
3985
3986 PR c/78768
3987 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
3988 Also enable for LTO.
3989
3990 2017-01-10 Jason Merrill <jason@redhat.com>
3991
3992 Implement P0195R2, C++17 variadic using.
3993 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
3994
3995 2017-01-09 Jakub Jelinek <jakub@redhat.com>
3996
3997 PR translation/79019
3998 PR translation/79020
3999 * c.opt (Wnormalized=): Fix typo in description.
4000
4001 2017-01-08 Martin Sebor <msebor@redhat.com>
4002
4003 PR middle-end/77708
4004 * c.opt (-Wformat-truncation): New option.
4005
4006 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
4007
4008 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
4009 value to unsigned short to fit in 4 hex digits without
4010 warnings.
4011
4012 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
4013
4014 * c.opt (fsso-struct): Add 'native' value.
4015
4016 2017-01-05 Martin Liska <mliska@suse.cz>
4017
4018 PR pch/78970
4019 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
4020 header.
4021
4022 2017-01-04 Marek Polacek <polacek@redhat.com>
4023
4024 PR c++/64767
4025 * c.opt (Wpointer-compare): New option.
4026
4027 2017-01-04 Jakub Jelinek <jakub@redhat.com>
4028
4029 PR driver/78957
4030 * c.opt (fsso-struct=): Add RejectNegative.
4031
4032 2017-01-01 Jakub Jelinek <jakub@redhat.com>
4033
4034 Update copyright years.
4035
4036 2016-12-29 Martin Liska <mliska@suse.cz>
4037
4038 PR c/78933
4039 * c.opt (strong-eval-order): Add RejectNegative keyword.
4040
4041 2016-12-22 Jason Merrill <jason@redhat.com>
4042
4043 Implement P0522R0, matching of template template arguments.
4044 * c-cppbuiltin.c (c_cpp_builtins): Define
4045 __cpp_template_template_args.
4046
4047 2016-12-21 Jakub Jelinek <jakub@redhat.com>
4048
4049 PR bootstrap/78817
4050 * c-common.c (struct nonnull_arg_ctx): New type.
4051 (check_function_nonnull): Return bool instead of void. Use
4052 nonnull_arg_ctx as context rather than just location_t.
4053 (check_nonnull_arg): Adjust for the new context type, set
4054 warned_p to true if a warning has been diagnosed.
4055 (check_function_arguments): Return bool instead of void.
4056 * c-common.h (check_function_arguments): Adjust prototype.
4057
4058 2016-12-21 Jason Merrill <jason@redhat.com>
4059
4060 * c.opt (-fnew-ttp-matching): New flag.
4061 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
4062
4063 2016-12-14 Martin Jambor <mjambor@suse.cz>
4064
4065 * c-omp.c: Include omp-general.h instead of omp-low.h.
4066 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
4067 name.
4068
4069 2016-12-14 Martin Sebor <msebor@redhat.com>
4070
4071 PR c/17308
4072 * c-common.c (check_nonnull_arg): Disable when optimization
4073 is enabled.
4074
4075 2016-12-12 Marek Polacek <polacek@redhat.com>
4076
4077 PR c++/78647
4078 * c-common.c (attribute_fallthrough_p): Return false for
4079 error_mark_node.
4080
4081 2016-12-08 Martin Sebor <msebor@redhat.com>
4082
4083 PR c/78284
4084 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
4085
4086 2016-12-08 Martin Sebor <msebor@redhat.com>
4087
4088 PR c/78165
4089 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
4090 suffix.
4091
4092 2016-12-07 Martin Sebor <msebor@redhat.com>
4093
4094 PR c/53562
4095 PR middle-end/77784
4096 PR middle-end/78149
4097 PR middle-end/78138
4098 * c.opt (-Wstringop-overflow): New option.
4099
4100 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
4101
4102 * c-attribs.c (asan odr indicator): New attribute.
4103 (handle_asan_odr_indicator_attribute): New function.
4104
4105 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4106
4107 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
4108 ptrdiff_type_node;
4109
4110 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
4111
4112 * c-common.c (excess_precision_mode_join): New.
4113 (c_ts18661_flt_eval_method): New.
4114 (c_c11_flt_eval_method): Likewise.
4115 (c_flt_eval_method): Likewise.
4116 * c-common.h (excess_precision_mode_join): New.
4117 (c_flt_eval_method): Likewise.
4118 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
4119 (cpp_iec_559_value): Call it.
4120 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
4121 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
4122 __FLT_EVAL_METHOD_TS_18661_3__.
4123
4124 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
4125
4126 * c-opts.c (c_common_post_options): Add logic to handle the default
4127 case for -fpermitted-flt-eval-methods.
4128
4129 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
4130
4131 * c.opt (Wexpansion-to-defined): New.
4132
4133 2016-11-23 Jakub Jelinek <jakub@redhat.com>
4134
4135 PR target/78451
4136 * c-pragma.c (handle_pragma_target): Don't replace
4137 current_target_pragma, but chainon the new args to the current one.
4138
4139 2016-11-22 Nathan Sidwell <nathan@acm.org>
4140
4141 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
4142 indentation and formatting.
4143
4144 2016-11-21 Martin Sebor <msebor@redhat.com>
4145
4146 * c.opt (-fprintf-return-value): Enable by default.
4147
4148 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
4149
4150 PR c++/71973
4151 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
4152 * c-common.c (c_common_nodes_and_builtins): Initialize
4153 const_tm_ptr_type_node.
4154
4155 2016-11-16 Marek Polacek <polacek@redhat.com>
4156
4157 PR c/78285
4158 * c-common.c (c_add_case_label): Turn error_at calls into inform.
4159
4160 2016-11-14 Jakub Jelinek <jakub@redhat.com>
4161
4162 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
4163
4164 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
4165 Richard Biener <rguenther@suse.de>
4166
4167 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
4168 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
4169 * c.opt (fgimple): New option.
4170
4171 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4172
4173 PR c/35503
4174 * c-common.h (warn_for_restrict): Declare.
4175 * c-warn.c: Include gcc-rich-location.h.
4176 (warn_for_restrict): New function.
4177 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
4178 (gcc_cdiag_char_table): Likewise.
4179 (gcc_cxxdiag_char_table): Likewise.
4180 * c.opt (Wrestrict): New option.
4181
4182 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
4183
4184 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
4185 for nested types only if the type is a record or union and dump SLOC.
4186
4187 2016-11-09 Jason Merrill <jason@redhat.com>
4188
4189 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
4190
4191 2016-11-09 Jakub Jelinek <jakub@redhat.com>
4192
4193 * c-ubsan.c (ubsan_instrument_shift): Handle split
4194 -fsanitize=shift-base and -fsanitize=shift-exponent.
4195
4196 2016-11-07 Jason Merrill <jason@redhat.com>
4197
4198 * c.opt (Wc++1z-compat): New.
4199 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
4200
4201 2016-11-07 Martin Liska <mliska@suse.cz>
4202
4203 * c-warn.c (warn_for_unused_label): Save all labels used
4204 in goto or in &label.
4205
4206 2016-11-03 Jason Merrill <jason@redhat.com>
4207
4208 * c-cppbuiltin.c (c_cpp_builtins): Correct
4209 __cpp_inheriting_constructors.
4210
4211 2016-11-01 Jason Merrill <jason@redhat.com>
4212
4213 * c-cppbuiltin.c (c_cpp_builtins): Update
4214 __cpp_inheriting_constructors.
4215
4216 * c.opt (-fnew-inheriting-ctors): New.
4217 * c-opts.c: Default to on for ABI 11+.
4218
4219 2016-10-31 Jakub Jelinek <jakub@redhat.com>
4220
4221 PR c++/77948
4222 * c.opt (fext-numeric-literals): Add Var and Init.
4223 * c-opts.c (c_common_handle_option): Don't clear
4224 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
4225 (c_common_post_options): Clear it here if not set
4226 explicitly.
4227
4228 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
4229
4230 PR debug/77773
4231 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
4232 if NULL.
4233
4234 2016-10-25 Jakub Jelinek <jakub@redhat.com>
4235
4236 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
4237 * c-common.c (c_common_reswords): Add __builtin_launder.
4238
4239 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
4240
4241 * c-common.c (c_common_truthvalue_conversion): Warn for
4242 multiplications in boolean context. Fix the quoting of '<<' and '<'
4243 in the shift warning.
4244
4245 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
4246
4247 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
4248
4249 2016-10-20 Jason Merrill <jason@redhat.com>
4250
4251 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
4252
4253 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4254
4255 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
4256 integer shift ops in boolean context.
4257
4258 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
4259
4260 * c.opt (Walloca): New.
4261 (Walloca-larger-than=): New.
4262 (Wvla-larger-than=): New.
4263
4264 2016-10-17 Marek Polacek <polacek@redhat.com>
4265
4266 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
4267 Return immediately when finding a match.
4268 (warn_tautological_cmp): Remove a boolean variable that is no longer
4269 needed.
4270
4271 2016-10-17 Marek Polacek <polacek@redhat.com>
4272
4273 * c-attribs.c: New file.
4274 * c-common.c: Move attributes handling to c-attribs.c.
4275 (get_nonnull_operand): No longer static.
4276 * c-common.h: Move the declarations from c-attribs.c to its own section.
4277
4278 2016-10-14 Jason Merrill <jason@redhat.com>
4279
4280 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
4281 and __cpp_deduction_guides.
4282
4283 2016-10-13 Jason Merrill <jason@redhat.com>
4284
4285 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
4286
4287 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
4288
4289 * c-cppbuiltin.c: Include memmodel.h.
4290 * c-opts.c: Likewise.
4291 * c-pragma.c: Likewise.
4292 * c-warn.c: Likewise.
4293
4294 2016-10-12 Jakub Jelinek <jakub@redhat.com>
4295
4296 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
4297 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
4298 * c-opts.c (sanitize_cpp_opts): Initialize
4299 cpp_opts->cpp_warn_implicit_fallthrough.
4300
4301 2016-10-11 Marek Polacek <polacek@redhat.com>
4302
4303 * c-common.c (warning_candidate_p): Change the return type to bool
4304 and return true/false instead of 1/0.
4305 (vector_mode_valid_p): Likewise.
4306
4307 2016-10-11 Marek Polacek <polacek@redhat.com>
4308
4309 * c-common.c (fold_for_warn): No longer static.
4310 (bool_promoted_to_int_p): Likewise.
4311 (c_common_get_narrower): Likewise.
4312 (constant_expression_warning): Move to c-warn.c.
4313 (constant_expression_error): Likewise.
4314 (overflow_warning): Likewise.
4315 (warn_logical_operator): Likewise.
4316 (find_array_ref_with_const_idx_r): Likewise.
4317 (warn_tautological_cmp): Likewise.
4318 (expr_has_boolean_operands_p): Likewise.
4319 (warn_logical_not_parentheses): Likewise.
4320 (warn_if_unused_value): Likewise.
4321 (strict_aliasing_warning): Likewise.
4322 (sizeof_pointer_memaccess_warning): Likewise.
4323 (check_main_parameter_types): Likewise.
4324 (conversion_warning): Likewise.
4325 (warnings_for_convert_and_check): Likewise.
4326 (match_case_to_enum_1): Likewise.
4327 (match_case_to_enum): Likewise.
4328 (c_do_switch_warnings): Likewise.
4329 (warn_for_omitted_condop): Likewise.
4330 (readonly_error): Likewise.
4331 (lvalue_error): Likewise.
4332 (invalid_indirection_error): Likewise.
4333 (warn_array_subscript_with_type_char): Likewise.
4334 (warn_about_parentheses): Likewise.
4335 (warn_for_unused_label): Likewise.
4336 (warn_for_div_by_zero): Likewise.
4337 (warn_for_memset): Likewise.
4338 (warn_for_sign_compare): Likewise.
4339 (do_warn_double_promotion): Likewise.
4340 (do_warn_unused_parameter): Likewise.
4341 (record_locally_defined_typedef): Likewise.
4342 (maybe_record_typedef_use): Likewise.
4343 (maybe_warn_unused_local_typedefs): Likewise.
4344 (maybe_warn_bool_compare): Likewise.
4345 (maybe_warn_shift_overflow): Likewise.
4346 (warn_duplicated_cond_add_or_warn): Likewise.
4347 (diagnose_mismatched_attributes): Likewise.
4348 * c-common.h: Move the declarations from c-warn.c to its own section.
4349 * c-warn.c: New file.
4350
4351 2016-10-08 Jason Merrill <jason@redhat.com>
4352
4353 * c-common.c (c_common_truthvalue_conversion): Don't distribute
4354 into COND_EXPR in C++.
4355
4356 2016-10-08 Jakub Jelinek <jakub@redhat.com>
4357
4358 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
4359 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
4360 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
4361
4362 2016-10-07 Jakub Jelinek <jakub@redhat.com>
4363
4364 Implement LWG2296 helper intrinsic
4365 * c-common.h (enum rid): Add RID_ADDRESSOF.
4366 * c-common.c (c_common_reswords): Add __builtin_addressof.
4367
4368 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
4369
4370 PR c++/77700
4371 * c-common.c (c_common_truthvalue_conversion): Warn also for
4372 suspicious enum values in boolean context.
4373
4374 2016-10-06 Jakub Jelinek <jakub@redhat.com>
4375
4376 Implement P0258R2 - helper for C++17
4377 std::has_unique_object_representations trait
4378 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
4379 * c-common.c (c_common_reswords): Add
4380 __has_unique_object_representations.
4381
4382 2016-10-05 Jakub Jelinek <jakub@redhat.com>
4383
4384 PR sanitizer/66343
4385 * c-ubsan.c (ubsan_instrument_return): Don't call
4386 initialize_sanitizer_builtins here.
4387
4388 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4389
4390 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
4391 conditional expression in boolean context when only one arm is
4392 non-boolean.
4393
4394 2016-10-05 Jakub Jelinek <jakub@redhat.com>
4395
4396 PR sanitizer/77823
4397 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
4398 is not integral.
4399
4400 * c-common.c (c_common_reswords): Update comment for C++11.
4401
4402 2016-10-04 Jason Merrill <jason@redhat.com>
4403
4404 * c-common.c (make_tree_vector_from_ctor): New.
4405 * c-common.h: Declare it.
4406
4407 2016-10-04 Jakub Jelinek <jakub@redhat.com>
4408
4409 * c-cppbuiltin.c (c_cpp_builtins): Don't define
4410 __LIBGCC_JCR_SECTION_NAME__.
4411
4412 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
4413
4414 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
4415 left shift in boolean context.
4416
4417 2016-09-29 Jakub Jelinek <jakub@redhat.com>
4418
4419 Implement P0001R1 - C++17 removal of register storage class specifier
4420 * c.opt (Wregister): New warning.
4421 * c-opts.c (c_common_post_options): Enable -Wregister by
4422 default for C++17.
4423
4424 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
4425
4426 * c-opts.c (c_common_post_options): Remove special case for
4427 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
4428 in C++.
4429
4430 2016-09-27 Jakub Jelinek <jakub@redhat.com>
4431
4432 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
4433 -std=c++1z.
4434
4435 * c-ada-spec.c (print_ada_declaration): Remove break after return.
4436
4437 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
4438
4439 * c-common.c: Include memmodel.h.
4440
4441 2016-09-26 Marek Polacek <polacek@redhat.com>
4442
4443 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
4444
4445 2016-09-26 Marek Polacek <polacek@redhat.com>
4446
4447 PR c/7652
4448 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
4449 (handle_fallthrough_attribute): New function.
4450 (attribute_fallthrough_p): New function.
4451 * c-common.h (attribute_fallthrough_p): Declare.
4452
4453 2016-09-24 Marek Polacek <polacek@redhat.com>
4454
4455 PR c/77490
4456 * c.opt (Wbool-operation): New.
4457
4458 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
4459
4460 * c-common.c (c_common_truthvalue_conversion): Inhibit
4461 Wint-in-bool-context warning with from_macro_definition_at.
4462 Mention the expression will always evaluate to true.
4463
4464 2016-09-21 Martin Sebor <msebor@redhat.com>
4465
4466 PR bootstrap/77676
4467 * c.opt (fprintf-return-value): Temporarily initialize to zero
4468 to unblock bootstrap failures.
4469
4470 2016-09-21 Jakub Jelinek <jakub@redhat.com>
4471
4472 PR c++/77651
4473 * c.opt (Waligned-new=): Add RejectNegative.
4474 (faligned-new=): Likewise. Spelling fix - change
4475 aligned_new_threshhold to aligned_new_threshold.
4476 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
4477 to aligned_new_threshold.
4478
4479 2016-09-20 Martin Sebor <msebor@redhat.com>
4480
4481 PR middle-end/49905
4482 * c.opt: Add -Wformat-length and -fprintf-return-value.
4483
4484 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4485
4486 PR c++/77434
4487 * c.opt (Wint-in-bool-context): New warning.
4488 * c-common.c (c_common_truthvalue_conversion): Warn on integer
4489 constants in boolean context.
4490
4491 2016-09-19 Joseph Myers <joseph@codesourcery.com>
4492
4493 * c-common.c (max_align_t_align): Also consider alignment of
4494 float128_type_node.
4495
4496 2016-09-15 Jason Merrill <jason@redhat.com>
4497
4498 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
4499 DECL_EXTERNAL.
4500
4501 2016-09-14 Jason Merrill <jason@redhat.com>
4502
4503 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4504 limit FIELD_DECL, either.
4505
4506 2016-09-14 Marek Polacek <polacek@redhat.com>
4507
4508 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
4509 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
4510 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
4511
4512 2016-09-13 David Malcolm <dmalcolm@redhat.com>
4513
4514 * c-common.c (warn_logical_not_parentheses): Replace
4515 rich_location::add_fixit_insert calls with add_fixit_insert_before
4516 and add_fixit_insert_after, eliminating the "next_loc" calculation.
4517
4518 2016-09-13 Jason Merrill <jason@redhat.com>
4519 Tom de Vries <tom@codesourcery.com>
4520
4521 PR c++/77427
4522 * c-common.c (set_underlying_type): Don't treat array as builtin type.
4523
4524 2016-09-13 Jason Merrill <jason@redhat.com>
4525
4526 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4527 limit types at all.
4528
4529 2016-09-12 Jason Merrill <jason@redhat.com>
4530
4531 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
4532 bit/byte confusion, allow large alignment for types.
4533
4534 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
4535
4536 PR c++/77496
4537 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
4538
4539 2016-09-12 David Malcolm <dmalcolm@redhat.com>
4540
4541 PR c/72858
4542 * c-format.c (argument_parser::check_argument_type): Add params
4543 "type_start" and "conversion_char". Use the former to generate
4544 offset_to_type_start and pass it and conversion_char to
4545 check_format_types.
4546 (check_format_info_main): Capture the start of the type
4547 information as "type_start", and pass it an format_char
4548 to arg_parser.check_argument_type.
4549 (check_format_types): Provide an example in the leading comment.
4550 Add params "offset_to_type_start" and "conversion_char"; pass
4551 them to format_type_warning calls.
4552 (test_get_modifier_for_format_len): Likewise.
4553 (matching_type_p): New function.
4554 (get_format_for_type): Add param "conversion_char" and move
4555 implementation into...
4556 (get_format_for_type_1): ...new function, called twice.
4557 Use new function matching_type_p rather than checking for
4558 TYPE_CANONICAL equality.
4559 (get_corrected_substring): New function.
4560 (format_type_warning): Provide an example in the leading comment.
4561 Add params "offset_to_type_start" and "conversion_char". Replace
4562 call to get_format_for_type with call to get_corrected_substring
4563 and move rejection of hints for widths/precisions there.
4564 (assert_format_for_type_streq): Add param "conversion_char".
4565 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
4566 (test_get_format_for_type_printf): Add conversion chars to the
4567 tests, adding coverage for various combinations of integer
4568 vs double conversions, and for preserving octal and hexadecimal
4569 conversions.
4570 (test_get_format_for_type_scanf): Add conversion chars to the
4571 tests.
4572
4573 2016-09-10 Tom de Vries <tom@codesourcery.com>
4574
4575 PR C/71602
4576 * c-common.c (build_va_arg): Handle more strict
4577 targetm.canonical_va_list_type. Replace first argument type error with
4578 assert.
4579
4580 2016-09-09 Martin Sebor <msebor@redhat.com>
4581
4582 PR c/77520
4583 PR c/77521
4584 * c-format.c (argument_parser::find_format_char_info): Use %qc
4585 format directive unconditionally.
4586
4587 2016-09-09 Jason Merrill <jason@redhat.com>
4588
4589 Implement C++17 new of over-aligned types.
4590 * c.opt: Add -faligned-new and -Waligned-new.
4591 * c-common.c (max_align_t_align): Split out from...
4592 (cxx_fundamental_alignment_p): ...here.
4593 * c-common.h: Declare it.
4594 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
4595
4596 2016-09-09 Joseph Myers <joseph@codesourcery.com>
4597
4598 * c-cppbuiltin.c (builtin_define_type_width): New function.
4599 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
4600 macros.
4601
4602 2016-09-07 David Malcolm <dmalcolm@redhat.com>
4603
4604 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
4605 a POINTER_TYPE.
4606 (substring_loc::get_location): Move to substring-locations.c,
4607 keeping implementation as...
4608 (c_get_substring_location): New function, from the above, reworked
4609 to use accessors rather than member lookup.
4610 * c-common.h (class substring_loc): Move to substring-locations.h,
4611 replacing with a forward decl.
4612 (c_get_substring_location): New decl.
4613 * c-format.c: Include "substring-locations.h".
4614 (format_warning_va): Move to substring-locations.c.
4615 (format_warning_at_substring): Likewise.
4616
4617 2016-09-06 Martin Sebor <msebor@redhat.com>
4618
4619 PR c/77336
4620 * c-format.c (check_function_format): Avoid issuing warnings for
4621 functions unless they call format functions with non-constant
4622 format strings.
4623
4624 2016-09-06 Richard Biener <rguenther@suse.de>
4625
4626 PR c/77450
4627 * c-common.c (c_common_mark_addressable_vec): Handle
4628 COMPOUND_LITERAL_EXPR.
4629
4630 2016-09-05 Marek Polacek <polacek@redhat.com>
4631
4632 PR c/77423
4633 * c-common.c (bool_promoted_to_int_p): New function.
4634 (expr_has_boolean_operands_p): New function.
4635 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
4636 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
4637
4638 2016-09-04 Tom de Vries <tom@codesourcery.com>
4639
4640 revert:
4641 2016-08-29 Tom de Vries <tom@codesourcery.com>
4642
4643 * c-common.c (build_va_arg): Replace first argument type error
4644 with assert.
4645
4646 2016-09-02 Jakub Jelinek <jakub@redhat.com>
4647
4648 PR c/65467
4649 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
4650 (c_finish_omp_for): Reject _Atomic qualified iterators.
4651
4652 2016-09-01 Martin Sebor <msebor@redhat.com>
4653
4654 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
4655 size to guarantee it fits the output of the formatted function
4656 regardless of its arguments.
4657
4658 2016-09-01 Marek Polacek <polacek@redhat.com>
4659
4660 PR c/7652
4661 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
4662 FALLTHRU comments.
4663
4664 2016-08-29 Marek Polacek <polacek@redhat.com>
4665
4666 PR c/77292
4667 * c-common.c (warn_logical_not_parentheses): Don't warn for
4668 a comparison or a logical operator.
4669
4670 2016-08-29 Tom de Vries <tom@codesourcery.com>
4671
4672 * c-common.c (build_va_arg): Fix type comparison assert.
4673
4674 2016-08-29 Tom de Vries <tom@codesourcery.com>
4675
4676 * c-common.c (build_va_arg): Replace first argument type error
4677 with assert.
4678
4679 2016-08-29 Tom de Vries <tom@codesourcery.com>
4680
4681 PR c/77398
4682 * c-common.c (build_va_arg): Add first argument error. Build va_arg
4683 with error_mark_node as va_list instead of with illegal va_list.
4684
4685 2016-08-25 Marek Polacek <polacek@redhat.com>
4686 David Malcolm <dmalcolm@redhat.com>
4687
4688 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
4689 * c-common.h (warn_logical_not_parentheses): Update declaration.
4690
4691 2016-08-22 Marek Polacek <polacek@redhat.com>
4692
4693 PR c++/77321
4694 * c-common.c (warn_for_memset): Check type for null.
4695
4696 2016-08-22 Joseph Myers <joseph@codesourcery.com>
4697
4698 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
4699 _FloatNx types for suffixes for built-in functions.
4700
4701 2016-08-19 Joseph Myers <joseph@codesourcery.com>
4702
4703 PR c/32187
4704 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
4705 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
4706 (RID_FLOAT128X): New enum rid values.
4707 (CASE_RID_FLOATN_NX): New macro.
4708 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
4709 keywords.
4710 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
4711 corresponding complex types.
4712 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
4713 _FloatNx and corresponding complex types.
4714 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
4715 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
4716 and _FloatNx types for the widest type for determining
4717 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
4718 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
4719 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
4720 and _FloatNx types.
4721 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
4722 constants.
4723 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
4724 _FloatNx types.
4725
4726 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4727
4728 * c-opts.c (c_diagnostic_finalizer): Update for change to
4729 diagnostic_show_locus.
4730
4731 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4732
4733 * c-common.c: Include "spellcheck.h".
4734 (cb_get_suggestion): New function.
4735 * c-common.h (cb_get_suggestion): New decl.
4736 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4737 cb_get_suggestion.
4738
4739 2016-08-18 Marek Polacek <polacek@redhat.com>
4740
4741 PR c/71514
4742 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4743 and pointer-to-VLA.
4744
4745 2016-08-16 David Malcolm <dmalcolm@redhat.com>
4746
4747 PR c/72857
4748 * c-common.c (substring_loc::get_range): Rename to...
4749 (substring_loc::get_location): ...this, converting param from a
4750 source_range * to a location_t *. Call
4751 get_source_location_for_substring rather than
4752 get_source_range_for_substring, and pass in m_caret_idx.
4753 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4754 (substring_loc::get_range): Replace with...
4755 (substring_loc::get_location): ...this.
4756 (substring_loc::set_caret_index): New method.
4757 (substring_loc): Add field m_caret_idx.
4758 * c-format.c (format_warning_va): Update for above changes.
4759 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4760 clashing with type name.
4761 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4762 (check_argument_type): Likewise.
4763 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4764 Use a copy when emitting warnings, setting the caret index from TYPE.
4765
4766 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
4767 Arnaud Charlet <charlet@adacore.com>
4768
4769 * c-ada-spec.c (dump_number): New function.
4770 (handle_escape_character): Likewise.
4771 (print_ada_macros): Add handling of constant integers and strings.
4772
4773 2016-08-12 Marek Polacek <polacek@redhat.com>
4774
4775 PR c/7652
4776 * c-common.c (scalar_to_vector): Adjust fall through comment.
4777 * c-opts.c (c_common_handle_option): Likewise.
4778 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4779 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4780 fall through comment.
4781 * cilk.c (extract_free_variables): Add FALLTHRU.
4782
4783 2016-08-10 Jason Merrill <jason@redhat.com>
4784
4785 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4786
4787 2016-08-09 Jason Merrill <jason@redhat.com>
4788
4789 * c-common.c (c_common_attribute_table): vector_size affects type
4790 identity.
4791
4792 2016-08-09 Marek Polacek <polacek@redhat.com>
4793
4794 PR c/7652
4795 * c-ada-spec.c (dump_generic_ada_node): Add return.
4796
4797 2016-08-09 Jason Merrill <jason@redhat.com>
4798
4799 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4800 C++17 constexpr lambdas.
4801
4802 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4803
4804 PR c/64955
4805 * c-common.h (selftest::c_format_c_tests): New declaration.
4806 (selftest::run_c_tests): New declaration.
4807 * c-format.c: Include "selftest.h.
4808 (format_warning_va): Add param "corrected_substring" and use
4809 it to add a replacement fix-it hint.
4810 (format_warning_at_substring): Likewise.
4811 (format_warning_at_char): Update for new param of
4812 format_warning_va.
4813 (argument_parser::check_argument_type): Pass "fki" to
4814 check_format_types.
4815 (check_format_types): Add param "fki" and pass it to
4816 format_type_warning.
4817 (deref_n_times): New function.
4818 (get_modifier_for_format_len): New function.
4819 (selftest::test_get_modifier_for_format_len): New function.
4820 (get_format_for_type): New function.
4821 (format_type_warning): Add param "fki" and use it to attempt
4822 to provide hints for argument types when calling
4823 format_warning_at_substring.
4824 (selftest::get_info): New function.
4825 (selftest::assert_format_for_type_streq): New function.
4826 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4827 (selftest::test_get_format_for_type_printf): New function.
4828 (selftest::test_get_format_for_type_scanf): New function.
4829 (selftest::c_format_c_tests): New function.
4830
4831 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4832
4833 PR c/52952
4834 * c-format.c: Include "diagnostic.h".
4835 (location_column_from_byte_offset): Delete.
4836 (location_from_offset): Delete.
4837 (format_warning_va): New function.
4838 (format_warning_at_substring): New function.
4839 (format_warning_at_char): New function.
4840 (check_format_arg): Capture location of format_tree and pass to
4841 check_format_info_main.
4842 (argument_parser): Add fields "start_of_this_format" and
4843 "format_string_cst".
4844 (flag_chars_t::validate): Add param "format_string_cst". Convert
4845 warning_at call using location_from_offset to call to
4846 format_warning_at_char.
4847 (argument_parser::argument_parser): Add param "format_string_cst_"
4848 and use use it to initialize field "format_string_cst".
4849 Initialize new field "start_of_this_format".
4850 (argument_parser::read_format_flags): Convert warning_at call
4851 using location_from_offset to a call to format_warning_at_char.
4852 (argument_parser::read_any_format_left_precision): Likewise.
4853 (argument_parser::read_any_format_precision): Likewise.
4854 (argument_parser::read_any_other_modifier): Likewise.
4855 (argument_parser::find_format_char_info): Likewise, in three places.
4856 (argument_parser::parse_any_scan_set): Likewise, in one place.
4857 (argument_parser::handle_conversions): Likewise, in two places.
4858 (argument_parser::check_argument_type): Add param "fmt_param_loc"
4859 and use it to make a substring_loc. Pass the latter to
4860 check_format_types.
4861 (check_format_info_main): Add params "fmt_param_loc" and
4862 "format_string_cst". Convert warning_at calls using
4863 location_from_offset to calls to format_warning_at_char. Pass the
4864 new params to the arg_parser ctor. Pass "format_string_cst" to
4865 flag_chars.validate. Pass "fmt_param_loc" to
4866 arg_parser.check_argument_type.
4867 (check_format_types): Convert first param from a location_t
4868 to a const substring_loc & and rename to "fmt_loc". Attempt
4869 to extract the range of the relevant parameter and pass it
4870 to format_type_warning.
4871 (format_type_warning): Convert first param from a location_t
4872 to a const substring_loc & and rename to "fmt_loc". Add
4873 params "param_range" and "type". Replace calls to warning_at
4874 with calls to format_warning_at_substring.
4875
4876 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4877
4878 * c-format.c (class flag_chars_t): New class.
4879 (struct length_modifier): New struct.
4880 (class argument_parser): New class.
4881 (flag_chars_t::flag_chars_t): New ctor.
4882 (flag_chars_t::has_char_p): New method.
4883 (flag_chars_t::add_char): New method.
4884 (flag_chars_t::validate): New method.
4885 (flag_chars_t::get_alloc_flag): New method.
4886 (flag_chars_t::assignment_suppression_p): New method.
4887 (argument_parser::argument_parser): New ctor.
4888 (argument_parser::read_any_dollar): New method.
4889 (argument_parser::read_format_flags): New method.
4890 (argument_parser::read_any_format_width): New method.
4891 (argument_parser::read_any_format_left_precision): New method.
4892 (argument_parser::read_any_format_precision): New method.
4893 (argument_parser::handle_alloc_chars): New method.
4894 (argument_parser::read_any_length_modifier): New method.
4895 (argument_parser::read_any_other_modifier): New method.
4896 (argument_parser::find_format_char_info): New method.
4897 (argument_parser::validate_flag_pairs): New method.
4898 (argument_parser::give_y2k_warnings): New method.
4899 (argument_parser::parse_any_scan_set): New method.
4900 (argument_parser::handle_conversions): New method.
4901 (argument_parser::check_argument_type): New method.
4902 (check_format_info_main): Introduce classes argument_parser
4903 and flag_chars_t, moving the code within the loop into methods
4904 of these classes. Make various locals "const".
4905
4906 2016-08-05 David Malcolm <dmalcolm@redhat.com>
4907
4908 * c-common.c: Include "substring-locations.h".
4909 (get_cpp_ttype_from_string_type): New function.
4910 (g_string_concat_db): New global.
4911 (substring_loc::get_range): New method.
4912 * c-common.h (g_string_concat_db): New declaration.
4913 (class substring_loc): New class.
4914 * c-lex.c (lex_string): When concatenating strings, capture the
4915 locations of all tokens using a new obstack, and record the
4916 concatenation locations within g_string_concat_db.
4917 * c-opts.c (c_common_init_options): Construct g_string_concat_db
4918 on the ggc-heap.
4919
4920 2016-07-29 Marek Polacek <polacek@redhat.com>
4921
4922 PR c/71926
4923 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
4924 parentheses warning.
4925
4926 PR c/71574
4927 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
4928
4929 2016-07-28 Martin Liska <mliska@suse.cz>
4930
4931 PR gcov-profile/68025
4932 * c-common.c (handle_no_profile_instrument_function_attribute):
4933
4934 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
4935
4936 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
4937 BITS_PER_UNIT_LOG.
4938
4939 2016-07-25 Jason Merrill <jason@redhat.com>
4940
4941 PR c++/65970
4942 * c.opt (fconstexpr-loop-limit): New.
4943
4944 2016-07-22 Martin Sebor <msebor@redhat.com>
4945
4946 PR c++/71675
4947 * c-common.c (resolve_overloaded_builtin): Avoid converting
4948 __atomic_compare_exchange_n return type to that of what its
4949 first argument points to.
4950
4951 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
4952
4953 * c-common.c: Use HOST_WIDE_INT_M1U instead of
4954 ~(unsigned HOST_WIDE_INT) 0.
4955
4956 2016-07-22 Martin Liska <mliska@suse.cz>
4957
4958 PR gcov-profile/69028
4959 PR gcov-profile/62047
4960 * cilk.c (create_cilk_helper_decl): Set location of a new decl
4961 to the current_function_decl.
4962
4963 2016-07-21 Jason Merrill <jason@redhat.com>
4964
4965 PR c++/65168
4966 * c-common.c (c_common_truthvalue_conversion): Check
4967 c_inhibit_evaluation_warnings for warning about address of
4968 reference.
4969
4970 2016-07-20 David Malcolm <dmalcolm@redhat.com>
4971
4972 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
4973 const char *.
4974
4975 2016-07-15 Jason Merrill <jason@redhat.com>
4976
4977 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
4978
4979 2016-07-15 Jakub Jelinek <jakub@redhat.com>
4980
4981 PR c/71858
4982 * c-common.h (enum lookup_name_fuzzy_kind): Add
4983 FUZZY_LOOKUP_FUNCTION_NAME.
4984
4985 2016-07-08 Jason Merrill <jason@redhat.com>
4986
4987 P0145: Refining Expression Order for C++.
4988 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
4989 * c-opts.c: Adjust.
4990
4991 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
4992
4993 PR c++/71214
4994 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
4995
4996 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
4997
4998 * c-pragma.h (enum pragma_kind): Rename
4999 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
5000 users.
5001
5002 2016-06-29 Richard Biener <rguenther@suse.de>
5003
5004 PR middle-end/71002
5005 * c-common.c (c_common_get_alias_set): Remove union type punning case.
5006
5007 2016-06-24 Jason Merrill <jason@redhat.com>
5008
5009 P0145R2: Refining Expression Order for C++.
5010 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
5011 MODIFY_EXPR.
5012
5013 2016-06-24 Jakub Jelinek <jakub@redhat.com>
5014
5015 * c-common.c (check_builtin_function_arguments): Require last
5016 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
5017 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
5018 if the last argument is pointer to enumerated or boolean type.
5019
5020 2016-06-22 David Malcolm <dmalcolm@redhat.com>
5021
5022 PR c/70339
5023 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
5024 (lookup_name_fuzzy): New prototype.
5025
5026 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
5027
5028 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
5029
5030 2016-06-14 Jason Merrill <jason@redhat.com>
5031
5032 P0145R2: Refining Expression Order for C++.
5033 * c.opt (fargs-in-order): New.
5034 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
5035
5036 2016-06-13 Jakub Jelinek <jakub@redhat.com>
5037
5038 PR sanitizer/71498
5039 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
5040 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
5041
5042 PR preprocessor/71183
5043 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
5044 to cb_get_source_date_epoch.
5045
5046 2016-06-10 Jakub Jelinek <jakub@redhat.com>
5047
5048 PR c/68657
5049 * c.opt (Wpsabi): Add Warning flag.
5050
5051 2016-06-10 Martin Sebor <msebor@redhat.com>
5052
5053 PR c/71392
5054 * c-common.c (handle_nonnull_attribute): Accept
5055 the nonnull attribute in type-generic builtins.
5056
5057 2016-06-09 Martin Sebor <msebor@redhat.com>
5058
5059 PR c/70883
5060 * c-common.c (builtin_function_validate_nargs): Make text of error
5061 message consistent with others like it.
5062
5063 2016-06-08 Martin Sebor <msebor@redhat.com>
5064 Jakub Jelinek <jakub@redhat.com>
5065
5066 PR c++/70507
5067 PR c/68120
5068 * c-common.c (check_builtin_function_arguments): Handle
5069 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
5070
5071 2016-06-08 Richard Biener <rguenther@suse.de>
5072
5073 * c-common.c (parse_optimize_options): Improve diagnostic messages.
5074
5075 2016-06-07 Richard Biener <rguenther@suse.de>
5076
5077 PR c/61564
5078 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
5079 options and warn about others.
5080
5081 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
5082
5083 * c-common.c (get_source_date_epoch): Rename to
5084 cb_get_source_date_epoch.
5085 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
5086 message when the parsing fails. Use error_at instead of fatal_error.
5087 * c-common.h (get_source_date_epoch): Rename to
5088 cb_get_source_date_epoch.
5089 * c-common.h (cb_get_source_date_epoch): Prototype.
5090 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
5091 * c-common.h (c_omp_region_type): Remove trailing comma.
5092 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
5093 * c-lex.c (c_lex_with_flags): Remove initialization of
5094 pfile->source_date_epoch.
5095
5096 2016-05-30 Jakub Jelinek <jakub@redhat.com>
5097
5098 PR c++/71349
5099 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
5100 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
5101 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
5102 instead of C_OMP_CLAUSE_SPLIT_FOR.
5103
5104 2016-05-24 Richard Biener <rguenther@suse.de>
5105
5106 PR middle-end/70434
5107 PR c/69504
5108 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
5109 (convert_vector_to_array_for_subscript): ... this.
5110 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
5111 VIEW_CONVERT_EXPR to an array type. Rename to ...
5112 (convert_vector_to_array_for_subscript): ... this.
5113
5114 2016-05-12 Marek Polacek <polacek@redhat.com>
5115
5116 PR c/70756
5117 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
5118 size_in_bytes and pass LOC to it.
5119
5120 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
5121
5122 PR c/43651
5123 * c.opt (Wduplicate-decl-specifier): New option.
5124
5125 2016-05-11 Marek Polacek <polacek@redhat.com>
5126
5127 PR c++/71024
5128 * c-common.c (diagnose_mismatched_attributes): New function.
5129 * c-common.h (diagnose_mismatched_attributes): Declare.
5130
5131 2016-05-04 Marek Polacek <polacek@redhat.com>
5132
5133 * c.opt (Wdangling-else): New option.
5134
5135 2016-05-03 Marek Polacek <polacek@redhat.com>
5136
5137 PR c/70859
5138 * c-common.c (builtin_function_validate_nargs): Add location
5139 parameter. Use it.
5140 (check_builtin_function_arguments): Add location and arguments
5141 parameters. Use them.
5142 * c-common.h (check_builtin_function_arguments): Update declaration.
5143
5144 2016-05-03 Richard Biener <rguenther@suse.de>
5145
5146 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
5147 allow call args to gimplify to SSA names.
5148
5149 2016-05-03 Marek Polacek <polacek@redhat.com>
5150
5151 * c-common.h (enum c_omp_region_type): Remove stray comma.
5152
5153 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
5154
5155 * c-common.h (enum c_omp_region_type): Define.
5156
5157 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
5158
5159 * c-common.c (shorten_compare): Use wi::to_wide.
5160
5161 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5162
5163 PR middle-end/70626
5164 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
5165 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
5166 reduction clauses in acc parallel loops.
5167
5168 2016-04-29 Marek Polacek <polacek@redhat.com>
5169
5170 PR c/70852
5171 * c-common.c (warn_for_memset): Check domain before accessing it.
5172
5173 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
5174
5175 PR/69089
5176 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
5177 "aligned" attribute.
5178
5179 2016-04-28 Jason Merrill <jason@redhat.com>
5180
5181 * c-lex.c (c_common_has_attribute): Handle nodiscard.
5182
5183 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
5184 Matthias Klose <doko@debian.org>
5185
5186 * c-common.c (get_source_date_epoch): New function, gets the environment
5187 variable SOURCE_DATE_EPOCH and parses it as long long with error
5188 handling.
5189 * c-common.h (get_source_date_epoch): Prototype.
5190 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
5191
5192 2015-04-27 Ryan Burn <contact@rnburn.com>
5193
5194 PR c++/69024
5195 PR c++/68997
5196 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
5197 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
5198 external linkage.
5199 (cilk_detect_and_unwrap): Corresponding changes.
5200 (extract_free_variables): Don't extract free variables from
5201 AGGR_INIT_EXPR slot.
5202 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
5203 (cilk_recognize_spawn): Likewise.
5204
5205 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
5206
5207 * c.opt (Wmemset-elt-size): New option.
5208 * c-common.c (warn_for_memset): New function.
5209 * c-common.h (warn_for_memset): Declare.
5210
5211 2016-04-25 Jason Merrill <jason@redhat.com>
5212
5213 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
5214 No longer static.
5215 * c-common.h: Declare it.
5216 * c-lex.c (c_common_has_attribute): Add maybe_unused.
5217
5218 2016-04-22 Jason Merrill <jason@redhat.com>
5219
5220 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
5221
5222 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
5223
5224 PR c++/69363
5225 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
5226 * c-common.h (c_finish_cilk_clauses): Remove declaration.
5227
5228 2016-04-18 Michael Matz <matz@suse.de>
5229
5230 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
5231 and SET_DECL_ALIGN.
5232
5233 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
5234
5235 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
5236 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
5237 to incomplete types.
5238 (dump_nested_type): Remove redundant tests and tidy up.
5239 (print_ada_declaration): Also set TREE_VISITED on the declaration of
5240 a type which is the typedef of an original type.
5241
5242 2016-04-15 Marek Polacek <polacek@redhat.com>
5243
5244 PR c/70651
5245 * c-common.c (build_va_arg): Change two asserts into errors and return
5246 error_mark_node.
5247
5248 2016-04-13 Marek Polacek <polacek@redhat.com>
5249
5250 PR c++/70639
5251 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
5252 for switch statements, too.
5253
5254 2016-03-28 Jason Merrill <jason@redhat.com>
5255
5256 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
5257
5258 2016-03-23 Marek Polacek <polacek@redhat.com>
5259
5260 PR c++/69884
5261 * c.opt (Wignored-attributes): New option.
5262
5263 2016-03-22 David Malcolm <dmalcolm@redhat.com>
5264
5265 PR c/69993
5266 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
5267 diagnostic text, reversing the order of the warning and note so
5268 that they appear in source order.
5269
5270 2016-03-17 Marek Polacek <polacek@redhat.com>
5271
5272 PR c/69407
5273 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
5274 operations.
5275
5276 2016-03-14 Jason Merrill <jason@redhat.com>
5277
5278 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
5279
5280 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
5281
5282 2016-03-09 Richard Biener <rguenther@suse.de>
5283
5284 PR c/70143
5285 * c-common.c (strict_aliasing_warning): Add back
5286 alias_sets_conflict_p check.
5287
5288 2016-03-08 Jason Merrill <jason@redhat.com>
5289
5290 * c-opts.c (set_std_cxx1z): Don't enable concepts.
5291
5292 2016-03-04 David Malcolm <dmalcolm@redhat.com>
5293
5294 PR c/68187
5295 * c-indentation.c (get_visual_column): Move code to determine next
5296 tab stop to...
5297 (next_tab_stop): ...this new function.
5298 (line_contains_hash_if): Delete function.
5299 (detect_preprocessor_logic): Delete function.
5300 (get_first_nws_vis_column): New function.
5301 (detect_intervening_unindent): New function.
5302 (should_warn_for_misleading_indentation): Replace call to
5303 detect_preprocessor_logic with a call to
5304 detect_intervening_unindent.
5305
5306 2016-03-04 David Malcolm <dmalcolm@redhat.com>
5307
5308 PR c/68187
5309 * c-indentation.c (should_warn_for_misleading_indentation): When
5310 suppressing warnings about cases where the guard and body are on
5311 the same column, only use the first non-whitespace column in place
5312 of the guard token column when dealing with "else" clauses.
5313 When rejecting aligned BODY and NEXT, loosen the requirement
5314 from equality with the first non-whitespace of guard to simply
5315 that they not be indented relative to it.
5316
5317 2016-03-04 Richard Biener <rguenther@suse.de>
5318
5319 PR c++/70054
5320 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
5321 instead of alias_sets_conflict_p.
5322
5323 2016-03-01 Marek Polacek <polacek@redhat.com>
5324
5325 PR c++/69795
5326 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
5327 any DECL.
5328
5329 2016-02-22 Martin Sebor <msebor@redhat.com>
5330
5331 PR middle-end/69780
5332 * c-common.c (check_builtin_function_arguments): Validate and
5333 reject invalid arguments to __builtin_alloca_with_align.
5334
5335 2016-02-20 Mark Wielaard <mjw@redhat.com>
5336
5337 PR c/28901
5338 * c.opt (Wunused-const-variable): Turn into Alias for...
5339 (Wunused-const-variable=): New option.
5340
5341 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5342
5343 PR c++/69865
5344 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
5345 here...
5346 (c_common_init_options): ...to here.
5347 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
5348
5349 2016-02-19 Jakub Jelinek <jakub@redhat.com>
5350
5351 PR c++/69826
5352 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
5353 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
5354 flag_preprocess_only.
5355
5356 2016-02-16 Jakub Jelinek <jakub@redhat.com>
5357
5358 PR c/69835
5359 * c.opt (Wnonnull-compare): Enable for -Wall.
5360
5361 2016-02-15 Jakub Jelinek <jakub@redhat.com>
5362
5363 PR c++/69797
5364 * c-common.c (sync_resolve_size): Diagnose too few arguments
5365 even when params is non-NULL empty vector.
5366
5367 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
5368
5369 PR target/60410
5370 * c.opt (fshort-double): Remove.
5371
5372 2016-02-05 Martin Sebor <msebor@redhat.com>
5373
5374 PR c++/69662
5375 * c.opt (Warning options): Update -Wplacement-new to take
5376 an optional argument.
5377
5378 2016-02-01 Jakub Jelinek <jakub@redhat.com>
5379
5380 PR preprocessor/69543
5381 PR c/69558
5382 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
5383 instead of loc to control_warning_option.
5384
5385 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5386
5387 * c.opt (fopenacc-dim=): New option.
5388
5389 2016-01-27 Ryan Burn <contact@rnburn.com>
5390
5391 PR cilkplus/69267
5392 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
5393 gimplify_arg. Removed superfluous post_p argument.
5394 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
5395 superfluous post_p argument.
5396 * c-gimplify.c (c_gimplify_expr): Likewise.
5397
5398 2016-01-26 David Malcolm <dmalcolm@redhat.com>
5399
5400 PR other/69006
5401 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
5402 pp_newline_and_flush with pp_flush.
5403
5404 2016-01-20 Martin Sebor <msebor@redhat.com>
5405
5406 PR c/69405
5407 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
5408 an incompatible argument when the argument isn't a valid tree node.
5409
5410 2016-01-18 Jason Merrill <jason@redhat.com>
5411
5412 PR c++/68767
5413 * c-common.c (check_function_arguments_recurse): Fold the whole
5414 COND_EXPR, not just the condition.
5415
5416 2016-01-18 Tom de Vries <tom@codesourcery.com>
5417
5418 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
5419 classify as loop clause.
5420
5421 2016-01-15 Jakub Jelinek <jakub@redhat.com>
5422
5423 PR bootstrap/68271
5424 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
5425 C++ FE no longer has limit on number of pragmas.
5426
5427 2015-01-14 Ryan Burn <contact@rnburn.com>
5428
5429 PR c++/69048
5430 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
5431 to add missing cleanup point.
5432
5433 2016-01-14 David Malcolm <dmalcolm@redhat.com>
5434
5435 PR c++/68819
5436 * c-indentation.c (get_visual_column): Add location_t param.
5437 Handle the column number being zero by effectively disabling the
5438 warning, with an "inform".
5439 (should_warn_for_misleading_indentation): Add location_t argument
5440 for all uses of get_visual_column.
5441
5442 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
5443
5444 PR c++/69029
5445 * c-indentation.c (should_warn_for_misleading_indentation):
5446 Don't warn about do-while statements.
5447
5448 2016-01-07 Martin Sebor <msebor@redhat.com>
5449
5450 PR c/68966
5451 * c-common.c (sync_resolve_size): Reject first argument when it's
5452 a pointer to _Bool.
5453
5454 2016-01-05 David Malcolm <dmalcolm@redhat.com>
5455
5456 PR c/69122
5457 * c-indentation.c (get_visual_column): Remove default argument.
5458 (should_warn_for_misleading_indentation): For the multiline case,
5459 update call to get_visual_column for next_stmt_exploc so that it
5460 captures the location of the first non-whitespace character in the
5461 relevant line. Don't issue warnings if there is non-whitespace
5462 before the next statement.
5463
5464 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5465
5466 Update copyright years.
5467
5468 2015-12-21 David Malcolm <dmalcolm@redhat.com>
5469
5470 * c-common.c (binary_op_error): Convert first param from
5471 location_t to rich_location * and use it when emitting an error.
5472 * c-common.h (binary_op_error): Convert first param from
5473 location_t to rich_location *.
5474
5475 2015-12-16 David Malcolm <dmalcolm@redhat.com>
5476
5477 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
5478 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
5479
5480 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5481
5482 * c-common.c (c_common_attribute_table): Handle "omp declare target
5483 link" attribute.
5484
5485 2015-12-14 Jakub Jelinek <jakub@redhat.com>
5486
5487 PR c/68833
5488 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
5489
5490 2014-12-12 Tobias Burnus <burnus@net-b.de>
5491
5492 PR fortran/68815
5493 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
5494 specifiers (%d, %i,%u and %c).
5495
5496 2015-12-10 David Malcolm <dmalcolm@redhat.com>
5497
5498 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
5499
5500 2015-12-08 Jakub Jelinek <jakub@redhat.com>
5501
5502 PR c/48088
5503 PR c/68657
5504 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
5505 * c-pragma.c (handle_pragma_diagnostic): Adjust
5506 control_warning_option caller.
5507
5508 2015-12-07 David Malcolm <dmalcolm@redhat.com>
5509
5510 * c-common.c (c_cpp_error): Update for change to
5511 rich_location::set_range.
5512
5513 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
5514
5515 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
5516 shifting 1 out of the sign bit.
5517
5518 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
5519
5520 * c-common.c (c_common_attribute_table[]): Update max arguments
5521 count for "simd" attribute.
5522 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
5523
5524 2015-12-03 Jakub Jelinek <jakub@redhat.com>
5525
5526 PR preprocessor/57580
5527 * c-ppoutput.c (print): Change printed field to bool.
5528 Move src_file last for smaller padding.
5529 (init_pp_output): Set print.printed to false instead of 0.
5530 (scan_translation_unit): Fix up formatting. Set print.printed
5531 to true after printing something other than newline.
5532 (scan_translation_unit_trad): Set print.printed to true instead of 1.
5533 (maybe_print_line_1): Set print.printed to false instead of 0.
5534 (print_line_1): Likewise.
5535 (do_line_change): Set print.printed to true instead of 1.
5536 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
5537 dump_macro): Set print.printed to false after printing newline.
5538
5539 2015-12-02 Jason Merrill <jason@redhat.com>
5540
5541 * c-common.c (fold_for_warn): New.
5542 (warn_logical_operator, warn_tautological_cmp)
5543 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
5544
5545 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
5546 (c_fully_fold_internal, decl_constant_value_for_optimization):
5547 Move to c/c-fold.c.
5548 * c-common.h: Don't declare decl_constant_value_for_optimization.
5549
5550 2015-12-02 Joseph Myers <joseph@codesourcery.com>
5551
5552 PR c/68162
5553 * c-common.h (c_build_qualified_type): Add extra default
5554 arguments.
5555
5556 2015-12-01 Julian Brown <julian@codesourcery.com>
5557 Cesar Philippidis <cesar@codesourcery.com>
5558 James Norris <James_Norris@mentor.com>
5559
5560 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
5561 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
5562 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
5563
5564 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
5565
5566 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
5567 (decl_sloc_common): Delete and move bulk of processing to...
5568 (decl_sloc): ...here.
5569 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
5570 (dump_ada_double_name): Remove S parameter and compute the suffix.
5571 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
5572 element type and deal with an anonymous one.
5573 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
5574 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
5575 and remove reference to QUAL_UNION_TYPE.
5576 (dump_nested_types): Make 2 passes on the fields and move bulk to...
5577 (dump_nested_type): ...here. New function extracted from above.
5578 Generate a full declaration for anonymous element type of arrays.
5579 (print_ada_declaration): Really skip anonymous declarations. Remove
5580 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
5581 Clean up processing of declarations of array types and objects.
5582 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
5583 Remove obsolete code and tidy up.
5584
5585 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
5586
5587 PR c/67581
5588 * c-common.c (handle_transparent_union_attribute): Update
5589 also type variants.
5590
5591 2015-11-27 Martin Liska <mliska@suse.cz>
5592
5593 PR c++/68312
5594 * array-notation-common.c (cilkplus_extract_an_triplets):
5595 Release vector of vectors.
5596 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
5597
5598 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
5599
5600 PR c++/68527
5601 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
5602 (print_ada_struct_decl): Likewise.
5603
5604 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
5605
5606 PR c++/68001
5607 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
5608 * cilk.c (recognize_spawn): Determine location in a more precise
5609 way.
5610
5611 2015-11-19 Jason Merrill <jason@redhat.com>
5612
5613 * c-common.c (shorten_compare): But look through macros from
5614 system headers.
5615
5616 2015-11-18 Jason Merrill <jason@redhat.com>
5617
5618 * c-common.c (shorten_compare): Don't -Wtype-limits if the
5619 non-constant operand comes from a macro.
5620
5621 2015-11-17 Jason Merrill <jason@redhat.com>
5622
5623 PR bootstrap/68346
5624 * c-common.c (warn_tautological_cmp): Fold before checking for
5625 constants.
5626
5627 2015-11-16 Marek Polacek <polacek@redhat.com>
5628
5629 PR c++/68362
5630 * c-common.c (check_case_bounds): Fold low and high cases.
5631
5632 2015-11-16 Marek Polacek <polacek@redhat.com>
5633
5634 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
5635 * c-common.c (c_common_get_alias_set): Likewise.
5636 (handle_visibility_attribute): Likewise.
5637
5638 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
5639
5640 * c-common.c (handle_simd_attribute): New.
5641 (struct attribute_spec): Add entry for "simd".
5642 (handle_simd_attribute): New.
5643
5644 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
5645
5646 * c-lex.c (interpret_float): Use fold_convert.
5647
5648 2015-11-13 David Malcolm <dmalcolm@redhat.com>
5649
5650 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
5651 and store it on the result.
5652 * c-opts.c (c_common_init_options): Set
5653 global_dc->colorize_source_p.
5654
5655 2015-11-12 James Norris <jnorris@codesourcery.com>
5656 Joseph Myers <joseph@codesourcery.com>
5657
5658 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
5659 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
5660 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
5661 PRAGMA_OACC_CLAUSE_LINK.
5662
5663 2015-11-11 Marek Polacek <polacek@redhat.com>
5664
5665 PR c/68107
5666 PR c++/68266
5667 * c-common.c (valid_array_size_p): New function.
5668 * c-common.h (valid_array_size_p): Declare.
5669
5670 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
5671
5672 PR bootstrap/68271
5673 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
5674
5675 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
5676
5677 * array-notation-common.c: Remove unused header files.
5678 * c-ada-spec.c: Likewise.
5679 * c-cilkplus.c: Likewise.
5680 * c-common.c: Likewise.
5681 * c-cppbuiltin.c: Likewise.
5682 * c-dump.c: Likewise.
5683 * c-format.c: Likewise.
5684 * c-gimplify.c: Likewise.
5685 * c-indentation.c: Likewise.
5686 * c-lex.c: Likewise.
5687 * c-omp.c: Likewise.
5688 * c-opts.c: Likewise.
5689 * c-pch.c: Likewise.
5690 * c-ppoutput.c: Likewise.
5691 * c-pragma.c: Likewise.
5692 * c-pretty-print.c: Likewise.
5693 * c-semantics.c: Likewise.
5694 * c-ubsan.c: Likewise.
5695 * cilk.c: Likewise.
5696 * stub-objc.c: Likewise.
5697
5698 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
5699 Cesar Philippidis <cesar@codesourcery.com>
5700 James Norris <jnorris@codesourcery.com>
5701 Julian Brown <julian@codesourcery.com>
5702 Nathan Sidwell <nathan@codesourcery.com>
5703
5704 * c-pragma.c (oacc_pragmas): Add "routine".
5705 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
5706
5707 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
5708
5709 * c-common.c (c_common_attributes): Add scalar_storage_order.
5710 (handle_scalar_storage_order_attribute): New function.
5711 * c-pragma.c (global_sso): New variable.
5712 (maybe_apply_pragma_scalar_storage_order): New function.
5713 (handle_pragma_scalar_storage_order): Likewise.
5714 (init_pragma): Register scalar_storage_order.
5715 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
5716 * c.opt (Wscalar-storage-order): New warning.
5717 (fsso-struct=): New option.
5718
5719 2015-11-08 Martin Sebor <msebor@redhat.com>
5720
5721 * c.opt (Wplacement-new): Add a period to the end of a sentence.
5722
5723 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
5724
5725 * c-common.c: Don't undef DEF_BUILTIN.
5726
5727 2015-11-06 David Malcolm <dmalcolm@redhat.com>
5728
5729 * c-common.c (c_cpp_error): Convert parameter from location_t to
5730 rich_location *. Eliminate the "column_override" parameter and
5731 the call to diagnostic_override_column.
5732 Update the "done_lexing" clause to set range 0
5733 on the rich_location, rather than overwriting a location_t.
5734 * c-common.h (c_cpp_error): Convert parameter from location_t to
5735 rich_location *. Eliminate the "column_override" parameter.
5736
5737 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5738 Thomas Schwinge <thomas@codesourcery.com>
5739 James Norris <jnorris@codesourcery.com>
5740
5741 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5742 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5743 clauses with parallel and kernels and loops.
5744 * c-pragma.h (enum pragma_omp_clause): Add entries for
5745 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5746 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5747 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5748 INDEPENDENT,SEQ}.
5749 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5750
5751 2015-11-05 Martin Sebor <msebor@redhat.com>
5752
5753 PR c++/67942
5754 * c.opt (-Wplacement-new): New option.
5755
5756 2015-11-05 Jakub Jelinek <jakub@redhat.com>
5757
5758 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5759 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5760 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5761 save_expr or create_tmp_var* if TEST is true.
5762 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5763 Don't call add_stmt here.
5764 (struct c_omp_check_loop_iv_data): New type.
5765 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5766 c_omp_check_loop_iv_exprs): New functions.
5767 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5768 distribute.
5769 (c_omp_declare_simd_clauses_to_numbers): Change
5770 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5771 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5772 from numbers to PARM_DECLs.
5773
5774 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5775
5776 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5777 flag_checking.
5778
5779 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
5780
5781 PR c++-common/67882
5782 * c-common.h (fold_offsetof_1): Add argument.
5783 * c-common.c (fold_offsetof_1): Diagnose more invalid
5784 offsetof expressions that reference elements past the end of
5785 an array.
5786
5787 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5788 Chung-Lin Tang <cltang@codesourcery.com>
5789
5790 * c-pragma.c (oacc_pragmas): Add "atomic".
5791 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5792
5793 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5794
5795 * c-common.c (handle_target_clones_attribute): New.
5796 (c_common_attribute_table): Add handle_target_clones_attribute.
5797 (handle_always_inline_attribute): Add check on target_clones attribute.
5798 (handle_target_attribute): Ditto.
5799
5800 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
5801
5802 * array-notation-common.c: Reorder #include's and remove duplicates.
5803 * c-ada-spec.c: Likewise.
5804 * c-cilkplus.c: Likewise.
5805 * c-common.c: Likewise.
5806 * c-cppbuiltin.c: Likewise.
5807 * c-dump.c: Likewise.
5808 * c-format.c: Likewise.
5809 * c-gimplify.c: Likewise.
5810 * c-indentation.c: Likewise.
5811 * c-lex.c: Likewise.
5812 * c-omp.c: Likewise.
5813 * c-opts.c: Likewise.
5814 * c-pch.c: Likewise.
5815 * c-ppoutput.c: Likewise.
5816 * c-pragma.c: Likewise.
5817 * c-pretty-print.c: Likewise.
5818 * c-semantics.c: Likewise.
5819 * c-ubsan.c: Likewise.
5820 * cilk.c: Likewise.
5821 * stub-objc.c: Likewise.
5822
5823 2015-10-28 Jason Merrill <jason@redhat.com>
5824
5825 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5826
5827 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5828 James Norris <jnorris@codesourcery.com>
5829 Cesar Philippidis <cesar@codesourcery.com>
5830
5831 PR c/64765
5832 PR c/64880
5833 * c-common.h (c_oacc_split_loop_clauses): Declare function.
5834 * c-omp.c (c_oacc_split_loop_clauses): New function.
5835
5836 2015-10-21 Martin Sebor <msebor@redhat.com>
5837
5838 PR driver/68043
5839 * c.opt: End each sentence that describes an option with a period.
5840
5841 2015-10-20 Marek Polacek <polacek@redhat.com>
5842
5843 * array-notation-common.c (is_cilkplus_vector_p): Define.
5844 * c-common.h (is_cilkplus_vector_p): Declare.
5845
5846 2015-10-20 Marek Polacek <polacek@redhat.com>
5847
5848 * c.opt (std=gnu++11): Do not describe as experimental.
5849 (std=gnu++14): Likewise.
5850
5851 2015-10-19 Jason Merrill <jason@redhat.com>
5852
5853 * c-cppbuiltin.c (c_cpp_builtins): Define
5854 __cpp_nontype_template_args.
5855
5856 2015-10-19 Jason Merrill <jason@redhat.com>
5857
5858 * c-cppbuiltin.c (c_cpp_builtins): Define
5859 __cpp_enumerator_attributes, __cpp_fold_expressions,
5860 __cpp_unicode_characters.
5861
5862 2015-10-13 Jakub Jelinek <jakub@redhat.com>
5863 Aldy Hernandez <aldyh@redhat.com>
5864
5865 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
5866 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
5867 (c_define_builtins): Likewise.
5868 * c-common.h (enum c_omp_clause_split): Add
5869 C_OMP_CLAUSE_SPLIT_TASKLOOP.
5870 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
5871 (c_finish_omp_for): Add ORIG_DECLV argument.
5872 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
5873 201511 instead of 201307.
5874 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
5875 OMP_CRITICAL_CLAUSES to it.
5876 (c_finish_omp_ordered): Add CLAUSES argument, set
5877 OMP_ORDERED_CLAUSES to it.
5878 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
5879 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
5880 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
5881 constructs and new OpenMP 4.5 clauses. Clear
5882 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
5883 verification code.
5884 * c-pragma.c (omp_pragmas_simd): Add taskloop.
5885 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
5886 (enum pragma_omp_clause): Add
5887 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
5888 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5889
5890 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5891
5892 * c-lex.c (interpret_float): Use real_equal instead of
5893 REAL_VALUES_EQUAL.
5894
5895 2015-10-04 Jason Merrill <jason@redhat.com>
5896
5897 Implement N4514, C++ Extensions for Transactional Memory.
5898 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5899 (c_common_attribute_table): Add transaction_safe_dynamic.
5900 transaction_safe now affects type identity.
5901 (handle_tm_attribute): Handle transaction_safe_dynamic.
5902 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5903 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5904 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5905 (D_TRANSMEM): New.
5906 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5907 * c-pretty-print.c (pp_c_attributes_display): Don't print
5908 transaction_safe in C++.
5909
5910 2015-10-02 Marek Polacek <polacek@redhat.com>
5911
5912 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5913
5914 2015-10-02 Marek Polacek <polacek@redhat.com>
5915
5916 PR c/64249
5917 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5918 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
5919 * c.opt (Wduplicated-cond): New option.
5920
5921 2015-10-01 Joseph Myers <joseph@codesourcery.com>
5922
5923 * c.opt (std=c11): Do not describe as experimental.
5924 (std=gnu11): Likewise.
5925 (std=iso9899:2011): Likewise.
5926
5927 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5928
5929 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
5930 (DEF_FUNCTION_TYPE_VAR_11): Delete.
5931
5932 2015-09-25 Marek Polacek <polacek@redhat.com>
5933
5934 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
5935 (ubsan_instrument_shift): Likewise.
5936
5937 2015-09-25 Marek Polacek <polacek@redhat.com>
5938
5939 PR sanitizer/64906
5940 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
5941
5942 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
5943
5944 * c-indentation.c (should_warn_for_misleading_indentation):
5945 Compare next_stmt_vis_column with guard_line_first_nws instead
5946 of with guard_line_vis_column.
5947
5948 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5949
5950 PR c/49654
5951 PR c/49655
5952 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
5953 options and options not valid for the current language.
5954
5955 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
5956
5957 * c-indentation.c (should_warn_for_misleading_indentation):
5958 Float out and consolidate the calls to get_visual_column that
5959 are passed guard_exploc as an argument. Compare
5960 next_stmt_vis_column with guard_line_first_nws instead of with
5961 body_line_first_nws.
5962
5963 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
5964
5965 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
5966 Wnamespaces): New C++ warnings.
5967
5968 2015-09-22 Jason Merrill <jason@redhat.com>
5969
5970 * c-common.h (abi_compat_version_crosses): New.
5971 (warn_abi_version): Declare.
5972 * c-common.c: Define it.
5973 * c-opts.c (c_common_post_options): Handle it.
5974 flag_abi_compat_version defaults to 8.
5975
5976 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5977
5978 Complete the implementation of N4230, Nested namespace definition.
5979 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
5980 __cpp_nested_namespace_definitions.
5981
5982 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5983
5984 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
5985
5986 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5987
5988 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
5989 when warning.
5990 * c-pragma.h (pragma_lex): Add optional loc argument.
5991
5992 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
5993
5994 * c-format.c (check_format_arg): Adjust to use common block size in all
5995 object pools.
5996
5997 2015-09-15 David Malcolm <dmalcolm@redhat.com>
5998
5999 * c-format.c (location_from_offset): Update for change in
6000 signature of location_get_source_line.
6001 * c-indentation.c (get_visual_column): Likewise.
6002 (line_contains_hash_if): Likewise.
6003
6004 2015-09-14 Marek Polacek <polacek@redhat.com>
6005
6006 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
6007 setting various warnings.
6008
6009 2015-09-14 Marek Polacek <polacek@redhat.com>
6010
6011 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
6012 a negative value.
6013
6014 2015-09-11 Mark Wielaard <mjw@redhat.com>
6015
6016 PR c/28901
6017 * c.opt (Wunused-variable): Option from common.opt.
6018 (Wunused-const-variable): New option.
6019
6020 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
6021
6022 PR c++/53184
6023 * c.opt ([Wsubobject-linkage]): Add.
6024
6025 2015-09-03 Martin Sebor <msebor@redhat.com>
6026
6027 PR c/66516
6028 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
6029 functions.
6030 * c-common.c (reject_gcc_builtin): Define.
6031
6032 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
6033
6034 PR middle-end/60586
6035 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
6036 prototype.
6037 * c-gimplify.c (c_gimplify_expr): Added a call to the function
6038 cilk_gimplify_call_params_in_spawned_fn.
6039 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
6040 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
6041 unwrapping.
6042
6043 2015-08-25 Marek Polacek <polacek@redhat.com>
6044
6045 PR middle-end/67330
6046 * c-common.c (handle_weak_attribute): Don't check whether the
6047 visibility can be changed here.
6048
6049 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6050
6051 * c-lex.c (c_lex_with_flags): Use explicit locations.
6052
6053 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
6054
6055 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
6056 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
6057
6058 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6059
6060 PR middle-end/36757
6061 * c-common.c (check_builtin_function_arguments): Add check
6062 for BUILT_IN_SIGNBIT argument.
6063
6064 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
6065
6066 PR c++/67160
6067 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
6068 in c++1z mode.
6069
6070 2015-08-17 Marek Polacek <polacek@redhat.com>
6071
6072 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
6073 with whitespaces before qualifier names.
6074
6075 2015-08-12 Marek Polacek <polacek@redhat.com>
6076
6077 PR c++/55095
6078 * c-common.c (maybe_warn_shift_overflow): Properly handle
6079 left-shifting 1 into the sign bit.
6080
6081 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6082
6083 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
6084
6085 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
6086 Braden Obrzut <admin@maniacsvault.net>
6087 Jason Merrill <jason@redhat.com>
6088
6089 Add C++ Concepts TS support.
6090 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
6091 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
6092 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
6093 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
6094 * c-opts.c (set_std_cxx1z): Set flag_concepts.
6095 * c.opt (fconcepts): New.
6096
6097 2015-08-02 Martin Sebor <msebor@redhat.com>
6098
6099 * c.opt (-Wframe-address): New warning option.
6100
6101 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6102
6103 * c-indentation.c (should_warn_for_misleading_indentation):
6104 Improve heuristics.
6105
6106 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6107
6108 * c-indentation.c (get_visual_column): Add parameter first_nws,
6109 use it. Update comment documenting the function.
6110 (is_first_nonwhitespace_on_line): Remove.
6111 (should_warn_for_misleading_indentation): Replace usage of
6112 of is_first_nonwhitespace_on_line with get_visual_column.
6113
6114 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6115
6116 * c-indentation.h (struct token_indent_info): Define.
6117 (get_token_indent_info): Define.
6118 (warn_for_misleading_information): Declare.
6119 * c-common.h (warn_for_misleading_information): Remove.
6120 * c-identation.c (warn_for_misleading_indentation):
6121 Change declaration to take three token_indent_infos. Adjust
6122 accordingly.
6123 * c-identation.c (should_warn_for_misleading_indentation):
6124 Likewise. Bail out early if the body is a compound statement.
6125 (guard_tinfo_to_string): Define.
6126
6127 2015-07-30 Jason Merrill <jason@redhat.com>
6128
6129 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
6130 '*' for reference decay.
6131
6132 2015-07-30 Marek Polacek <polacek@redhat.com>
6133
6134 * c-common.c (warn_tautological_cmp): Bail for float types.
6135
6136 2015-07-27 Marek Polacek <polacek@redhat.com>
6137
6138 PR bootstrap/67030
6139 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
6140
6141 2015-07-27 Marek Polacek <polacek@redhat.com>
6142
6143 PR c++/66555
6144 PR c/54979
6145 * c-common.c (find_array_ref_with_const_idx_r): New function.
6146 (warn_tautological_cmp): New function.
6147 * c-common.h (warn_tautological_cmp): Declare.
6148 * c.opt (Wtautological-compare): New option.
6149
6150 2015-07-23 Marek Polacek <polacek@redhat.com>
6151
6152 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
6153 (ubsan_instrument_shift): Likewise.
6154
6155 2015-07-23 Marek Polacek <polacek@redhat.com>
6156
6157 PR sanitizer/66908
6158 * c-ubsan.c: Include gimplify.h.
6159 (ubsan_instrument_division): Unshare OP0 and OP1.
6160 (ubsan_instrument_shift): Likewise.
6161
6162 2015-07-20 Marek Polacek <polacek@redhat.com>
6163 Richard Sandiford <richard.sandiford@arm.com>
6164
6165 PR c++/55095
6166 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
6167 Use EXPR_LOC_OR_LOC.
6168 (maybe_warn_shift_overflow): New function.
6169 * c-common.h (maybe_warn_shift_overflow): Declare.
6170 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
6171 * c.opt (Wshift-overflow): New option.
6172
6173 2015-07-16 Martin Liska <mliska@suse.cz>
6174
6175 * c-format.c (static void check_format_info_main): Use
6176 object_allocator instead of pool_allocator.
6177 (check_format_arg): Likewise.
6178 (check_format_info_main): Likewise.
6179
6180 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
6181
6182 * c-opts.c: Remove multiline #include comment.
6183
6184 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
6185
6186 * c-common.c: Fix double word typos.
6187
6188 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
6189
6190 * c-ada-spec.h (cpp_operation): Revert latest change.
6191 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
6192 constructors and destructors.
6193
6194 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
6195
6196 * c-common.h: Adjust includes for flags.h changes.
6197 * stub-objc.c: Likewise.
6198
6199 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
6200
6201 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
6202 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
6203
6204 2015-07-08 Jakub Jelinek <jakub@redhat.com>
6205
6206 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
6207 are to be removed, return NULL rather than original clauses list.
6208
6209 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
6210
6211 * array-notation-common.c: Adjust includes.
6212 * c-ada-spec.c: Likewise.
6213 * c-cilkplus.c: Likewise.
6214 * c-common.h: Likewise.
6215 * c-cppbuiltin.c: Likewise.
6216 * c-dump.c: Likewise.
6217 * c-format.c: Likewise.
6218 * c-gimplify.c: Likewise.
6219 * c-indentation.c: Likewise.
6220 * c-lex.c: Likewise.
6221 * c-omp.c: Likewise.
6222 * c-opts.c: Likewise.
6223 * c-pch.c: Likewise.
6224 * c-ppoutput.c: Likewise.
6225 * c-pragma.c: Likewise.
6226 * c-pretty-print.c: Likewise.
6227 * c-semantics.c: Likewise.
6228 * c-ubsan.c: Likewise.
6229 * cilk.c: Likewise.
6230 * stub-objc.c: Likewise.
6231
6232 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
6233
6234 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
6235 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
6236
6237 2015-07-01 Jason Merrill <jason@redhat.com>
6238
6239 * c-common.h (D_CXX11): Rename from D_CXX0X.
6240 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
6241 * c-common.c: Adjust.
6242
6243 * c-opts.c (c_common_post_options): Default to C++14.
6244
6245 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
6246
6247 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
6248
6249 Implement N4197 - Adding u8 character literals
6250 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
6251 CPP_CHAR.
6252 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
6253 CPP_UTF8CHAR_USERDEF tokens.
6254 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
6255 and CPP_UTF8CHAR tokens.
6256 (lex_charconst): Treat CPP_UTF8CHAR token.
6257
6258 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6259
6260 PR fortran/66605
6261 * c-common.c (do_warn_unused_parameter): Move here.
6262 * c-common.h (do_warn_unused_parameter): Declare.
6263
6264 2015-06-29 Marek Polacek <polacek@redhat.com>
6265
6266 PR c/66322
6267 * c-common.c (check_case_bounds): Add bool * parameter. Set
6268 OUTSIDE_RANGE_P.
6269 (c_add_case_label): Add bool * parameter. Pass it down to
6270 check_case_bounds.
6271 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
6272 warning here.
6273 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
6274 declarations.
6275
6276 2015-06-27 Marek Polacek <polacek@redhat.com>
6277
6278 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
6279 or VECTOR_INTEGER_TYPE_P throughout.
6280 * c-gimplify.c: Likewise.
6281
6282 2015-06-26 Marek Polacek <polacek@redhat.com>
6283
6284 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
6285 * c-common.c (c_fully_fold_internal): Likewise.
6286 (c_alignof_expr): Likewise.
6287 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
6288 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
6289 * cilk.c (create_parm_list): Likewise.
6290
6291 2015-06-26 Marek Polacek <polacek@redhat.com>
6292
6293 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
6294
6295 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
6296
6297 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
6298 * c-gimplify.c: Likewise.
6299 * c-pragma.c: Likewise.
6300 * c-ubsan.c: Likewise.
6301 * cilk.c: Likewise.
6302
6303 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
6304
6305 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
6306 ggc_hasher.
6307
6308 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
6309
6310 * cilk.c: Move calls.h after tm.h in the include chain.
6311
6312 2015-06-25 Marek Polacek <polacek@redhat.com>
6313
6314 * array-notation-common.c: Use VAR_P throughout.
6315 * c-ada-spec.c: Likewise.
6316 * c-common.c: Likewise.
6317 * c-format.c: Likewise.
6318 * c-gimplify.c: Likewise.
6319 * c-omp.c: Likewise.
6320 * c-pragma.c: Likewise.
6321 * c-pretty-print.c: Likewise.
6322 * cilk.c: Likewise.
6323
6324 2015-06-25 Marek Polacek <polacek@redhat.com>
6325
6326 * cilk.c (extract_free_variables): Use is_global_var.
6327
6328 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
6329
6330 * c-common.c: Don't include target-def.h.
6331
6332 2015-06-23 Marek Polacek <polacek@redhat.com>
6333
6334 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
6335 when comparing INTEGER_CSTs.
6336
6337 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
6338
6339 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
6340 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
6341 (dump_ada_template): Skip partially specialized types.
6342
6343 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
6344
6345 * c-common.c (scalar_to_vector): Use std::swap instead of manually
6346 swapping.
6347
6348 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
6349
6350 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
6351 * c-ada-spec.c: Likewise.
6352 * c-cilkplus.c: Likewise.
6353 * c-common.c: Likewise.
6354 * c-common.h: Likewise.
6355 * c-cppbuiltin.c: Likewise.
6356 * c-dump.c: Likewise.
6357 * c-format.c: Likewise.
6358 * c-gimplify.c: Likewise.
6359 * c-indentation.c: Likewise.
6360 * c-lex.c: Likewise.
6361 * c-omp.c: Likewise.
6362 * c-opts.c: Likewise.
6363 * c-pch.c: Likewise.
6364 * c-ppoutput.c: Likewise.
6365 * c-pragma.c: Likewise.
6366 * c-pretty-print.c: Likewise.
6367 * c-semantics.c: Likewise.
6368 * c-ubsan.c: Likewise.
6369 * cilk.c: Likewise.
6370 * stub-objc.c: Likewise.
6371
6372 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
6373
6374 PR c++/65168
6375 * c-common.c (c_common_truthvalue_conversion): Warn when
6376 converting an address of a reference to a truth value.
6377
6378 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
6379
6380 * array-notation-common.c : Adjust include files.
6381 * c-ada-spec.c : Likewise.
6382 * c-cilkplus.c : Likewise.
6383 * c-common.c : Likewise.
6384 * c-common.h : Likewise.
6385 * c-cppbuiltin.c : Likewise.
6386 * c-dump.c : Likewise.
6387 * c-format.c : Likewise.
6388 * c-gimplify.c : Likewise.
6389 * c-indentation.c : Likewise.
6390 * c-lex.c : Likewise.
6391 * c-omp.c : Likewise.
6392 * c-opts.c : Likewise.
6393 * c-pch.c : Likewise.
6394 * c-ppoutput.c : Likewise.
6395 * c-pragma.c : Likewise.
6396 * c-pretty-print.c : Likewise.
6397 * c-semantics.c : Likewise.
6398 * c-ubsan.c : Likewise.
6399 * cilk.c : Likewise.
6400 * stub-objc.c : Likewise.
6401
6402 2015-06-08 Marek Polacek <polacek@redhat.com>
6403
6404 PR c/66415
6405 * c-format.c (location_from_offset): Return LOC if LINE is null.
6406
6407 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
6408
6409 * c-common.h (c_parse_final_cleanups): New prototype.
6410 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
6411
6412 2015-06-04 Sriraman Tallam <tmsriram@google.com>
6413
6414 * c-common.c (noplt): New attribute.
6415 (handle_noplt_attribute): New handler.
6416
6417 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
6418
6419 * array-notation-common.c: Adjust includes for restructured coretypes.h.
6420 * c-ada-spec.c: Likewise.
6421 * c-cilkplus.c: Likewise.
6422 * c-common.c: Likewise.
6423 * c-common.h: Likewise.
6424 * c-cppbuiltin.c: Likewise.
6425 * c-dump.c: Likewise.
6426 * c-format.c: Likewise.
6427 * c-gimplify.c: Likewise.
6428 * c-indentation.c: Likewise.
6429 * c-lex.c: Likewise.
6430 * c-omp.c: Likewise.
6431 * c-opts.c: Likewise.
6432 * c-pch.c: Likewise.
6433 * c-ppoutput.c: Likewise.
6434 * c-pragma.c: Likewise.
6435 * c-pretty-print.c: Likewise.
6436 * c-semantics.c: Likewise.
6437 * c-ubsan.c: Likewise.
6438 * cilk.c: Likewise.
6439 * stub-objc.c: Likewise.
6440
6441 2015-06-02 David Malcolm <dmalcolm@redhat.com>
6442
6443 PR c/66220:
6444 * c-indentation.c (should_warn_for_misleading_indentation): Use
6445 expand_location rather than expand_location_to_spelling_point.
6446 Don't warn if the guarding statement is more indented than the
6447 next/body stmts.
6448
6449 2015-06-02 David Malcolm <dmalcolm@redhat.com>
6450
6451 * c-indentation.c (warn_for_misleading_indentation): Bail out
6452 immediately if -Wmisleading-indentation isn't enabled.
6453
6454 2015-06-01 Martin Liska <mliska@suse.cz>
6455
6456 * c-format.c (check_format_arg):Use new type-based pool allocator.
6457 (check_format_info_main) Likewise.
6458
6459 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
6460
6461 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
6462 (has_nontrivial_methods): Likewise.
6463
6464 2015-05-25 Marek Polacek <polacek@redhat.com>
6465
6466 * c-ubsan.c (ubsan_instrument_shift): Use type0.
6467
6468 2015-05-22 Marek Polacek <polacek@redhat.com>
6469
6470 PR c/47043
6471 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
6472
6473 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6474
6475 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
6476 STACK_GROWS_DOWNWARD.
6477
6478 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6479
6480 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
6481 STACK_GROWS_DOWNWARD rather than if it is defined.
6482
6483 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6484
6485 PR c/52952
6486 * c-format.c (location_column_from_byte_offset): New.
6487 (location_from_offset): New.
6488 (struct format_wanted_type): Add offset_loc field.
6489 (check_format_info): Move handling of location for extra arguments
6490 closer to the point of warning.
6491 (check_format_info_main): Pass the result of location_from_offset
6492 to warning_at.
6493 (format_type_warning): Pass the result of location_from_offset
6494 to warning_at.
6495
6496 2015-05-20 Marek Polacek <polacek@redhat.com>
6497
6498 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
6499
6500 2015-05-20 Marek Polacek <polacek@redhat.com>
6501
6502 * c-ada-spec.c (dump_sloc): Use DECL_P.
6503
6504 2015-05-20 Marek Polacek <polacek@redhat.com>
6505
6506 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
6507 * c-common.c: Likewise.
6508
6509 2015-05-19 David Malcolm <dmalcolm@redhat.com>
6510
6511 * c-common.h (fe_file_change): Strengthen param from
6512 const line_map * to const line_map_ordinary *.
6513 (pp_file_change): Likewise.
6514 * c-lex.c (fe_file_change): Likewise.
6515 (cb_define): Use linemap_check_ordinary when invoking
6516 SOURCE_LINE.
6517 (cb_undef): Likewise.
6518 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
6519 invoking cb_file_change.
6520 (c_finish_options): Likewise.
6521 (push_command_line_include): Likewise.
6522 (cb_file_change): Strengthen param "new_map" from
6523 const line_map * to const line_map_ordinary *.
6524 * c-ppoutput.c (cb_define): Likewise for local "map".
6525 (pp_file_change): Likewise for param "map" and local "from".
6526
6527 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
6528
6529 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
6530
6531 2015-05-18 Tom de Vries <tom@codesourcery.com>
6532
6533 * c-common.c (build_va_arg_1): New function.
6534 (build_va_arg): Add address operator to va_list operand if necessary.
6535
6536 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
6537
6538 PR c/48956
6539 * c-common.c (int_safely_convertible_to_real_p): Define.
6540 (unsafe_conversion_p): Check conversions involving complex types.
6541 (conversion_warning): Add new warning message for conversions which
6542 discard imaginary component.
6543 * c-common.h: (enum conversion_safety): Add new enumerator for such
6544 conversions.
6545
6546 2015-05-14 Marek Polacek <polacek@redhat.com>
6547
6548 PR c/66066
6549 PR c/66127
6550 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
6551 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
6552 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
6553 use it. If FOR_INT_CONST, require that all evaluated operands be
6554 INTEGER_CSTs.
6555
6556 2015-05-12 David Malcolm <dmalcolm@redhat.com>
6557
6558 * c-common.h (warn_for_misleading_indentation): New prototype.
6559 * c-indentation.c: New file.
6560 * c.opt (Wmisleading-indentation): New option.
6561
6562 2015-05-12 Tom de Vries <tom@codesourcery.com>
6563
6564 PR tree-optimization/66010
6565 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
6566
6567 2015-05-09 Jason Merrill <jason@redhat.com>
6568
6569 * c-opts.c (c_common_post_options): Also clear
6570 cpp_opts->cpp_warn_cxx11_compat.
6571
6572 * c-common.h (enum cxx_dialect): Add cxx_unset.
6573 * c-common.c (cxx_dialect): Initialize to cxx_unset.
6574 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
6575
6576 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
6577 (std=gnu++0x): Mark as Undocumented.
6578 (std=gnu++1y): Add deprecated message.
6579
6580 2015-05-08 Jason Merrill <jason@redhat.com>
6581
6582 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
6583 * c-opts.c: Adjust.
6584
6585 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
6586
6587 2015-05-08 Marek Polacek <polacek@redhat.com>
6588
6589 PR c/64918
6590 * c.opt (Woverride-init-side-effects): New option.
6591
6592 2015-05-07 Marek Polacek <polacek@redhat.com>
6593
6594 PR c/65179
6595 * c-common.c (c_fully_fold_internal): Warn when left shifting a
6596 negative value.
6597 * c.opt (Wshift-negative-value): New option.
6598 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
6599 when -Wextra and C99/C++11 mode.
6600
6601 2015-05-07 Marek Polacek <polacek@redhat.com>
6602 Martin Uecker <uecker@eecs.berkeley.edu>
6603
6604 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
6605 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
6606
6607 2015-05-05 Jason Merrill <jason@redhat.com>
6608
6609 * c.opt (Wterminate): New.
6610
6611 2015-04-30 Marek Polacek <polacek@redhat.com>
6612
6613 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
6614 require that the non-constant be of a boolean type.
6615
6616 2015-04-29 Josh Triplett <josh@joshtriplett.org>
6617
6618 * c-common.c (handle_section_attribute): Refactor to reduce
6619 nesting and distinguish between error cases.
6620
6621 2015-04-29 Marek Polacek <polacek@redhat.com>
6622
6623 PR c/64610
6624 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
6625 with 0/1.
6626
6627 2015-04-29 Jakub Jelinek <jakub@redhat.com>
6628
6629 * c-common.h (omp_clause_mask): Unconditionally define as a class.
6630 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
6631 HOST_BITS_PER_WIDE_INT.
6632
6633 2015-04-28 Tom de Vries <tom@codesourcery.com>
6634
6635 PR tree-optimization/65887
6636 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
6637
6638 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
6639 Pierre-Marie de Rodat <derodat@adacore.com>
6640
6641 * c-ada-spec.c (in_function): Delete.
6642 (dump_generic_ada_node): Do not change in_function and remove the
6643 redundant code dealing with it.
6644 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
6645 (print_ada_methods): Output the static member functions in a nested
6646 package after the regular methods as well as associated renamings.
6647
6648 2015-04-24 Marek Polacek <polacek@redhat.com>
6649
6650 PR c/65830
6651 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
6652 and OPT_Wshift_count_overflow.
6653
6654 PR c/63357
6655 * c-common.c (warn_logical_operator): Warn if the operands have the
6656 same expressions.
6657
6658 2015-04-24 Marek Polacek <polacek@redhat.com>
6659
6660 PR c/61534
6661 * c-common.c (warn_logical_operator): Bail if either operand comes
6662 from a macro expansion.
6663
6664 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6665
6666 PR target/55143
6667 * c-common.c (c_default_pointer_mode): Add definition.
6668 * c-common.h (c_default_pointer_mode): Add declaration.
6669
6670 2015-03-11 Jakub Jelinek <jakub@redhat.com>
6671
6672 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
6673 on record_builtin_type argument.
6674
6675 2015-03-10 Jakub Jelinek <jakub@redhat.com>
6676
6677 PR c/65120
6678 * c-common.c (warn_logical_not_parentheses): Don't warn for
6679 !x == 0 or !x != 0.
6680
6681 2015-03-07 Marek Polacek <polacek@redhat.com>
6682
6683 PR sanitizer/65280
6684 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
6685 before trying to figure out whether we have a flexible array member.
6686
6687 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
6688 Jonathan Wakely <jwakely.gcc@gmail.com>
6689
6690 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
6691
6692 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
6693
6694 PR ada/65319
6695 * c-ada-spec.c (print_destructor): Remove obsolete code.
6696
6697 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
6698
6699 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
6700 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
6701 DECL_TEMPLATE_RESULT emulations.
6702 (dump_ada_template)): Add guard for TYPE_METHODS.
6703
6704 2015-02-27 Marek Polacek <polacek@redhat.com>
6705
6706 PR c/65040
6707 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
6708
6709 2015-02-27 Kai Tietz <ktietz@redhat.com>
6710
6711 PR c/35330
6712 * c-pragma.c (handle_pragma_weak): Do not try to create
6713 weak/alias of declarations not being function, or variable
6714 declarations.
6715
6716 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
6717
6718 PR libgomp/64625
6719 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6720 Remove macros.
6721 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
6722
6723 2015-02-16 Marek Polacek <polacek@redhat.com>
6724
6725 PR c/65066
6726 * c-format.c (check_format_types): Handle null param.
6727
6728 2015-02-13 Marek Polacek <polacek@redhat.com>
6729
6730 PR c/65040
6731 * c-format.c (check_format_types): Don't warn about different
6732 signedness if the original value is in the range of WANTED_TYPE.
6733
6734 2015-02-12 Jason Merrill <jason@redhat.com>
6735
6736 PR c++/64956
6737 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6738 to the current highest version.
6739 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6740
6741 2015-02-04 Jakub Jelinek <jakub@redhat.com>
6742
6743 PR c/64824
6744 PR c/64868
6745 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6746 instead of RDIV_EXPR. Use build_binary_op instead of
6747 build2_loc.
6748
6749 2015-01-30 Joseph Myers <joseph@codesourcery.com>
6750
6751 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6752 to pass input_location as first argument.
6753
6754 2015-01-23 Tom de Vries <tom@codesourcery.com>
6755
6756 PR libgomp/64672
6757 * c.opt (fopenacc): Mark as LTO option.
6758
6759 2015-01-23 Tom de Vries <tom@codesourcery.com>
6760
6761 PR libgomp/64707
6762 * c.opt (fopenmp): Mark as LTO option.
6763
6764 2015-01-21 Jakub Jelinek <jakub@redhat.com>
6765
6766 PR c/63307
6767 * cilk.c (fill_decls_vec): Only put decls into vector v.
6768 (compare_decls): Fix up formatting.
6769
6770 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6771
6772 PR c/63307
6773 * cilk.c: Include vec.h.
6774 (struct cilk_decls): New structure.
6775 (wrapper_parm_cb): Split this function to...
6776 (fill_decls_vec): ...this...
6777 (create_parm_list): ...and this.
6778 (compare_decls): New function.
6779 (for_local_cb): Remove.
6780 (wrapper_local_cb): Ditto.
6781 (build_wrapper_type): For now first traverse and fill vector of
6782 declarations then sort it and then deal with sorted vector.
6783 (cilk_outline): Ditto.
6784 (declare_one_free_variable): Ditto.
6785
6786 2015-01-21 Jason Merrill <jason@redhat.com>
6787
6788 PR c++/64629
6789 * c-format.c (check_format_arg): Call decl_constant_value.
6790
6791 2015-01-19 Martin Liska <mliska@suse.cz>
6792
6793 * c-common.c (handle_noicf_attribute): New function.
6794
6795 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6796 Bernd Schmidt <bernds@codesourcery.com>
6797 James Norris <jnorris@codesourcery.com>
6798 Cesar Philippidis <cesar@codesourcery.com>
6799 Ilmir Usmanov <i.usmanov@samsung.com>
6800 Jakub Jelinek <jakub@redhat.com>
6801
6802 * c.opt (fopenacc): New option.
6803 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6804 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6805 New macros.
6806 * c-common.h (c_finish_oacc_wait): New prototype.
6807 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6808 (c_finish_oacc_wait): New function.
6809 * c-pragma.c (oacc_pragmas): New variable.
6810 (c_pp_lookup_pragma, init_pragma): Handle it.
6811 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6812 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6813 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6814 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6815 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6816 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6817 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6818 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6819 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6820 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6821 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6822 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6823 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6824 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6825 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6826 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6827 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6828 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6829 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6830 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6831 PRAGMA_OACC_CLAUSE_WORKER.
6832
6833 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
6834
6835 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
6836 for the new option fstack-protector_explicit.
6837 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
6838 (handle_stack_protect_attribute): New function.
6839
6840 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
6841
6842 * c.opt: New option -Warray-bounds=.
6843
6844 2015-01-09 Michael Collison <michael.collison@linaro.org>
6845
6846 * array-notation-common.c: Include hash-set.h, machmode.h,
6847 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6848 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
6849 * c-ada-spec.c: Ditto.
6850 * c-cilkplus.c: Ditto.
6851 * c-common.c: Include input.h due to flattening of tree.h.
6852 Define macro GCC_C_COMMON_C.
6853 * c-common.h: Flatten tree.h header files into c-common.h.
6854 Remove include of tree-core.h.
6855 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6856 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6857 fold-const.h, wide-int.h, and inchash.h due to
6858 flattening of tree.h.
6859 * c-dump.c: Ditto.
6860 * c-format.c: Flatten tree.h header files into c-common.h.
6861 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6862 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6863 fold-const.h, wide-int.h, and inchash.h due to
6864 flattening of tree.h.
6865 * c-dump.c: Include hash-set.h, machmode.h,
6866 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6867 fold-const.h, wide-int.h, and inchash.h due to
6868 flattening of tree.h.
6869 * c-format.c: Include hash-set.h, machmode.h,
6870 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6871 fold-const.h, wide-int.h, inchash.h and real.h due to
6872 flattening of tree.h.
6873 * c-gimplify.c: Include hash-set.h, machmode.h,
6874 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6875 fold-const.h, wide-int.h, and inchash.h due to
6876 flattening of tree.h.
6877 * cilk.c: Ditto.
6878 * c-lex.c: Ditto.
6879 * c-omp.c: Ditto.
6880 * c-opts.c: Ditto.
6881 * c-pch.c: Ditto.
6882 * c-ppoutput.c: Ditto.
6883 * c-pragma.c: Ditto.
6884 * c-pretty-print.c: Ditto.
6885 * c-semantics.c: Ditto.
6886 * c-ubsan.c: Ditto.
6887 * stub-objc.c: Ditto.
6888
6889 2015-01-08 Jason Merrill <jason@redhat.com>
6890
6891 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6892 do_ubsan_in_current_function.
6893 (ubsan_maybe_instrument_reference_or_call): Likewise.
6894 * c-ubsan.h: Declare it.
6895
6896 2015-01-08 Mike Stump <mikestump@comcast.net>
6897
6898 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6899
6900 2015-01-07 Marek Polacek <polacek@redhat.com>
6901
6902 PR c/64440
6903 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6904 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6905
6906 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6907
6908 PR c++/31397
6909 * c.opt (Wsuggest-override): New option.
6910
6911 2015-01-05 Jakub Jelinek <jakub@redhat.com>
6912
6913 Update copyright years.
6914
6915 2015-01-05 Marek Polacek <polacek@redhat.com>
6916
6917 PR c/64423
6918 * c-common.c (warn_array_subscript_with_type_char): Add location_t
6919 parameter. Use it.
6920 * c-common.h (warn_array_subscript_with_type_char): Update
6921 declaration.
6922
6923 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
6924
6925 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
6926 Control macro with flag_sized_deallocation.
6927
6928 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
6929
6930 * c.opt (Wdiscarded-array-qualifiers): New option.
6931
6932 2014-12-19 Jakub Jelinek <jakub@redhat.com>
6933
6934 PR preprocessor/63831
6935 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
6936 and __has_cpp_attribute here.
6937 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
6938 c_common_has_attribute.
6939 * c-common.h (c_common_has_attribute): New prototype.
6940 * c-lex.c (init_c_lex): Set cb->has_attribute to
6941 c_common_has_attribute instead of cb_has_attribute.
6942 (get_token_no_padding): New function.
6943 (cb_has_attribute): Renamed to ...
6944 (c_common_has_attribute): ... this. No longer static. Use
6945 get_token_no_padding, require ()s, don't build TREE_LIST
6946 unnecessarily, fix up formatting, adjust diagnostics, call
6947 init_attributes.
6948
6949 2014-12-15 Jason Merrill <jason@redhat.com>
6950
6951 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
6952 (-Wsized-deallocation): New.
6953 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
6954 to on in C++14 and up.
6955
6956 2014-12-11 Jason Merrill <jason@redhat.com>
6957
6958 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
6959
6960 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
6961 we aren't complaining about VLAs.
6962
6963 2014-12-06 Marek Polacek <polacek@redhat.com>
6964
6965 PR tree-optimization/64183
6966 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
6967 shift-expression if it is integer_type_node. Use types_compatible_p.
6968
6969 2014-11-29 Jakub Jelinek <jakub@redhat.com>
6970
6971 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
6972 last argument from create_tmp_var_raw and create_tmp_var calls.
6973 * cilk.c (gimplify_cilk_spawn): Likewise.
6974 * c-omp.c (c_finish_omp_atomic): Likewise.
6975
6976 2014-11-28 Marek Polacek <polacek@redhat.com>
6977
6978 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
6979 instead of unsigned_type_node.
6980
6981 2014-11-28 Marek Polacek <polacek@redhat.com>
6982
6983 PR c/63862
6984 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
6985 to op1_utype.
6986 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
6987 expression to unsigned_type_node.
6988
6989 2014-11-20 Mark Wielaard <mjw@redhat.com>
6990
6991 PR debug/38757
6992 * c-opts.c (set_std_c89): Set lang_hooks.name.
6993 (set_std_c99): Likewise.
6994 (set_std_c11): Likewise.
6995 (set_std_cxx98): Likewise.
6996 (set_std_cxx11): Likewise.
6997 (set_std_cxx14): Likewise.
6998 (set_std_cxx1z): Likewise.
6999
7000 2014-11-21 Jakub Jelinek <jakub@redhat.com>
7001
7002 PR target/63764
7003 * c-common.h (convert_vector_to_pointer_for_subscript): Change
7004 return type to bool.
7005 * c-common.c: Include gimple-expr.h.
7006 (convert_vector_to_pointer_for_subscript): Change return type to
7007 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
7008 and copy it into a TARGET_EXPR and use that instead of *vecp
7009 directly.
7010
7011 2014-11-19 David Malcolm <dmalcolm@redhat.com>
7012
7013 Merger of git branch "gimple-classes-v2-option-3".
7014 * ChangeLog.gimple-classes: New.
7015 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
7016 from being just a vec<gimple> to a vec<gbind *>.
7017
7018 2014-11-18 Jakub Jelinek <jakub@redhat.com>
7019
7020 PR sanitizer/63813
7021 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
7022 argument to ptype, set type to TREE_TYPE (ptype). Don't call
7023 get_pointer_alignment for non-pointers. Use ptype, or if it is
7024 reference type, corresponding pointer type, as type of kind
7025 argument.
7026 (ubsan_maybe_instrument_reference,
7027 ubsan_maybe_instrument_member_call): Adjust callers.
7028
7029 2014-11-15 Marek Polacek <polacek@redhat.com>
7030
7031 PR middle-end/63884
7032 * array-notation-common.c (is_sec_implicit_index_fn): Return false
7033 for NULL fndecl.
7034 (extract_array_notation_exprs): Return for NULL node.
7035
7036 2014-11-12 Joseph Myers <joseph@codesourcery.com>
7037
7038 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
7039 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
7040
7041 2014-11-12 Jakub Jelinek <jakub@redhat.com>
7042
7043 PR c/59708
7044 * c-common.c (check_builtin_function_arguments): Handle
7045 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
7046
7047 2014-11-10 Andi Kleen <ak@linux.intel.com>
7048
7049 PR c/60804
7050 * c-common.h (check_no_cilk): Declare.
7051 * cilk.c (get_error_location): New function.
7052 (check_no_cilk): Dito.
7053
7054 2014-11-10 Andi Kleen <ak@linux.intel.com>
7055
7056 * cilk.c (recognize_spawn): Use expression location
7057 for error message.
7058
7059 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
7060
7061 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
7062
7063 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
7064
7065 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
7066 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
7067 (__cpp_range_based_for, __cpp_initializer_lists,
7068 __cpp_delegating_constructors, __cpp_nsdmi,
7069 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
7070 for C++11; (__cpp_attribute_deprecated): Remove in favor of
7071 __has_cpp_attribute.
7072 * c-lex.c (cb_has_attribute): New callback CPP function;
7073 (init_c_lex): Set has_attribute callback.
7074
7075 2014-11-04 Richard Biener <rguenther@suse.de>
7076
7077 * c-common.c (shorten_compare): Do not shorten mixed
7078 DFP and non-DFP compares.
7079
7080 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
7081
7082 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
7083 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
7084 Commentary and rearrangement of tests.
7085 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
7086 Commentary and rearrangement of tests.
7087 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
7088 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
7089
7090 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
7091
7092 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
7093 enum from machine_mode.
7094
7095 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
7096
7097 * c-common.c: Adjust include files.
7098 * c-gimplify.c: Ditto.
7099 * cilk.c: Ditto.
7100 * c-pragma.c: Ditto.
7101 * c-ubsan.c: Ditto.
7102
7103 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
7104
7105 * c-gimplify.c: Adjust include files.
7106
7107 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
7108
7109 PR c++/53061
7110 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
7111 c_common_initialize_diagnostics.
7112 * c-common.h: Likewise.
7113
7114 2014-10-24 Marek Polacek <polacek@redhat.com>
7115
7116 PR c/56980
7117 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
7118 print "struct"/"union"/"enum" for typedefed names.
7119
7120 2014-10-23 Marek Polacek <polacek@redhat.com>
7121
7122 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
7123 in unsigned type.
7124
7125 2014-10-22 Jakub Jelinek <jakub@redhat.com>
7126 Yury Gribov <y.gribov@samsung.com>
7127
7128 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7129 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
7130 instead of flag_sanitize_recover as bool flag.
7131
7132 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
7133
7134 * cilk.c: Revert previous change.
7135
7136 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
7137
7138 PR c/63307
7139 * cilk.c: Include vec.h.
7140 (struct cilk_decls): New structure.
7141 (wrapper_parm_cb): Split this function to...
7142 (fill_decls_vec): ...this...
7143 (create_parm_list): ...and this.
7144 (compare_decls): New function.
7145 (for_local_cb): Remove.
7146 (wrapper_local_cb): Ditto.
7147 (build_wrapper_type): For now first traverse and fill vector of
7148 declarations then sort it and then deal with sorted vector.
7149 (cilk_outline): Ditto.
7150 (declare_one_free_variable): Ditto.
7151
7152 2014-10-17 Marek Polacek <polacek@redhat.com>
7153
7154 * c-opts.c (c_common_post_options): Set warn_implicit_int.
7155 * c.opt (Wimplicit-int): Initialize to -1.
7156
7157 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
7158
7159 * c-pragma.c: Adjust include files.
7160 * c-semantics.c: Likewise.
7161
7162 2014-10-16 DJ Delorie <dj@redhat.com>
7163
7164 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
7165 multiples of bytes.
7166
7167 2014-10-14 Jason Merrill <jason@redhat.com>
7168
7169 PR c++/63455
7170 * c-common.h (CPP_PREPARSED_EXPR): New.
7171 (N_CP_TTYPES): Adjust.
7172
7173 2014-10-15 Marek Polacek <polacek@redhat.com>
7174
7175 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
7176
7177 2014-10-14 DJ Delorie <dj@redhat.com>
7178
7179 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
7180 types, not just __int128.
7181 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
7182 types, not just __int128.
7183 (cpp_atomic_builtins): Round pointer sizes up.
7184 (type_suffix): Use type precision, not specific types.
7185 * c-common.c (c_common_reswords): Remove __int128 special case.
7186 (c_common_type_for_size): Check for all __intN types, not just
7187 __int128.
7188 (c_common_type_for_mode): Likewise.
7189 (c_common_signed_or_unsigned_type): Likewise.
7190 (c_build_bitfield_integer_type): Likewise.
7191 (c_common_nodes_and_builtins): Likewise.
7192 (keyword_begins_type_specifier): Likewise.
7193 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
7194 __intN variants.
7195
7196 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
7197
7198 * c-common.c: Use hash_table instead of hashtab.
7199
7200 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
7201
7202 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
7203 C++11 section.
7204
7205 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
7206
7207 PR c++/54427
7208 PR c++/57198
7209 PR c++/58845
7210 * c-common.c (warn_logical_operator): Punt for vectors.
7211
7212 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
7213
7214 Implement SD-6: SG10 Feature Test Recommendations
7215 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
7216 macros and the __has_header macro.
7217
7218 2014-09-30 Jason Merrill <jason@redhat.com>
7219
7220 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
7221 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
7222 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
7223
7224 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
7225 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
7226
7227 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
7228 * c-common.c (c_common_reswords): Remove __is_convertible_to.
7229
7230 2014-09-24 Marek Polacek <polacek@redhat.com>
7231
7232 PR c/61405
7233 PR c/53874
7234 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
7235
7236 2014-09-23 Andi Kleen <ak@linux.intel.com>
7237
7238 * c-common.c (handle_no_reorder_attribute): New function.
7239 (c_common_attribute_table): Add no_reorder attribute.
7240
7241 2014-09-22 Joseph Myers <joseph@codesourcery.com>
7242
7243 * c-cppbuiltin.c (c_cpp_builtins): Define
7244 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
7245 modes.
7246
7247 2014-09-18 Joseph Myers <joseph@codesourcery.com>
7248
7249 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
7250 for supported floating-point modes.
7251
7252 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7253
7254 * c.opt (Wpsabi): Use LangEnabledBy.
7255 * c-opts.c (c_common_handle_option): Do not handle here.
7256
7257 2014-09-12 Joseph Myers <joseph@codesourcery.com>
7258
7259 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
7260 macros for floating-point modes.
7261
7262 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
7263
7264 PR target/58757
7265 * c-cppbuiltin.c (builtin_define_float_constants): Correct
7266 __*_DENORM_MIN__ without denormals.
7267
7268 2014-09-10 Jakub Jelinek <jakub@redhat.com>
7269
7270 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7271 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7272 ubsan_create_data callers.
7273 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
7274 index is constant or BIT_AND_EXPR with constant mask and is
7275 small enough for the bound.
7276 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
7277 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
7278
7279 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7280
7281 * c.opt: Add CppReason to various flags.
7282 (Wdate-time): Re-sort.
7283 * c-common.c: Include c-common.h earlier.
7284 (struct reason_option_codes_t): Delete.
7285 (c_option_controlling_cpp_error): Prefix global type and struct
7286 with cpp_.
7287
7288 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7289
7290 * c.opt (Wnormalized): New.
7291 (Wnormalized=): Use Enum and Reject Negative.
7292 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
7293
7294 2014-09-08 Joseph Myers <joseph@codesourcery.com>
7295
7296 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
7297 digits of floating-point modes if -fbuilding-libgcc.
7298
7299 2014-09-05 Joseph Myers <joseph@codesourcery.com>
7300
7301 * c-cppbuiltin.c (c_cpp_builtins): Also define
7302 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
7303 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
7304 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
7305 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
7306 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
7307 __LIBGCC_STACK_GROWS_DOWNWARD__,
7308 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
7309 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
7310 __LIBGCC_DWARF_FRAME_REGISTERS__,
7311 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
7312 __LIBGCC_STACK_POINTER_REGNUM__ and
7313 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
7314 (builtin_define_with_value): Handle backslash-escaping in string
7315 macro values.
7316
7317 2014-09-05 Richard Biener <rguenther@suse.de>
7318
7319 PR middle-end/63148
7320 * c-format.c (check_format_arg): Properly handle
7321 effectively signed POINTER_PLUS_EXPR offset.
7322
7323 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7324
7325 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
7326 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
7327 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
7328 and Init.
7329 * c-opts.c (c_common_handle_option): Do not handle here.
7330 (sanitize_cpp_opts): Likewise.
7331 * c-common.c (struct reason_option_codes_t): Handle
7332 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
7333
7334 2014-09-03 Marek Polacek <polacek@redhat.com>
7335
7336 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
7337
7338 2014-09-02 Jakub Jelinek <jakub@redhat.com>
7339 Balaji V. Iyer <balaji.v.iyer@intel.com>
7340 Igor Zamyatin <igor.zamyatin@intel.com>
7341
7342 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
7343 * c-common.c (c_common_reswords): Added _Cilk_for.
7344 * c-common.h (enum rid): Added RID_CILK_FOR.
7345 (cilk_for_number_of_iterations): Add declaration.
7346 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
7347 CILK_FOR.
7348 * c-pragma.c (init_pragma): Register "grainsize" pragma.
7349 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
7350
7351 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7352
7353 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
7354 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
7355 Wundef): Use CPP, Var and Init.
7356 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
7357
7358 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7359
7360 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
7361 * c-opts.c (c_common_handle_option): Do not handle here.
7362
7363 2014-08-25 Jason Merrill <jason@redhat.com>
7364
7365 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
7366 -std=c++14 and -std=gnu++14, rather than the reverse.
7367 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
7368 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
7369 * c-common.h (cxx_dialect): Remove cxx1y.
7370
7371 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
7372
7373 * c-common.h (enum cxx_dialect): Add cxx14.
7374 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
7375 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
7376 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
7377
7378 2014-08-22 Jason Merrill <jason@redhat.com>
7379
7380 * c.opt (std=gnu++17): Fix alias.
7381
7382 2014-08-22 Marek Polacek <polacek@redhat.com>
7383
7384 PR c++/62199
7385 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
7386 check for vector types. Drop LHS argument.
7387 * c-common.h (warn_logical_not_parentheses): Adjust.
7388
7389 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7390
7391 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
7392 (Wmultichar): Likewise.
7393 (Wdate-time): Use C-family languages instead of Common. Use CPP
7394 and Var.
7395 * c-opts.c (c_common_handle_option): Do not handle the above
7396 options here.
7397 (sanitize_cpp_opts): Likewise.
7398
7399 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
7400
7401 PR fortran/44054
7402 * c-opts.c: Include tree-diagnostics.h.
7403 (c_diagnostic_finalizer): New.
7404 (c_common_initialize_diagnostics): Use it.
7405
7406 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7407
7408 PR preprocessor/51303
7409 * c-common.c (struct reason_option_codes_t option_codes):
7410 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
7411
7412 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7413
7414 PR c/60975
7415 PR c/53063
7416 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
7417 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
7418 (c_common_post_options): Call init_global_opts_from_cpp.
7419 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
7420
7421 2014-08-19 Marek Polacek <polacek@redhat.com>
7422
7423 PR c++/62153
7424 * c-common.c (maybe_warn_bool_compare): New function.
7425 * c-common.h (maybe_warn_bool_compare): Declare.
7426 * c.opt (Wbool-compare): New option.
7427
7428 2014-08-19 Marek Polacek <polacek@redhat.com>
7429
7430 * c.opt (Wc99-c11-compat): New option.
7431
7432 2014-08-19 Marek Polacek <polacek@redhat.com>
7433
7434 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
7435 to warn_c90_c99_compat.
7436 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
7437 to -1.
7438
7439 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
7440 Steven Bosscher <steven@gcc.gnu.org>
7441
7442 PR c/52952
7443 * c-format.c: Add extra_arg_loc and format_string_loc to struct
7444 format_check_results.
7445 (check_function_format): Use true and add comment for boolean
7446 argument.
7447 (finish_dollar_format_checking): Use explicit location when warning.
7448 (check_format_info): Likewise.
7449 (check_format_arg): Set extra_arg_loc and format_string_loc.
7450 (check_format_info_main): Use explicit location when warning.
7451 (check_format_types): Pass explicit location.
7452 (format_type_warning): Likewise.
7453
7454 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7455
7456 PR fortran/44054
7457 * c-format.c: Handle Fortran flags.
7458
7459 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
7460
7461 PR other/61962
7462 * array-notation-common.c (find_rank): Added handling for other
7463 types of references.
7464
7465 2014-08-10 Marek Polacek <polacek@redhat.com>
7466
7467 PR c/51849
7468 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
7469 * c.opt (Wc90-c99-compat): Add option.
7470
7471 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
7472
7473 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
7474
7475 2014-08-03 Marek Polacek <polacek@redhat.com>
7476
7477 * c-common.c (check_case_value): Add location_t parameter. Use it.
7478 (c_add_case_label): Pass loc to check_case_value.
7479
7480 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7481
7482 * cilk.c: Use hash_map instead of pointer_map.
7483
7484 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7485
7486 * c-gimplify.c: Use hash_set instead of pointer_set.
7487
7488 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
7489
7490 PR middle-end/61455
7491 * array-notation-common.c (extract_array_notation_exprs): Handling
7492 of DECL_EXPR added.
7493
7494 2014-08-01 Jakub Jelinek <jakub@redhat.com>
7495
7496 * c-common.h (min_align_of_type): Removed prototype.
7497 * c-common.c (min_align_of_type): Removed.
7498 * c-ubsan.h (ubsan_maybe_instrument_reference,
7499 ubsan_maybe_instrument_member_call): New prototypes.
7500 * c-ubsan.c: Include stor-layout.h and builtins.h.
7501 (ubsan_maybe_instrument_reference_or_call,
7502 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
7503 functions.
7504
7505 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
7506
7507 PR c++/60517
7508 * c.opt (-Wreturn-local-addr): Move to common.opt.
7509
7510 2014-07-30 Jason Merrill <jason@redhat.com>
7511
7512 PR c++/61659
7513 PR c++/61687
7514 Revert:
7515 * c.opt (-fuse-all-virtuals): New.
7516
7517 2014-07-30 Tom Tromey <tromey@redhat.com>
7518
7519 PR c/59855
7520 * c.opt (Wdesignated-init): New option.
7521 * c-common.c (c_common_attribute_table): Add "designated_init".
7522 (handle_designated_init): New function.
7523
7524 2014-07-24 Marek Polacek <polacek@redhat.com>
7525
7526 PR c/57653
7527 * c-opts.c (c_finish_options): If -imacros is in effect, return.
7528
7529 2014-07-16 Dodji Seketeli <dodji@redhat.com>
7530
7531 PR preprocessor/60723 - missing system-ness marks for macro tokens
7532 * c-ppoutput.c (struct print::prev_was_system_token): New data
7533 member.
7534 (init_pp_output): Initialize it.
7535 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
7536 (do_line_change): Return a flag saying if a line marker was
7537 emitted or not.
7538 (scan_translation_unit): Detect if the system-ness of the token we
7539 are about to emit is different from the one of the previously
7540 emitted token. If so, emit a line marker. Avoid emitting useless
7541 adjacent line markers. Avoid emitting line markers for tokens
7542 originating from the expansion of built-in macros.
7543 (scan_translation_unit_directives_only): Adjust.
7544
7545 2014-07-15 Marek Polacek <polacek@redhat.com>
7546
7547 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
7548 TYPE_MAX_VALUE is NULL.
7549
7550 2014-07-14 Jakub Jelinek <jakub@redhat.com>
7551
7552 PR middle-end/61294
7553 * c.opt (Wmemset-transposed-args): New warning.
7554
7555 2014-07-10 Jason Merrill <jason@redhat.com>
7556
7557 PR c++/61659
7558 PR c++/61687
7559 * c.opt (-fuse-all-virtuals): New.
7560
7561 2014-07-09 Richard Biener <rguenther@suse.de>
7562
7563 PR c-family/61741
7564 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7565 using unsigned arithmetic if overflow does not wrap instead of
7566 if overflow is undefined.
7567
7568 2014-07-06 Marek Polacek <polacek@redhat.com>
7569
7570 PR c/6940
7571 * c.opt (Wsizeof-array-argument): New option.
7572
7573 2014-07-03 Jakub Jelinek <jakub@redhat.com>
7574
7575 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
7576 comments->count <= 1, as comments->entries might be NULL.
7577
7578 2014-07-01 Marek Polacek <polacek@redhat.com>
7579
7580 * c.opt (Wint-conversion): New option.
7581
7582 2014-07-01 Marek Polacek <polacek@redhat.com>
7583
7584 PR c/58286
7585 * c.opt (Wincompatible-pointer-types): New option.
7586
7587 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
7588
7589 PR c++/51400
7590 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
7591 Do not discard TYPE_QUALS of type.
7592
7593 2014-06-26 Jason Merrill <jason@redhat.com>
7594
7595 * c-common.h (enum cxx_dialect): Add cxx1z.
7596 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
7597 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
7598
7599 2014-06-26 Teresa Johnson <tejohnson@google.com>
7600
7601 * c-common.h (get_dump_info): Declare.
7602 * c-gimplify.c (c_genericize): Use saved dump files.
7603 * c-opts.c (c_common_parse_file): Begin and end dumps
7604 once around parsing invocation.
7605 (get_dump_info): New function.
7606
7607 2014-06-23 Marek Polacek <polacek@redhat.com>
7608 Andrew MacLeod <amacleod@redhat.com>
7609
7610 PR c/61553
7611 * c-common.c (get_atomic_generic_size): Don't segfault if the
7612 type doesn't have a size.
7613
7614 2014-06-20 Marek Polacek <polacek@redhat.com>
7615
7616 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
7617 (ubsan_walk_array_refs_r): New function.
7618 (c_genericize): Instrument array bounds.
7619 * c-ubsan.c: Include "internal-fn.h".
7620 (ubsan_instrument_division): Mark instrumented arrays as having
7621 side effects. Adjust ubsan_type_descriptor call.
7622 (ubsan_instrument_shift): Likewise.
7623 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
7624 (ubsan_instrument_bounds): New function.
7625 (ubsan_array_ref_instrumented_p): New function.
7626 (ubsan_maybe_instrument_array_ref): New function.
7627 * c-ubsan.h (ubsan_instrument_bounds): Declare.
7628 (ubsan_array_ref_instrumented_p): Declare.
7629 (ubsan_maybe_instrument_array_ref): Declare.
7630
7631 2014-06-20 Hale Wang <hale.wang@arm.com>
7632
7633 PR lto/61123
7634 * c.opt (fshort-enums): Add to LTO.
7635 * c.opt (fshort-wchar): Likewise.
7636
7637 2014-06-16 Marek Polacek <polacek@redhat.com>
7638
7639 PR c/60439
7640 * c.opt (Wswitch-bool): Add Var.
7641
7642 2014-06-12 Jakub Jelinek <jakub@redhat.com>
7643
7644 PR middle-end/61486
7645 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
7646 #pragma omp target teams or
7647 #pragma omp {,target }teams distribute simd.
7648
7649 2014-06-12 Jason Merrill <jason@redhat.com>
7650
7651 * c.opt (Wabi=, fabi-compat-version): New.
7652 * c-opts.c (c_common_handle_option): Handle -Wabi=.
7653 (c_common_post_options): Handle flag_abi_compat_version default.
7654 Disallow -fabi-compat-version=1.
7655 * c-common.h (abi_version_crosses): New.
7656
7657 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
7658
7659 * c-common.c (handle_section_attribute): Update handling for
7660 section names that are no longer trees.
7661
7662 2014-06-10 Jakub Jelinek <jakub@redhat.com>
7663
7664 PR fortran/60928
7665 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
7666 (omp_pragmas): ... back here.
7667
7668 2014-06-05 Marek Polacek <polacek@redhat.com>
7669
7670 PR c/49706
7671 * c-common.c (warn_logical_not_parentheses): New function.
7672 * c-common.h (warn_logical_not_parentheses): Declare.
7673 * c.opt (Wlogical-not-parentheses): New option.
7674
7675 2014-06-04 Marek Polacek <polacek@redhat.com>
7676
7677 PR c/30020
7678 * c-common.c (check_case_bounds): Add location parameter.
7679 Use it.
7680 (c_add_case_label): Pass loc to check_case_bounds.
7681
7682 2014-06-03 Marek Polacek <polacek@redhat.com>
7683
7684 PR c/60439
7685 * c.opt (Wswitch-bool): New option.
7686
7687 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
7688
7689 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
7690 Remove prototypes.
7691 (record_types_used_by_current_var_decl): Move prototype to where
7692 it belongs.
7693
7694 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
7695 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
7696 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
7697
7698 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7699
7700 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
7701 * c-common.c (c_common_nodes_and_builtins): Don't initialize
7702 void_zero_node.
7703 * c-pretty-print.c (pp_c_void_constant): New function.
7704 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
7705 (c_pretty_printer::expression): Handle VOID_CST.
7706 * cilk.c (extract_free_variables): Likewise.
7707 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
7708 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
7709
7710 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
7711
7712 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
7713 * c-pragma.c (push_alignment): Adjust.
7714 (handle_pragma_push_options): Likewise.
7715
7716 2014-05-09 Marek Polacek <polacek@redhat.com>
7717
7718 PR c/50459
7719 * c-common.c (check_user_alignment): Return -1 if alignment is error
7720 node.
7721 (handle_aligned_attribute): Don't call default_conversion on
7722 FUNCTION_DECLs.
7723 (handle_vector_size_attribute): Likewise.
7724 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
7725 (handle_sentinel_attribute): Call default_conversion and allow even
7726 integral types as an argument.
7727
7728 2014-05-08 Marek Polacek <polacek@redhat.com>
7729
7730 PR c/61053
7731 * c-common.c (min_align_of_type): New function factored out from...
7732 (c_sizeof_or_alignof_type): ...here.
7733 * c-common.h (min_align_of_type): Declare.
7734
7735 2014-05-08 Marek Polacek <polacek@redhat.com>
7736
7737 PR c/61077
7738 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7739 parameter type of main.
7740
7741 2014-05-07 DJ Delorie <dj@redhat.com>
7742
7743 * c-cppbuiltin.c (print_bits_of_hex): New.
7744 (builtin_define_type_minmax): Print values using hex so as not to
7745 require a pre-computed list of string values.
7746
7747 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7748 Mike Stump <mikestump@comcast.net>
7749 Richard Sandiford <rdsandiford@googlemail.com>
7750
7751 * c-ada-spec.c: Include wide-int.h.
7752 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7753 (dump_generic_ada_node): Use wide-int interfaces.
7754 * c-common.c: Include wide-int-print.h.
7755 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7756 (pointer_int_sum): Use wide-int interfaces.
7757 (c_common_nodes_and_builtins): Use make_int_cst.
7758 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7759 (handle_alloc_size_attribute): Use wide-int interfaces.
7760 (get_nonnull_operand): Likewise.
7761 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7762 * c-lex.c: Include wide-int.h.
7763 (narrowest_unsigned_type): Take a widest_int rather than two
7764 HOST_WIDE_INTs.
7765 (narrowest_signed_type): Likewise.
7766 (interpret_integer): Update accordingly. Use wide-int interfaces.
7767 (lex_charconst): Use wide-int interfaces.
7768 * c-pretty-print.c: Include wide-int.h.
7769 (pp_c_integer_constant): Use wide-int interfaces.
7770 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7771 INT_CST_LT_UNSIGNED.
7772
7773 2014-05-06 Richard Biener <rguenther@suse.de>
7774
7775 * c-opts.c (c_common_post_options): For -freestanding,
7776 -fno-hosted and -fno-builtin disable pattern recognition
7777 if not enabled explicitely.
7778
7779 2014-05-02 Marek Polacek <polacek@redhat.com>
7780
7781 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7782
7783 2014-05-01 Marek Polacek <polacek@redhat.com>
7784
7785 PR c/43245
7786 * c.opt (Wdiscarded-qualifiers): Add.
7787
7788 2014-04-30 Marek Polacek <polacek@redhat.com>
7789
7790 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7791 INT_MIN / -1 sanitization only for integer types.
7792
7793 2014-04-25 Marek Polacek <polacek@redhat.com>
7794
7795 PR c/18079
7796 * c-common.c (handle_noinline_attribute): Warn if the attribute
7797 conflicts with always_inline attribute.
7798 (handle_always_inline_attribute): Warn if the attribute conflicts
7799 with noinline attribute.
7800
7801 2014-04-25 Marek Polacek <polacek@redhat.com>
7802
7803 PR c/60156
7804 * c-common.c (check_main_parameter_types): Warn about variadic main.
7805
7806 2014-04-24 Mike Stump <mikestump@comcast.net>
7807
7808 * c.opt (Wshadow-ivar): Default to on.
7809
7810 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7811
7812 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7813
7814 2014-04-23 Marek Polacek <polacek@redhat.com>
7815
7816 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7817
7818 2014-04-22 Jakub Jelinek <jakub@redhat.com>
7819
7820 PR sanitizer/60275
7821 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7822 if flag_sanitize_undefined_trap_on_error.
7823 (ubsan_instrument_division, ubsan_instrument_shift,
7824 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7825 if !flag_sanitize_recover.
7826
7827 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
7828
7829 PR libstdc++/43622
7830 * c-common.c (registered_builtin_types): Make non-static.
7831 * c-common.h (registered_builtin_types): Declare.
7832
7833 2014-04-14 Richard Biener <rguenther@suse.de>
7834 Marc Glisse <marc.glisse@inria.fr>
7835
7836 PR c/60819
7837 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
7838 apply may-alias the scalar pointer type when applicable.
7839
7840 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
7841
7842 PR middle-end/60467
7843 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
7844 as possible argument for Cilk_spawn.
7845
7846 2014-04-11 Tobias Burnus <burnus@net-b.de>
7847
7848 PR c/60194
7849 * c.opt (Wformat-signedness): Add
7850 * c-format.c(check_format_types): Use it.
7851
7852 2014-04-11 Jason Merrill <jason@redhat.com>
7853
7854 PR c++/57926
7855 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
7856 default_conversion for an array argument.
7857
7858 2014-04-08 Marek Polacek <polacek@redhat.com>
7859
7860 PR sanitizer/60745
7861 * c-ubsan.c: Include asan.h.
7862 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
7863
7864 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7865
7866 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
7867
7868 2014-04-02 Marek Polacek <polacek@redhat.com>
7869
7870 * c-common.h (c_expand_expr): Remove declaration.
7871
7872 2014-03-28 Jakub Jelinek <jakub@redhat.com>
7873
7874 PR c++/60689
7875 * c-common.c (add_atomic_size_parameter): When creating new
7876 params vector, push the size argument first.
7877
7878 2014-03-26 Jakub Jelinek <jakub@redhat.com>
7879
7880 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7881 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7882 ubsan_create_data callers.
7883
7884 2014-03-22 Jakub Jelinek <jakub@redhat.com>
7885
7886 PR debug/60603
7887 * c-opts.c (c_finish_options): Restore cb_file_change call to
7888 <built-in>.
7889
7890 2014-03-13 Jakub Jelinek <jakub@redhat.com>
7891
7892 PR middle-end/36282
7893 * c-pragma.c (apply_pragma_weak): Only look at
7894 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7895 DECL_ASSEMBLER_NAME_SET_P (decl).
7896 (maybe_apply_pending_pragma_weaks): Exit early if
7897 vec_safe_is_empty (pending_weaks) rather than only when
7898 !pending_weaks.
7899 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7900 set assembler name back to NULL afterwards.
7901
7902 2014-03-11 Jason Merrill <jason@redhat.com>
7903
7904 * c.opt: Add -std=gnu++14.
7905
7906 2014-03-11 Ian Bolton <ian.bolton@arm.com>
7907
7908 * c-opts.c (c_common_post_options): Don't override
7909 -ffp-contract=fast if unsafe-math-optimizations is on.
7910
7911 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
7912
7913 * c.opt: Enable LTO FE for fshort-double.
7914
7915 2014-03-07 Jason Merrill <jason@redhat.com>
7916
7917 * c.opt: Add -std=c++14.
7918
7919 2014-03-06 Marek Polacek <polacek@redhat.com>
7920
7921 PR c/60197
7922 * cilk.c (contains_cilk_spawn_stmt): New function.
7923 (contains_cilk_spawn_stmt_walker): Likewise.
7924 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
7925 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
7926
7927 2014-03-03 Jakub Jelinek <jakub@redhat.com>
7928
7929 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
7930 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
7931 even when flag_preprocess_only.
7932
7933 2014-02-26 Jason Merrill <jason@redhat.com>
7934
7935 PR c++/59231
7936 PR c++/11586
7937 * c-common.c (shorten_compare): Don't check
7938 c_inhibit_evaluation_warnings.
7939
7940 2014-02-19 Jakub Jelinek <jakub@redhat.com>
7941
7942 PR c/37743
7943 * c-common.c (c_common_nodes_and_builtins): When initializing
7944 c_uint{16,32,64}_type_node, also set corresponding
7945 uint{16,32,64}_type_node to the same value.
7946
7947 PR c++/60267
7948 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
7949 for PRAGMA_IVDEP if flag_preprocess_only.
7950
7951 2014-02-12 Jakub Jelinek <jakub@redhat.com>
7952
7953 PR c/60101
7954 * c-common.c (merge_tlist): If copy is true, call new_tlist,
7955 if false, add ADD itself, rather than vice versa.
7956 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
7957 copy. For SAVE_EXPR, only call merge_tlist once.
7958
7959 2014-02-08 Jakub Jelinek <jakub@redhat.com>
7960
7961 PR middle-end/60092
7962 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
7963 and tree_to_uhwi.
7964 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
7965 functions.
7966 (c_common_attribute_table): Add alloc_align and assume_aligned
7967 attributes.
7968
7969 2014-02-06 Marek Polacek <polacek@redhat.com>
7970
7971 PR c/60087
7972 * c-common.c (warn_for_sign_compare): Call warning_at with location
7973 instead of warning.
7974
7975 2014-02-05 Marek Polacek <polacek@redhat.com>
7976
7977 PR c/53123
7978 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
7979 statement.
7980
7981 2014-02-04 Marek Polacek <polacek@redhat.com>
7982
7983 PR c/60036
7984 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
7985 SAVE_EXPR.
7986
7987 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
7988
7989 PR c++/53017
7990 PR c++/59211
7991 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
7992 handle_vector_size_attribute, handle_nonnull_attribute): Call
7993 default_conversion on the attribute argument.
7994 (handle_nonnull_attribute): Increment the argument number.
7995
7996 2014-01-31 Marek Polacek <polacek@redhat.com>
7997
7998 PR c/59963
7999 * c-common.c (add_atomic_size_parameter): Pass vNULL to
8000 build_function_call_vec.
8001 (resolve_overloaded_builtin): Likewise.
8002 * c-common.h (build_function_call_vec): Adjust declaration.
8003
8004 2014-01-30 Marek Polacek <polacek@redhat.com>
8005
8006 PR c/59940
8007 * c-common.h (unsafe_conversion_p): Adjust declaration.
8008 (warnings_for_convert_and_check): Likewise.
8009 (convert_and_check): Likewise.
8010 * c-common.c (unsafe_conversion_p): Add location parameter. Call
8011 expansion_point_location_if_in_system_header on it.
8012 (warnings_for_convert_and_check): Add location parameter. Call
8013 expansion_point_location_if_in_system_header on it. Use it.
8014 (convert_and_check): Add location parameter. Use it.
8015 (conversion_warning): Likewise.
8016 (c_add_case_label): Adjust convert_and_check calls.
8017 (scalar_to_vector): Adjust unsafe_conversion_p calls.
8018
8019 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
8020
8021 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
8022 flag_cilkplus.
8023 * c-pragma.c (init_pragma): Likewise.
8024 * c.opt: Likewise.
8025
8026 2014-01-23 Marek Polacek <polacek@redhat.com>
8027
8028 PR c/59846
8029 * c-common.c (shorten_compare): Add location_t parameter.
8030 * c-common.h (shorten_binary_op): Adjust declaration.
8031
8032 2014-01-23 Marek Polacek <polacek@redhat.com>
8033
8034 PR c/58346
8035 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
8036 * c-common.h: Declare it.
8037
8038 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
8039
8040 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
8041 * c-ada-spec.c (dump_ads): Likewise.
8042 (cpp_check): Likewise.
8043 (dump_ada_specs): Likewise.
8044
8045 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
8046
8047 PR c++/49718
8048 * c-common.c (handle_no_instrument_function_attribute): Allow
8049 no_instrument_function attribute in class member
8050 definition/declaration.
8051
8052 2014-01-15 Jakub Jelinek <jakub@redhat.com>
8053
8054 PR c/58943
8055 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
8056 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
8057 being COMPOUND_EXPR.
8058 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
8059 operand a SAVE_EXPR and second MODIFY_EXPR.
8060
8061 2014-01-09 Jakub Jelinek <jakub@redhat.com>
8062
8063 PR target/58115
8064 * c-pch.c (c_common_write_pch): Call
8065 prepare_target_option_nodes_for_pch.
8066
8067 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8068
8069 Update copyright years
8070
8071 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8072
8073 * array-notation-common.c, c-cilkplus.c: Use the standard form for
8074 the copyright notice.
8075
8076 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
8077
8078 * c-ada-spec.c (print_constructor): New function.
8079 (print_destructor): Retrieve the origin of the destructor.
8080 (print_ada_declaration): Revamp handling of constructors/destructors.
8081
8082 2013-12-23 Stuart Hastings <stuart@apple.com>
8083 Bill Maddox <maddox@google.com>
8084 Jason Merrill <jason@redhat.com>
8085
8086 * c.opt: Add -fdeclone-ctor-dtor.
8087 * c-opts.c (c_common_post_options): Default to on iff -Os.
8088
8089 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
8090
8091 * c-common.c (c_common_attribute_table): Added "cilk simd function"
8092 attribute.
8093 * c-pragma.h (enum pragma_cilk_clause): Remove.
8094 (enum pragma_omp_clause): Added the following fields:
8095 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
8096 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
8097 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
8098 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
8099 PRAGMA_CILK_CLAUSE_UNIFORM.
8100
8101
8102 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
8103
8104 * cilk.c (cilk_outline): Made this function non-static.
8105 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
8106 (create_cilk_wrapper): Added a new parameter: a function pointer.
8107 (c_install_body_w_frame_cleanup): Remove
8108 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
8109 * c-common.h (cilk_outline): New prototype.
8110 (gimplify_cilk_spawn): Removed two parameters.
8111 (cilk_install_body_with_frame_cleanup): New prototype.
8112 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
8113 CILK_SPAWN_STMT case.
8114
8115 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
8116
8117 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
8118
8119 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
8120 (int_array_type_node): Remove.
8121 * c-common.c (c_common_nodes_and_builtins): Don't build it.
8122
8123 2013-12-05 Marek Polacek <polacek@redhat.com>
8124
8125 PR c/52023
8126 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
8127 [ADJUST_FIELD_ALIGN].
8128
8129 2013-12-04 Joseph Myers <joseph@codesourcery.com>
8130
8131 PR c/52023
8132 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
8133 and check field alignment if set.
8134 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
8135 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
8136
8137 2013-12-04 Jakub Jelinek <jakub@redhat.com>
8138 Marek Polacek <polacek@redhat.com>
8139
8140 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
8141 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
8142
8143 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
8144
8145 PR c/59309
8146 * cilk.c (gimplify_cilk_spawn): Properly handle function without
8147 arguments.
8148
8149 2013-11-29 Jakub Jelinek <jakub@redhat.com>
8150
8151 PR c/59280
8152 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
8153 goto invalid. If it is error_mark_node, don't issue further
8154 diagnostics.
8155
8156 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
8157
8158 * c.opt (Wopenmp-simd): New.
8159
8160 2013-11-22 Jakub Jelinek <jakub@redhat.com>
8161
8162 * c-ubsan.h (ubsan_instrument_return): New prototype.
8163 * c-ubsan.c (ubsan_instrument_return): New function.
8164
8165 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
8166
8167 * c-common.c: Add required include files from gimple.h.
8168 * c-gimplify.c: Likewise.
8169 * cilk.c: Likewise.
8170
8171 2013-11-22 David Malcolm <dmalcolm@redhat.com>
8172
8173 * c-common.c (unsafe_conversion_p): Remove use of
8174 EXPR_LOC_OR_HERE macro.
8175 (conversion_warning): Likewise.
8176 (warnings_for_convert_and_check): Likewise.
8177 (warn_for_collisions_1): Likewise.
8178 (shorten_compare): Likewise, and remove use of in_system_header
8179 macro, using the location from the former.
8180 * c-lex.c (dump_one_header): Remove use of input_filename macro.
8181 (cb_def_pragma): Remove use of in_system_header macro.
8182 (lex_string): Likewise.
8183 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8184
8185 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
8186 Mike Stump <mikestump@comcast.net>
8187 Richard Sandiford <rdsandiford@googlemail.com>
8188
8189 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
8190 instead of TREE_INT_CST_LOW, in cases where there is a protecting
8191 tree_fits_shwi_p or tree_fits_uhwi_p.
8192 (dump_generic_ada_node): Likewise.
8193 * c-format.c (check_format_arg): Likewise.
8194 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8195
8196 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
8197
8198 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
8199
8200 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
8201
8202 PR c/53001
8203 * c-common.c (unsafe_conversion_p): Make this function
8204 return an enumeration with more detail.
8205 (conversion_warning): Use the new return type of
8206 unsafe_conversion_p to separately warn either about conversions
8207 that lower floating point number precision or about the other
8208 kinds of conversions.
8209 * c-common.h (enum conversion_safety): New enumeration.
8210 (unsafe_conversion_p): switching return type to
8211 conversion_safety enumeration.
8212 * c.opt: Adding new warning -Wfloat-conversion and
8213 enabling it with -Wconversion.
8214
8215 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
8216
8217 * c-opts.c: Include plugin.h.
8218 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
8219
8220 2013-11-19 Marek Polacek <polacek@redhat.com>
8221
8222 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
8223 call.
8224 (ubsan_instrument_shift): Likewise.
8225 (ubsan_instrument_vla): Likewise.
8226
8227 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8228
8229 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
8230 cast to unsigned type.
8231
8232 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8233
8234 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
8235 tree_low_cst.
8236 (complete_array_type): Update comment to refer to tree_to_[su]hwi
8237 rather than tree_low_cst.
8238
8239 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8240
8241 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
8242 tree_to_uhwi throughout.
8243
8244 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8245
8246 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
8247 tree_low_cst (..., 0) with tree_to_shwi throughout.
8248
8249 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8250
8251 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
8252 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
8253
8254 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8255
8256 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
8257 host_integerp (..., 0) with tree_fits_shwi_p throughout.
8258
8259 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
8260
8261 * c-cilkplus.c: New file.
8262 * c-common.c (readonly_error): Add location argument.
8263 * c-common.h (readonly_error): Same.
8264 (c_finish_cilk_clauses): Protoize.
8265 (c_check_cilk_loop): Same.
8266 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
8267 Do not fail on error_mark_node.
8268 Abstract increment canonicalization to here...
8269 (c_omp_for_incr_canonicalize_ptr): New.
8270 c-pragma.c (init_pragma): Register "simd" pragma.
8271 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
8272 (enum pragma_cilk_clause): New.
8273
8274 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
8275
8276 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
8277 wchar_type and host_integerp checks.
8278
8279 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
8280
8281 * c-common.c: Likewise.
8282 * c-gimplify.c: Likewise.
8283 * cilk.c: Likewise.
8284
8285 2013-11-14 Diego Novillo <dnovillo@google.com>
8286
8287 * c-common.c: Include fold-const.h.
8288 Include stor-layout.h.
8289 Include calls.h.
8290 Include stringpool.h.
8291 Include attribs.h.
8292 Include varasm.h.
8293 Include trans-mem.h.
8294 * c-cppbuiltin.c: Include stor-layout.h.
8295 Include stringpool.h.
8296 * c-format.c: Include stringpool.h.
8297 * c-lex.c: Include stringpool.h.
8298 Include stor-layout.h.
8299 * c-pragma.c: Include stringpool.h.
8300 Include attribs.h.
8301 Include varasm.h.
8302 Include gcc-symtab.h.
8303 * c-pretty-print.c: Include stor-layout.h.
8304 Include attribs.h.
8305 * cilk.c: Include stringpool.h.
8306 Include calls.h.
8307
8308 2013-11-13 Joseph Myers <joseph@codesourcery.com>
8309
8310 * c-common.h (enum rid): Add RID_AUTO_TYPE.
8311 * c-common.c (c_common_reswords): Add __auto_type.
8312 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
8313
8314 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
8315
8316 * c-common.c: Include gimplify.h.
8317 * c-gimplify.c: Likewise.
8318 * cilk.c: Likewise.
8319 * c-omp.c: Include gimple-expr.h instead of gimple.h.
8320 * c-ubsan.c: Don't include gimple.h.
8321
8322 2013-11-12 Joseph Myers <joseph@codesourcery.com>
8323
8324 * c-common.c (c_common_reswords): Add _Thread_local.
8325
8326 2013-11-09 Joseph Myers <joseph@codesourcery.com>
8327
8328 * c-common.c (atomic_size_supported_p): New function.
8329 (resolve_overloaded_atomic_exchange)
8330 (resolve_overloaded_atomic_compare_exchange)
8331 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
8332 Use it instead of comparing size with a local list of sizes.
8333
8334 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
8335 Joseph Myers <joseph@codesourcery.com>
8336
8337 * c-common.h (enum rid): Add RID_ATOMIC.
8338 * c-common.c (c_common_reswords): Add _Atomic.
8339 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
8340 (keyword_is_type_qualifier): Accept RID_ATOMIC.
8341 * c-format.c (check_format_types): Check for extra _Atomic
8342 qualifiers in format argument.
8343 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
8344 (pp_c_type_qualifier_list): Mention _Atomic in comment.
8345
8346 2013-11-06 Tobias Burnus <burnus@net-b.de>
8347
8348 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
8349
8350 2013-11-06 Joseph Myers <joseph@codesourcery.com>
8351
8352 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
8353 standards modes.
8354 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
8355 to mean lack of IEEE 754 support.
8356
8357 2013-11-05 Tobias Burnus <burnus@net-b.de>
8358
8359 * c.opt (-Wdate-time): New option
8360 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
8361
8362 2013-11-05 Joseph Myers <joseph@codesourcery.com>
8363
8364 * c-cppbuiltin.c (cpp_iec_559_value): Test
8365 flag_excess_precision_cmdline not flag_excess_precision.
8366
8367 2013-11-05 Tobias Burnus <burnus@net-b.de>
8368
8369 * c.opt (fopenmp-simd): New option.
8370 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
8371 (omp_pragmas): ... this new struct.
8372 (c_pp_lookup_pragma): Also walk omp_pragmas.
8373 (init_pragma): Init pragmas for -fopenmp-simd.
8374
8375 2013-11-04 Marek Polacek <polacek@redhat.com>
8376
8377 PR c++/58979
8378 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
8379
8380 2013-11-04 Joseph Myers <joseph@codesourcery.com>
8381
8382 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
8383 New functions.
8384 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
8385
8386 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
8387
8388 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
8389 (dump_ada_specs): Adjust prototype of second callback.
8390 * c-ada-spec.c (cpp_check): New global variable.
8391 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
8392 (print_generic_ada_decl): Likewise.
8393 (has_static_fields): Change return type to bool and add guard.
8394 (has_nontrivial_methods): New predicate.
8395 (is_tagged_type): Change return type to bool.
8396 (separate_class_package): Call has_nontrivial_methods.
8397 (pp_ada_tree_identifier): Minor tweaks.
8398 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
8399 (dump_ada_array_domains): Likewise.
8400 (dump_ada_array_type): Likewise.
8401 (dump_template_types): Remove cpp_check parameter and do not pass it to
8402 dump_generic_ada_node.
8403 (dump_ada_template): Likewise.
8404 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
8405 recursively.
8406 (print_ada_methods): Change return type to integer. Remove cpp_check
8407 parameter and do not pass it down.
8408 (dump_nested_types): Remove cpp_check parameter and do not pass it to
8409 dump_generic_ada_node.
8410 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
8411 accessing methods.
8412 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
8413 down. Use has_nontrivial_methods to recognize C++ classes. Use return
8414 value of print_ada_methods.
8415 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
8416 Set cpp_check to it before invoking dump_ada_nodes.
8417 (dump_ada_specs): Likewise.
8418
8419 2013-11-03 Marek Polacek <polacek@redhat.com>
8420
8421 * c-ubsan.c: Don't include hash-table.h.
8422 (ubsan_instrument_vla): New function.
8423 * c-ubsan.h: Declare it.
8424
8425 2013-10-31 David Malcolm <dmalcolm@redhat.com>
8426
8427 Automated part of renaming of symtab_node_base to symtab_node.
8428
8429 Patch autogenerated by rename_symtab.py from
8430 https://github.com/davidmalcolm/gcc-refactoring-scripts
8431 revision 58bb219cc090b2f4516a9297d868c245495ee622
8432
8433 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
8434 symtab_node_base to symtab_node.
8435
8436 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
8437
8438 Implement C++14 digit separators.
8439 * c-lex.c (interpret_float): Remove digit separators from scratch string
8440 before building real literal.
8441
8442 2013-10-30 Jakub Jelinek <jakub@redhat.com>
8443
8444 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
8445
8446 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
8447
8448 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
8449 fields.
8450 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
8451 enabled.
8452 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
8453 (insert_cilk_frame): New prototype.
8454 (cilk_init_builtins): Likewise.
8455 (gimplify_cilk_spawn): Likewise.
8456 (c_cilk_install_body_w_frame_cleanup): Likewise.
8457 (cilk_detect_spawn_and_unwrap): Likewise.
8458 (cilk_set_spawn_marker): Likewise.
8459 (build_cilk_sync): Likewise.
8460 (build_cilk_spawn): Likewise.
8461 * cilk.c: New file.
8462
8463 2013-10-29 David Malcolm <dmalcolm@redhat.com>
8464
8465 Patch autogenerated by refactor_symtab.py from
8466 https://github.com/davidmalcolm/gcc-refactoring-scripts
8467 revision 58bb219cc090b2f4516a9297d868c245495ee622
8468
8469 * c-gimplify.c (c_genericize): Update for conversion of symtab types
8470 to a true class hierarchy.
8471 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
8472
8473 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
8474
8475 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
8476
8477 2013-10-26 Jeff Law <law@redhat.com>
8478
8479 * c-common.c (c_define_builtins): Remove mudflap support.
8480 * c.opt: Ignore and warn for mudflap options.
8481
8482 2013-10-24 Tobias Burnus <burnus@net-b.de>
8483
8484 PR other/33426
8485 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
8486 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
8487
8488 2013-10-23 Jason Merrill <jason@redhat.com>
8489
8490 * c-format.c (gcc_cxxdiag_char_table): Add %X.
8491
8492 2013-10-11 Jakub Jelinek <jakub@redhat.com>
8493
8494 * c-common.h (omp_clause_mask::operator !=): New method.
8495 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
8496 instead of if (mask & something) tests everywhere.
8497
8498 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
8499 201307 instead of 201107.
8500 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
8501 (c_common_attribute_table): Add "omp declare target" and
8502 "omp declare simd" attributes.
8503 (handle_omp_declare_target_attribute,
8504 handle_omp_declare_simd_attribute): New functions.
8505 * c-omp.c: Include c-pragma.h.
8506 (c_finish_omp_taskgroup): New function.
8507 (c_finish_omp_atomic): Add swapped argument, if true,
8508 build the operation first with rhs, lhs arguments and use NOP_EXPR
8509 build_modify_expr.
8510 (c_finish_omp_for): Add code argument, pass it down to make_code.
8511 (c_omp_split_clauses): New function.
8512 (c_split_parallel_clauses): Removed.
8513 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
8514 c_omp_declare_simd_clauses_to_decls): New functions.
8515 * c-common.h (omp_clause_mask): New type.
8516 (OMP_CLAUSE_MASK_1): Define.
8517 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
8518 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
8519 omp_clause_mask::operator |, omp_clause_mask::operator &,
8520 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
8521 omp_clause_mask::operator ==): New methods.
8522 (enum c_omp_clause_split): New.
8523 (c_finish_omp_taskgroup): New prototype.
8524 (c_finish_omp_atomic): Add swapped argument.
8525 (c_finish_omp_for): Add code argument.
8526 (c_omp_split_clauses): New prototype.
8527 (c_split_parallel_clauses): Removed.
8528 (c_omp_declare_simd_clauses_to_numbers,
8529 c_omp_declare_simd_clauses_to_decls): New prototypes.
8530 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
8531 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
8532 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
8533 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
8534 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
8535 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
8536 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
8537 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
8538 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
8539 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
8540 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
8541 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
8542 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
8543 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
8544 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
8545 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
8546 PRAGMA_OMP_CLAUSE_UNIFORM.
8547
8548 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
8549
8550 PR tree-optimization/20318
8551 * c-common.c (handle_returns_nonnull_attribute): New function.
8552 (c_common_attribute_table): Add returns_nonnull.
8553
8554 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
8555
8556 PR c++/19476
8557 * c.opt (fcheck-new): Move to common.opt.
8558
8559 2013-09-25 Marek Polacek <polacek@redhat.com>
8560 Jakub Jelinek <jakub@redhat.com>
8561
8562 PR sanitizer/58413
8563 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
8564 an expression if we can prove it is correct.
8565 (ubsan_instrument_division): Likewise. Remove unnecessary
8566 check.
8567
8568 2013-09-18 Marek Polacek <polacek@redhat.com>
8569
8570 PR sanitizer/58411
8571 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
8572 Declare it.
8573 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
8574
8575 2013-09-14 Iain Sandoe <iain@codesourcery.com>
8576
8577 PR target/48094
8578 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
8579 fobjc-gc, freplace-objc-classes): Accept for LTO.
8580
8581 2013-09-13 Jacek Caban <jacek@codeweavers.com>
8582
8583 * c-target.def: New hook
8584
8585 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8586
8587 PR c++/43452
8588 * c.opt (Wdelete-incomplete): Add.
8589
8590 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
8591
8592 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
8593 (vector_types_compatible_elements_p): New function.
8594 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
8595 declaration.
8596 (vector_types_compatible_elements_p): Declare.
8597
8598 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8599
8600 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
8601 a virtual member function.
8602 (pp_simple_type_specifier): Remove.
8603 (pp_c_type_specifier): Likewise.
8604 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
8605 Rename from pp_c_type_specifier. Adjust.
8606 (c_pretty_printer::c_pretty_printer): Do not assign to
8607 simple_type_specifier.
8608
8609 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8610
8611 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
8612 member function.
8613 (c_pretty_printer::storage_class_specifier): Likewise.
8614 (c_pretty_printer::initializer): Likewise.
8615 (pp_declaration): Remove.
8616 (pp_declaration_specifiers): Likewise.
8617 (pp_abstract_declarator): Likewise.
8618 (pp_declarator): Likewise.
8619 (pp_type_id): Likewise.
8620 (pp_statement): Likewise.
8621 (pp_constant): Likewise.
8622 (pp_id_expression): Likewise.
8623 (pp_primary_expression): Likewise.
8624 (pp_unary_expression): Likewise.
8625 (pp_multiplicative_expression): Likewise.
8626 (pp_conditional_expression): Likewise.
8627 (pp_assignment_expression): Likewise.
8628 (pp_expression): Likewise.
8629 (pp_c_type_id): Likewise.
8630 (pp_c_storage_class_specifier): Likewise.
8631 * c-pretty-print.c (pp_c_type_cast): Tidy.
8632 (pp_c_pointer): Likewise.
8633 (pp_c_type_specifier): Likewise.
8634 (pp_c_parameter_type_list): Likewise.
8635 (pp_c_function_definition): Likewise.
8636 (pp_c_init_declarator): Likewise.
8637 (pp_c_initializer_list): Likewise.
8638 (pp_c_constructor_elts): Likewise.
8639 (c_pretty_printer::direct_abstract_declarator): Likewise.
8640 (c_pretty_printer::declaration_specifiers): Likewise.
8641 (c_pretty_printer::primary_expression): Likewise.
8642 (c_pretty_printer::postfix_expression): Likewise.
8643 (c_pretty_printer::type_id): Rename from pp_c_type_id.
8644 (c_pretty_printer::storage_class_specifier): Rename from
8645 pp_c_storage_class_specifier.
8646 (c_pretty_printer::initializer): Rename from pp_c_initializer.
8647 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
8648 storage_class_specifier, initializer, offset_list, flags.
8649
8650 2013-08-30 Marek Polacek <polacek@redhat.com>
8651
8652 * c-ubsan.c: New file.
8653 * c-ubsan.h: New file.
8654
8655 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8656
8657 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
8658 member function.
8659 (c_pretty_printer::declaration_specifiers): Likewise.
8660 (c_pretty_printer::declarator): Likewise.
8661 (c_pretty_printer::abstract_declarator): Likewise.
8662 (c_pretty_printer::direct_abstract_declarator): Likewise.
8663 (c_pretty_printer::direct_declarator): Likewise.
8664 (c_pretty_printer::function_specifier): Likewise.
8665 (pp_declaration): Adjust.
8666 (pp_declaration_specifiers): Likewise.
8667 (pp_abstract_declarator): Likewise.
8668 (pp_direct_declarator): Likewise.
8669 (pp_function_specifier): Likewise.
8670 (pp_direct_abstract_declarator): Remove as unused.
8671 (pp_c_declaration): Remove.
8672 (pp_c_declaration_specifiers): Likewise.
8673 (pp_c_declarator): Likewise.
8674 (pp_c_direct_declarator): Likewise.
8675 (pp_c_function_specifier): Likewise.
8676 (pp_c_direct_abstract_declarator): Likewise.
8677 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
8678 from pp_c_abstract_declarator. Adjust.
8679 (c_pretty_printer::direct_abstract_declarator): Rename from
8680 pp_c_direct_abstract_declarator. Adjust.
8681 (c_pretty_printer::function_specifier): Rename from
8682 pp_c_function_specifier. Adjust.
8683 (c_pretty_printer::declaration_specifiers): Rename from
8684 pp_c_declaration_specifiers. Adjust.
8685 (c_pretty_printer::direct_declarator): Rename from
8686 pp_c_direct_declarator. Adjust.
8687 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
8688 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
8689 (c_pretty_printer::c_pretty_printer): Do not assign to
8690 declaration, declaration_specifiers, declarator,
8691 direct_declarator, direct_abstract_declarator, function_specifier.
8692
8693 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
8694
8695 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
8696 virtual member function.
8697 (c_pretty_printer::multiplicative_expression): Likewise.
8698 (c_pretty_printer::conditional_expression): Likewise.
8699 (c_pretty_printer::assignment_expression): Likewise.
8700 (c_pretty_printer::expression): Likewise.
8701 (pp_unary_expression): Adjust.
8702 (pp_multiplicative_expression): Likewise.
8703 (pp_assignment_expression): Likewise.
8704 (pp_conditional_expression): Likewise.
8705 (pp_expression): Likewise.
8706 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
8707 from pp_c_unary_expression. Adjust.
8708 (c_pretty_printer::multiplicative_expression): Rename from
8709 pp_c_multiplicative_expression. Adjust.
8710 (c_pretty_printer::conditional_expression): Rename from
8711 pp_c_conditional_expression. Adjust.
8712 (c_pretty_printer::assignment_expression): Rename from
8713 pp_c_assignment_expression. Adjust.
8714 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
8715 (c_pretty_printer::c_pretty_printer): Do not assign to
8716 unary_expression, multiplicative_expression,
8717 conditional_expression, expression.
8718
8719 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8720
8721 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
8722 virtual member function.
8723 (pp_postfix_expression): Adjust.
8724 (pp_c_postfix_expression): Remove.
8725 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
8726 from pp_c_postfix_expression. Adjust.
8727 (c_pretty_printer::c_pretty_printer): Do not assign to
8728 postfix_expression.
8729
8730 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8731
8732 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8733 virtua member function.
8734 (pp_primary_expression): Adjust.
8735 (pp_c_primary_expression): Remove.
8736 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8737 from pp_c_primary_expression. Adjust.
8738 (pp_c_initializer_list): Use pp_primary_expression.
8739 (c_pretty_printer::c_pretty_printer): Do not assign to
8740 primary_expression.
8741
8742 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8743
8744 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8745 * c-pretty-print.c (M_): Remove.
8746 (c_pretty_printer::translate_string): Define.
8747 (pp_c_type_specifier): Use it.
8748 (pp_c_primary_expression): Likewise.
8749 (pp_c_expression): Likewise.
8750
8751 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8752
8753 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8754 virtual function.
8755 (pp_c_id_expression): Remove.
8756 (pp_id_expression): Adjust.
8757 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8758 pp_c_id_expression. Adjust.
8759 (pp_c_postfix_expression): Use pp_id_expression.
8760 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8761
8762 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8763
8764 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8765 member function.
8766 (pp_constant): Adjust.
8767 (pp_c_constant): Remove.
8768 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8769 pp_c_constant. Adjust.
8770 (pp_c_constant)
8771 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8772 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8773
8774 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8775
8776 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8777 (c_pretty_printer::c_pretty_printer): Declare.
8778 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8779 c_pretty_printer_init. Adjust.
8780 (print_c_tree): Do not call c_pretty_printer_init.
8781 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8782
8783 2013-08-09 Arnaud Charlet <charlet@adacore.com>
8784
8785 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8786
8787 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8788
8789 PR c++/58080
8790 * c-common.c (pointer_int_sum): Add bool parameter.
8791 * c-common.h (pointer_int_sum): Adjust declaration.
8792
8793 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8794
8795 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8796 c_pretty_printer variable.
8797
8798 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8799
8800 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8801 (pp_base): Remove.
8802 (pp_c_base): Likewise. Adjust users.
8803 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8804 (pp_c_whitespace): Do not call pp_base.
8805 (pp_c_left_paren): Likewise.
8806 (pp_c_right_paren): Likewise.
8807 (pp_c_left_brace): Likewise.
8808 (pp_c_right_brace): Likewise.
8809 (pp_c_left_bracket): Likewise.
8810 (pp_c_right_bracket): Likewise.
8811 (pp_c_dot): Likewise.
8812 (pp_c_ampersand): Likewise.
8813 (pp_c_star): Likewise.
8814 (pp_c_arrow): Likewise.
8815 (pp_c_semicolon): Likewise.
8816 (pp_c_complement): Likewise.
8817 (pp_c_exclamation): Likewise.
8818 (pp_c_direct_declarator): Likewise.
8819 (pp_c_ws_string): Likewise.
8820 (pp_c_identifier): Likewise.
8821 (pp_c_statement): Likewise.
8822 (print_c_tree): Likewise.
8823
8824 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8825
8826 PR c++/58072
8827 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8828 provide useful error strings.
8829
8830 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8831
8832 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
8833 printer functions instead of pp_string or operators and punctuators.
8834 (dump_generic_ada_node): Likewise.
8835 * c-pretty-print.c (pp_c_type_specifier): Likewise.
8836 (pp_c_relational_expression): Likewise.
8837 (pp_c_logical_or_expression): Likewise.
8838
8839 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8840
8841 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
8842 functions instead of pp_character.
8843 (pp_ada_tree_identifier): Likewise.
8844 (dump_ada_double_name): Likewise.
8845 (dump_ada_function_declaration): Likewise.
8846 (dump_ada_array_domains): Likewise.
8847 (dump_template_types): Likewise.
8848 (dump_generic_ada_node): Likewise.
8849 (print_ada_declaration): Likewise.
8850 (print_ada_struct_decl): Likewise.
8851 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8852
8853 2013-07-23 Tom Tromey <tromey@redhat.com>
8854
8855 * c-common.h (enum rid) <RID_GENERIC>: New constant.
8856 * c-common.c (c_common_reswords): Add _Generic.
8857
8858 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
8859
8860 * c-common.c: Fix typos.
8861 * c-common.h: Likewise.
8862
8863 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
8864
8865 PR c++/55203
8866 * c-common.c (c_common_attribute_table): Add warn_unused.
8867 (handle_warn_unused_attribute): New.
8868
8869 2013-07-10 Jakub Jelinek <jakub@redhat.com>
8870
8871 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
8872 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
8873
8874 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
8875
8876 PR c++/57869
8877 * c.opt: Add Wconditionally-supported.
8878
8879 2013-07-08 Graham Stott <graham.stott@btinternet.com>
8880
8881 * array-notation-common.c (length_mismatch_in_expr_p): Delete
8882 unused variables l_length and l_node.
8883
8884 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
8885
8886 PR c/57821
8887 * c-common.c (complete_array_type): Delay folding first index
8888 like other indices. When folding, check for index overflow.
8889
8890 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
8891
8892 PR c++/57509
8893 * c-common.h (c_build_vec_perm_expr): New complain argument.
8894 * c-common.c (c_build_vec_perm_expr): Likewise.
8895 Use save_expr also in C++.
8896
8897 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8898
8899 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8900 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8901 * c-opts.c (c_common_post_options): Likewise.
8902
8903 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8904
8905 * array-notation-common.c (length_mismatch_in_expr): Changed the
8906 parameter type's from a dynamic array to a vec_tree. Also removed
8907 the size parameters.
8908 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8909 the change above.
8910
8911 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8912
8913 * c-common.h (struct cilkplus_an_parts): New structure.
8914 (struct cilkplus_an_loop_parts): Likewise.
8915 (cilkplus_extract_an_triplets): New prototype.
8916 (fix_sec_implicit_args): Likewise.
8917 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
8918 (fix_sec_implicit_args): Likewise.
8919
8920 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
8921
8922 * array-notation-common.c (find_inv_trees): Removed an unwanted
8923 typecasting.
8924 * c-common.h (struct inv_list::additional_tcodes): Changed type from
8925 enum rid to enum tree_code.
8926
8927 2013-06-11 Jan Hubicka <jh@suse.cz>
8928
8929 * c-common.c (handle_alias_ifunc_attribute): Do not set
8930 DECL_EXTERNAL for weakref variables.
8931 * c-pragma.c (handle_pragma_weak): Make sure aliases
8932 are not declared as external.
8933
8934 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
8935
8936 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
8937 function from c/c-array-notation.c.
8938 (is_cilkplus_reduce_builtin): Likewise.
8939 (find_rank): Likewise.
8940 (extract_array_notation_exprs): Likewise.
8941 (replace_array_notations): Likewise.
8942 (find_inv_trees): Likewise.
8943 (replace_inv_trees): Likewise.
8944 (contains_array_notation_expr): Likewise.
8945 (find_correct_array_notation_type): Likewise.
8946 * c-common.h (struct inv_list): Moved this struct from the file
8947 c/c-array-notation.c and added a new field called additional tcodes.
8948 (length_mismatch_in_expr_p): New prototype.
8949 (is_cilkplus_reduce_builtin): Likewise.
8950 (find_rank): Likewise.
8951 (extract_array_notation_exprs): Likewise.
8952 (replace_array_notation): Likewise.
8953 (find_inv_trees): Likewise.
8954 (replace_inv_trees): Likewise.
8955 (find_correct_array_notation_type): Likewise.
8956
8957 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
8958
8959 * c-common.c (c_define_builtins): When cilkplus is enabled, the
8960 function array_notation_init_builtins is called.
8961 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
8962 * c-common.def (ARRAY_NOTATION_REF): New tree.
8963 * c-common.h (build_array_notation_expr): New function declaration.
8964 (build_array_notation_ref): Likewise.
8965 (extract_sec_implicit_index_arg): New extern declaration.
8966 (is_sec_implicit_index_fn): Likewise.
8967 (ARRAY_NOTATION_CHECK): New define.
8968 (ARRAY_NOTATION_ARRAY): Likewise.
8969 (ARRAY_NOTATION_START): Likewise.
8970 (ARRAY_NOTATION_LENGTH): Likewise.
8971 (ARRAY_NOTATION_STRIDE): Likewise.
8972 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
8973 ARRAY_NOTATION_REF.
8974 (pp_c_expression): Likewise.
8975 * c.opt (flag_enable_cilkplus): New flag.
8976 * array-notation-common.c: New file.
8977
8978 2013-05-14 Jakub Jelinek <jakub@redhat.com>
8979
8980 PR c++/57274
8981 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
8982
8983 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
8984
8985 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
8986 vectors.
8987
8988 2013-05-07 Han Shen <shenhan@google.com>
8989
8990 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
8991
8992 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8993
8994 * c-common.c (check_user_alignment): Emit error for negative values.
8995
8996 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8997
8998 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
8999
9000 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9001
9002 * c-cppbuiltin.c (c_cpp_builtins): Do not define
9003 __GXX_EXPERIMENTAL_CXX1Y__.
9004
9005 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9006 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9007
9008 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
9009 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
9010 to simply use OPT_Wpointer_arith.
9011 (c_sizeof_or_alignof_type): Likewise.
9012
9013 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9014
9015 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
9016
9017 2013-04-12 Jakub Jelinek <jakub@redhat.com>
9018
9019 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
9020 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
9021 specifiers.
9022
9023 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
9024
9025 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
9026
9027 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
9028
9029 * c-common.c (pointer_int_sum): Remove dead code.
9030
9031 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
9032
9033 PR middle-end/56524
9034 * c-common.c (handle_optimize_attribute): Don't call
9035 save_optabs_if_changed.
9036
9037 2013-03-05 Jakub Jelinek <jakub@redhat.com>
9038
9039 PR middle-end/56461
9040 * c-pch.c (pch_init): Free target_validity at the end.
9041
9042 2013-03-04 Jakub Jelinek <jakub@redhat.com>
9043
9044 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
9045
9046 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
9047 Jakub Jelinek <jakub@redhat.com>
9048
9049 PR sanitizer/56454
9050 * c-common.c (handle_no_sanitize_address_attribute): New function.
9051 (c_common_attribute_table): Add no_sanitize_address attribute.
9052 (handle_no_address_safety_analysis_attribute): Add
9053 no_sanitize_address attribute, not no_address_safety_analysis
9054 attribute.
9055
9056 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
9057
9058 PR target/52555
9059 * c-common.c (handle_optimize_attribute): Call
9060 save_optabs_if_changed.
9061
9062 2013-02-18 Jakub Jelinek <jakub@redhat.com>
9063 Steven Bosscher <steven@gcc.gnu.org>
9064
9065 PR pch/54117
9066 * c-opts.c (c_common_post_options): If debug info is enabled
9067 and non-dwarf*, refuse to load PCH files and when writing PCH
9068 file warn.
9069
9070 2013-02-05 Jakub Jelinek <jakub@redhat.com>
9071
9072 PR middle-end/56167
9073 * c-common.c (handle_error_attribute): Fix condition.
9074
9075 2013-01-30 Jakub Jelinek <jakub@redhat.com>
9076
9077 PR c++/55742
9078 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
9079
9080 2013-01-18 Jason Merrill <jason@redhat.com>
9081
9082 PR target/54908
9083 * c.opt (-fextern-tls-init): New.
9084 * c-opts.c (c_common_post_options): Handle it.
9085
9086 2013-01-09 Jakub Jelinek <jakub@redhat.com>
9087
9088 PR c/48418
9089 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
9090 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
9091 and is either negative or bigger or equal to type precision
9092 of the first operand.
9093
9094 2012-12-03 Marek Polacek <polacek@redhat.com>
9095
9096 PR c/55570
9097 * c-common.c (check_user_alignment): Swap order of tests,
9098 check TREE_CODE first.
9099
9100 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
9101
9102 PR c++/52654
9103 * c-common.h (overflow_type): New enum.
9104 (build_userdef_literal): Add overflow_type argument.
9105 (tree_userdef_literal): Add overflow_type.
9106 (USERDEF_LITERAL_OVERFLOW): New access macro.
9107 * c-common.c (build_userdef_literal): Add overflow_type
9108 argument.
9109 * c-lex.c (c_lex_with_flags): Add overflow_type to
9110 build_userdef_literal calls.
9111 (interpret_integer, interpret_float): Add overflow_type argument.
9112
9113 2012-11-28 Richard Biener <rguenther@suse.de>
9114
9115 PR c/35634
9116 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9117 here and use a type with proper overflow behavior for types that would
9118 need to be promoted for the arithmetic.
9119
9120 2012-11-23 Jakub Jelinek <jakub@redhat.com>
9121
9122 PR sanitizer/55435
9123 * c-common.c (handle_no_address_safety_analysis_attribute): New
9124 function.
9125 (c_common_attribute_table): Add no_address_safety_analysis.
9126
9127 2012-11-16 Simon Baldwin <simonb@google.com>
9128
9129 * c.opt: Add f[no-]canonical-system-headers.
9130 * c-opts.c (c_common_handle_option): Handle
9131 OPT_fcanonical_system_headers.
9132
9133 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
9134
9135 PR c++/54413
9136 * c-opts.c (c_common_handle_option): Set new flags.
9137 * c.opt: Describe new flags.
9138
9139 2012-11-09 Jason Merrill <jason@redhat.com>
9140
9141 * c.opt (Wabi-tag): New.
9142
9143 2012-11-09 Andi Kleen <ak@linux.intel.com>
9144
9145 PR 55139
9146 * c-common.c (get_atomic_generic_size): Mask with
9147 MEMMODEL_MASK
9148
9149 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9150
9151 PR c/53063
9152 * c.opt (Wformat): Make it Alias Wformat=1.
9153 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
9154 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
9155 LangEnabledBy.
9156 (Wformat=): RejectNegative. Use LangEnabledBy.
9157 (Wnonnull): Use LangEnabledBy.
9158 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
9159 * c-format.c (set_Wformat): Delete.
9160 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
9161 (maybe_read_dollar_number): Likewise.
9162 (avoid_dollar_number): Likewise.
9163 (finish_dollar_format_checking): Likewise.
9164 (check_format_info): Likewise.
9165 (check_format_info_main): Likewise.
9166 (check_format_types): Likewise.
9167 (format_type_warning): Likewise.
9168 * c-common.c (int): Likewise.
9169 (check_function_sentinel): Likewise.
9170 * c-common.h (warn_format,set_Wformat): Do not declare here.
9171
9172 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9173
9174 PR c/53063
9175 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
9176 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
9177 Use LangEnabledBy.
9178 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
9179 common.opt.
9180 (Wvariadic-macros): Init(1).
9181 * c-opts.c (c_common_handle_option): Do not handle them
9182 explicitly.
9183 (c_common_post_options): Likewise.
9184 (sanitize_cpp_opts): warn_unused_macros is now
9185 cpp_warn_unused_macros.
9186 (push_command_line_include): Likewise.
9187 * c-common.c (warn_unknown_pragmas): Do not define.
9188 * c-common.h (warn_unknown_pragmas): Do not declare.
9189
9190 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9191
9192 PR c/51294
9193 * c-common.c (conversion_warning): Handle conditional expressions.
9194
9195 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
9196
9197 PR c++/54930
9198 * c.opt (Wreturn_local_addr): Define new option.
9199
9200 2012-10-25 Jason Merrill <jason@redhat.com>
9201
9202 * c.opt (Wvirtual-move-assign): New.
9203
9204 * c.opt (Winherited-variadic-ctor): New.
9205
9206 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
9207
9208 PR c++/54427
9209 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
9210
9211 2012-10-23 Joseph Myers <joseph@codesourcery.com>
9212
9213 * c-common.h (pch_cpp_save_state): Declare.
9214 * c-target.def (c_preinclude): New hook.
9215 * c-opts.c (done_preinclude): New.
9216 (push_command_line_include): Handle default preincluded header.
9217 (cb_file_change): Call pch_cpp_save_state when calling
9218 push_command_line_include.
9219 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
9220 (pch_cpp_save_state): New.
9221 (pch_init): Call pch_cpp_save_state conditionally, instead of
9222 calling cpp_save_state.
9223
9224 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9225
9226 PR c/53063
9227 PR c/40989
9228 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
9229 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
9230 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
9231 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
9232 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
9233 * c-opts.c (c_common_handle_option): Remove explicit handling from
9234 here.
9235 (c_common_post_options): Likewise.
9236
9237 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
9238
9239 * c-ada-spec.c (LOCATION_COL): Delete.
9240 (compare_location): New function.
9241 (compare_node): Use it.
9242 (compare_comment): Likewise.
9243
9244 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
9245
9246 PR c/53063
9247 PR c/40989
9248 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
9249 * c-opts.c (c_common_handle_option): Do not set them here. Add
9250 comment.
9251 (c_common_post_options): Likewise.
9252
9253 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
9254
9255 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
9256 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
9257 Remove POINTER_TYPE handling, add large unsigned handling and use
9258 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
9259
9260 2012-10-12 Jakub Jelinek <jakub@redhat.com>
9261
9262 PR c/54381
9263 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
9264 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
9265 locs and array of 3 trees instead of just single loc and single
9266 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
9267 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
9268 For *cmp* builtins that take two sources strings report warnings
9269 about first and second source, not about destination and source.
9270
9271 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
9272
9273 PR c++/53055
9274 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
9275
9276 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
9277
9278 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
9279 declaring something coming from another file.
9280
9281 2012-10-10 Arnaud Charlet <charlet@adacore.com>
9282
9283 PR ada/54845
9284 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
9285
9286 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
9287
9288 PR c++/54194
9289 * c-common.c (warn_about_parentheses): Add location_t parameter;
9290 use EXPR_LOC_OR_LOC.
9291 * c-common.h: Update declaration.
9292
9293 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
9294
9295 PR c++/54427
9296 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
9297 more operations. Make error messages optional.
9298 * c-common.h (enum stv_conv): Moved from c-typeck.c.
9299 (scalar_to_vector): Declare.
9300
9301 2012-10-08 Jason Merrill <jason@redhat.com>
9302
9303 * c-common.c (c_common_reswords): Add thread_local.
9304
9305 2012-10-08 Dodji Seketeli <dodji@redhat.com>
9306
9307 PR c++/53528 C++11 attribute support
9308 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
9309 new functions.
9310 * c-common.c (check_cxx_fundamental_alignment_constraints): New
9311 static function.
9312 (handle_aligned_attribute): In choose strictest alignment
9313 among many. Use new check_cxx_fundamental_alignment_constraints.
9314 (handle_transparent_union_attribute): In c++11 attribute syntax,
9315 don't look through typedefs.
9316
9317 2012-10-04 Arnaud Charlet <charlet@adacore.com>
9318
9319 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
9320 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
9321 out of dumpfile.h.
9322
9323 2012-09-25 Dehao Chen <dehao@google.com>
9324
9325 PR middle-end/54645
9326 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
9327 map when read in the pch.
9328
9329 2012-09-18 Arnaud Charlet <charlet@adacore.com>
9330
9331 * c-ada-spec.c: Style fixes.
9332
9333 2012-09-18 Thomas Quinot <quinot@adacore.com>
9334
9335 * c.opt (-fada-spec-parent): Define new command line switch.
9336 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
9337 is specified, generate binding spec as a child of the specified unit.
9338
9339 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
9340 Manuel López-Ibáñez <manu@gcc.gnu.org>
9341
9342 PR c++/53210
9343 * c.opt ([Winit-self]): Enabled by -Wall in C++.
9344
9345 2012-08-23 Arnaud Charlet <charlet@adacore.com>
9346
9347 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
9348 for pointers, and add missing Convention C pragma.
9349 (print_ada_struct_decl): Add missing aliased keyword.
9350 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
9351
9352 2012-08-17 Jakub Jelinek <jakub@redhat.com>
9353
9354 * c-common.c (sizeof_pointer_memaccess_warning): New function.
9355 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
9356 * c-opts.c (c_common_handle_option): Enable it for -Wall.
9357 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
9358 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
9359
9360 2012-08-10 Richard Guenther <rguenther@suse.de>
9361
9362 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
9363
9364 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
9365
9366 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
9367 instead of separate pp_newline and pp_flush.
9368 (print_c_tree): Likewise.
9369
9370 2012-07-26 Richard Henderson <rth@redhat.com>
9371
9372 * c-common.c (handle_hot_attribute): Allow labels.
9373 (handle_cold_attribute): Likewise.
9374
9375 2012-07-20 Jakub Jelinek <jakub@redhat.com>
9376
9377 PR c++/28656
9378 * c-common.c (check_function_nonnull): Handle multiple nonnull
9379 attributes properly.
9380
9381 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
9382
9383 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
9384 * c-ada-spec.c: Likewise.
9385 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
9386
9387 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
9388
9389 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
9390 Remove code conditional on it.
9391
9392 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
9393
9394 * c-gimplify.c: Do not include basic-block.h.
9395 * c-common.c: Do not include linfuncs.h.
9396
9397 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
9398
9399 * c-common.h: Include tree.h.
9400
9401 2012-07-02 Jason Merrill <jason@redhat.com>
9402
9403 PR c++/53524
9404 * c-common.c (get_priority): Call default_conversion.
9405
9406 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
9407
9408 * c-pch.c (c_common_write_pch): Remove unused variables.
9409
9410 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
9411
9412 * cppspec.c: Moved from gcc/ to here.
9413
9414 2012-06-27 Kai Tietz <ktietz@redhat.com>
9415
9416 PR preprocessor/37215
9417 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
9418
9419 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
9420
9421 * c-common.h (c_common_print_pch_checksum): Remove.
9422 * c-pch.c: Do not include output.h.
9423 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
9424 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
9425 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
9426 (struct c_pch_header): Remove.
9427 (get_ident): Update gpch version.
9428 (pch_init): Do not print executable_checksum to asm_out_file.
9429 Do not fail if there is no asm_out_file to read back from. Set
9430 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
9431 (c_common_write_pch): Verify that nothing was written to asm_out_file
9432 since pch_init was called. Do not write a c_pch_header, and do not
9433 copy from asm_out_file to the PCH.
9434 (c_common_read_pch): Do not read a c_pch_header, and do not restore
9435 the content of asm_out_file from the PCH.
9436 (c_common_print_pch_checksum): Remove.
9437 * c-opts.c (c_common_init): Print out executable_checksum directly.
9438
9439 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
9440
9441 * c-target.def (objc_declare_unresolved_class_reference,
9442 objc_declare_class_definition): Add new hooks.
9443
9444 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
9445
9446 * c-lex.c: Do not include output.h.
9447 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
9448 Remove uses of ASM_OUTPUT_IDENT.
9449
9450 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
9451
9452 PR c++/51033
9453 * c-common.h (c_build_vec_perm_expr): Move decl here.
9454 * c-common.c (c_build_vec_perm_expr): Move definition
9455 here.
9456
9457 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
9458
9459 * c.opt (fconserve-space): Turn into a no-op.
9460
9461 2012-06-04 Sterling Augustine <saugustine@google.com>
9462
9463 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
9464 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
9465 both the start and end of the function.
9466
9467 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
9468
9469 * c-common.c: Do not include output.h.
9470 * c-pragma.c: Likewise.
9471
9472 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
9473
9474 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
9475 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
9476 (lang_decl_name): Handle namespace decls.
9477
9478 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
9479
9480 * c-ada-spec.c: Do not include output.h.
9481 * c-semantics.c: Likewise.
9482
9483 2012-05-29 Joseph Myers <joseph@codesourcery.com>
9484
9485 * c-common.c: Fix typo.
9486
9487 2012-05-29 Michael Matz <matz@suse.de>
9488
9489 * c-common.h (c_expand_decl): Remove prototype.
9490
9491 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9492
9493 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
9494 * c-opts.c (c_common_handle_option): Remove code handling
9495 warn_missing_braces.
9496
9497 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
9498
9499 PR c++/25137
9500 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
9501 -Wmissing_braces.
9502
9503 2012-05-22 Dodji Seketeli <dodji@redhat.com>
9504
9505 PR c++/53322
9506 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
9507
9508 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
9509
9510 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
9511 * c-opts.c (c_common_handle_option): Do not handle explicitly
9512 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
9513
9514 2012-05-16 Dodji Seketeli <dodji@redhat.com>
9515
9516 PR preprocessor/7263
9517 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
9518 to cpp_classify_number. For diagnostics, use the precise location
9519 instead of the global input_location.
9520
9521 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9522
9523 PR c++/11856
9524 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
9525
9526 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
9527
9528 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
9529
9530 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
9531
9532 PR 53063
9533 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
9534 Wreorder): Use LangEnabledBy.
9535 * c-opts.c (c_common_handle_option): Do not enable them
9536 explicitly. Call lang-specific generated functions.
9537 (c_common_post_options): Do not set them here.
9538
9539 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
9540
9541 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
9542 Wmissing-field-initializers,Wmissing-parameter-type,
9543 Wold-style-declaration,Woverride-init): Use EnabledBy.
9544 * c-opts.c (c_common_post_options): Do not set here explicitly.
9545
9546 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9547
9548 PR 53063
9549 * c-opts.c (c_common_handle_option): Use handle_generated_option
9550 to enable sub-options.
9551
9552 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
9553
9554 PR c++/53158
9555 * c-common.c (warnings_for_convert_and_check): Use warning_at.
9556
9557 2012-05-10 Richard Guenther <rguenther@suse.de>
9558
9559 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
9560 adjust commentary about TYPE_IS_SIZETYPE types.
9561
9562 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9563
9564 PR c++/53261
9565 * c-common.c (warn_logical_operator): Check that argument of
9566 integer_zerop is not NULL.
9567
9568 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
9569
9570 PR c/43772
9571 * c-common.c (warn_logical_operator): Do not warn if either side
9572 is already true or false.
9573
9574 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9575
9576 PR c/51712
9577 * c-common.c (expr_original_type): New.
9578 (shorten_compare): Do not warn for enumeration types.
9579
9580 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9581
9582 * c.opt (fpermissive): Add Var(flag_permissive).
9583
9584 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
9585
9586 PR c++/51033
9587 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
9588 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
9589
9590 2012-04-30 Dodji Seketeli <dodji@redhat.com>
9591
9592 Add -Wvarargs option
9593 * c.opt (Wvarargs): Define new option.
9594
9595 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9596
9597 * c-common.c (check_function_arguments): Replace
9598 Wmissing-format-attribute with Wsuggest-attribute=format.
9599
9600 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9601
9602 * c.opt (Wsuggest-attribute=format): New. Alias of
9603 Wmissing-format-attribute.
9604 * c-format.c (decode_format_type): Replace
9605 Wmissing-format-attribute with Wsuggest-attribute=format.
9606 (check_function_format): Likewise.
9607
9608 2012-04-27 Ollie Wild <aaw@google.com>
9609
9610 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
9611 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
9612 * c.opt: Add Wliteral-suffix.
9613
9614 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9615
9616 PR c/44774
9617 * c.opt (Wpedantic): New.
9618 (pedantic): Alias Wpedantic.
9619 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
9620 (c_common_post_options): Likewise.
9621 (sanitize_cpp_opts): Likewise.
9622 * c-lex.c (interpret_float): Likewise.
9623 * c-format.c (check_format_types): Likewise.
9624 * c-common.c (pointer_int_sum): Likewise.
9625 (c_sizeof_or_alignof_type): Likewise.
9626 (c_add_case_label): Likewise.
9627 (c_do_switch_warnings): Likewise.
9628 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9629
9630 2012-04-15 Jason Merrill <jason@redhat.com>
9631
9632 PR c++/52818
9633 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
9634 (C_STD_NAME): Distinguish between C++98 and C++11.
9635
9636 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
9637
9638 PR target/52624
9639 * c-common.h (uint16_type_node): Rename into...
9640 (c_uint16_type_node): ...this.
9641 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
9642 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
9643
9644 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
9645
9646 * c-common.c (warn_if_unused_value): Move definition to here.
9647 * c-common.h (warn_if_unused_value): Move declaration to here.
9648
9649 2012-03-23 William Bader <williambader@hotmail.com>
9650
9651 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
9652
9653 2012-03-20 Jason Merrill <jason@redhat.com>
9654
9655 * c-common.h (enum cxx_dialect): Add cxx1y.
9656 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
9657 test.
9658 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
9659 * c-opts.c (c_common_post_options): Likewise.
9660 (set_std_cxx1y): New.
9661 (c_common_handle_option): Call it.
9662 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
9663
9664 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
9665
9666 PR c++/14710
9667 * c.opt ([Wuseless-cast]): Add.
9668
9669 2012-03-16 Richard Guenther <rguenther@suse.de>
9670
9671 * c-pretty-print.c (pp_c_initializer_list): Adjust.
9672
9673 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9674
9675 PR c++/44783
9676 * c.opt (ftemplate-backtrace-limit) Add.
9677
9678 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9679
9680 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
9681 handling.
9682 * c-pragma.c (handle_pragma_extern_prefix): Remove.
9683 (init_pragma): Don't register extern_prefix.
9684
9685 2012-03-12 Richard Guenther <rguenther@suse.de>
9686
9687 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
9688 (builtin_type_for_size): Likewise.
9689
9690 2012-02-13 Jakub Jelinek <jakub@redhat.com>
9691
9692 PR c++/52215
9693 * c-common.c (sync_resolve_params): Don't decide whether to convert
9694 or not based on TYPE_SIZE comparison, convert whenever arg_type
9695 is unsigned INTEGER_TYPE.
9696
9697 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
9698
9699 PR c/52118
9700 * c.opt ([Wunused-local-typedefs]): Fix description.
9701
9702 2012-01-24 Mike Stump <mikestump@comcast.net>
9703
9704 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
9705 exactly.
9706
9707 2012-01-18 Richard Guenther <rguenther@suse.de>
9708
9709 * c-opts.c (c_common_post_options): Reset LTO flags if
9710 we are about to generate a PCH.
9711
9712 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
9713
9714 PR c++/51777
9715 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
9716 use pp_unsigned_wide_integer.
9717
9718 2012-01-10 Richard Guenther <rguenther@suse.de>
9719
9720 PR middle-end/51806
9721 * c-opts.c (c_common_handle_option): Move -Werror handling
9722 to language independent code.
9723
9724 2012-01-05 Richard Guenther <rguenther@suse.de>
9725
9726 PR middle-end/51764
9727 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
9728 from common.opt.
9729
9730 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9731
9732 PR c++/51316
9733 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9734 of array types with an unknown bound.
9735
9736 2011-12-20 Joseph Myers <joseph@codesourcery.com>
9737
9738 * c-common.c (flag_isoc99): Update comment to refer to C11.
9739 (flag_isoc1x): Change to flag_isoc11.
9740 * c-common.h (flag_isoc99): Update comment to refer to C11.
9741 (flag_isoc1x): Change to flag_isoc11.
9742 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9743 C11.
9744 * c-opts.c (set_std_c1x): Change to set_std_c11.
9745 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9746 Call set_std_c11.
9747 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9748 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9749 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9750 standard.
9751 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9752 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9753 (std=gnu1x): Make alias of std=gnu11.
9754
9755 2011-12-19 Jason Merrill <jason@redhat.com>
9756
9757 PR c++/51228
9758 * c-common.c (handle_transparent_union_attribute): Check the first
9759 field if the type is complete.
9760
9761 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9762
9763 PR libstdc++/51365
9764 * c-common.c (RID_IS_FINAL): Add.
9765 * c-common.h (RID_IS_FINAL): Add.
9766
9767 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9768
9769 * c.opt (fgnu-runtime): Provide full description.
9770 (fnext-runtime): Likewise.
9771 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9772
9773 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
9774
9775 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9776 predefines in one place. Add LOCK_FREE predefines.
9777 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9778 new func.
9779
9780 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
9781
9782 PR c/51256
9783 * c-common.c (get_atomic_generic_size): Check for various error
9784 conditions
9785 (resolve_overloaded_atomic_exchange,
9786 resolve_overloaded_atomic_compare_exchange,
9787 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9788 error_mark_node for error conditions.
9789
9790 2011-11-08 Richard Guenther <rguenther@suse.de>
9791
9792 PR middle-end/51010
9793 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
9794
9795 2011-11-07 Richard Henderson <rth@redhat.com>
9796 Aldy Hernandez <aldyh@redhat.com>
9797 Torvald Riegel <triegel@redhat.com>
9798
9799 Merged from transactional-memory.
9800
9801 * c-common.c (handle_tm_wrap_attribute,
9802 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9803 (struct c_common_reswords): Added __transaction* keywords.
9804 (struct c_common_attribute_table): Added transaction* and tm_regparm
9805 attributes.
9806 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9807 masks.
9808 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9809 find_tm_attribute): Declare.
9810
9811 2011-11-07 Jason Merrill <jason@redhat.com>
9812
9813 PR c++/35688
9814 * c-common.c, c-common.h: Revert yesterday's changes.
9815
9816 2011-11-06 Jason Merrill <jason@redhat.com>
9817
9818 PR c++/35688
9819 * c-common.c (decl_has_visibility_attr): Split out from...
9820 (c_determine_visibility): ...here.
9821 * c-common.h: Declare it.
9822
9823 2011-11-06 Joseph Myers <joseph@codesourcery.com>
9824
9825 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9826 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9827 type.
9828 (check_user_alignment): New. Split out of
9829 handle_aligned_attribute. Disallow integer constants with
9830 noninteger types. Conditionally allow zero.
9831 (handle_aligned_attribute): Use check_user_alignment.
9832 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
9833
9834 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
9835 Richard Henderson <rth@redhat.com>
9836
9837 Merged from cxx-mem-model.
9838
9839 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9840 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
9841 parameters that are the same type size.
9842 (get_atomic_generic_size): New. Find size of generic
9843 atomic function parameters and do typechecking.
9844 (add_atomic_size_parameter): New. Insert size into parameter list.
9845 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
9846 either __atomic_exchange_n or external library call.
9847 (resolve_overloaded_atomic_compare_exchange): Restructure
9848 __atomic_compare_exchange to either _n variant or external library call.
9849 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
9850 __atomic_load_n or an external library call.
9851 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
9852 __atomic_store_n or an external library call.
9853 (resolve_overloaded_builtin): Handle new __atomic builtins.
9854
9855 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
9856
9857 PR c++/50608
9858 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
9859 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
9860 <INDIRECT_REF>: Return the argument.
9861 <ARRAY_REF>: Remove special code for negative offset.
9862 Call fold_build_pointer_plus instead of size_binop.
9863 (fold_offsetof): Remove STOP_REF argument and adjust.
9864 * c-common.h (fold_offsetof_1): Declare.
9865 (fold_offsetof): Remove STOP_REF argument.
9866
9867 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
9868
9869 PR c++/50810
9870 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9871 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9872 Wnarrowing for C++0x and C++98.
9873 * c.opt ([Wnarrowing]): Update.
9874
9875 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
9876
9877 PR c++/44277
9878 * c.opt: Add Wzero-as-null-pointer-constant.
9879
9880 2011-10-31 Jason Merrill <jason@redhat.com>
9881
9882 * c.opt (-fdeduce-init-list): Off by default.
9883
9884 PR c++/50920
9885 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
9886 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
9887 and -Wc++11-compat.
9888 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9889
9890 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9891
9892 PR c++/30066
9893 * c.opt (fvisibility-inlines-hidden): Description change.
9894
9895 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9896
9897 Implement C++11 user-defined literals.
9898 * c-common.c (build_userdef_literal): New.
9899 * c-common.def: New tree code.
9900 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9901 * c-lex.c (interpret_float): Add suffix parm.
9902 (c_lex_with_flags): Build literal tokens.
9903
9904 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9905
9906 PR c++/50841
9907 Revert:
9908 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9909
9910 PR c++/50810
9911 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9912 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9913 Wnarrowing for C++0x and C++98.
9914 * c.opt ([Wnarrowing]): Update.
9915
9916 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9917
9918 PR c++/50810
9919 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9920 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9921 Wnarrowing for C++0x and C++98.
9922 * c.opt ([Wnarrowing]): Update.
9923
9924 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
9925
9926 PR c++/45385
9927 * c-common.c (conversion_warning): Remove code looking for
9928 artificial operands.
9929
9930 2011-10-18 Dodji Seketeli <dodji@redhat.com>
9931
9932 PR bootstrap/50760
9933 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9934 !NO_IMPLICIT_EXTERN_C.
9935
9936 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
9937
9938 * c-common.c (c_common_reswords): Add __bases,
9939 __direct_bases.
9940 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
9941
9942 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
9943
9944 PR c++/50757
9945 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
9946
9947 2011-10-15 Tom Tromey <tromey@redhat.com>
9948 Dodji Seketeli <dodji@redhat.com>
9949
9950 * c.opt (fdebug-cpp): New option.
9951 * c-opts.c (c_common_handle_option): Handle the option.
9952 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
9953 output stream in parameter. Factorized from ...
9954 (maybe_print_line): ... this. Dump location debug information when
9955 -fdebug-cpp is in effect.
9956 (print_line_1): New static function. Takes an output stream in
9957 parameter. Factorized from ...
9958 (print_line): ... here. Dump location information when -fdebug-cpp
9959 is in effect.
9960 (scan_translation_unit): Dump location information when
9961 -fdebug-cpp is in effect.
9962
9963 2011-10-15 Tom Tromey <tromey@redhat.com>
9964 Dodji Seketeli <dodji@redhat.com>
9965
9966 * c.opt (ftrack-macro-expansion): New option. Handle it with and
9967 without argument.
9968 * c-opts.c (c_common_handle_option)<case
9969 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
9970 cases. Handle -ftrack-macro-expansion with and without argument.
9971
9972 2011-10-15 Tom Tromey <tromey@redhat.com>
9973 Dodji Seketeli <dodji@redhat.com>
9974
9975 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
9976 (print_line, cb_define, do_line_change): Adjust to avoid touching
9977 the internals of struct line_map. Use the public API instead.
9978 * c-pch.c (c_common_read_pch): Likewise.
9979 * c-lex.c (fe_file_change): Likewise.
9980
9981 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
9982
9983 PR c++/17212
9984 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
9985
9986 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
9987
9988 PR c++/33067
9989 * c-pretty-print.c (pp_c_floating_constant): Output
9990 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
9991
9992 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
9993
9994 * c-common.c (def_builtin_1): Delete old interface with two
9995 parallel arrays to hold standard builtin declarations, and replace
9996 it with a function based interface that can support creating
9997 builtins on the fly in the future. Change all uses, and poison
9998 the old names. Make sure 0 is not a legitimate builtin index.
9999 * c-omp.c (c_finish_omp_barrier): Ditto.
10000 (c_finish_omp_taskwait): Ditto.
10001 (c_finish_omp_flush): Ditto.
10002
10003 2011-10-11 Tristan Gingold <gingold@adacore.com>
10004
10005 * c.opt: (fallow-parameterless-variadic-functions): New.
10006
10007 2011-09-08 Dodji Seketeli <dodji@redhat.com>
10008
10009 PR c++/33255 - Support -Wunused-local-typedefs warning
10010 * c-common.h (struct c_language_function::local_typedefs): New
10011 field.
10012 (record_locally_defined_typedef, maybe_record_typedef_use)
10013 (maybe_warn_unused_local_typedefs): Declare new functions.
10014 * c-common.c (record_locally_defined_typedef)
10015 (maybe_record_typedef_use)
10016 (maybe_warn_unused_local_typedefs): Define new functions.
10017 * c.opt: Declare new -Wunused-local-typedefs flag.
10018
10019 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
10020
10021 PR middle-end/50266
10022 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
10023 computations.
10024
10025 2011-09-05 Richard Guenther <rguenther@suse.de>
10026
10027 * c-common.c (complete_array_type): Use ssize_int (-1) instead
10028 of integer_minus_one_node for empty array upper bounds.
10029
10030 2011-08-28 Dodji Seketeli <dodji@redhat.com>
10031
10032 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
10033 it's the first time it's being called on this main TU.
10034
10035 2011-08-24 Richard Guenther <rguenther@suse.de>
10036
10037 PR c/49396
10038 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
10039
10040 2011-08-22 Gabriel Charette <gchare@google.com>
10041
10042 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
10043 defined in cpp_init_builtins and c_cpp_builtins.
10044
10045 2011-08-19 Joseph Myers <joseph@codesourcery.com>
10046
10047 * c-common.c (c_common_reswords): Add __builtin_complex.
10048 * c-common.h (RID_BUILTIN_COMPLEX): New.
10049
10050 2011-08-18 Joseph Myers <joseph@codesourcery.com>
10051
10052 * c-common.c (c_common_reswords): Add _Noreturn.
10053 (keyword_is_function_specifier): Handle RID_NORETURN.
10054 * c-common.h (RID_NORETURN): New.
10055
10056 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10057
10058 * c-common.c (unsafe_conversion_p): New function. Check if it is
10059 unsafe to convert an expression to the type.
10060 (conversion_warning): Adjust, use unsafe_conversion_p.
10061 * c-common.h (unsafe_conversion_p): New function declaration.
10062
10063 2011-08-02 Jakub Jelinek <jakub@redhat.com>
10064
10065 * c-common.h (c_finish_omp_atomic): Adjust prototype.
10066 (c_finish_omp_taskyield): New prototype.
10067 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
10068 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
10069 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
10070 or RHS1 have side-effects, evaluate those too in the right spot,
10071 if it is a decl and LHS is also a decl, error out if they
10072 aren't the same.
10073 (c_finish_omp_taskyield): New function.
10074 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
10075 * c-pragma.c (omp_pragmas): Add taskyield.
10076 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
10077 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
10078 PRAGMA_OMP_CLAUSE_MERGEABLE.
10079
10080 2011-07-25 Dodji Seketeli <dodji@redhat.com>
10081
10082 * c-common.h (set_underlying_type): Remove parm name from
10083 declaration.
10084
10085 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
10086
10087 * c-pretty-print.h: Search c-common.h in c-family.
10088
10089 2011-07-22 Jason Merrill <jason@redhat.com>
10090
10091 PR c++/49793
10092 * c.opt (Wnarrowing): New.
10093
10094 PR c++/30112
10095 * c-common.h: Declare c_linkage_bindings.
10096 * c-pragma.c (handle_pragma_redefine_extname): Use it.
10097
10098 PR c++/49813
10099 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
10100 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
10101 as flag_isoc99 for 'restrict'.
10102 (pp_c_specifier_qualifier_list): Likewise for _Complex.
10103
10104 2011-07-21 Ian Lance Taylor <iant@google.com>
10105
10106 PR middle-end/49705
10107 * c-common.c (c_disable_warnings): New static function.
10108 (c_enable_warnings): New static function.
10109 (c_fully_fold_internal): Change local unused_p to bool. Call
10110 c_disable_warnings and c_enable_warnings rather than change
10111 c_inhibit_evaluation_warnings.
10112
10113 2011-07-20 Jason Merrill <jason@redhat.com>
10114
10115 PR c++/6709 (DR 743)
10116 PR c++/42603 (DR 950)
10117 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
10118 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
10119 (CPP_DECLTYPE): New.
10120 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
10121
10122 2011-07-19 Richard Guenther <rguenther@suse.de>
10123
10124 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
10125 * c-omp.c (c_finish_omp_for): Likewise.
10126
10127 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
10128
10129 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
10130 body on the next line.
10131
10132 2011-07-08 Jason Merrill <jason@redhat.com>
10133
10134 PR c++/45437
10135 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
10136
10137 PR c++/49673
10138 * c-common.c (c_apply_type_quals_to_decl): Don't check
10139 TYPE_NEEDS_CONSTRUCTING.
10140
10141 2011-07-06 Richard Guenther <rguenther@suse.de>
10142
10143 * c-common.c (c_common_nodes_and_builtins):
10144 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
10145
10146 2011-07-05 Richard Guenther <rguenther@suse.de>
10147
10148 * c-common.c (c_common_nodes_and_builtins): Build all common
10149 tree nodes first.
10150
10151 2011-06-27 Jakub Jelinek <jakub@redhat.com>
10152
10153 * c-common.h (c_tree_chain_next): New static inline function.
10154
10155 * c-common.c (check_builtin_function_arguments): Handle
10156 BUILT_IN_ASSUME_ALIGNED.
10157
10158 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
10159
10160 * c-common.c: Add sync_ or SYNC__ to builtin names.
10161 * c-omp.c: Add sync_ or SYNC__ to builtin names.
10162
10163 2011-06-20 Pierre Vittet <piervit@pvittet.com>
10164
10165 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
10166 handler.
10167 (gen_pragma_handler): New union.
10168 (internal_pragma_handler): New type.
10169 (c_register_pragma_with_data)
10170 (c_register_pragma_with_expansion_and_data): New functions.
10171
10172 * c-pragma.c (registered_pragmas, c_register_pragma_1)
10173 (c_register_pragma, c_register_pragma_with_expansion)
10174 (c_invoke_pragma_handler): Changed to work with
10175 internal_pragma_handler.
10176 (c_register_pragma_with_data)
10177 (c_register_pragma_with_expansion_and_data): New functions.
10178
10179 2011-06-14 Joseph Myers <joseph@codesourcery.com>
10180
10181 * c-common.c: Include common/common-target.h.
10182 (handle_section_attribute): Use
10183 targetm_common.have_named_sections.
10184 * c-cppbuiltin.c: Include common/common-target.h.
10185 (c_cpp_builtins): Use targetm_common.except_unwind_info.
10186
10187 2011-06-10 Richard Guenther <rguenther@suse.de>
10188
10189 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
10190 to print a IDENTIFIER_NODE.
10191
10192 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10193 Joseph Myers <joseph@codesourcery.com>
10194
10195 * c.opt (fbuilding-libgcc): New option.
10196 * c-cppbuiltin.c (c_cpp_builtins): Define
10197 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
10198
10199 2011-06-07 Jason Merrill <jason@redhat.com>
10200
10201 * c-common.c (max_tinst_depth): Lower default to 900.
10202
10203 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
10204
10205 2011-06-07 Richard Guenther <rguenther@suse.de>
10206
10207 * c-common.c (c_common_nodes_and_builtins): Do not set
10208 size_type_node or call set_sizetype.
10209
10210 2011-06-07 Dodji Seketeli <dodji@redhat.com>
10211
10212 PR debug/49130
10213 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
10214 type when using pointer comparison to compare types.
10215
10216 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
10217
10218 * c.opt: Add -Wdelete-non-virtual-dtor.
10219 * c-opts.c (c_common_handle_option): Include it in -Wall.
10220
10221 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
10222
10223 PR bootstrap/49190
10224
10225 Revert:
10226 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10227
10228 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
10229 not tree_common.
10230
10231 2011-05-27 Jakub Jelinek <jakub@redhat.com>
10232
10233 PR c++/49165
10234 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
10235 C++ don't call c_common_truthvalue_conversion on void type arms.
10236
10237 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
10238
10239 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
10240 (stmt_list_stack): Define.
10241 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
10242 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
10243
10244 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10245
10246 * c-common.c (warning_candidate_p): Check for BLOCKs.
10247
10248 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10249
10250 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
10251 not tree_common.
10252
10253 2011-05-25 Jakub Jelinek <jakub@redhat.com>
10254
10255 * c-common.c (def_fn_type): Remove extra va_end.
10256
10257 2011-05-23 Jason Merrill <jason@redhat.com>
10258
10259 PR c++/48106
10260 * c-common.c (c_common_get_narrower): New.
10261 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
10262
10263 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
10264
10265 * c-common.h (check_function_arguments): Tweak prototype of
10266 check_function_arguments.
10267 * c-common.c (check_function_arguments): Likewise. Adjust
10268 calls to check_function_nonnull, check_function_format, and
10269 check_function_sentinel.
10270 (check_function_sentinel): Take a FUNCTION_TYPE rather than
10271 separate attributes and typelist arguments. Use
10272 FOREACH_FUNCTION_ARGS to iterate over argument types.
10273
10274 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
10275
10276 * c-common.c (c_common_reswords): Reorder.
10277 * c-common.h (rid): Likewise.
10278
10279 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
10280
10281 * c-common.c (def_fn_type): Don't call build_function_type, call
10282 build_function_type_array or build_varargs_function_type_array
10283 instead.
10284 (c_common_nodes_and_builtins): Likewise.
10285
10286 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
10287
10288 * c-common.c (c_add_case_label): Omit the loc argument to
10289 build_case_label.
10290 * c-common.h (build_case_label): Remove.
10291 * c-semantics.c (build_case_label): Remove.
10292
10293 2011-05-05 Joseph Myers <joseph@codesourcery.com>
10294
10295 * c-objc.h (objc_start_method_definition): Update prototype.
10296 * stub-objc.c (objc_start_method_definition): Add extra parameter.
10297
10298 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
10299
10300 * c-common.c (check_main_parameter_types): Reindent. Don't use
10301 TYPE_ARG_TYPES directly.
10302 (handle_nonnull_attribute): Likewise.
10303 (sync_resolve_params): Likewise.
10304 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
10305 to check_format_string.
10306 (handle_format_attribute): Likewise.
10307 (check_format_string): Take a function type to examine instead of
10308 a type list. Use a function_arg_iterator to step through argument
10309 types.
10310
10311 2011-05-04 Richard Guenther <rguenther@suse.de>
10312
10313 * c-common.c (fix_string_type): Use size_int for index type bounds.
10314 (start_fname_decls): Do not pass NULL to build_int_cst.
10315 (c_init_attributes): Likewise.
10316 * c-lex.c (c_lex_with_flags): Likewise.
10317
10318 2011-04-27 Jason Merrill <jason@redhat.com>
10319
10320 * c-common.c (make_tree_vector_from_list): New.
10321 * c-common.h: Declare it.
10322
10323 2011-04-26 Richard Guenther <rguenther@suse.de>
10324
10325 PR preprocessor/48248
10326 * c-ppoutput.c (maybe_print_line): Always optimize newlines
10327 for output size with -P.
10328
10329 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
10330
10331 * c-common.c (struct c_common_resword): Add __underlying_type.
10332 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
10333
10334 2011-04-20 Jim Meyering <meyering@redhat.com>
10335
10336 * c-format.c (init_dollar_format_checking): Remove useless
10337 if-before-free.
10338
10339 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
10340
10341 * c-objc.h (objc_get_interface_ivars): Removed.
10342 (objc_detect_field_duplicates): New.
10343 * stub-objc.c: Likewise.
10344
10345 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
10346
10347 * stub-objc.c (objc_declare_protocols): Renamed to
10348 objc_declare_protocol.
10349 * c-objc.h: Likewise.
10350
10351 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
10352
10353 * stub-objc.c (objc_declare_class): Updated argument name.
10354
10355 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
10356
10357 * c-common.h (c_common_init_ts): Declare.
10358 * c-common.c (c_common_init_ts): Define.
10359
10360 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
10361
10362 * c-objc.h (objc_build_message_expr): Updated prototype.
10363 * stub-objc.c (objc_build_message_expr): Likewise.
10364
10365 2011-04-12 Martin Jambor <mjambor@suse.cz>
10366
10367 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
10368 of cgraph_node.
10369
10370 2011-04-11 Richard Guenther <rguenther@suse.de>
10371
10372 * c-common.c (complete_array_type): Build a range type of
10373 proper type.
10374
10375 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
10376
10377 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
10378 (handle_type_generic_attribute): Likewise.
10379
10380 2011-04-07 Jason Merrill <jason@redhat.com>
10381
10382 PR c++/48450
10383 * c-common.c (c_common_truthvalue_conversion): Don't ignore
10384 conversion from C++0x scoped enum.
10385
10386 2011-04-06 Joseph Myers <joseph@codesourcery.com>
10387
10388 * c-target-def.h: New file.
10389 * c-target.def: New file.
10390 * c-target.h: New file.
10391 * c-common.c (targetcm): Don't define here.
10392 * c-common.h (default_handle_c_option): Declare.
10393 * c-format.c: Include c-target.h instead of target.h.
10394 * c-opts.c: Include c-target.h instead of target.h. Explicitly
10395 include tm.h.
10396 (default_handle_c_option): Move from targhooks.c.
10397
10398 2011-03-29 Jakub Jelinek <jakub@redhat.com>
10399
10400 PR preprocessor/48248
10401 * c-ppoutput.c (print): Add src_file field.
10402 (init_pp_output): Initialize it.
10403 (maybe_print_line): Don't optimize by adding up to 8 newlines
10404 if map->to_file and print.src_file are different file.
10405 (print_line): Update print.src_file.
10406
10407 2011-03-25 Kai Tietz <ktietz@redhat.com>
10408
10409 * c-ada-spec.c (compare_comment): Use filename_cmp
10410 instead of strcmp for filename.
10411
10412 2011-03-25 Jeff Law <law@redhat.com>
10413
10414 * c-common.c (def_fn_type): Add missing va_end.
10415
10416 2011-03-25 Jason Merrill <jason@redhat.com>
10417
10418 * c.opt: Add -std=c++03.
10419
10420 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
10421
10422 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
10423
10424 2011-03-17 Kai Tietz <ktietz@redhat.com>
10425
10426 PR target/12171
10427 * c-pretty-print.c (pp_c_specifier_qualifier_list):
10428 Display allowed attributes for function pointer types.
10429 (pp_c_attributes_display): New function to display
10430 attributes having affects_type_identity flag set to true.
10431 * c-pretty-print.h (pp_c_attributes_display): New prototype.
10432
10433 * c-common.c (c_common_attribute_table):
10434 Add new element.
10435 (c_common_format_attribute_table): Likewise.
10436
10437 2011-03-18 Jason Merrill <jason@redhat.com>
10438
10439 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
10440 * c-common.h: Don't declare it here.
10441 * c-common.c: Or define it here.
10442 * c-opts.c (c_common_handle_option): Or set it here.
10443
10444 PR c++/35315
10445 * c-common.c (handle_transparent_union_attribute): Don't
10446 make a duplicate type in C++.
10447
10448 2011-03-15 Jason Merrill <jason@redhat.com>
10449
10450 * c-common.c (max_constexpr_depth): New.
10451 * c-common.h: Declare it.
10452 * c-opts.c (c_common_handle_option): Set it.
10453 * c.opt (fconstexpr-depth): New option.
10454
10455 2011-03-11 Jason Merrill <jason@redhat.com>
10456
10457 * c-common.c (attribute_takes_identifier_p): Add missing const.
10458
10459 PR c++/46803
10460 * c-common.c (attribute_takes_identifier_p): Assume that an
10461 unknown attribute takes an identifier.
10462
10463 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
10464
10465 PR c/47786
10466 * c-common.c (c_type_hash): Call list_length instead of iterating
10467 through DECL_CHAIN. Rename 'i' to 'n_elements'.
10468
10469 2011-02-19 Jakub Jelinek <jakub@redhat.com>
10470
10471 PR c/47809
10472 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
10473
10474 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
10475
10476 * c.opt (fobjc-abi-version=) New.
10477 (fobjc-nilcheck): New.
10478
10479 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
10480
10481 PR c++/46890
10482 * c-common.h (keyword_is_decl_specifier): Declare.
10483 * c-common.c (keyword_is_decl_specifier): Define.
10484 (keyword_is_function_specifier): New function.
10485
10486 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10487
10488 PR c/47473
10489 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
10490 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
10491 REAL_TYPE.
10492
10493 2011-01-26 Arnaud Charlet <charlet@adacore.com>
10494
10495 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
10496
10497 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10498
10499 PR pch/47430
10500 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
10501 after init_c_lex if pch_file is set.
10502
10503 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
10504
10505 PR c++/43601
10506 * c.opt (-fkeep-inline-dllexport): New switch.
10507
10508 2011-01-12 Richard Guenther <rguenther@suse.de>
10509
10510 PR middle-end/32511
10511 * c-common.c (handle_weak_attribute): Warn instead of error
10512 on declaring an inline function weak.
10513
10514 2011-01-05 Tom Tromey <tromey@redhat.com>
10515
10516 * c-common.h (lvalue_error): Update.
10517 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
10518 not error.
10519
10520 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
10521
10522 PR objc/47075
10523 * c-objc.h (objc_finish_message_expr): Added argument to
10524 prototype.
10525
10526 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
10527
10528 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
10529 Use prototype_p.
10530
10531 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
10532
10533 * c-objc.h (objc_maybe_warn_exceptions): New.
10534 * stub-objc.c (objc_maybe_warn_exceptions): New.
10535
10536 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
10537
10538 * c-common.h (readonly_error): Declare.
10539 * c-common.c (readonly_error): Define.
10540
10541 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
10542
10543 * c-common.h (invalid_indirection_error): Declare.
10544 * c-common.c (invalid_indirection_error): Define.
10545
10546 2010-12-03 Richard Guenther <rguenther@suse.de>
10547
10548 PR c/46745
10549 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
10550 (pp_c_unary_expression): Likewise.
10551 (pp_c_expression): Likewise.
10552
10553 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
10554
10555 * c-common.h (objc_finish_function): New.
10556 (objc_non_volatilized_type): Removed.
10557 (objc_type_quals_match): Removed.
10558 * stub-objc.c (objc_finish_function): New.
10559 (objc_non_volatilized_type): Removed.
10560 (objc_type_quals_match): Removed.
10561
10562 2010-11-30 Joseph Myers <joseph@codesourcery.com>
10563
10564 * c-common.h (parse_optimize_options): Declare.
10565 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
10566 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
10567
10568 2010-11-29 Joseph Myers <joseph@codesourcery.com>
10569
10570 * c-opts.c (check_deps_environment_vars): Use getenv instead of
10571 GET_ENVIRONMENT.
10572 * c-pch.c (O_BINARY): Don't define here.
10573 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
10574
10575 2010-11-25 Joseph Myers <joseph@codesourcery.com>
10576
10577 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
10578 targetm.except_unwind_info.
10579
10580 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10581
10582 * c-opts.c (c_common_handle_option): Pass location to
10583 set_struct_debug_option.
10584
10585 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10586
10587 * c-common.c (visibility_options): Move from ../opts.c.
10588 * c-common.h (struct visibility_flags, visibility_options):
10589 Declare here.
10590 * c-opts.c (finish_options): Rename to c_finish_options.
10591 (c_common_init): Update call to finish_options.
10592
10593 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
10594
10595 PR objc/34033
10596 * c-lex.c (lex_string): Check that each string in an Objective-C
10597 string concat sequence starts with either one or zero '@', and
10598 that there are no spurious '@' signs at the end.
10599
10600 2010-11-20 Joseph Myers <joseph@codesourcery.com>
10601
10602 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
10603 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
10604 HANDLE_PRAGMA_VISIBILITY.
10605 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
10606 HANDLE_PRAGMA_VISIBILITY): Don't define.
10607 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
10608
10609 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
10610
10611 PR c++/16189
10612 PR c++/36888
10613 PR c++/45331
10614 * c-common.h (keyword_begins_type_specifier): Declare.
10615 (keyword_is_storage_class_specifier): Declare.
10616 (keyword_is_type_qualifier): Declare.
10617 * c-common.c (keyword_begins_type_specifier): New function.
10618 (keyword_is_storage_class_specifier): New function.
10619 (keyword_is_type_qualifier): Declare.
10620
10621 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10622
10623 PR c/46547
10624 * c-common.c (in_late_binary_op): Define.
10625 (c_common_truthvalue_conversion): Check in_late_binary_op before
10626 calling c_save_expr.
10627 * c-common.h (in_late_binary_op): Declare.
10628
10629 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10630
10631 * c-opts.c (c_common_handle_option): Update calls to
10632 set_struct_debug_option.
10633
10634 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
10635
10636 * c-common.h (objc_declare_protocols): Added additional argument.
10637 * stub-objc.c (objc_declare_protocol): Same change.
10638
10639 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
10640
10641 PR c/33193
10642 * c-common.h (build_real_imag_expr): Declare.
10643 * c-semantics.c (build_real_imag_expr): Define.
10644
10645 2010-11-17 Joseph Myers <joseph@codesourcery.com>
10646
10647 * c-opts.c (c_common_parse_file): Take no arguments.
10648 * c-common.h (c_common_parse_file): Update prototype.
10649
10650 2010-11-16 Jakub Jelinek <jakub@redhat.com>
10651
10652 PR c++/46401
10653 * c-common.c (warning_candidate_p): Don't track non-const calls
10654 or STRING_CSTs.
10655
10656 2010-11-15 Ian Lance Taylor <iant@google.com>
10657
10658 * c-lex.c (init_c_lex): Set macro debug callbacks if
10659 flag_dump_go_spec is set.
10660
10661 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
10662
10663 * c-common.h (objc_build_incr_expr_for_property_ref): New.
10664 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
10665
10666 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
10667
10668 PR preprocessor/45038
10669 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
10670 dialects.
10671
10672 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10673
10674 * c-common.h (c_family_lang_mask): Declare.
10675 * c-opts.c (c_family_lang_mask): Make extern.
10676 * c-pragma.c (handle_pragma_diagnostic): Use
10677 control_warning_option.
10678
10679 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10680
10681 * c-common.c (parse_optimize_options): Update call to
10682 decode_options.
10683 * c-common.h (c_common_handle_option): Update prototype.
10684 * c-opts.c (c_common_handle_option): Take location_t parameter and
10685 pass it to other functions.
10686
10687 2010-11-11 Joseph Myers <joseph@codesourcery.com>
10688
10689 * c-opts.c (warning_as_error_callback): Remove.
10690 (c_common_initialize_diagnostics): Don't call
10691 register_warning_as_error_callback.
10692 (c_common_handle_option): Handle -Werror=normalized= here.
10693
10694 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10695
10696 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
10697 in diagnostic.
10698 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
10699 letter.
10700 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
10701 Remove trailing '.' from diagnostics.
10702 * c.opt (Wwrite-strings_: Avoid '`' in help text.
10703
10704 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10705
10706 * c-common.c (parse_optimize_options): Pass global_dc to
10707 decode_options.
10708 * c-opts.c (c_common_handle_option): Pass &global_options to
10709 set_Wstrict_aliasing.
10710 * c.opt (v): Don't mark Common or document here.
10711
10712 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
10713
10714 PR target/44981
10715 * c-format.c (format_type): New type gcc_objc_string_format_type.
10716 (valid_stringptr_type_p): New.
10717 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
10718 (check_format_string): Pass expected type, use
10719 valid_stringptr_type_p (), check that the format string types are
10720 consistent with the format specification.
10721 (decode_format_attr): Warn if NSString is used outside objective-c.
10722 (format_types_orig): Add NSString.
10723 (format_name): New.
10724 (format_flags): New.
10725 (check_format_arg): Handle format strings requiring an external parser.
10726 first_target_format_type: New variable.
10727 (handle_format_attribute): Set up first_target_format_type, pass the
10728 expected format arg string type to check_format_string().
10729 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
10730 * stub-objc.c (objc_string_ref_type_p): New.
10731 (objc_check_format_arg): New.
10732
10733 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10734
10735 Fixed using the Objective-C 2.0 dot-syntax with class names.
10736 * c-common.h (objc_build_class_component_ref): New.
10737 * stub-objc.c (objc_build_class_component_ref): New.
10738
10739 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10740
10741 * c.opt (Wproperty-assign-default): New option.
10742
10743 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10744
10745 Implemented -fobjc-std=objc1 flag.
10746 * c.opt (fobjc-std=objc1): New option.
10747
10748 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10749
10750 Implemented format and noreturn attributes for Objective-C methods.
10751 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10752 attribute for Objective-C methods.
10753
10754 2010-10-31 Jason Merrill <jason@redhat.com>
10755
10756 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10757 EXPR_LOC_OR_HERE.
10758
10759 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10760
10761 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10762 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10763 (objc_add_property_declaration): Removed arguments for copies and
10764 ivar.
10765 (objc_build_getter_call): Renamed to
10766 objc_maybe_build_component_ref.
10767 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10768 (objc_is_property_ref): New.
10769 * c-common.c (c_common_reswords): Removed copies and ivar.
10770 * stub-objc.c (objc_add_property_declaration): Removed arguments
10771 for copies and ivar.
10772 (objc_build_getter_call): Renamed to
10773 objc_maybe_build_component_ref.
10774 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10775 (objc_is_property_ref): New.
10776
10777 2010-10-29 Arnaud Charlet <charlet@adacore.com>
10778 Matthew Gingell <gingell@adacore.com>
10779
10780 * c-ada-spec.c (separate_class_package): New function.
10781 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10782 name of their enclosing package.
10783 (print_ada_declaration): Use separate_class_package.
10784
10785 2010-10-27 Jason Merrill <jason@redhat.com>
10786
10787 * c-common.c (c_common_reswords): Add __is_literal_type.
10788 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10789
10790 * c-common.c (check_case_value): Remove special C++ code.
10791
10792 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10793
10794 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10795 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10796 and RID_LAST_PATTR.
10797 (objc_add_property_declaration): Added additional arguments.
10798 (objc_property_attribute_kind): Removed.
10799 (objc_set_property_attr): Removed.
10800 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10801 copy and nonatomic.
10802 * stub-objc.c (objc_add_property_declaration): Added additional
10803 arguments.
10804 (objc_set_property_attr): Removed.
10805
10806 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10807
10808 * c-common.h (objc_add_property_variable): Renamed to
10809 objc_add_property_declaration. Added location argument.
10810 * stub-objc.c (objc_add_property_variable): Same change.
10811
10812 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10813
10814 * c-common.h (objc_maybe_printable_name): New.
10815 * stub-objc.c (objc_maybe_printable_name): New.
10816
10817 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10818 Andrew Pinski <pinskia@gmail.com>
10819
10820 * c-common.h (c_common_mark_addressable_vec): Declare.
10821 * c-common.c (c_common_mark_addressable_vec): New function.
10822
10823 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10824
10825 * c-common.h (objc_set_method_type): Removed.
10826 (objc_add_method_declaration): Added boolean argument.
10827 (objc_start_method_definition): Same change.
10828 (objc_build_method_signature): Same change.
10829 * stub-objc.c (objc_set_method_type): Removed.
10830 (objc_add_method_declaration): Added boolean argument.
10831 (objc_start_method_definition): Same change.
10832 (objc_build_method_signature): Same change.
10833
10834 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10835
10836 * c-common.h (finish_file): Removed.
10837 (objc_write_global_declarations): New.
10838 * c-opts.c (c_common_parse_file): Do not call finish_file.
10839 * stub-objc.c (objc_write_global_declarations): New.
10840
10841 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10842
10843 Implemented parsing @synthesize and @dynamic for
10844 Objective-C/Objective-C++.
10845 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
10846 (objc_add_synthesize_declaration): New.
10847 (objc_add_dynamic_declaration): New.
10848 * c-common.c (c_common_reswords): Add synthesize and dynamic.
10849 * stub-objc.c (objc_add_synthesize_declaration): New.
10850 (objc_add_dynamic_declaration): New.
10851
10852 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10853
10854 PR target/46041
10855 * c-cppbuiltin.c (mode_has_fma): Move function here from
10856 builtins.c. Don't use the fma optab, instead just use the
10857 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
10858 using -save-temps.
10859
10860 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10861
10862 Merge from 'apple/trunk' branch on FSF servers.
10863
10864 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
10865
10866 Radar 4330422
10867 * c-common.h (objc_non_volatilized_type): New declaration
10868 * stub-objc.c (objc_non_volatilized_type): New stub.
10869
10870 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
10871
10872 Merge from 'apple/trunk' branch on FSF servers.
10873
10874 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
10875
10876 Radar 4133425
10877 * c-common.h (objc_diagnose_private_ivar): New decl.
10878 * stub-objc.c (objc_diagnose_private_ivar): New stub.
10879
10880 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
10881
10882 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
10883 * c-common.h (enum rid): Add RID_AT_PACKAGE.
10884 (objc_ivar_visibility_kind): New enum.
10885 (objc_set_visibility): Adjust prototype to use visibility enum.
10886 * stub-objc.c (objc_set_visibility): Adjust stub to use
10887 visibility enum.
10888
10889 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10890
10891 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10892 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10893 has the appropriate fma builtins.
10894 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10895
10896 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10897
10898 merge from FSF apple 'trunk' branch.
10899 2006 Fariborz Jahanian <fjahanian@apple.com>
10900
10901 Radars 4436866, 4505126, 4506903, 4517826
10902 * c-common.c (c_common_resword): Define @property and its attributes.
10903 * c-common.h: Define property attribute enum entries.
10904 (OBJC_IS_PATTR_KEYWORD): New.
10905 (objc_property_attribute_kind): New enum.
10906 Declare objc_set_property_attr (), objc_add_property_variable (),
10907 objc_build_getter_call () and objc_build_setter_call ().
10908 * stub-objc.c (objc_set_property_attr): New stub.
10909 (objc_add_property_variable): Likewise.
10910 (objc_build_getter_call): Likewise.
10911 (objc_build_setter_call) Likewise.
10912
10913 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10914
10915 merge from FSF apple 'trunk' branch.
10916 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
10917
10918 Radar 3803157 (method attributes)
10919 * c-common.c (handle_deprecated_attribute): Recognize
10920 objc methods as valid declarations.
10921 * c-common.h: Declare objc_method_decl ().
10922 * stub-objc.c (objc_method_decl): New stub.
10923
10924 2010-10-08 Joseph Myers <joseph@codesourcery.com>
10925
10926 * c-common.c (parse_optimize_options): Call
10927 decode_cmdline_options_to_array_default_mask before
10928 decode_options. Update arguments to decode_options.
10929 * c-common.h (c_common_init_options_struct): Declare.
10930 * c-opts.c (c_common_init_options_struct): New. Split out from
10931 c_common_init_options.
10932
10933 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10934
10935 Implemented fast enumeration for Objective-C.
10936 * c-common.h (objc_finish_foreach_loop): New.
10937 * stub-objc.c (objc_finish_foreach_loop): New.
10938
10939 2010-10-05 Joseph Myers <joseph@codesourcery.com>
10940
10941 * c-common.h (struct diagnostic_context): Don't declare here.
10942 (c_common_initialize_diagnostics): Declare using
10943 diagnostic_context typedef.
10944 * c-opts.c (c_common_handle_option): Pass global_dc to
10945 handle_generated_option.
10946
10947 2010-10-04 Joseph Myers <joseph@codesourcery.com>
10948
10949 * c-opts.c (c_common_handle_option): Pass &global_options_set to
10950 handle_generated_option.
10951
10952 2010-10-03 Ian Lance Taylor <iant@google.com>
10953
10954 * c.opt (-fplan9-extensions): New option.
10955
10956 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10957
10958 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
10959 Remove.
10960 (c_cpp_builtins): Call functions from cppbuiltin.c instead
10961 of duplicating code.
10962
10963 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
10964
10965 * c-common.c: Add two new entries for @optional
10966 and @required keywords.
10967
10968 merge from FSF 'apple/trunk' branch.
10969 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
10970
10971 Radar 4386773
10972 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
10973 objective-c keywords.
10974 (objc_set_method_opt): New declaration.
10975 * stub-objc.c (objc_set_method_opt): New stub.
10976
10977 2010-09-30 Joseph Myers <joseph@codesourcery.com>
10978
10979 * c-common.c (handle_optimize_attribute): Pass &global_options to
10980 cl_optimization_save and cl_optimization_restore.
10981 * c-opts.c (c_common_handle_option): Pass &global_options to
10982 handle_generated_option.
10983 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
10984 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
10985 &global_options to cl_optimization_restore.
10986
10987 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
10988
10989 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
10990 Objective-C/Objective-C++ keywords.
10991
10992 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10993
10994 Merge from 'apple/trunk' branch on FSF servers.
10995
10996 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
10997
10998 Radar 4281748
10999 * c-common.h (objc_check_global_decl): New declaration.
11000 * stub-objc.c (objc_check_global_decl): New stub.
11001
11002 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11003
11004 * c.opt: Don't use VarExists.
11005
11006 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11007
11008 * c-common.c (c_cpp_error): Update names of diagnostic_context
11009 members.
11010 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
11011 cl_optimization members.
11012 * c-opts.c (warning_as_error_callback, c_common_handle_option,
11013 sanitize_cpp_opts, finish_options): Update names of cpp_options
11014 members.
11015
11016 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
11017
11018 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
11019 (objc_is_reserved_word): Removed.
11020 * c-common.c: Updated comments.
11021 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
11022 objc_is_reserved_word.
11023 * stub-objc.c (objc_is_reserved_word): Removed.
11024
11025 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
11026
11027 * c-common.h (objc_add_method_declaration): Adjust prototype to
11028 include attributes.
11029 (objc_start_method_definition): Likewise.
11030 (objc_build_keyword_decl): Likewise.
11031 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
11032 (objc_start_method_definition): Likewise.
11033 (objc_build_keyword_decl): Likewise.
11034
11035 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
11036
11037 * c-common.h (objc_start_class_interface): Adjust prototype.
11038 (objc_start_category_interface): Likewise.
11039 (objc_start_protocol): Likewise.
11040 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
11041 (objc_start_class_interface): Likewise.
11042 (objc_start_category_interface): Likewise.
11043
11044 2010-09-27 Ian Lance Taylor <iant@google.com>
11045
11046 * c-common.c (c_common_attribute_table): Add no_split_stack.
11047 (handle_no_split_stack_attribute): New static function.
11048
11049 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
11050
11051 Merge from 'apple/trunk' branch on FSF servers.
11052
11053 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
11054
11055 Radar 4229905
11056 * c-common.h (objc_have_common_type): New declaration.
11057 * stub-objc.c (objc_have_common_type): New stub.
11058
11059 2005-06-22 Ziemowit Laski <zlaski@apple.com>
11060
11061 Radar 4154928
11062 * c-common.h (objc_common_type): New prototype.
11063 * stub-objc.c (objc_common_type): New stub.
11064
11065 2010-09-24 Jan Hubicka <jh@suse.cz>
11066
11067 * c-common.c (handle_leaf_attribute): New function.
11068 (struct attribute_spec c_common_att): Add leaf.
11069
11070 2010-09-22 Joseph Myers <joseph@codesourcery.com>
11071
11072 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
11073 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
11074 -dump, -dump=, -imacros, -imacros=, -include, -include=,
11075 -include-barrier, -include-directory, -include-directory=,
11076 -include-directory-after, -include-directory-after=,
11077 -include-prefix, -include-prefix=, -include-with-prefix,
11078 -include-with-prefix=, -include-with-prefix-after,
11079 -include-with-prefix-after=, -include-with-prefix-before,
11080 -include-with-prefix-before=, -no-integrated-cpp,
11081 -no-line-commands, -no-standard-includes, -no-warnings, -output,
11082 -output=, -pedantic, -pedantic-errors, -preprocess,
11083 -print-missing-file-dependencies, -trace-includes, -traditional,
11084 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
11085 -user-dependencies, -verbose, -write-dependencies,
11086 -write-user-dependencies, no-integrated-cpp, traditional): New.
11087
11088 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
11089
11090 PR objc/23710
11091 * c-common.h (objc_start_method_definition): Return bool instead
11092 of void.
11093 * stub-objc.c (objc_start_method_definition): Return bool instead
11094 of void.
11095
11096 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
11097
11098 PR objc/25965
11099 * c-common.h (objc_get_interface_ivars): New declaration.
11100 * stub-objc.c (objc_get_interface_ivars): New stub.
11101
11102 2010-09-15 Ian Lance Taylor <iant@google.com>
11103
11104 * c-common.c (parse_optimize_options): Do not capitalize warning
11105 messages. Remove period at end of warning message.
11106
11107 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
11108
11109 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
11110 (handle_alias_attribute): ... here.
11111 (handle_ifunc_attribute): New.
11112
11113 2010-09-06 Mark Mitchell <mark@codesourcery.com>
11114
11115 * c-common.h (do_warn_double_promotion): Declare.
11116 * c-common.c (do_warn_double_promotion): Define.
11117
11118 2010-09-05 Mark Mitchell <mark@codesourcery.com>
11119
11120 * c.opt (Wdouble-promotion): New.
11121
11122 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11123
11124 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
11125 fvtable-thunks, fxref): Mark no longer supported in help text.
11126
11127 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11128
11129 * c.opt (Wimport, fall-virtual, falt-external-templates,
11130 fdefault-inline, fenum-int-equiv, fexternal-templates,
11131 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
11132 fname-mangling-version-, fnew-abi, fnonnull-objects,
11133 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
11134 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
11135 applicable.
11136 (fhandle-exceptions): Mark with Alias and Warn.
11137 * c-opts.c (c_common_handle_option): Don't handle options marked
11138 as ignored.
11139
11140 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11141
11142 * c.opt (Wcomments, Werror-implicit-function-declaration,
11143 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
11144 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
11145 aliases.
11146 * c-common.c (option_codes): Use OPT_Wcomment instead of
11147 OPT_Wcomments.
11148 * c-opts.c (warning_as_error_callback, c_common_handle_option):
11149 Don't handle options marked as aliases.
11150
11151 2010-08-25 Richard Guenther <rguenther@suse.de>
11152
11153 * c-common.c (c_common_get_alias_set): Remove special
11154 handling for pointers.
11155
11156 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
11157
11158 * c-common.c: Use FOR_EACH_VEC_ELT.
11159 * c-gimplify.c: Likewise.
11160 * c-pragma.c: Likewise.
11161
11162 2010-08-16 Joseph Myers <joseph@codesourcery.com>
11163
11164 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
11165 RejectDriver.
11166 (MMDX): Change back to MMD. Mark NoDriverArg instead of
11167 RejectDriver.
11168 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
11169 instead of OPT_MDX and OPT_MMDX.
11170
11171 2010-08-16 Joseph Myers <joseph@codesourcery.com>
11172
11173 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
11174
11175 2010-08-12 Joseph Myers <joseph@codesourcery.com>
11176
11177 * c.opt (MD, MMD): Change to MDX and MMDX.
11178 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
11179
11180 2010-08-11 Joseph Myers <joseph@codesourcery.com>
11181
11182 * c-opts.c (c_common_handle_option): Call handle_generated_option
11183 instead of handle_option.
11184
11185 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
11186
11187 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
11188 (maybe_apply_renaming_pragma): Delete unneeded declarations.
11189
11190 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
11191
11192 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
11193 (pending_redefine_extname): Change type to a VEC.
11194 (add_to_renaming_pragma_list): Update for new type of
11195 pending_redefine_extname.
11196 (maybe_apply_renaming_pragma): Likewise.
11197
11198 2010-08-04 Arnaud Charlet <charlet@adacore.com>
11199
11200 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
11201 visited.
11202 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
11203 decide whether a type has already been declared/seen.
11204 Do not go to the original type.
11205 (dump_nested_types): New parameter forward.
11206 Generate forward declaration if needed and mark type as visited.
11207 (print_ada_declaration): Call dump_nested_types if not already done.
11208 Mark types as visited.
11209
11210 2010-08-03 Joseph Myers <joseph@codesourcery.com>
11211
11212 * c.opt (-print-pch-checksum): Remove option.
11213 * c-opts.c (c_common_handle_option): Don't handle
11214 OPT_print_pch_checksum.
11215
11216 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11217
11218 * c-common.h (c_common_handle_option): Update prototype and return
11219 value type.
11220 * c-opts.c (c_common_handle_option): Update prototype and return
11221 value type. Update calls to handle_option and
11222 enable_warning_as_error.
11223
11224 2010-07-27 Jakub Jelinek <jakub@redhat.com>
11225
11226 PR c/45079
11227 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
11228
11229 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11230
11231 * c-common.h (c_common_missing_argument): Remove.
11232 * c-opts.c (c_common_missing_argument): Remove.
11233 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
11234 idirafter, imacros, include, isysroot, isystem, iquote): Add
11235 MissingArgError.
11236 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
11237
11238 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11239
11240 * c-common.h (c_common_option_lang_mask,
11241 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
11242 New.
11243 (c_common_init_options): Update prototype.
11244 * c-opts.c (c_common_option_lang_mask): New.
11245 (c_common_initialize_diagnostics): Split out of
11246 c_common_init_options.
11247 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
11248 New.
11249 (c_common_init_options): Update prototype. Use decoded options in
11250 search for -lang-asm.
11251
11252 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
11253
11254 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
11255 * c-format.c: Likewise.
11256
11257 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
11258
11259 * c-common.h: Include diagnostic-core.h. Error if already
11260 included.
11261 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
11262
11263 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11264
11265 * c-common.c (IN_GCC_FRONTEND): Do not undef.
11266 Do not include expr.h
11267 (vector_mode_valid_p): Move here.
11268
11269 2010-06-21 DJ Delorie <dj@redhat.com>
11270
11271 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
11272 allow these pragmas anywhere.
11273
11274 2010-06-14 Jakub Jelinek <jakub@redhat.com>
11275
11276 PR bootstrap/44509
11277 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
11278 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
11279 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
11280 ggc_strdup instead of xstrdup.
11281
11282 2010-06-10 Jakub Jelinek <jakub@redhat.com>
11283
11284 * c-cppbuiltin.c: Include cpp-id-data.h.
11285 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
11286 (lazy_hex_fp_value): New function.
11287 (builtin_define_with_hex_fp_value): Provide definitions lazily.
11288
11289 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11290
11291 * c-gimplify.c: Do not include tree-flow.h
11292
11293 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
11294
11295 PR other/44034
11296 * c-common.c: Rename targetm member:
11297 targetm.enum_va_list -> targetm.enum_va_list_p
11298
11299 2010-06-28 Anatoly Sokolov <aesok@post.ru>
11300
11301 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
11302
11303 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
11304
11305 * c-cppbuiltin.c: Do not include except.h.
11306
11307 2010-06-24 Andi Kleen <ak@linux.intel.com>
11308
11309 * c-common.c (warn_for_omitted_condop): New.
11310 * c-common.h (warn_for_omitted_condop): Add prototype.
11311
11312 2010-06-21 Joseph Myers <joseph@codesourcery.com>
11313
11314 * c.opt (lang-objc): Remove.
11315 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
11316
11317 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
11318
11319 * c-opts.c: Include "tm_p.h".
11320
11321 2010-06-20 Joseph Myers <joseph@codesourcery.com>
11322
11323 * c-common.c (parse_optimize_options): Update call to
11324 decode_options.
11325
11326 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
11327
11328 * c-common.c (record_types_used_by_current_var_decl): Adjust for
11329 new type of types_used_by_cur_var_decl.
11330
11331 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
11332
11333 PR bootstrap/44512
11334 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
11335 for C++ standard compliance.
11336
11337 2010-06-16 Jason Merrill <jason@redhat.com>
11338
11339 * c.opt: Add -Wnoexcept.
11340
11341 2010-06-16 Richard Guenther <rguenther@suse.de>
11342
11343 PR c/44555
11344 * c-common.c (c_common_truthvalue_conversion): Remove
11345 premature and wrong optimization concering ADDR_EXPRs.
11346
11347 2010-06-15 Arnaud Charlet <charlet@adacore.com>
11348
11349 * c-ada-spec.c (dump_sloc): Remove column info.
11350 (is_simple_enum): New function.
11351 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
11352 enum types when relevant.
11353
11354 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11355
11356 * c-common.c (conversion_warning): Warn at expression
11357 location.
11358
11359 2010-06-10 Joseph Myers <joseph@codesourcery.com>
11360
11361 * c-opts.c (c_common_handle_option): Don't handle
11362 OPT_fshow_column.
11363
11364 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
11365
11366 * c-pragma.c (push_alignment): Use typed GC allocation.
11367 (handle_pragma_push_options): Likewise.
11368
11369 * c-common.c (parse_optimize_options): Likewise.
11370
11371 * c-common.h (struct sorted_fields_type): Add variable_size GTY
11372 option.
11373
11374 2010-06-07 Joseph Myers <joseph@codesourcery.com>
11375
11376 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
11377 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
11378 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
11379 flag_signed_bitfields, warn_strict_null_sentinel,
11380 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
11381 flag_gen_declaration, flag_no_gnu_keywords,
11382 flag_implement_inlines, flag_implicit_templates,
11383 flag_implicit_inline_templates, flag_optional_diags,
11384 flag_elide_constructors, flag_default_inline, flag_rtti,
11385 flag_conserve_space, flag_access_control, flag_check_new,
11386 flag_new_for_scope, flag_weak, flag_working_directory,
11387 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
11388 flag_enforce_eh_specs, flag_threadsafe_statics,
11389 flag_pretty_templates): Remove.
11390 * c-common.h (flag_preprocess_only, flag_nil_receivers,
11391 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
11392 flag_replace_objc_classes, flag_undef, flag_no_builtin,
11393 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
11394 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
11395 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
11396 flag_no_gnu_keywords, flag_implement_inlines,
11397 flag_implicit_templates, flag_implicit_inline_templates,
11398 flag_optional_diags, flag_elide_constructors, flag_default_inline,
11399 flag_rtti, flag_conserve_space, flag_access_control,
11400 flag_check_new, flag_new_for_scope, flag_weak,
11401 flag_working_directory, flag_use_cxa_atexit,
11402 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
11403 flag_threadsafe_statics, flag_pretty_templates,
11404 warn_strict_null_sentinel): Remove.
11405 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
11406 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
11407 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
11408 fimplicit-inline-templates, fimplicit-templates,
11409 flax-vector-conversions, fms-extensions, fnil-receivers,
11410 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
11411 frtti, fshort-double, fshort-enums, fshort-wchar,
11412 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
11413 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
11414 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
11415 gen-decls, undef): Use Var.
11416 (fdefault-inline, foptional-diags): Document as doing nothing.
11417 * c-opts.c (c_common_handle_option): Remove cases for options now
11418 using Var. Mark ignored options as such.
11419
11420 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
11421
11422 * c-common.c: Moved to here from parent directory.
11423 * c-common.def: Likewise.
11424 * c-common.h: Likewise.
11425 * c-cppbuiltin.c: Likewise.
11426 * c-dump.c: Likewise.
11427 * c-format.c: Likewise.
11428 * c-format.h : Likewise.
11429 * c-gimplify.c: Likewise.
11430 * c-lex.c: Likewise.
11431 * c-omp.c: Likewise.
11432 * c.opt: Likewise.
11433 * c-opts.c: Likewise.
11434 * c-pch.c: Likewise.
11435 * c-ppoutput.c: Likewise.
11436 * c-pragma.c: Likewise.
11437 * c-pragma.h: Likewise.
11438 * c-pretty-print.c: Likewise.
11439 * c-pretty-print.h: Likewise.
11440 * c-semantics.c: Likewise.
11441 * stub-objc.c: Likewise.
11442
11443 * c-common.c: Include gt-c-family-c-common.h.
11444 * c-pragma.c: Include gt-c-family-c-pragma.h.
11445 \f
11446 Copyright (C) 2010-2020 Free Software Foundation, Inc.
11447
11448 Copying and distribution of this file, with or without modification,
11449 are permitted in any medium without royalty provided the copyright
11450 notice and this notice are preserved.