Daily bump.
[gcc.git] / gcc / c-family / ChangeLog
1 2020-11-06 Iain Sandoe <iain@sandoe.co.uk>
2
3 * c-objc.h (enum objc_property_attribute_group): New
4 (enum objc_property_attribute_kind): New.
5 (OBJC_PROPATTR_GROUP_MASK): New.
6 (struct property_attribute_info): Small class encapsulating
7 parser output from property attributes.
8 (objc_prop_attr_kind_for_rid): New
9 (objc_add_property_declaration): Simplify interface.
10 * stub-objc.c (enum rid): Dummy type.
11 (objc_add_property_declaration): Simplify interface.
12 (objc_prop_attr_kind_for_rid): New.
13
14 2020-11-06 Nathan Sidwell <nathan@acm.org>
15
16 * c-ada-spec.c (collect_ada_nodes): Rename
17 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
18 (collect_ada_node): Likewise.
19 (dump_forward_type): Likewise.
20 * c-common.c (set_underlying_type): Rename
21 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
22 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
23
24 2020-11-06 Jakub Jelinek <jakub@redhat.com>
25
26 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
27
28 2020-11-05 Marek Polacek <polacek@redhat.com>
29
30 PR c++/97675
31 * c.opt (Wexceptions): New option.
32
33 2020-11-05 Marek Polacek <polacek@redhat.com>
34
35 PR c++/25814
36 * c.opt (Wvexing-parse): New option.
37
38 2020-11-04 Jakub Jelinek <jakub@redhat.com>
39
40 PR c++/97670
41 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
42 underlying decl to clear in the allocate_head bitmap.
43
44 2020-11-04 Iain Sandoe <iain@sandoe.co.uk>
45
46 * c-objc.h (objc_non_constant_expr_p): New.
47 * stub-objc.c (objc_non_constant_expr_p): New.
48
49 2020-11-03 Nathan Sidwell <nathan@acm.org>
50
51 * c.opt (MQ,MT): Reword description to be make-agnostic.
52
53 2020-11-02 Nathan Sidwell <nathan@acm.org>
54
55 * c-opts.c (c_common_post_options): Move var decl to its
56 initialization point.
57
58 2020-11-01 Iain Sandoe <iain@sandoe.co.uk>
59
60 * c-lex.c (c_lex_with_flags): When combining '@' with a
61 keyword for Objective-C, combine the location ranges too.
62
63 2020-10-30 Qing Zhao <qing.zhao@oracle.com>
64 H.J.Lu <hjl.tools@gmail.com>
65
66 * c-attribs.c (c_common_attribute_table): Add new attribute
67 zero_call_used_regs.
68 (handle_zero_call_used_regs_attribute): New function.
69
70 2020-10-28 Marek Polacek <polacek@redhat.com>
71
72 PR c++/97573
73 * c-opts.c (c_common_post_options): In C++20, turn on
74 -Wdeprecated-enum-enum-conversion and
75 -Wdeprecated-enum-float-conversion.
76 * c.opt (Wdeprecated-enum-enum-conversion,
77 Wdeprecated-enum-float-conversion): New options.
78 (Wenum-conversion): Allow for C++ too.
79
80 2020-10-28 Jakub Jelinek <jakub@redhat.com>
81
82 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
83 * c-omp.c: Include bitmap.h.
84 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
85
86 2020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
87
88 * c-common.c (__is_nothrow_assignable): New.
89 (__is_nothrow_constructible): Likewise.
90 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
91 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
92
93 2020-10-23 Jan Hubicka <hubicka@ucw.cz>
94
95 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
96
97 2020-10-23 Marek Polacek <polacek@redhat.com>
98
99 PR c++/91741
100 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
101 (c_common_init_ts): Likewise.
102 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
103 * c-common.h (maybe_warn_sizeof_array_div): Declare.
104 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
105 (maybe_warn_sizeof_array_div): New function.
106 * c.opt (Wsizeof-array-div): New option.
107
108 2020-10-23 Martin Sebor <msebor@redhat.com>
109
110 PR c/97463
111 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
112
113 2020-10-22 Martin Liska <mliska@suse.cz>
114
115 PR c/94722
116 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
117 (handle_stack_protect_attribute): Add error message for a
118 no_stack_protector function.
119
120 2020-10-22 Martin Liska <mliska@suse.cz>
121
122 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
123
124 2020-10-22 Jan Hubicka <hubicka@ucw.cz>
125
126 * c-gimplify.c: Include tree-nested.h
127 (c_genericize): Update for new nested function info.
128
129 2020-10-14 Martin Sebor <msebor@redhat.com>
130
131 PR c/97413
132 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
133 bounds in an extra list.
134
135 2020-10-05 Richard Biener <rguenther@suse.de>
136 Jakub Jelinek <jakub@redhat.com>
137
138 PR c++/97197
139 * c-pretty-print.c: Include langhooks.h.
140 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
141 expression.
142 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
143 unary_expression.
144 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
145
146 2020-09-30 Martin Sebor <msebor@redhat.com>
147
148 PR middle-end/97189
149 * c-attribs.c (append_access_attr): Use the function declaration
150 location for a warning about an attribute access argument.
151
152 2020-09-29 Marek Polacek <polacek@redhat.com>
153
154 PR c++/94695
155 * c.opt (Wrange-loop-construct): New option.
156
157 2020-09-23 Martin Sebor <msebor@redhat.com>
158
159 PR c/97131
160 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
161
162 2020-09-23 Marek Polacek <polacek@redhat.com>
163
164 PR c/97125
165 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
166 after loops and other structured control constructs have been lowered.
167
168 2020-09-22 Jakub Jelinek <jakub@redhat.com>
169
170 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
171 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
172
173 2020-09-21 Marek Polacek <polacek@redhat.com>
174
175 * c.opt (Wctad-maybe-unsupported): New option.
176
177 2020-09-19 Martin Sebor <msebor@redhat.com>
178
179 PR c/50584
180 * c-common.h (warn_parm_array_mismatch): Declare new function.
181 (has_attribute): Move declaration of an existing function.
182 (build_attr_access_from_parms): Declare new function.
183 * c-warn.c (parm_array_as_string): Define new function.
184 (plus_one): Define new function.
185 (warn_parm_ptrarray_mismatch): Define new function.
186 (warn_parm_array_mismatch): Define new function.
187 (vla_bound_parm_decl): New function.
188 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
189 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
190 qualifiers here...
191 (c_pretty_printer::direct_abstract_declarator): ...but instead print
192 them in brackets here. Also print [static]. Strip extraneous
193 expressions from VLA bounds.
194
195 2020-09-19 Martin Sebor <msebor@redhat.com>
196
197 PR c/50584
198 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
199 (handle_argspec_attribute): New function.
200 (get_argument, get_argument_type): New functions.
201 (append_access_attrs): Add overload. Handle internal attribute
202 representation in addition to external.
203 (handle_access_attribute): Handle internal attribute representation
204 in addition to external.
205 (build_attr_access_from_parms): New function.
206
207 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
208
209 * c-gimplify.c (genericize_c_loop): Rewrite to match
210 c_finish_loop in c-typeck.c.
211
212 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
213
214 * c-common.c (c_block_may_fallthrough): New, split from
215 cxx_block_may_fallthrough in the cp front end.
216 (c_common_init_ts): Move handling of loop and switch-related
217 statements here from the cp front end.
218 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
219 cp front end.
220 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
221 * c-common.h (c_block_may_fallthru): Declare.
222 (bc_state_t): Move here from cp front end.
223 (save_bc_state, restore_bc_state): Declare.
224 (c_genericize_control_stmt): Declare.
225 (WHILE_COND, WHILE_BODY): Likewise.
226 (DO_COND, DO_BODY): Likewise.
227 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
228 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
229 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
230 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
231 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
232 * c-dump.c (dump_stmt): Copy from cp front end.
233 (c_dump_tree): Move code to handle structured loop and switch
234 tree nodes here from cp front end.
235 * c-gimplify.c: Adjust includes.
236 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
237 cp front end.
238 (save_bc_state, restore_bc_state): New functions using old code
239 from cp front end.
240 (get_bc_label, expr_loc_or_loc): Move from cp front end.
241 (genericize_c_loop): Move from cp front end.
242 (genericize_for_stmt, genericize_while_stmt): Likewise.
243 (genericize_do_stmt, genericize_switch_stmt): Likewise.
244 (genericize_continue_stmt, genericize_break_stmt): Likewise.
245 (genericize_omp_for_stmt): Likewise.
246 (c_genericize_control_stmt): New function using code split from
247 cp front end.
248 (c_genericize_control_r): New.
249 (c_genericize): Call walk_tree with c_genericize_control_r.
250 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
251 structured loop and switch tree nodes here from cp front end.
252
253 2020-09-17 Patrick Palka <ppalka@redhat.com>
254
255 PR c/80076
256 * c-indentation.c (should_warn_for_misleading_indentation): Move
257 declarations of local variables closer to their first use.
258 Handle virtual token locations by resolving them to their
259 respective macro expansion points. If all three tokens are
260 produced from the same macro expansion, then instead use their
261 loci within the macro definition.
262
263 2020-09-16 Martin Sebor <msebor@redhat.com>
264
265 PR c/78666
266 PR c/96126
267 * c-attribs.c (validate_attr_args): New function.
268 (validate_attr_arg): Same.
269 (handle_section_attribute): Call it. Introduce a local variable.
270 (handle_alloc_size_attribute): Same.
271 (handle_alloc_align_attribute): Same.
272
273 2020-09-14 Jakub Jelinek <jakub@redhat.com>
274
275 * c-attribs.c (handle_optimize_attribute): Adjust
276 cl_optimization_save, cl_optimization_restore and
277 build_optimization_node callers.
278 * c-pragma.c (handle_pragma_optimize): Adjust
279 build_optimization_node caller.
280 (handle_pragma_push_options): Adjust
281 build_optimization_node and build_target_option_node callers.
282 (handle_pragma_pop_options, handle_pragma_reset_options):
283 Adjust cl_optimization_restore callers.
284
285 2020-08-28 Martin Sebor <msebor@redhat.com>
286
287 * c.opt (Wstringop-overread): New option.
288
289 2020-08-11 Jakub Jelinek <jakub@redhat.com>
290
291 PR c/96545
292 * c-common.c (get_atomic_generic_size): Require that first argument's
293 type points to a complete type and use tree_fits_uhwi_p instead of
294 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
295
296 2020-07-31 Martin Sebor <msebor@redhat.com>
297
298 PR c++/96003
299 * c-common.c (check_function_arguments_recurse): Return early when
300 no-warning bit is set.
301
302 2020-07-31 Richard Biener <rguenther@suse.de>
303
304 PR debug/96383
305 * c-common.h (c_common_finalize_early_debug): Declare.
306 * c-common.c: Include debug.h.
307 (c_common_finalize_early_debug): finalize_early_debug langhook
308 implementation generating debug for extern declarations.
309
310 2020-07-27 Nathan Sidwell <nathan@acm.org>
311
312 * c-common.c (try_to_locate_new_include_insertion_point): Use
313 strcmp, not pointer equality.
314
315 2020-07-25 Martin Sebor <msebor@redhat.com>
316
317 PR c++/96310
318 * c-common.c (check_nonnull_arg): Print note only when warning was
319 issued.
320
321 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
322
323 * c-omp.c (c_finish_omp_critical): Check for no name but
324 nonzero hint provided.
325
326 2020-07-20 Jason Merrill <jason@redhat.com>
327
328 * c-cppbuiltin.c (c_cpp_builtins): Update
329 __cpp_nontype_template_args for C++20.
330
331 2020-07-20 Martin Sebor <msebor@redhat.com>
332
333 PR c/96249
334 * c.opt: Remove stray text.
335
336 2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
337
338 PR other/86904
339 * c-indentation.c (should_warn_for_misleading_indentation): Get
340 global tabstop from the new source.
341 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
342 is now a common option.
343 * c.opt: Likewise.
344
345 2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
346
347 * c.opt (Wscalar-storage-order): Add explicit variable.
348
349 2020-07-07 Nathan Sidwell <nathan@acm.org>
350
351 * c-opts.c (c_common_post_options): Add 'injecting' arg to
352 cpp_read_main_file.
353 (c_finish_options): Add linemap_line_start calls for builtin and cmd
354 maps. Force token position to line_table's highest line.
355 * c-ppoutput.c (print_line_1): Refactor, print line zero.
356 (cb_define): Always increment source line.
357
358 2020-07-06 Martin Sebor <msebor@redhat.com>
359
360 PR c++/95984
361 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
362 to stub lambda objects with null this pointer.
363 (check_nonnull_arg): Handle C++ nullptr.
364
365 2020-07-02 Jason Merrill <jason@redhat.com>
366 Jakub Jelinek <jakub@redhat.com>
367
368 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
369
370 2020-06-30 Jakub Jelinek <jakub@redhat.com>
371
372 PR c++/95963
373 * c-common.c (check_function_arguments_recurse): Don't crash on
374 calls to internal functions.
375
376 2020-06-28 Martin Sebor <msebor@redhat.com>
377
378 PR c++/86568
379 * c-common.c (struct nonnull_arg_ctx): Add members.
380 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
381 C++ member functions specially. Consider the this pointer implicitly
382 nonnull.
383 (check_nonnull_arg): Use location of argument when available.
384 (check_function_arguments): Use nonnull_arg_ctx as argument.
385
386 2020-06-27 Jakub Jelinek <jakub@redhat.com>
387
388 PR middle-end/95903
389 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
390 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
391 smaller precision intop operands separately.
392
393 2020-06-26 Marek Polacek <polacek@redhat.com>
394
395 * c-opts.c (c_common_init_options): Default to gnu++17.
396
397 2020-06-17 Jonathan Wakely <jwakely@redhat.com>
398
399 PR c/95378
400 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
401 pointer arguments.
402
403 2020-06-16 Jakub Jelinek <jakub@redhat.com>
404
405 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
406 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
407 idx members.
408 (c_omp_is_loop_iterator): New function.
409 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
410 if outer loop iterator is present. Perform duplicate checking through
411 hash_set in the function rather than expecting caller to do that.
412 Pass NULL instead of d->ppset to walk_tree_1.
413 (c_omp_check_nonrect_loop_iv): New function.
414 (c_omp_check_loop_iv): Use it. Fill in new members, allow
415 non-rectangular loop forms, diagnose multiple associated loops with
416 the same iterator. Pass NULL instead of &pset to walk_tree_1.
417 (c_omp_check_loop_iv_exprs): Likewise.
418
419 2020-06-10 Martin Liska <mliska@suse.cz>
420
421 PR tree-optimization/92860
422 * c-attribs.c (handle_optimize_attribute):
423 Save global options and compare it after parsing of function
424 attribute.
425 * c-pragma.c (opt_stack::saved_global_options): New field.
426 (handle_pragma_push_options): Save global_options.
427 (handle_pragma_pop_options): Compare them after pop.
428
429 2020-06-09 Jakub Jelinek <jakub@redhat.com>
430
431 PR c/95580
432 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
433 case when MEM_REF's first argument has type pointer to incomplete type.
434
435 2020-06-05 Jason Merrill <jason@redhat.com>
436
437 * c-pretty-print.c (pp_c_additive_expression): Handle negative
438 operand to POINTER_PLUS_EXPR.
439
440 2020-06-04 Martin Sebor <msebor@redhat.com>
441
442 PR middle-end/10138
443 PR middle-end/95136
444 * c-attribs.c (append_access_attrs): Handle attr_access::none.
445 (handle_access_attribute): Same.
446
447 2020-06-03 Mark Wielaard <mark@klomp.org>
448
449 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
450 New function.
451 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
452 New function declaration.
453
454 2020-06-03 Mark Wielaard <mark@klomp.org>
455
456 * known-headers.cc (get_string_macro_hint): New function.
457 (get_stdlib_header_for_name): Use get_string_macro_hint.
458 (get_c_stdlib_header_for_string_macro_name): New function.
459 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
460 New function declaration.
461
462 2020-06-03 Tobias Burnus <tobias@codesourcery.com>
463
464 * c-common.h (c_omp_predetermined_mapping): Declare.
465 * c-omp.c (c_omp_predetermined_mapping): New.
466
467 2020-05-22 Mark Wielaard <mark@klomp.org>
468
469 * known-headers.cc (get_stdlib_header_for_name): Add a new
470 stdlib_hint array for stdbool and stdint.
471
472 2020-05-22 Mark Wielaard <mark@klomp.org>
473
474 * known-headers.cc (get_stdlib_header_for_name): Return
475 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
476 flag_isoc99.
477
478 2020-05-20 Nathan Sidwell <nathan@acm.org>
479
480 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
481
482 * c-common.c (try_to_locate_new_include_insertion_point): Use
483 strcmp to compare filenames.
484 * c-lex.c (init_c_lex): Move declaration to initialization.
485 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
486 deferred count loop.
487
488 2020-05-15 Jason Merrill <jason@redhat.com>
489
490 * c-opts.c (set_std_cxx20): Set flag_coroutines.
491
492 2020-05-13 Jason Merrill <jason@redhat.com>
493
494 * c.opt (std=c++20): Make c++2a the alias.
495 (std=gnu++20): Likewise.
496 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
497 * c-opts.c: Adjust.
498 * c-cppbuiltin.c: Adjust.
499 * c-ubsan.c: Adjust.
500 * c-warn.c: Adjust.
501
502 2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
503
504 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
505
506 2020-05-08 Nathan Sidwell <nathan@acm.org>
507
508 Reimplement directives only processing.
509 * c-ppoutput.c (token_streamer): Ne.
510 (directives_only_cb): New. Swallow ...
511 (print_lines_directives_only): ... this.
512 (scan_translation_unit_directives_only): Reimplment using the
513 published interface.
514
515 2020-05-07 Marek Polacek <polacek@redhat.com>
516
517 * c-format.c (badwords): Add "nonstatic".
518
519 202-05-07 Jakub Jelinek <jakub@redhat.com>
520
521 PR c/94968
522 * c-common.c (speculation_safe_value_resolve_params): Return false if
523 error_operand_p (val2).
524 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
525 Remove extraneous semicolon.
526
527 2020-05-06 qing zhao <qing.zhao@oracle.com>
528
529 PR c/94230
530 * c-indentation.c (get_visual_column): Add a hint to use the new
531 -flarge-source-files option.
532
533 2020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
534
535 * c-attribs.c (handle_vector_size_attribute): Add attribute
536 nonnull for argument args in order to silence warning of
537 uninitialized variable usage. Since this is local to the
538 compilation unit and thus cannot be checked at call sides by the
539 compiler, added an assert statement in order to verify this.
540
541 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
542
543 PR target/93492
544 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
545 value to USHRT_MAX (65535).
546
547 2020-04-29 Jakub Jelinek <jakub@redhat.com>
548
549 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
550
551 2020-04-27 Jakub Jelinek <jakub@redhat.com>
552
553 PR c/94755
554 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
555 fncode == BUILT_IN_NONE before initialization of first_param.
556
557 2020-04-23 Marek Polacek <polacek@redhat.com>
558
559 PR c++/94733
560 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
561 TREE_PURPOSE.
562
563 2020-04-14 Patrick Palka <ppalka@redhat.com>
564
565 PR c++/85278
566 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
567 ampersand if it's an rvalue reference type.
568
569 2020-04-13 Martin Sebor <msebor@redhat.com>
570
571 PR c/92326
572 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
573 printing array bound for flexible array members.
574
575 2020-04-13 Iain Sandoe <iain@sandoe.co.uk>
576
577 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
578 define, per n4861.
579
580 2020-04-02 Richard Biener <rguenther@suse.de>
581
582 PR c/94392
583 * c-opts.c (c_common_post_options): Enable -ffinite-loops
584 for -O2 and C++11 or newer.
585
586 2020-03-28 Patrick Palka <ppalka@redhat.com>
587
588 * c.opt: Add -fconcepts-diagnostics-depth.
589
590 2020-03-27 Martin Sebor <msebor@redhat.com>
591
592 PR c++/94346
593 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
594 to decl_attributes. Make handling of different kinds of entities
595 more robust.
596
597 2020-03-27 Martin Sebor <msebor@redhat.com>
598
599 PR c++/94098
600 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
601 here.
602
603 2020-03-23 Jakub Jelinek <jakub@redhat.com>
604
605 PR c++/91993
606 * c-warn.c (warnings_for_convert_and_check): For expr and/or
607 result being COMPOUND_EXPRs, skip to ultimate rhs.
608
609 2020-03-20 Richard Sandiford <richard.sandiford@arm.com>
610
611 PR middle-end/94072
612 * c-common.c (c_common_type_for_mode): Before using a registered
613 built-in type, check that the vectorness of the type matches
614 the vectorness of the mode.
615
616 2020-03-17 Jakub Jelinek <jakub@redhat.com>
617
618 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
619 issue in a diagnostic message.
620
621 2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
622
623 * c.opt: Avoid redundancy in the help text.
624
625 2020-03-02 Marek Polacek <polacek@redhat.com>
626
627 PR c++/93958 - add missing -std=gnu++20.
628 * c.opt: Add -std=gnu++20.
629
630 2020-03-01 Martin Sebor <msebor@redhat.com>
631
632 PR c++/92721
633 * c-attribs.c (append_access_attrs): Correctly handle attribute.
634 (handle_access_attribute): Same.
635
636 2020-02-25 Jakub Jelinek <jakub@redhat.com>
637
638 PR c/93858
639 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
640 "did you mean" hint in diagnostics.
641
642 2020-02-15 Jason Merrill <jason@redhat.com>
643
644 * c.opt: Add -std=c++20.
645
646 2020-02-14 Eric Botcazou <ebotcazou@adacore.com>
647
648 * c-ada-spec.c: Include bitmap.h.
649 (dump_ada_double_name): Rename into...
650 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
651 (dump_ada_array_type): Adjust to above renaming. Robustify.
652 (dump_nested_types_1): New function copied from... Add dumped_types
653 parameter and pass it down to dump_nested_type.
654 (dump_nested_types): ...this. Remove parent parameter. Just call
655 dump_nested_types_1 on an automatic bitmap.
656 (dump_nested_type): Add dumped_types parameter.
657 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
658 Adjust recursive calls and adjust to above renaming.
659 (dump_ada_declaration): Adjust call to dump_nested_types.
660 Tidy up and adjust to above renaming.
661 (dump_ada_specs): Initialize and release bitmap obstack.
662
663 2020-02-10 Martin Sebor <msebor@redhat.com>
664
665 PR c/93640
666 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
667
668 2020-02-10 Jakub Jelinek <jakub@redhat.com>
669
670 PR other/93641
671 * c-format.c (check_plain): Fix up last argument of strncasecmp.
672 Remove useless extra test.
673
674 2020-02-03 Julian Brown <julian@codesourcery.com>
675 Tobias Burnus <tobias@codesourcery.com>
676
677 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
678
679 2020-01-29 Jason Merrill <jason@redhat.com>
680
681 PR c++/89357
682 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
683
684 2020-01-23 Jason Merrill <jason@redhat.com>
685
686 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
687
688 2020-01-23 Martin Sebor <msebor@redhat.com>
689
690 PR c/84919
691 * c-common.c (check_function_arguments): Avoid overlap checking
692 of sprintf functions.
693
694 2020-01-22 Jason Merrill <jason@redhat.com>
695
696 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
697 PR c++/40752
698 * c-warn.c (conversion_warning): Check operands only after checking
699 the whole expression. Don't check second operand of + for sign.
700
701 2020-01-21 Jason Merrill <jason@redhat.com>
702 Manuel López-Ibáñez <manu@gcc.gnu.org>
703
704 PR c++/40752 - useless -Wconversion with short +=.
705 * c.opt (-Warith-conversion): New.
706 * c-warn.c (conversion_warning): Recurse for operands of
707 operators. Only warn about the whole expression with
708 -Warith-conversion.
709
710 2020-01-21 Jason Merrill <jason@redhat.com>
711
712 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
713 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
714
715 2020-01-20 Nathan Sidwell <nathan@acm.org>
716
717 PR preprocessor/80005
718 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
719
720 2020-01-18 Iain Sandoe <iain@sandoe.co.uk>
721
722 * c-common.c (co_await, co_yield, co_return): New.
723 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
724 RID_CO_RETURN): New enumeration values.
725 (D_CXX_COROUTINES): Bit to identify coroutines are active.
726 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
727 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
728 * c.opt (fcoroutines): New command-line switch.
729
730 2020-01-10 David Malcolm <dmalcolm@redhat.com>
731
732 * c-format.c (local_event_ptr_node): New.
733 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
734 (init_dynamic_diag_info): Initialize local_event_ptr_node.
735 * c-format.h (T_EVENT_PTR): New define.
736
737 2020-01-10 Martin Sebor <msebor@redhat.com>
738
739 PR c/93132
740 * c-attribs.c (append_access_attrs): Validate against the translated
741 access string rather than the human-readable representation.
742
743 2020-01-01 Jakub Jelinek <jakub@redhat.com>
744
745 Update copyright years.
746
747 2019-12-20 Eric Botcazou <ebotcazou@adacore.com>
748
749 * c-ada-spec.h (decl_sloc): Delete.
750 * c-ada-spec.c (decl_sloc): Make static.
751
752 2019-12-19 Julian Brown <julian@codesourcery.com>
753
754 * c-common.h (c_omp_map_clause_name): Add prototype.
755 * c-omp.c (c_omp_map_clause_name): New function.
756 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
757 PRAGMA_OACC_CLAUSE_DETACH.
758
759 2019-12-19 Julian Brown <julian@codesourcery.com>
760 Maciej W. Rozycki <macro@codesourcery.com>
761 Tobias Burnus <tobias@codesourcery.com>
762 Thomas Schwinge <thomas@codesourcery.com>
763
764 * c-pragma.h (pragma_omp_clause): Add
765 PRAGMA_OACC_CLAUSE_NO_CREATE.
766
767 2019-12-17 Martin Sebor <msebor@redhat.com>
768
769 PR c++/61339
770 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
771
772 2019-12-11 David Malcolm <dmalcolm@redhat.com>
773
774 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
775 implementation.
776 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
777
778 2019-12-09 David Malcolm <dmalcolm@redhat.com>
779
780 * c-format.c (range_label_for_format_type_mismatch::get_text):
781 Replace label_text ctor called with true with label_text::take.
782
783 2019-12-09 David Malcolm <dmalcolm@redhat.com>
784
785 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
786 initial newline from expected outputs.
787 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
788 call to diagnostic_show_locus.
789
790 2019-12-06 Jakub Jelinek <jakub@redhat.com>
791
792 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
793 now.
794
795 2019-12-05 Marek Polacek <polacek@redhat.com>
796 Jakub Jelinek <jakub@redhat.com>
797
798 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
799 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
800
801 2019-12-05 Marek Polacek <polacek@redhat.com>
802
803 PR c++/92271 - make __is_same alias for __is_same_as.
804 * c-common.c: Add __is_same, an alias for __is_same_as.
805
806 2019-12-03 Marek Polacek <polacek@redhat.com>
807
808 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
809 * c-cppbuiltin.c (c_cpp_builtins): Predefine
810 __cpp_aggregate_paren_init=201902 for -std=c++2a.
811
812 2019-11-30 Jan Hubicka <hubicka@ucw.cz>
813
814 * c-attribs.c (handle_symver_attribute): New function
815 (c_common_attributes): Add symver.
816
817 2019-11-30 Richard Sandiford <richard.sandiford@arm.com>
818
819 * c-common.c (pointer_int_sum): Use verify_type_context to check
820 whether the target allows pointer arithmetic for the types involved.
821 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
822 to check whether the target allows sizeof and alignof operations
823 for the types involved.
824
825 2019-11-27 Jason Merrill <jason@redhat.com>
826
827 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
828
829 2019-11-26 Jakub Jelinek <jakub@redhat.com>
830
831 PR c++/61414
832 * c-attribs.c (handle_mode_attribute): Add mode attribute to
833 ENUMERAL_TYPEs.
834
835 2019-11-25 Joseph Myers <joseph@codesourcery.com>
836
837 PR c/91985
838 * c-common.c (c_common_type_for_mode): Handle decimal
839 floating-point types being NULL_TREE.
840 * c-format.c (get_format_for_type_1): Handle specified types being
841 NULL_TREE.
842 * c-lex.c (interpret_float): Give an error for decimal
843 floating-point constants when decimal floating-point not
844 supported.
845
846 2019-11-23 Jakub Jelinek <jakub@redhat.com>
847
848 PR middle-end/83859
849 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
850 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
851 group warning with inform together.
852 (handle_access_attribute): Formatting fix.
853
854 2019-11-22 Jakub Jelinek <jakub@redhat.com>
855
856 PR c/90677
857 * c-common.h (identifier_global_tag): Declare.
858 * c-format.c (get_pointer_to_named_type): Renamed to ...
859 (get_named_type): ... this. Use identifier_global_tag instead of
860 identifier_global_value, handle the return value being a TYPE_P.
861 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
862 to call get_named_type instead. Formatting fixes.
863
864 Implement P1902R1, Missing feature-test macros 2017-2019.
865 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
866 and __cpp_generic_lambdas for -std=c++2a. Define
867 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
868 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
869 __cpp_concepts for -std=c++2a.
870
871 2019-11-22 Martin Sebor <msebor@redhat.com>
872
873 PR middle-end/83859
874 * c-attribs.c (handle_access_attribute): New function.
875 (c_common_attribute_table): Add new attribute.
876 (get_argument_type): New function.
877 (append_access_attrs): New function.
878 (get_nonnull_operand): Rename...
879 (get_attribute_operand): ...to this.
880 * c-common.c (get_nonnull_operand): Rename...
881 (get_attribute_operand): ...to this.
882
883 2019-11-21 Joseph Myers <joseph@codesourcery.com>
884
885 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
886 of warning.
887
888 2019-11-19 Joseph Myers <joseph@codesourcery.com>
889
890 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
891 warning for standard attributes mixed with fallthrough attributes.
892
893 2019-11-15 Joseph Myers <joseph@codesourcery.com>
894
895 * c-attribs.c (handle_fallthrough_attribute): Remove static.
896 * c-common.h (handle_fallthrough_attribute): Declare.
897
898 2019-11-15 Joseph Myers <joseph@codesourcery.com>
899
900 * c-attribs.c (handle_deprecated_attribute): Remove static.
901 * c-common.h (handle_deprecated_attribute): Declare.
902
903 2019-11-14 Joseph Myers <joseph@codesourcery.com>
904
905 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
906 char for C.
907
908 2019-11-14 Jakub Jelinek <jakub@redhat.com>
909
910 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
911 valid vendors.
912
913 * c-omp.c (c_omp_check_context_selector): Handle name lists
914 containing string literals. Don't diagnose atomic_default_mem_order
915 with multiple props.
916
917 2019-11-13 Joseph Myers <joseph@codesourcery.com>
918
919 * c-cppbuiltin.c (builtin_define_float_constants): Also define
920 NORM_MAX constants. Update call to get_max_float.
921 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
922 constants.
923
924 2019-11-13 Eric Botcazou <ebotcazou@adacore.com>
925
926 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
927 (dump_forward_type): Do not generate a declaration for function types.
928 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
929 of the component type if it is declared in another file.
930
931 2019-11-12 Martin Liska <mliska@suse.cz>
932
933 * c-opts.c (c_common_post_options):
934 Use SET_OPTION_IF_UNSET.
935
936 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
937 Frederik Harwath <frederik@codesourcery.com>
938
939 gcc/c-family/
940 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
941 constant.
942 * c-pragma.c (oacc_pragmas): Add "serial" entry.
943
944 2019-11-08 Richard Sandiford <richard.sandiford@arm.com>
945
946 * c-common.h (gnu_vector_type_p): New function.
947 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
948 vectors to satisfy gnu_vector_type_p.
949 (c_build_vec_convert): Likewise __builtin_convertvector.
950 (convert_vector_to_array_for_subscript): Likewise when applying
951 implicit vector to array conversion.
952 (scalar_to_vector): Likewise when converting vector-scalar
953 operations to vector-vector operations.
954
955 2019-11-08 Joseph Myers <joseph@codesourcery.com>
956
957 * c.opt (Wold-style-definition): Initialize to -1.
958 * c-opts.c (c_common_post_options): Set warn_old_style_definition
959 to flag_isoc2x if not set explicitly.
960
961 2019-11-07 Joseph Myers <joseph@codesourcery.com>
962
963 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
964
965 2019-11-05 Jason Merrill <jason@redhat.com>
966
967 * c-opts.c (c_common_post_options): -fconcepts-ts implies
968 -fconcepts.
969
970 2019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
971
972 * c-opts.c (c_common_post_options): Update
973 latest_abi_version.
974
975 2019-11-02 Jakub Jelinek <jakub@redhat.com>
976
977 * c-common.h (c_omp_get_context_selector): Remove.
978 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
979 and renamed to omp_get_context_selector.
980
981 * c-omp.c (c_omp_mark_declare_variant): Use
982 omp_context_selector_set_compare.
983
984 PR c++/88335 - Implement P1073R3: Immediate functions
985 * c-common.h (enum rid): Add RID_CONSTEVAL.
986 * c-common.c (c_common_reswords): Add consteval.
987
988 2019-11-01 Martin Sebor <msebor@redhat.com>
989
990 PR middle-end/91679
991 PR middle-end/91647
992 PR middle-end/91463
993 PR middle-end/92312
994 * c-pretty-print.c (direct_abstract_declarator): Print
995 bound in zero-length arrays.
996 * c.opt (-Wzero-length-bounds): New option.
997
998 2019-10-30 Nathan Sidwell <nathan@acm.org>
999
1000 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
1001 macros.
1002
1003 2019-10-28 Martin Sebor <msebor@redhat.com>
1004
1005 PR c/66970
1006 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
1007 even when only preprocessing.
1008 * c-common.h (names_builtin_p): Declare new function.
1009 * c-lex.c (init_c_lex): Set has_builtin.
1010 (c_common_has_builtin): Define a new function.
1011 * c-ppoutput.c (init_pp_output): Set has_builtin.
1012
1013 2019-10-24 Jakub Jelinek <jakub@redhat.com>
1014
1015 * c-common.h (c_omp_context_selector_matches): Remove.
1016 * c-omp.c (c_omp_context_selector_matches): Remove.
1017 * c-attribs.c (c_common_attribute_table): Add
1018 "omp declare target {host,nohost,block}" attributes.
1019
1020 2019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
1021
1022 * c-lex.c (c_common_has_attribute): Update nodiscard value.
1023
1024 2019-10-14 Richard Sandiford <richard.sandiford@arm.com>
1025
1026 * c-common.h (user_facing_original_type_p): Declare.
1027 * c-common.c: Include c-spellcheck.h.
1028 (user_facing_original_type_p): New function.
1029
1030 2019-10-12 Jakub Jelinek <jakub@redhat.com>
1031
1032 * c-common.h (c_omp_mark_declare_variant,
1033 c_omp_context_selector_matches): Declare.
1034 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
1035 and hsa-common.h.
1036 (c_omp_get_context_selector): Support second argument NULL.
1037 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
1038 functions.
1039 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
1040 attribute, add "omp declare variant base" and
1041 "omp declare variant variant" attributes.
1042
1043 2019-10-11 Joseph Myers <joseph@codesourcery.com>
1044
1045 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
1046 CppReason(CPP_W_C11_C2X_COMPAT).
1047
1048 2019-10-11 Joseph Myers <joseph@codesourcery.com>
1049
1050 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
1051 _Decimal64 and _Decimal128.
1052
1053 2019-10-10 Joseph Myers <joseph@codesourcery.com>
1054
1055 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
1056 types if DFP not supported.
1057
1058 2019-10-10 Jakub Jelinek <jakub@redhat.com>
1059
1060 * c-common.h (c_omp_check_context_selector,
1061 c_omp_get_context_selector): Declare.
1062 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
1063 in diagnostic message.
1064 (c_omp_check_context_selector, c_omp_get_context_selector): New
1065 functions.
1066 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
1067 attribute.
1068 (handle_omp_declare_variant_attribute): New function.
1069
1070 2019-10-09 Martin Sebor <msebor@redhat.com>
1071
1072 PR tree-optimization/90879
1073 * c.opt (-Wstring-compare): New option.
1074
1075 2019-10-08 Andrew Sutton <asutton@lock3software.com>
1076 Jason Merrill <jason@redhat.com>
1077
1078 Update the concepts implementation to conform to the C++20
1079 specification, improve compile times, and generally clean up
1080 the implementation.
1081
1082 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
1083 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
1084 * c.opt: Add -Wconcepts-ts.
1085 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
1086 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
1087 (set_std_cxx2a): Enable concepts by default.
1088
1089 2019-10-08 Joseph Myers <joseph@codesourcery.com>
1090
1091 * c-opts.c (c_common_post_options): Set
1092 -fno-fp-int-builtin-inexact for C2X.
1093
1094 2019-10-05 Jakub Jelinek <jakub@redhat.com>
1095
1096 PR c++/91369 - Implement P0784R7: constexpr new
1097 * c-cppbuiltin.c (c_cpp_builtins): Predefine
1098 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
1099
1100 2019-10-04 Joseph Myers <joseph@codesourcery.com>
1101
1102 PR c/82752
1103 * c-format.c (C_STD_VER): Handle C2x.
1104 (C_STD_NAME): Likewise.
1105 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
1106 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
1107 modifier allowed and 'p' flag.
1108 * c-format.h (enum format_std_version): Add STD_C2X.
1109 (struct format_char_info): Mention 'p' in comment on flags2.
1110
1111 2019-10-01 David Malcolm <dmalcolm@redhat.com>
1112
1113 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
1114 calling diagnostic_show_locus, rather than destroying it afterwards.
1115
1116 2019-10-01 Jakub Jelinek <jakub@redhat.com>
1117
1118 PR c++/91925
1119 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
1120 with NULL DECL_FIELD_OFFSET.
1121
1122 2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
1123
1124 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
1125 has a type name, use it in preference to the __vector syntax.
1126
1127 2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
1128
1129 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
1130 two spaces between a comma and "...".
1131
1132 2019-09-27 Jakub Jelinek <jakub@redhat.com>
1133
1134 PR c++/88203
1135 * c-common.h (c_omp_predefined_variable): Declare.
1136 * c-omp.c (c_omp_predefined_variable): New function.
1137 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
1138 for predefined variables.
1139
1140 2019-09-27 Richard Sandiford <richard.sandiford@arm.com>
1141
1142 * c-common.h (build_function_call_vec): Take the original
1143 function decl as an optional final parameter.
1144 (check_builtin_function_arguments): Take the original function decl.
1145 * c-common.c (check_builtin_function_arguments): Likewise.
1146 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
1147 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
1148
1149 2019-09-15 Jason Merrill <jason@redhat.com>
1150
1151 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
1152 fold_for_warn in "|| mask" warning.
1153
1154 2019-09-10 Martin Liska <mliska@suse.cz>
1155
1156 * c.opt: Use newly added WarnRemoved.
1157
1158 2019-09-09 Martin Liska <mliska@suse.cz>
1159
1160 * c.opt: Update comment of removed
1161 options that are preserved only for backward
1162 compatibility.
1163
1164 2019-09-06 Martin Liska <mliska@suse.cz>
1165
1166 PR c++/91125
1167 * c-common.c: Remove definition of flag_use_repository.
1168 * c-common.h: Likewise.
1169 * c-opts.c (c_common_handle_option):
1170 Do not handle OPT_frepo option.
1171 * c.opt: Mark the option with Deprecated.
1172
1173 2019-09-04 Marek Polacek <polacek@redhat.com>
1174
1175 * c.opt (fdeduce-init-list): Ignored.
1176
1177 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1178
1179 PR c/78736
1180 * c.opt (Wenum-conversion): New option.
1181
1182 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1183
1184 * c-attribs.c (handle_section_attribute): Call the
1185 handle_generic_attribute target hook after performing target
1186 independent processing.
1187 (handle_noinit_attribute): Likewise.
1188
1189 2019-09-03 Ian Lance Taylor <iant@golang.org>
1190
1191 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
1192 when using -fgo-dump-spec.
1193
1194 2019-09-02 Martin Liska <mliska@suse.cz>
1195
1196 PR c++/91155
1197 * c-common.c (fname_as_string): Use cxx_printable_name for
1198 __PRETTY_FUNCTION__ same as was used before r265711.
1199
1200 2019-08-28 Marek Polacek <polacek@redhat.com>
1201
1202 Implement P1152R4: Deprecating some uses of volatile.
1203 PR c++/91361
1204 * c-opts.c (c_common_post_options): Enable -Wvolatile by
1205 default for C++2a, unless -Wno-deprecated.
1206 * c.opt (Wvolatile): New warning.
1207
1208 2019-08-28 Marek Polacek <polacek@redhat.com>
1209
1210 PR c++/91360 - Implement C++20 P1143R2: constinit.
1211 * c-common.c (c_common_reswords): Add constinit and __constinit.
1212 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
1213 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
1214 RID_LAST_CXX20.
1215 (D_CXX20): Define.
1216 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
1217 * c-format.c (cxx_keywords): Add "constinit".
1218 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
1219
1220 2019-08-27 Jakub Jelinek <jakub@redhat.com>
1221
1222 PR c++/91415
1223 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
1224 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
1225 like COMPOUND_EXPR rather than normal expression.
1226
1227 2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
1228
1229 PR pch/61250
1230 * c-lex.c (c_lex_with_flags): Don't call
1231 c_common_no_more_pch () from here.
1232
1233 2019-08-23 Jakub Jelinek <jakub@redhat.com>
1234
1235 PR middle-end/91283
1236 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
1237 instead of flag_excess_precision_cmdline.
1238 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
1239 * c-opts.c (c_common_post_options): Likewise.
1240
1241 2019-08-22 Martin Sebor <msebor@redhat.com>
1242
1243 PR middle-end/91490
1244 * c-common.c (braced_list_to_string): Add argument and overload.
1245 Handle flexible length arrays and unions.
1246
1247 2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
1248
1249 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
1250 function declarations where arguments are missing. Rename variables.
1251
1252 2019-08-15 Richard Biener <rguenther@suse.de>
1253
1254 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
1255 enabled, define __SIZETYPE__.
1256
1257 2019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
1258
1259 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
1260 exclusion with "section" attribute.
1261 (attr_noinit_exclusions): New table.
1262 (handle_noinit_attribute): New function.
1263
1264 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
1265
1266 PR middle-end/91421
1267 * c-common.c (resolve_overloaded_builtin): Use
1268 copy_decl_built_in_function.
1269
1270 2019-08-13 Martin Sebor <msebor@redhat.com>
1271
1272 PR c/80619
1273 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
1274 (asm_fprintf_length_spec): Same.
1275 * c-format.h (format_lengths): Add FMT_LEN_w.
1276
1277 2019-08-10 Jakub Jelinek <jakub@redhat.com>
1278
1279 * c-pragma.h (enum pragma_omp_clause): Add
1280 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
1281
1282 2019-08-07 Jakub Jelinek <jakub@redhat.com>
1283
1284 * c-pragma.h (enum pragma_omp_clause): Add
1285 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
1286 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
1287 enumeration value.
1288
1289 2019-08-05 Marek Polacek <polacek@redhat.com>
1290
1291 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
1292 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
1293 default for C++2a, unless -Wno-deprecated.
1294 * c.opt (Wcomma-subscript): New warning.
1295
1296 2019-07-20 Jakub Jelinek <jakub@redhat.com>
1297
1298 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
1299 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
1300 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
1301 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
1302 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
1303 constructs with the loop construct.
1304
1305 2019-07-13 Jakub Jelinek <jakub@redhat.com>
1306
1307 PR c/91149
1308 * c-omp.c (c_omp_split_clauses): Fix a pasto in
1309 OMP_CLAUSE_REDUCTION_TASK handling.
1310
1311 2019-07-12 Jakub Jelinek <jakub@redhat.com>
1312
1313 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
1314 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
1315
1316 2019-07-09 Martin Sebor <msebor@redhat.com>
1317
1318 PR c++/61339
1319 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
1320 and others to class.
1321 * c-pretty-print.h: Same.
1322
1323 2019-07-09 Martin Sebor <msebor@redhat.com>
1324
1325 PR c++/61339
1326 * c-format.c (check_argument_type): Change class-key from class to
1327 struct and vice versa to match convention and avoid -Wclass-is-pod
1328 and -Wstruct-no-pod.
1329 * c-pretty-print.h: Same.
1330
1331 2019-07-03 Martin Liska <mliska@suse.cz>
1332
1333 * c-common.c (try_to_locate_new_include_insertion_point): Remove
1334 dead assignemts.
1335
1336 2019-07-03 Jakub Jelinek <jakub@redhat.com>
1337
1338 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
1339 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
1340 with OMP_PARALLEL.
1341
1342 2019-07-02 qing zhao <qing.zhao@oracle.com>
1343
1344 PR preprocessor/90581
1345 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
1346 * c.opt: Add new option -fmax-include-depth.
1347
1348 2019-06-26 Jason Merrill <jason@redhat.com>
1349
1350 PR c++/55442 - memory-hog with highly recursive constexpr.
1351 * c.opt (fconstexpr-loop-limit): New.
1352
1353 2019-06-25 Jakub Jelinek <jakub@redhat.com>
1354
1355 PR sanitizer/90954
1356 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
1357 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
1358
1359 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1360
1361 * c-common.c (c_common_nodes_and_builtins): Define
1362 alternate "__intN__" name for "__intN" types.
1363
1364 2019-06-24 Jan Hubicka <jh@suse.cz>
1365
1366 * c-common.c (braced_lists_to_strings): Check that
1367 type is array or integer prior checking string flag.
1368
1369 2019-06-21 Matthew Beliveau <mbelivea@redhat.com>
1370
1371 PR c++/90875 - added -Wswitch-outside-range option
1372 * c.opt (Wswitch-outside-range): Added new option.
1373 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
1374
1375 2019-06-21 Marek Polacek <polacek@redhat.com>
1376
1377 PR c++/90953 - ICE with -Wmissing-format-attribute.
1378 * c-common.c (check_function_arguments_recurse): Use
1379 get_attribute_name.
1380 (check_missing_format_attribute): Likewise.
1381
1382 2019-06-19 Marek Polacek <polacek@redhat.com>
1383
1384 PR c++/60364 - noreturn after first decl not diagnosed.
1385 * c-attribs.c (handle_noreturn_attribute): No longer static.
1386 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
1387 Declare.
1388 * c-format.c (check_function_format): Use get_attribute_name.
1389
1390 2019-06-19 Martin Sebor <msebor@redhat.com>
1391
1392 PR translation/90156
1393 * c-format.c (function_format_info::format_type): Adjust type.
1394 (function_format_info::is_raw): New member.
1395 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
1396 (decode_format_attr): Adjust call to decode_format_type.
1397 Avoid a redundant call to convert_format_name_to_system_name.
1398 Avoid abbreviating the word "arguments" in a diagnostic.
1399 (format_warning_substr): New function.
1400 (avoid_dollar_number): Quote dollar sign in a diagnostic.
1401 (finish_dollar_format_checking): Same.
1402 (check_format_info): Same.
1403 (struct baltoks_t): New.
1404 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
1405 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
1406 functions.
1407 (check_format_info_main): Call check_plain. Use baltoks_t. Call
1408 maybe_diag_unbalanced_tokens.
1409 (handle_format_attribute): Spell out the word "arguments" in
1410 a diagnostic.
1411
1412 2019-06-11 Matthew Beliveau <mbelivea@redhat.com>
1413
1414 PR c++/90449 - add -Winaccessible-base option.
1415 * c.opt (Winaccessible-base): New option.
1416
1417 2019-06-10 Jakub Jelinek <jakub@redhat.com>
1418
1419 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
1420 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
1421 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
1422 combined/composite constructs where it is not allowed. Copy over
1423 OMP_CLAUSE_REDUCTION_INSCAN.
1424
1425 2019-06-05 Martin Sebor <msebor@redhat.com>
1426
1427 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
1428 (handle_alias_ifunc_attribute): Same.
1429 (handle_copy_attribute): Same.
1430 (handle_weakref_attribute): Same.
1431 (handle_nonnull_attribute): Same.
1432 * c-warn.c (warn_for_sign_compare): Same.
1433 (warn_for_restrict): Same.
1434 * c.opt: Same.
1435
1436 2019-06-05 Martin Sebor <msebor@redhat.com>
1437
1438 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
1439 * c.opt (-Wformat-diag): Remove a spurious period.
1440
1441 2019-05-29 Jakub Jelinek <jakub@redhat.com>
1442
1443 PR c/90628
1444 * c-common.c (check_builtin_function_arguments)
1445 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
1446 as last argument.
1447
1448 2019-05-23 Eric Botcazou <ebotcazou@adacore.com>
1449
1450 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
1451
1452 2019-05-22 Martin Liska <mliska@suse.cz>
1453
1454 PR lto/90500
1455 * c-attribs.c (handle_copy_attribute): Do not copy
1456 target_clones attribute.
1457
1458 2019-05-21 Eric Botcazou <ebotcazou@adacore.com>
1459
1460 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
1461 * c-ada-spec.c (print_assignment_operator): New function.
1462 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
1463 assignment operators declared as methods and filter out the others.
1464
1465 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1466
1467 PR c/89433
1468 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
1469 "omp declare target".
1470
1471 2019-05-16 Martin Sebor <msebor@redhat.com>
1472
1473 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
1474 keywords, operators, and types in diagnostics.
1475 (handle_scalar_storage_order_attribute): Same.
1476 (handle_mode_attribute): Same.
1477 (handle_visibility_attribute): Same.
1478 (handle_assume_aligned_attribute): Same.
1479 (handle_no_split_stack_attribute): Same.
1480 * c-common.c (shorten_compare): Same.
1481 (c_common_truthvalue_conversion): Same.
1482 (cb_get_source_date_epoch): Same.
1483 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
1484 in diagnostics.
1485 (interpret_float): Same.
1486 * c-omp.c (c_finish_omp_for): Same.
1487 * c-opts.c (c_common_post_options): Same.
1488 * c-pch.c (c_common_pch_pragma): Same.
1489 * c-pragma.c (pop_alignment): Same.
1490 (handle_pragma_pack): Same.
1491 (apply_pragma_weak): Same.
1492 (handle_pragma_weak): Same.
1493 (handle_pragma_scalar_storage_order): Same.
1494 (handle_pragma_redefine_extname): Same.
1495 (add_to_renaming_pragma_list): Same.
1496 (maybe_apply_renaming_pragma): Same.
1497 (push_visibility): Same.
1498 (handle_pragma_visibility): Same.
1499 (handle_pragma_optimize): Same.
1500 (handle_pragma_message): Same.
1501 * c-warn.c (warn_for_omitted_condop): Same.
1502 (lvalue_error): Same.
1503
1504 2019-05-15 Richard Biener <rguenther@suse.de>
1505
1506 PR c/90474
1507 * c-common.c (c_common_mark_addressable_vec): Also mark
1508 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
1509 c_mark_addressable.
1510
1511 2019-05-06 Nathan Sidwell <nathan@acm.org>
1512
1513 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
1514
1515 2019-04-30 Nathan Sidwell <nathan@acm.org>
1516
1517 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
1518
1519 2019-04-30 Martin Liska <mliska@suse.cz>
1520
1521 * c-pragma.c (handle_pragma_diagnostic): Provide hints
1522 for unknown options.
1523
1524 2019-04-26 Richard Sandiford <richard.sandiford@arm.com>
1525
1526 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
1527 the pointer target rather than the pointer itself.
1528
1529 2019-04-19 Jakub Jelinek <jakub@redhat.com>
1530
1531 PR c/89888
1532 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
1533 arguments.
1534 (c_do_switch_warnings): Remove outside_range_p argument.
1535 * c-common.c (check_case_bounds): Removed.
1536 (c_add_case_label): Remove orig_type and outside_range_p arguments.
1537 Don't call check_case_bounds. Fold low_value as well as high_value.
1538 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
1539 Check for case labels outside of range of original type here and
1540 adjust them.
1541
1542 2019-04-12 Jakub Jelinek <jakub@redhat.com>
1543
1544 PR translation/90041
1545 * c.opt (-fhandle-exceptions): Use %< and %> around option names
1546 in the Warn diagnostics.
1547
1548 PR c/89946
1549 * c-attribs.c (handle_patchable_function_entry_attribute): Add
1550 function comment. Warn if arguments of the attribute are not positive
1551 integer constants.
1552
1553 2019-04-09 Eric Botcazou <ebotcazou@adacore.com>
1554
1555 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
1556 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
1557
1558 2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
1559
1560 * c-ada-spec.c (is_float128): New predicate extracted from...
1561 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
1562 <REAL_TYPE>: ...here. Call it.
1563
1564 2019-04-05 David Malcolm <dmalcolm@redhat.com>
1565
1566 PR c/89985
1567 * c-warn.c (check_address_or_pointer_of_packed_member): Add
1568 auto_diagnostic_group. Guard inform calls by result of
1569 warning_at call.
1570
1571 2019-04-05 Marek Polacek <polacek@redhat.com>
1572
1573 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
1574 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
1575 of RHS.
1576
1577 2019-04-03 Jason Merrill <jason@redhat.com>
1578
1579 PR c++/86586 - -fcompare-debug=-Wsign-compare.
1580 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
1581
1582 2019-04-01 Martin Sebor <msebor@redhat.com>
1583
1584 PR c/89685
1585 * c-attribs.c (handle_copy_attribute): Handle references and
1586 non-constant expressions.
1587
1588 2019-03-22 Jakub Jelinek <jakub@redhat.com>
1589
1590 PR c++/87481
1591 * c.opt (-fconstexpr-ops-limit=): New option.
1592
1593 2019-03-21 Jakub Jelinek <jakub@redhat.com>
1594
1595 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
1596 template param.
1597
1598 2019-03-19 Martin Sebor <msebor@redhat.com>
1599
1600 PR tree-optimization/89688
1601 * c-common.c (braced_list_to_string): Make static.
1602 (braced_lists_to_strings): Define new function.
1603 * c-common.h (braced_list_to_string): Remove.
1604 (braced_lists_to_strings): Declare.
1605
1606 2019-03-12 Martin Liska <mliska@suse.cz>
1607
1608 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
1609
1610 2019-03-11 Martin Liska <mliska@suse.cz>
1611
1612 * c-opts.c (c_common_post_options): Wrap apostrophes
1613 in gcc internal format with %'.
1614
1615 2019-03-11 Martin Liska <mliska@suse.cz>
1616
1617 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
1618 in a string format message and fix GNU coding style.
1619 * c-common.c (vector_types_convertible_p): Likewise.
1620 (c_build_vec_perm_expr): Likewise.
1621 * c-indentation.c (get_visual_column): Likewise.
1622 * c-opts.c (c_common_handle_option): Likewise.
1623 (c_common_post_options): Likewise.
1624 (sanitize_cpp_opts): Likewise.
1625 * c-pch.c (c_common_pch_pragma): Likewise.
1626 * c-pragma.c (handle_pragma_pack): Likewise.
1627
1628 2019-03-08 Jakub Jelinek <jakub@redhat.com>
1629
1630 PR tree-optimization/89550
1631 * c-common.c (c_common_truthvalue_conversion): Only set
1632 TREE_NO_WARNING if warning_at returned true.
1633 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
1634
1635 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
1636 Martin Sebor <msebor@gmail.com>
1637
1638 * c.opt (Wmissing-attributes): Clean up doc string.
1639
1640 2019-02-25 Jakub Jelinek <jakub@redhat.com>
1641
1642 PR c/89495
1643 * c-format.c (maybe_read_dollar_number): Compute nargnum in
1644 HOST_WIDE_INT type to avoid overflows and change overflow_flag
1645 checking.
1646
1647 2019-02-22 Richard Biener <rguenther@suse.de>
1648
1649 * c-pch.c (no_checksum): Remove.
1650 (pch_init): Remove assertion that executable_checksum is not
1651 all zero.
1652 (c_common_valid_pch): Likewise.
1653
1654 2019-02-18 Martin Sebor <msebor@redhat.com>
1655
1656 PR middle-end/89294
1657 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
1658
1659 2019-02-16 David Malcolm <dmalcolm@redhat.com>
1660
1661 PR c++/88680
1662 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
1663 implementing -Wtype-limits.
1664
1665 2019-02-11 Martin Sebor <msebor@redhat.com>
1666
1667 PR c++/87996
1668 * c-common.c (invalid_array_size_error): New function.
1669 (valid_array_size_p): Call it. Handle size as well as type.
1670 * c-common.h (valid_constant_size_p): New function.
1671 (enum cst_size_error): New type.
1672
1673 2019-01-31 David Malcolm <dmalcolm@redhat.com>
1674
1675 PR c/89122
1676 * known-headers.cc (get_stdlib_header_for_name): Add
1677 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
1678
1679 2019-01-31 Jakub Jelinek <jakub@redhat.com>
1680
1681 PR libstdc++/88170
1682 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
1683 a C cast in pp_c_flag_gnu_v3 mode.
1684
1685 2019-01-29 Jakub Jelinek <jakub@redhat.com>
1686
1687 PR c/86125
1688 * c-common.c (c_common_nodes_and_builtins): Build type variants for
1689 builtin_structptr_types types even for C.
1690
1691 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1692
1693 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
1694 when rhs is of array type correctly. Fix handling of nested structures.
1695 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
1696 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
1697 type casts within nested compound expressions.
1698
1699 2019-01-22 Jakub Jelinek <jakub@redhat.com>
1700
1701 PR middle-end/88968
1702 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
1703 variable after using BIT_FIELD_REF.
1704
1705 2019-01-18 H.J. Lu <hongjiu.lu@intel.com>
1706
1707 PR c/51628
1708 PR c/88664
1709 * c-common.h (warn_for_address_or_pointer_of_packed_member):
1710 Remove the boolean argument.
1711 * c-warn.c (check_address_of_packed_member): Renamed to ...
1712 (check_address_or_pointer_of_packed_member): This. Also
1713 warn pointer conversion.
1714 (check_and_warn_address_of_packed_member): Renamed to ...
1715 (check_and_warn_address_or_pointer_of_packed_member): This.
1716 Also warn pointer conversion.
1717 (warn_for_address_or_pointer_of_packed_member): Remove the
1718 boolean argument. Don't check pointer conversion here.
1719
1720 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
1721
1722 PR inline-asm/52813
1723 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
1724
1725 2019-01-14 Jakub Jelinek <jakub@redhat.com>
1726
1727 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
1728 and __cpp_nontype_template_parameter_auto. Add a comment that
1729 __cpp_template_auto is deprecated.
1730
1731 2019-01-14 Tom Honermann <tom@honermann.net>
1732
1733 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
1734 * c-common.c (c_common_reswords): Add char8_t.
1735 (fix_string_type): Use char8_t for the type of u8 string literals.
1736 (c_common_get_alias_set): char8_t doesn't alias.
1737 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
1738 C++.
1739 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
1740 (keyword_begins_type_specifier): Add RID_CHAR8.
1741 * c-common.h (rid): Add RID_CHAR8.
1742 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
1743 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
1744 Define char8_type_node and char8_array_type_node.
1745 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
1746 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
1747 (c_cpp_builtins): Predefine __cpp_char8_t.
1748 * c-lex.c (lex_string): Use char8_array_type_node as the type of
1749 CPP_UTF8STRING.
1750 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
1751 * c-opts.c: If not otherwise specified, enable -fchar8_t when
1752 targeting C++2a.
1753 * c.opt: Add the -fchar8_t command line option.
1754
1755 2019-01-14 Martin Sebor <msebor@redhat.com>
1756
1757 PR target/88638
1758 * c-attribs.c (positional_argument): Call valid_format_string_type_p
1759 and issue errors if it fails.
1760 * c-common.h (valid_format_string_type_p): Declare.
1761 * c-format.c (valid_stringptr_type_p): Rename...
1762 (valid_format_string_type_p): ...to this and make extern.
1763 (handle_format_arg_attribute): Adjust to new name.
1764 (check_format_string): Same.
1765
1766 2019-01-13 H.J. Lu <hongjiu.lu@intel.com>
1767
1768 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
1769 Replace "may may" with "may" in warning message.
1770
1771 2019-01-07 Jakub Jelinek <jakub@redhat.com>
1772
1773 PR c++/85052
1774 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
1775 (c_build_vec_convert): Declare.
1776 * c-common.c (c_build_vec_convert): New function.
1777
1778 2019-01-04 Martin Sebor <msebor@redhat.com>
1779
1780 PR c/88546
1781 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
1782 Handle C++ empty throw specification and C11 _Noreturn.
1783 (has_attribute): Also handle C11 _Noreturn.
1784
1785 2019-01-04 Martin Sebor <msebor@redhat.com>
1786
1787 PR c/88363
1788 * c-attribs.c (positional_argument): Also accept enumerated types.
1789
1790 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1791
1792 Update copyright years.
1793
1794 2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1795
1796 PR c/51628
1797 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
1798 * c-warn.c (check_alignment_of_packed_member): New function.
1799 (check_address_of_packed_member): Likewise.
1800 (check_and_warn_address_of_packed_member): Likewise.
1801 (warn_for_address_or_pointer_of_packed_member): Likewise.
1802 * c.opt: Add -Wno-address-of-packed-member.
1803
1804 2018-12-20 David Malcolm <dmalcolm@redhat.com>
1805
1806 PR c++/87504
1807 * c-warn.c (get_outermost_macro_expansion): New function.
1808 (spelled_the_same_p): Use it to unwind the macro expansions, and
1809 compare the outermost macro in each nested expansion, rather than
1810 the innermost.
1811
1812 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1813
1814 PR c++/87504
1815 * c-common.h (warn_tautological_cmp): Convert 1st param from
1816 location_t to const op_location_t &.
1817 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1818 when testing for INTEGER_CST.
1819 (warn_tautological_bitwise_comparison): Convert 1st param from
1820 location_t to const op_location_t &; use it to build a
1821 binary_op_rich_location, and use this.
1822 (spelled_the_same_p): New function.
1823 (warn_tautological_cmp): Convert 1st param from location_t to
1824 const op_location_t &. Warn for macro expansions if
1825 spelled_the_same_p. Use binary_op_rich_location.
1826
1827 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1828
1829 PR c++/43064
1830 PR c++/43486
1831 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1832 (verify_tree): Handle location wrappers.
1833 (c_common_truthvalue_conversion): Strip any location wrapper.
1834 Handle CONST_DECL.
1835 (fold_offsetof): Strip any location wrapper.
1836 (complete_array_type): Likewise for initial_value.
1837 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1838 index before checking for INTEGER_CST.
1839 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1840 print parentheses around location wrappers.
1841 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1842 before checking for INTEGER_CST.
1843 (warn_tautological_bitwise_comparison): Call
1844 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1845 before checking for INTEGER_CST.
1846 (readonly_error): Strip any location wrapper.
1847 (warn_array_subscript_with_type_char): Strip location wrappers
1848 before checking for INTEGER_CST. Use the location of the index if
1849 available.
1850
1851 2018-12-06 Jason Merrill <jason@redhat.com>
1852
1853 PR c++/88136 - -Wdeprecated-copy false positives
1854 * c.opt (Wdeprecated-copy-dtor): New.
1855 (Wdeprecated-copy): Move to -Wextra.
1856
1857 2018-11-29 Martin Sebor <msebor@redhat.com>
1858
1859 PR c/88172
1860 PR testsuite/88208
1861 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1862 alignments to values less than the target requires.
1863 (has_attribute): For attribute aligned consider both the attribute
1864 and the alignment bits.
1865 * c-common.c (c_init_attributes): Optionally issue a warning for
1866 zero alignment.
1867
1868 2018-11-28 Martin Sebor <msebor@redhat.com>
1869
1870 PR c/88065
1871 PR c/87297
1872 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1873 or destination is an error.
1874
1875 2018-11-28 Jakub Jelinek <jakub@redhat.com>
1876
1877 PR c++/88215
1878 * c-ubsan.c: Include langhooks.h.
1879 (ubsan_instrument_division): Change gcc_assert that main variants
1880 of op0 and op1 types are equal to gcc_checking_assert that the
1881 main variants are compatible types.
1882
1883 2018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1884
1885 * c-ada-spec.c: Include stringpool.h.
1886 (has_static_fields): Return false for incomplete types.
1887 (is_tagged_type): Likewise.
1888 (has_nontrivial_methods): Likewise.
1889 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1890 (struct overloaded_name_hash): New structure.
1891 (struct overloaded_name_hasher): Likewise.
1892 (overloaded_names): New global variable.
1893 (init_overloaded_names): New static function.
1894 (overloaded_name_p): New predicate.
1895 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1896 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1897 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1898 Remove always-true condition and dump forward types.
1899 (dump_ada_specs): Delete overloaded_names.
1900
1901 2018-11-20 Martin Sebor <msebor@redhat.com>
1902
1903 * c-attribs.c (type_for_vector_size): New function.
1904 (type_valid_for_vector_size): Same.
1905 (handle_vector_size_attribute): Move code to the functions above
1906 and call them.
1907 (validate_attribute, has_attribute): New functions.
1908 * c-common.h (has_attribute): Declare.
1909 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1910 * c-common.c (c_common_resword): Same.
1911
1912 2018-11-16 Jason Merrill <jason@redhat.com>
1913
1914 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1915 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1916
1917 2018-11-16 Jakub Jelinek <jakub@redhat.com>
1918
1919 PR middle-end/87854
1920 * c-common.c (fix_string_type): Reject string literals larger than
1921 TYPE_MAX_VALUE (ssizetype) bytes.
1922
1923 2018-11-15 Martin Sebor <msebor@redhat.com>
1924
1925 PR c++/87541
1926 PR c++/87542
1927 * c-attribs.c (positional_argument): New function.
1928 (handle_alloc_size_attribute): Use it and simplify.
1929 (handle_alloc_align_attribute): Same.
1930 (handle_assume_aligned_attribute): Same.
1931 (handle_nonnull_attribute): Same.
1932 * c-common.c (check_function_arguments): Pass fntype to
1933 check_function_format.
1934 * c-common.h (check_function_format): Add an argument.
1935 (PosArgFlags, positional_argument): Declare new type and function.
1936 * c-format.c (decode_format_attr): Add arguments.
1937 (check_format_string, get_constant): Same.
1938 (convert_format_name_to_system_name): Adjust.
1939
1940 2018-11-15 David Malcolm <dmalcolm@redhat.com>
1941
1942 PR other/19165
1943 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
1944
1945 2018-11-14 Jakub Jelinek <jakub@redhat.com>
1946
1947 P1236R1 - Signed integers are two's complement
1948 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
1949 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
1950 with in-range second operand well defined for -std=c++2a.
1951
1952 PR other/88007
1953 * c-common.c (parse_optimize_options): Allocate option string from
1954 opts_obstack rather than as GC memory. Move the allocation after
1955 warning for invalid option.
1956
1957 2018-11-13 David Malcolm <dmalcolm@redhat.com>
1958
1959 * c-common.c (c_get_substring_location): Update for renaming of
1960 get_source_location_for_substring to get_location_within_string.
1961 * c-lex.c: Replace "source_location" with "location_t".
1962 * c-opts.c: Likewise.
1963 * c-ppoutput.c: Likewise.
1964
1965 2018-11-13 Martin Sebor <msebor@redhat.com>
1966
1967 PR middle-end/81824
1968 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
1969 (handle_tls_model_attribute): Improve diagnostics.
1970
1971 2018-11-12 Jason Merrill <jason@redhat.com>
1972
1973 * c-cppbuiltin.c (c_cpp_builtins): Define
1974 __cpp_impl_destroying_delete.
1975
1976 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1977 __cpp_conditional_explicit.
1978
1979 2018-11-09 Martin Sebor <msebor@redhat.com>
1980
1981 PR middle-end/81824
1982 * c-attribs.c (handle_copy_attribute): New function.
1983
1984 2018-11-09 Martin Sebor <msebor@redhat.com>
1985
1986 PR c/87795
1987 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1988
1989 2018-11-08 Jakub Jelinek <jakub@redhat.com>
1990
1991 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1992 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1993 enum omp_memory_order MEMORY_ORDER.
1994 (c_finish_omp_flush): Add MO argument.
1995 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1996 (c_finish_omp_for): Add FINAL_P argument.
1997 * c-omp.c: Include memmodel.h.
1998 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1999 OMP_TASKGROUP_CLAUSES to it.
2000 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
2001 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
2002 instead of OMP_ATOMIC_SEQ_CST.
2003 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
2004 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
2005 __atomic_thread_fence call with the given value.
2006 (check_omp_for_incr_expr): Formatting fixes.
2007 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
2008 even in OpenMP loops, diagnose if NE_EXPR and incr expression
2009 is not constant expression 1 or -1. Transform NE_EXPR loops
2010 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
2011 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
2012 loops too.
2013 (c_omp_split_clauses): Add support for combined
2014 #pragma omp parallel master and
2015 #pragma omp {,parallel }master taskloop{, simd} constructs.
2016 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
2017 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
2018 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
2019 (c_omp_predetermined_sharing): Don't return
2020 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
2021 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
2022 PRAGMA_OMP_REQUIRES.
2023 * c-pragma.h (enum pragma_kind): Likewise.
2024 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
2025 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
2026
2027 2018-11-08 David Malcolm <dmalcolm@redhat.com>
2028
2029 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
2030
2031 2018-11-08 David Malcolm <dmalcolm@redhat.com>
2032
2033 * c-format.c (local_cgraph_node_ptr_node): New variable.
2034 (gcc_dump_printf_char_table): Add entry for %C.
2035 (get_pointer_to_named_type): New function, taken from the handling
2036 code for "gimple *" from...
2037 (init_dynamic_diag_info): ...here. Add handling for
2038 "cgraph_node *".
2039 * c-format.h (T_CGRAPH_NODE): New.
2040
2041 2018-10-19 Jason Merrill <jason@redhat.com>
2042
2043 * c-cppbuiltin.c (c_cpp_builtins): Add
2044 __cpp_nontype_template_parameter_class.
2045
2046 2018-10-31 Nathan Sidwell <nathan@acm.org>
2047
2048 * c-opts.c (c_finish_options): Force command line macro
2049 location. Refactor to avoid repeating main debug hook.
2050 (push_command_line_include): Clarify comment.
2051
2052 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
2053
2054 2018-10-30 Martin Sebor <msebor@redhat.com>
2055
2056 PR middle-end/87041
2057 * c-format.c (check_format_types): Avoid diagnosing null pointer
2058 arguments to printf-family of functions.
2059
2060 2018-10-30 Marek Polacek <polacek@redhat.com>
2061
2062 Implement P0892R2, explicit(bool).
2063 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
2064
2065 2018-10-29 David Malcolm <dmalcolm@redhat.com>
2066
2067 * name-hint.h (name_hint::take_deferred): New member function.
2068
2069 2018-10-29 David Malcolm <dmalcolm@redhat.com>
2070
2071 PR c++/56856
2072 * c-common.c (check_function_sentinel): Call fold_for_warn on the
2073 argument.
2074 (check_function_restrict): Rename param "argarray" to
2075 "unfolded_argarray", and make a copy named "argarray", calling
2076 fold_for_warn on each argument.
2077 (check_function_arguments): Add note about responsibility for
2078 folding the arguments.
2079
2080 2018-10-17 Joseph Myers <joseph@codesourcery.com>
2081
2082 * c-common.c (flag_isoc2x): New variable.
2083 * c-common.h (clk_c): Update comment to reference C2X.
2084 (flag_isoc99, flag_isoc11): Update comments to reference future
2085 standard versions in general.
2086 (flag_isoc2x): Declare.
2087 * c-opts.c (set_std_c2x): New function.
2088 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
2089 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
2090 flag_isoc2x to 0.
2091 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
2092
2093 2018-10-17 Joseph Myers <joseph@codesourcery.com>
2094
2095 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
2096 (std=iso9899:2018): Document C17 as published in 2018.
2097
2098 2018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
2099
2100 PR c++/87364
2101 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
2102
2103 2018-10-11 Will Wray <wjwray@gmail.com>
2104
2105 PR c++/87364
2106 * c-pretty-print.h (pp_c_type_cast): Prototype.
2107 (pp_c_integer_constant): Likewise.
2108 * c-pretty-print.c (pp_c_type_cast): No longer static.
2109 (pp_c_integer_constant): Likewise.
2110 (pp_c_enumeration_constant): Fix loop termination when finding
2111 name of constant. No longer returns a value. Call
2112 pp_c_integer_constant.
2113 (c_pretty_printer::constant): Update for changes to
2114 pp_c_enumeration_constant.
2115
2116 2018-10-11 Jakub Jelinek <jakub@redhat.com>
2117
2118 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
2119 for no_unique_address.
2120
2121 2018-10-09 David Malcolm <dmalcolm@redhat.com>
2122
2123 * c-common.c (c_option_controlling_cpp_error): Rename to...
2124 (c_option_controlling_cpp_diagnostic): ...this, and convert
2125 "reason" from int to enum.
2126 (c_cpp_error): Rename to...
2127 (c_cpp_diagnostic): ...this, converting level and reason to enums.
2128 * c-common.h (c_cpp_error): Rename to...
2129 (c_cpp_diagnostic): ...this, converting level and reason to enums.
2130 * c-opts.c (c_common_init_options): Update for renaming.
2131
2132 2018-10-08 Richard Sandiford <richard.sandiford@arm.com>
2133
2134 PR c/87286
2135 * c-common.c (vector_types_compatible_elements_p): Use
2136 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
2137
2138 2018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
2139
2140 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
2141 to generate constructor destructor priority warning.
2142 * c.opt (-Wprio-ctor-dtor): New option.
2143
2144 2018-10-01 Jason Merrill <jason@redhat.com>
2145
2146 * c-lex.c (c_common_has_attribute): Add no_unique_address.
2147
2148 2018-10-01 Eric Botcazou <ebotcazou@adacore.com>
2149
2150 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
2151 (dump_ada_node): Add const keyword.
2152
2153 2018-09-25 Martin Liska <mliska@suse.cz>
2154
2155 * c-common.c (c_common_truthvalue_conversion):
2156 Remove Pascal from documentation.
2157
2158 2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
2159
2160 * c-ada-spec.c: Include diagnostic.h.
2161 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
2162
2163 2018-09-19 Marek Polacek <polacek@redhat.com>
2164
2165 * c.opt (Wclass-conversion): New.
2166
2167 2018-09-17 David Malcolm <dmalcolm@redhat.com>
2168
2169 * c-format.c (range_label_for_format_type_mismatch::get_text):
2170 Update for new param.
2171
2172 2018-09-17 David Malcolm <dmalcolm@redhat.com>
2173
2174 * c-format.c (format_warning_at_char): Update for introduction of
2175 format_string_diagnostic_t.
2176 (format_type_warning): Likewise.
2177
2178 2018-09-17 Martin Jambor <mjambor@suse.cz>
2179
2180 PR c/63886
2181 * c.opt (Wabsolute-value): New.
2182
2183 2018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
2184
2185 * c-common.c (complete_flexible_array_elts): New helper function.
2186 * c-common.h (complete_flexible_array_elts): Declare.
2187
2188 2018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2189
2190 * c-common.c (braced_list_to_string): Remove eval parameter.
2191 Add some more checks. Always create zero-terminated STRING_CST.
2192 * c-common.h (braced_list_to_string): Adjust prototype.
2193
2194 2018-08-27 David Malcolm <dmalcolm@redhat.com>
2195
2196 PR 87091
2197 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
2198 to a tri-state.
2199 (maybe_suggest_missing_token_insertion): Likewise.
2200 (maybe_add_include_fixit): Add param "override_location". If set,
2201 and source-printing is enabled, then override the rich_location's
2202 primary location with that of the insertion point for the fix-it
2203 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
2204 * c-common.h (extern void maybe_add_include_fixit): Add bool
2205 param.
2206 * c-format.c (selftest::test_type_mismatch_range_labels): Update
2207 for conversion of show_caret_p to a tri-state.
2208 * c-warn.c (warn_for_restrict): Likewise.
2209 * known-headers.cc
2210 (suggest_missing_header::~suggest_missing_header): Update call to
2211 maybe_add_include_fixit to suggest overriding the location, as it
2212 is for a note.
2213
2214 2018-08-27 Martin Liska <mliska@suse.cz>
2215
2216 * c-common.c (check_function_restrict): Use new function
2217 fndecl_built_in_p and remove check for FUNCTION_DECL if
2218 possible.
2219 (check_builtin_function_arguments): Likewise.
2220 (reject_gcc_builtin): Likewise.
2221 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
2222
2223 2018-08-26 Marek Polacek <polacek@redhat.com>
2224
2225 PR c++/87029, Implement -Wredundant-move.
2226 * c.opt (Wredundant-move): New option.
2227
2228 2018-08-21 Marek Polacek <polacek@redhat.com>
2229
2230 PR c++/86981, Implement -Wpessimizing-move.
2231 * c.opt (Wpessimizing-move): New option.
2232
2233 2018-08-20 David Malcolm <dmalcolm@redhat.com>
2234
2235 PR other/84889
2236 * c-attribs.c (common_handle_aligned_attribute): Add
2237 auto_diagnostic_group instance.
2238 * c-indentation.c (warn_for_misleading_indentation): Likewise.
2239 * c-opts.c (c_common_post_options): Likewise.
2240 * c-warn.c (warn_logical_not_parentheses): Likewise.
2241 (warn_duplicated_cond_add_or_warn): Likewise.
2242 (warn_for_multistatement_macros): Likewise.
2243
2244 2018-08-20 Nathan Sidwell <nathan@acm.org>
2245
2246 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
2247 access.
2248
2249 2018-08-17 Nathan Sidwell <nathan@acm.org>
2250
2251 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
2252 field.
2253 (laxy_hex_fp_value_count): Make unsigned.
2254 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
2255 manipulate the macro.
2256 (builtin_defin_with_hex_fp_value): Adjust callback name, use
2257 cpp_define_lazily.
2258
2259 2018-08-17 David Malcolm <dmalcolm@redhat.com>
2260
2261 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
2262 (gcc_dump_printf_length_specs): New.
2263 (gcc_dump_printf_flag_pairs): New.
2264 (gcc_dump_printf_flag_specs): New.
2265 (gcc_dump_printf_char_table): New.
2266 (format_types_orig): Add entry for "gcc_dump_printf".
2267 (init_dynamic_diag_info): Set up length_char_specs and
2268 conversion_specs for gcc_dump_printf_format_type.
2269 (handle_format_attribute): Handle gcc_dump_printf_format_type.
2270
2271 2018-08-17 Nathan Sidwell <nathan@acm.org>
2272
2273 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
2274
2275 * c-ada-spec.c: Don't #include "cpp-id-data.h"
2276 * c-cppbuiltin.c: Likewise.
2277
2278 2018-08-17 Martin Liska <mliska@suse.cz>
2279
2280 * c.opt: Remove Warn, Init and Report for options with
2281 Ignore/Deprecated flag. Warning is done automatically for
2282 Deprecated flags.
2283
2284 2018-08-16 David Malcolm <dmalcolm@redhat.com>
2285
2286 PR c++/70693
2287 * c-common.c (selftest::c_family_tests): Call
2288 selftest::c_indentation_c_tests.
2289 * c-common.h (selftest::c_indentation_c_tests): New decl.
2290 * c-indentation.c: Include "selftest.h".
2291 (next_tab_stop): Add "tab_width" param, rather than accessing
2292 cpp_opts.
2293 (get_visual_column): Likewise. Clarify comment. Bulletproof
2294 against reading past the end of the line.
2295 (get_first_nws_vis_column): Add "tab_width" param.
2296 (detect_intervening_unindent): Likewise.
2297 (should_warn_for_misleading_indentation): Read tab width from
2298 cpp_opts and pass around.
2299 (selftest::test_next_tab_stop): New test.
2300 (selftest::assert_get_visual_column_succeeds): New function.
2301 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
2302 (selftest::assert_get_visual_column_fails): New function.
2303 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
2304 (selftest::test_get_visual_column): New test.
2305 (selftest::c_indentation_c_tests): New function.
2306
2307 2018-08-16 Nathan Sidwell <nathan@acm.org>
2308
2309 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
2310 (store_ada_macro): Likewise.
2311 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
2312 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
2313
2314 2018-08-15 David Malcolm <dmalcolm@redhat.com>
2315
2316 * c-format.c: Include "selftest-diagnostic.h" and
2317 "gcc-rich-location.h".
2318 (format_warning_at_char): Pass NULL for new label params of
2319 format_warning_va.
2320 (class indirection_suffix): New class.
2321 (class range_label_for_format_type_mismatch): New class.
2322 (format_type_warning): Move logic for generating "*" suffix to
2323 class indirection_suffix. Create "fmt_label" and "param_label"
2324 to show their types, and pass them to the
2325 format_warning_at_substring calls.
2326 (selftest::test_type_mismatch_range_labels): New test.
2327 (selftest::c_format_c_tests): Call it.
2328
2329 2018-08-13 Martin Sebor <msebor@redhat.com>
2330
2331 PR tree-optimization/71625
2332 * c-common.c (braced_list_to_string): New function.
2333 * c-common.h (braced_list_to_string): Declare it.
2334
2335 2018-08-08 Nathan Sidwell <nathan@acm.org>
2336
2337 * c-common.c (try_to_locate_new_include_inertion_point): Use
2338 linemap_included_from_linemap.
2339 * c-lex.c (fe_file_change): Use linemap_included_from.
2340 * c-ppoutput.c (pp_file_change): Likewise.
2341
2342 2018-08-01 Martin Sebor <msebor@redhat.com>
2343
2344 PR tree-optimization/86650
2345 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
2346 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
2347 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
2348 * c-format.h (T89_G): Update to be "gimple *" rather than
2349 "gcall *".
2350 (local_gcall_ptr_node): Rename...
2351 (local_gimple_ptr_node): ...to this.
2352
2353 2018-07-31 David Malcolm <dmalcolm@redhat.com>
2354
2355 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
2356 table entries for gcc_diag_char_table, and the 'Z' entry from
2357 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
2358 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
2359 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
2360 adding missing "Z" for this table. Remove erroneous "G" and "K"
2361 entries.
2362 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
2363 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
2364 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
2365
2366 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
2367
2368 * c-common.c (speculation_safe_resolve_call): New function.
2369 (speculation_safe_resolve_params): New function.
2370 (speculation_safe_resolve_return): New function.
2371 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
2372 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
2373 __HAVE_SPECULATION_SAFE_VALUE.
2374
2375 2018-07-20 David Malcolm <dmalcolm@redhat.com>
2376
2377 * c-common.c (c_cpp_error): Remove redundant "line_table"
2378 parameter from call to rich_location::set_range.
2379 (maybe_suggest_missing_token_insertion): Likewise.
2380
2381 2018-07-20 Martin Sebor <msebor@redhat.com>
2382
2383 PR middle-end/82063
2384 * c.opt (-Warray-bounds): Remove redundant -Wall.
2385
2386 2018-07-20 Martin Sebor <msebor@redhat.com>
2387
2388 PR middle-end/82063
2389 * c-common.h (c_common_handle_option): Change function argument
2390 to HOST_WIDE_INT.
2391 * c-opts.c (c_common_init_options): Same.
2392 (c_common_handle_option): Same. Remove special handling of
2393 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
2394 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
2395 options to take a HOST_WIDE_INT argument and accept a byte-size
2396 suffix. Initialize.
2397 (-Wvla-larger-than): Same.
2398 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
2399 (-Wno-vla-larger-than): Same.
2400
2401 2018-07-12 Jakub Jelinek <jakub@redhat.com>
2402
2403 * c-attribs.c (c_common_attribute_table): Add
2404 "omp declare target implicit" attribute.
2405
2406 2018-07-12 Richard Biener <rguenther@suse.de>
2407
2408 PR c/86453
2409 * c-attribs.c (handle_packed_attribute): Do not build a variant
2410 type with TYPE_PACKED, instead ignore the attribute if we may
2411 not apply to the original type.
2412
2413 2018-07-10 Jakub Jelinek <jakub@redhat.com>
2414
2415 PR c++/86443
2416 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
2417 to contain TREE_LIST for both the original class iterator and the
2418 "last" helper var.
2419
2420 2018-07-07 Eric Botcazou <ebotcazou@adacore.com>
2421
2422 * c-ada-spec.c (to_ada_name): Remove index parameter.
2423 (pp_ada_tree_identifier): Likewise.
2424 (dump_ada_macros): Adjust call to to_ada_name.
2425 (struct overloaded_name_hash): Delete.
2426 (struct overloaded_name_hasher): Likewise.
2427 (overloaded_names): Likewise.
2428 (compute_overloading_index): Likewise.
2429 (dump_ada_decl_name): Do not call compute_overloading_index and
2430 adjust calls to pp_ada_tree_identifier.
2431 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2432 (dump_ada_import): Add spc parameter and switch to aspect syntax.
2433 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
2434 (dump_ada_enum_type): Remove type and display_convention parameters.
2435 Adjust calls to pp_ada_tree_identifier.
2436 (dump_ada_node): Likewise and for dump_ada_structure.
2437 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
2438 and tidy up.
2439 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
2440 syntax.
2441 (print_constructor): Adjust call to pp_ada_tree_identifier.
2442 (print_destructor): Likewise.
2443 (dump_ada_declaration): Switch to aspect syntax.
2444 (dump_ada_structure): Likewise and tidy up. Replace display_convention
2445 parameter with nested parameter.
2446 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
2447 (dump_ada_specs): Do not delete overloaded_names table.
2448
2449 2018-07-06 Peter Bergner <bergner@linux.ibm.com>
2450
2451 PR target/86324
2452 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
2453 target hook.
2454
2455 2018-07-05 Nathan Sidwell <nathan@acm.org>
2456
2457 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
2458 NO_IMPLICIT_EXTERN_C.
2459
2460 2018-06-28 Martin Liska <mliska@suse.cz>
2461
2462 * cppspec.c: Include opt-suggestions.h.
2463
2464 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2465 Thomas Schwinge <thomas@codesourcery.com>
2466 Cesar Philippidis <cesar@codesourcery.com>
2467
2468 * c-pragma.h (enum pragma_omp_clause): Add
2469 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
2470 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
2471
2472 2018-06-20 Jakub Jelinek <jakub@redhat.com>
2473
2474 PR c++/86210
2475 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
2476 comment.
2477
2478 2018-06-18 Martin Sebor <msebor@redhat.com>
2479
2480 PR middle-end/85602
2481 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
2482 nonstring.
2483
2484 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
2485
2486 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
2487
2488 2018-06-13 Jason Merrill <jason@redhat.com>
2489
2490 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
2491 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
2492 handling.
2493
2494 PR c++/86094 - wrong code with defaulted move ctor.
2495 * c-opts.c (c_common_post_options): Bump the current ABI version to
2496 13. Set warn_abi_version and flag_abi_compat_version to the current
2497 version rather than 0. Fix defaulting flag_abi_compat_version from
2498 warn_abi_version.
2499
2500 2018-06-12 Martin Sebor <msebor@redhat.com>
2501
2502 PR c/85931
2503 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
2504 sizeof source and destination yields the same value.
2505
2506 2018-06-12 Martin Liska <mliska@suse.cz>
2507
2508 * c.opt: Make MPX-related options as Deprecated.
2509
2510 2018-06-08 David Malcolm <dmalcolm@redhat.com>
2511
2512 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
2513 rather than 0.
2514
2515 2018-06-08 Martin Liska <mliska@suse.cz>
2516
2517 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
2518 for MPX (macros, related functions, fields in cgraph_node, ...).
2519 (handle_bnd_legacy): Likewise.
2520 (handle_bnd_instrument): Likewise.
2521 * c.opt: Likewise.
2522
2523 2018-06-06 Jakub Jelinek <jakub@redhat.com>
2524
2525 PR c++/86068
2526 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
2527 __cpp_transactional_memory to 201500 instead of 210500.
2528
2529 2018-06-06 Jason Merrill <jason@redhat.com>
2530
2531 PR c++/85710 - ICE with -Wmemset-elt-size.
2532 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
2533
2534 2018-06-01 Jason Merrill <jason@redhat.com>
2535
2536 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
2537 201703.
2538
2539 2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
2540
2541 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
2542 declaration for a typedef independently of whether the declaration of
2543 the subtype is generated.
2544
2545 2018-05-31 Martin Sebor <msebor@redhat.com>
2546
2547 PR c/82063
2548 * c.opt (-Wno-alloc-size-larger-than): New option.
2549
2550 2018-04-22 David Pagan <dave.pagan@oracle.com>
2551
2552 PR c/55976
2553 * c-opts.c (c_common_post_options): Set default for warn_return_type
2554 for C++/C++ with ObjC extensions only. For C, makes it possible to
2555 differentiate between default (no option), -Wreturn-type, and
2556 -Wno-return-type.
2557
2558 2018-05-29 Jason Merrill <jason@redhat.com>
2559
2560 * c.opt (Winit-list-lifetime): New flag.
2561
2562 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
2563
2564 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
2565 splay_tree_delete_pointers.
2566
2567 2018-05-26 Jakub Jelinek <jakub@redhat.com>
2568
2569 PR bootstrap/85921
2570 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
2571 noinline variable to workaround broken kernel headers.
2572
2573 2018-05-18 Jason Merrill <jason@redhat.com>
2574
2575 * c.opt (Wdeprecated-copy): New flag.
2576
2577 2018-05-17 Martin Liska <mliska@suse.cz>
2578
2579 * c-warn.c (overflow_warning): Do not use
2580 space in between 'G_' and '('.
2581
2582 2018-05-09 Jason Merrill <jason@redhat.com>
2583
2584 * c-common.c (valid_array_size_p): Add complain parameter.
2585 * c-common.h: ...which defaults to true.
2586
2587 2018-05-11 Jakub Jelinek <jakub@redhat.com>
2588
2589 PR c/85696
2590 * c-omp.c (c_omp_predetermined_sharing): Return
2591 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
2592
2593 2018-05-11 Martin Liska <mliska@suse.cz>
2594
2595 PR sanitizer/85556
2596 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
2597 TREE_LIST values.
2598
2599 2018-05-10 Jakub Jelinek <jakub@redhat.com>
2600
2601 PR c++/85662
2602 * c-common.h (fold_offsetof_1): Removed.
2603 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
2604 CTX argument defaulted to ERROR_MARK.
2605 * c-common.c (fold_offsetof_1): Renamed to ...
2606 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
2607 argument, convert the pointer constant to TYPE and use size_binop
2608 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
2609 a pointer type. Adjust recursive calls.
2610
2611 2018-05-10 Eric Botcazou <ebotcazou@adacore.com>
2612
2613 PR c++/85400
2614 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
2615
2616 2018-05-07 Nathan Sidwell <nathan@acm.org>
2617
2618 * c.opt (ffor-scope): Remove functionality, issue warning.
2619
2620 2018-05-03 Nathan Sidwell <nathan@acm.org>
2621
2622 * c.opt (ffriend-injection): Remove functionality, issue warning.
2623
2624 2018-05-01 David Malcolm <dmalcolm@redhat.com>
2625
2626 PR c/84258
2627 * c-format.c (struct format_check_results): Add field
2628 "number_non_char".
2629 (check_format_info): Initialize it, and warn if encountered.
2630 (check_format_arg): Distinguish between wide char and
2631 everything else when detecting arrays of non-char.
2632
2633 2018-04-30 David Malcolm <dmalcolm@redhat.com>
2634
2635 * c-format.c (get_corrected_substring): Update for
2636 location_get_source_line returning a char_span. Use a char_span
2637 when handling the prefix of the correction.
2638 * c-indentation.c (get_visual_column): Update for
2639 location_get_source_line returning a char_span.
2640 (get_first_nws_vis_column): Likewise.
2641
2642 2018-03-29 David Malcolm <dmalcolm@redhat.com>
2643
2644 PR c++/84269
2645 * known-headers.cc (get_stdlib_header_for_name): Add various names
2646 from <assert.h>, <string.h>, and <memory.h>; add more names from
2647 <stdio.h>.
2648
2649 2018-03-27 Jakub Jelinek <jakub@redhat.com>
2650
2651 PR c++/85061
2652 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
2653 get_base_address of the second operand is a VAR_P, rather than the
2654 operand itself, and use gcc_checking_assert instead of gcc_assert.
2655
2656 2018-03-23 Marek Polacek <polacek@redhat.com>
2657
2658 PR c++/85045
2659 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
2660 <case RDIV_EXPR>: Tweak condition.
2661
2662 2018-03-20 Eric Botcazou <ebotcazou@adacore.com>
2663
2664 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
2665
2666 2018-03-16 Jakub Jelinek <jakub@redhat.com>
2667
2668 PR c/84909
2669 * c-warn.c (conversion_warning): Replace "to to" with "to" in
2670 diagnostics.
2671
2672 PR c/84910
2673 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
2674 diagnostics.
2675
2676 2018-03-16 Richard Biener <rguenther@suse.de>
2677
2678 PR c/84873
2679 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
2680 unshare the possibly folded expression.
2681
2682 2018-03-15 Richard Biener <rguenther@suse.de>
2683
2684 PR c/84873
2685 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
2686
2687 2018-03-13 Martin Sebor <msebor@redhat.com>
2688
2689 PR tree-optimization/84725
2690 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
2691 with all three narrow character types, including their qualified forms.
2692
2693 2018-03-12 Martin Sebor <msebor@redhat.com>
2694
2695 PR tree-optimization/83456
2696 * c-common.c (check_function_restrict): Return bool.
2697 Restore checking of bounded built-in functions.
2698 (check_function_arguments): Also return the result
2699 of warn_for_restrict.
2700 * c-common.c (check_function_restrict): Return bool.
2701 * c-warn.c (warn_for_restrict): Return bool.
2702
2703 2018-03-02 Marek Polacek <polacek@redhat.com>
2704
2705 PR c++/84171
2706 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
2707 is erroneous.
2708
2709 2018-03-02 Thomas Schwinge <thomas@codesourcery.com>
2710
2711 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
2712 function".
2713
2714 2018-03-01 Marek Polacek <polacek@redhat.com>
2715
2716 PR c++/84639
2717 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
2718 alignment in computation.
2719
2720 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2721
2722 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
2723 <REAL_TYPE>: Deal specifically with _Float128/__float128.
2724
2725 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2726
2727 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
2728 (is_char_array): Take a type instead of a declaration.
2729 (dump_ada_array_type): Likewise.
2730 (is_simple_enum): Minor tweak.
2731 (dump_ada_enum_type): New function extracted from...
2732 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
2733 <INTEGER_TYPE>: Remove unreachable code.
2734 <RECORD_TYPE>: Likewise. Minor tweaks.
2735 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
2736 <ENUMERAL_TYPE>: New case.
2737 <RECORD_TYPE>: Factor out common code.
2738 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
2739 Minor tweaks. Deal with enumeral types.
2740 (dump_ada_structure): Minor tweaks.
2741
2742 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2743
2744 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
2745 address for incomplete structures.
2746 (dump_forward_type): Do not bail out for incomplete structures.
2747 (dump_ada_declaration): Do not special-case incomplete structures
2748 for subtypes. Dump them as null records for types.
2749
2750 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2751
2752 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
2753 (is_char_array): Fix formatting.
2754 (dump_template_types): Likewise.
2755 (dump_generic_ada_node): Rename into...
2756 (dump_ada_node): ...this.
2757 <POINTER_TYPE>: Remove superfluous space. Use generic address for
2758 incomplete structures and not for empty structures. Do not use it
2759 when forward declarations are needed.
2760 (dump_forward_type): New function.
2761 (dump_nested_types): Remove FORWARD parameter. Do not consider
2762 TREE_VISITED and do not generate a forward declaration. Only dump
2763 original nested types for nested declaration.
2764 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
2765 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
2766 <RECORD_TYPE>: Do not consider TREE_VISITED.
2767 (dump_ada_declaration): Use booleans and fix formatting throughout.
2768 <TYPE_DECL>: Skip incomplete structures and not empty structures.
2769 Call dump_forward_type instead of dump_nested_types for a typedef.
2770 Remove superfluous check and adjust call to dump_nested_types.
2771 <POINTER_TYPE>: Call dump_forward_type and fall through.
2772 (dump_ada_struct_decl): Rename into...
2773 (dump_ada_structure): ...this. Do not special-case empty structures.
2774
2775 2018-02-27 Martin Sebor <msebor@redhat.com>
2776
2777 PR c++/83871
2778 * c.opt (-Wmissing-attributes): New option.
2779
2780 2018-02-21 Martin Liska <mliska@suse.cz>
2781
2782 * c.opt (Wcatch-value=): Add IntegerRange.
2783
2784 2018-02-15 Jason Merrill <jason@redhat.com>
2785
2786 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2787
2788 2018-02-09 Nathan Sidwell <nathan@acm.org>
2789
2790 PR c/84293
2791 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
2792 arg.
2793 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
2794 arg. Adjust.
2795
2796 2018-02-09 Martin Sebor <msebor@redhat.com>
2797
2798 PR lto/84212
2799 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
2800 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
2801 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
2802 (-Wstrict-overflow, -Wsuggest-attribute): Same.
2803 (-Wuninitialized): Same.
2804
2805 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2806
2807 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
2808 keyword for components.
2809
2810 2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
2811
2812 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
2813
2814 2018-02-02 Julia Koval <julia.koval@intel.com>
2815
2816 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2817
2818 2018-01-29 Marek Polacek <polacek@redhat.com>
2819
2820 PR c/83966
2821 * c-format.c (check_function_format): Check current_function_decl.
2822
2823 2018-01-27 Jakub Jelinek <jakub@redhat.com>
2824
2825 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2826 argument.
2827 (LAZY_HEX_FP_VALUES_CNT): Define.
2828 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2829 values rather than just 12.
2830 (builtin_define_with_hex_fp_value): Likewise.
2831
2832 2018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2833
2834 PR other/70268
2835 * c.opt (-fmacro-prefix-map): New option.
2836 * c-opts.c (c_common_handle_option): Handle it.
2837 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2838 * c-ppoutput.c (init_pp_output): Likewise.
2839
2840 2018-01-17 David Malcolm <dmalcolm@redhat.com>
2841
2842 PR c++/83814
2843 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2844
2845 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2846
2847 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2848 Skip 'f' and 'F' characters if it is true.
2849 (store_ada_macro): Minor tweak.
2850 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2851 <CPP_WSTRING>: Likewise.
2852 <CPP_STRING>: Output '&' in the buffer if not the first string.
2853 <CPP_NUMBER>: Adjust calls to dump_number.
2854
2855 2018-01-10 David Malcolm <dmalcolm@redhat.com>
2856
2857 PR c++/43486
2858 * c-common.c: Include "selftest.h".
2859 (get_atomic_generic_size): Perform the test for integral type
2860 before the range test for any integer constant, fixing indentation
2861 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2862 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2863 (selftest::test_fold_for_warn): New function.
2864 (selftest::c_common_c_tests): New function.
2865 (selftest::c_family_tests): Call it, and
2866 selftest::c_pretty_print_c_tests.
2867 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2868 * c-format.c (check_format_arg): Convert VAR_P check to a
2869 fold_for_warn.
2870 * c-pretty-print.c: Include "selftest.h".
2871 (pp_c_cast_expression): Don't print casts for location wrappers.
2872 (selftest::assert_c_pretty_printer_output): New function.
2873 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2874 (selftest::test_location_wrappers): New function.
2875 (selftest::c_pretty_print_c_tests): New function.
2876 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2877
2878 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2879 Alan Hayward <alan.hayward@arm.com>
2880 David Sherwood <david.sherwood@arm.com>
2881
2882 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2883
2884 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2885 Alan Hayward <alan.hayward@arm.com>
2886 David Sherwood <david.sherwood@arm.com>
2887
2888 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2889 as polynomial.
2890
2891 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2892 Alan Hayward <alan.hayward@arm.com>
2893 David Sherwood <david.sherwood@arm.com>
2894
2895 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2896 (convert_vector_to_array_for_subscript): Handle polynomial
2897 TYPE_VECTOR_SUBPARTS.
2898 (c_common_type_for_mode): Check valid_vector_subparts_p.
2899 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2900 VECTOR_CST_NELTS.
2901
2902 2018-01-03 Jakub Jelinek <jakub@redhat.com>
2903
2904 Update copyright years.
2905
2906 2017-12-22 Mike Stump <mikestump@comcast.net>
2907 Eric Botcazou <ebotcazou@adacore.com>
2908
2909 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2910 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2911
2912 2017-12-22 Alexandre Oliva <aoliva@redhat.com>
2913
2914 PR debug/83527
2915 PR debug/83419
2916 * c-semantics.c (only_debug_stmts_after_p): New.
2917 (pop_stmt_list): Clear side effects in debug-only stmt list.
2918 Check for single nondebug stmt followed by debug stmts only.
2919
2920 2017-12-21 Alexandre Oliva <aoliva@redhat.com>
2921
2922 PR debug/83419
2923 * c-semantics.c (pop_stmt_list): Propagate side effects from
2924 single nondebug stmt to container list.
2925
2926 2017-12-19 Jakub Jelinek <jakub@redhat.com>
2927
2928 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
2929 conditions with typical order conditions.
2930
2931 2017-12-18 Marek Polacek <polacek@redhat.com>
2932
2933 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
2934 not in effect.
2935
2936 2017-12-17 Martin Sebor <msebor@redhat.com>
2937
2938 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
2939 an error for attribute warn_if_not_aligned.
2940
2941 2017-12-16 Martin Sebor <msebor@redhat.com>
2942
2943 PR tree-optimization/78918
2944 * c-common.c (check_function_restrict): Avoid checking built-ins.
2945 * c.opt (-Wrestrict): Include in -Wall.
2946
2947 2017-12-15 Jakub Jelinek <jakub@redhat.com>
2948
2949 * c-attribs.c (c_common_attribute_table,
2950 c_common_format_attribute_table): Swap affects_type_identity
2951 and handler fields, adjust comments.
2952
2953 2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
2954
2955 * c.opt (Wcast-function-type): New warning option.
2956 * c-lex.c (get_fileinfo): Avoid warning.
2957 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
2958
2959 2017-12-14 Qing Zhao <qing.zhao@oracle.com>
2960
2961 PR middle_end/79538
2962 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
2963 Adjust the size of buf1 and buf2, add a new buf to avoid
2964 format-overflow warning.
2965
2966 2017-12-12 Alexandre Oliva <aoliva@redhat.com>
2967
2968 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
2969 subsequent statement list.
2970
2971 2017-12-07 Martin Sebor <msebor@redhat.com>
2972
2973 PR c/81544
2974 PR c/81566
2975 * c-attribs.c (attr_aligned_exclusions): New array.
2976 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2977 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2978 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2979 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2980 (attr_warn_unused_result_exclusions): Same.
2981 (handle_hot_attribute, handle_cold_attribute): Simplify.
2982 (handle_const_attribute): Warn on function returning void.
2983 (handle_pure_attribute): Same.
2984 (handle_aligned_attribute): Diagnose conflicting attribute
2985 specifications.
2986 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2987
2988 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2989
2990 PR c/83236
2991 * c-common.c (selftest::c_family_tests): Call
2992 selftest::c_spellcheck_cc_tests.
2993 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2994 * c-spellcheck.cc: Include "selftest.h".
2995 (name_reserved_for_implementation_p): New function.
2996 (should_suggest_as_macro_p): New function.
2997 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2998 should_suggest_as_macro_p and call it.
2999 (selftest::test_name_reserved_for_implementation_p): New function.
3000 (selftest::c_spellcheck_cc_tests): New function.
3001 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
3002
3003 2017-12-06 David Malcolm <dmalcolm@redhat.com>
3004
3005 * c-spellcheck.cc: New file, taken from macro-handling code in
3006 spellcheck-tree.c.
3007 * c-spellcheck.h: New file, taken from macro-handling code in
3008 spellcheck-tree.h.
3009
3010 2017-12-01 Jakub Jelinek <jakub@redhat.com>
3011
3012 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
3013 attribute.
3014 (handle_simd_attribute): Don't check for "cilk simd function"
3015 attribute. Reindent, formatting changes.
3016
3017 2017-11-30 Julia Koval <julia.koval@intel.com>
3018
3019 * c-common.h (inv_list): Remove.
3020
3021 2017-11-28 Jakub Jelinek <jakub@redhat.com>
3022
3023 PR sanitizer/81275
3024 * c-common.c (c_switch_covers_all_cases_p_1,
3025 c_switch_covers_all_cases_p): New functions.
3026 * c-common.h (c_switch_covers_all_cases_p): Declare.
3027
3028 2017-11-28 Julia Koval <julia.koval@intel.com>
3029 Sebastian Peryt <sebastian.peryt@intel.com>
3030
3031 * array-notation-common.c: Delete.
3032 * c-cilkplus.c: Ditto.
3033 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
3034 * c-common.def (ARRAY_NOTATION_REF): Remove.
3035 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
3036 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
3037 c_validate_cilk_plus_loop, cilkplus_an_parts,
3038 cilk_ignorable_spawn_rhs_op,
3039 cilk_recognize_spawn): Remove.
3040 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
3041 * c-omp.c: Remove CILK_SIMD check.
3042 * c-pragma.c: Ditto.
3043 * c-pragma.h: Remove CILK related pragmas.
3044 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
3045 ARRAY_NOTATION_REF condition.
3046 (c_pretty_printer::expression): Ditto.
3047 * c.opt (fcilkplus): Remove.
3048 * cilk.c: Delete.
3049
3050 2017-11-21 Marc Glisse <marc.glisse@inria.fr>
3051
3052 * c-pretty-print.c (pp_c_additive_expression,
3053 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
3054
3055 2017-11-21 Jakub Jelinek <jakub@redhat.com>
3056
3057 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
3058
3059 PR c++/83059
3060 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
3061 instead of tree_to_uhwi, formatting fix.
3062
3063 2017-11-20 David Malcolm <dmalcolm@redhat.com>
3064
3065 PR c/81404
3066 * known-headers.cc: New file, based on material from c/c-decl.c.
3067 (suggest_missing_header): Copied as-is.
3068 (get_stdlib_header_for_name): New, based on get_c_name_hint but
3069 heavily edited to add C++ support. Add some knowledge about
3070 <limits.h>, <stdint.h>, and <wchar.h>.
3071 * known-headers.h: Likewise.
3072
3073 2017-11-20 David Malcolm <dmalcolm@redhat.com>
3074
3075 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
3076 (lookup_name_fuzzy): Likewise. Convert return type from
3077 const char * to name_hint. Add location_t param.
3078 * name-hint.h: New header.
3079
3080 2017-11-19 Jakub Jelinek <jakub@redhat.com>
3081
3082 PR c/66618
3083 PR c/69960
3084 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
3085
3086 2017-11-16 Joseph Myers <joseph@codesourcery.com>
3087
3088 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
3089 expected publication date of C17.
3090 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
3091
3092 2017-11-15 Joseph Myers <joseph@codesourcery.com>
3093
3094 PR c/81156
3095 * c-common.c (c_common_reswords): Add __builtin_tgmath.
3096 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
3097
3098 2017-11-10 Martin Sebor <msebor@redhat.com>
3099
3100 PR c/81117
3101 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
3102 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
3103 * c.opt (-Wstringop-truncation): New option.
3104
3105 2017-11-06 Martin Liska <mliska@suse.cz>
3106
3107 PR middle-end/82404
3108 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
3109 FE.
3110 * c.opt: Set default value of warn_return_type.
3111
3112 2017-10-31 David Malcolm <dmalcolm@redhat.com>
3113
3114 * c-common.c (binary_op_error): Update for renaming of
3115 error_at_rich_loc.
3116 (c_parse_error): Likewise.
3117 * c-warn.c (warn_logical_not_parentheses): Likewise for
3118 renaming of inform_at_rich_loc.
3119 (warn_for_restrict): Likewise for renaming of
3120 warning_at_rich_loc_n.
3121
3122 2017-10-30 Joseph Myers <joseph@codesourcery.com>
3123
3124 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
3125 * c-opts.c (set_std_c17): New function.
3126 (c_common_init_options): Use gnu17 as default C version.
3127 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
3128
3129 2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
3130
3131 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
3132 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
3133 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
3134 __FP_FAST_FMA<N>X.
3135
3136 2017-10-23 Marek Polacek <polacek@redhat.com>
3137
3138 PR c/82681
3139 * c-warn.c (warnings_for_convert_and_check): Fix typos.
3140
3141 2017-10-19 Eric Botcazou <ebotcazou@adacore.com>
3142
3143 * c-common.c (check_builtin_function_arguments): Also check arguments
3144 of __builtin_alloca_with_align_and_max.
3145
3146 2017-10-17 David Malcolm <dmalcolm@redhat.com>
3147
3148 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
3149 rather than NULL to format_warning_va.
3150 (check_format_types): Likewise when calling format_type_warning.
3151 Remove code to extract source_ranges and source_range * in favor
3152 of just a location_t.
3153 (format_type_warning): Convert source_range * param to a
3154 location_t.
3155
3156 2017-10-13 Jakub Jelinek <jakub@redhat.com>
3157
3158 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
3159 [LR]SHIFT_EXPR.
3160
3161 2017-10-12 David Malcolm <dmalcolm@redhat.com>
3162
3163 * c-common.c (enum missing_token_insertion_kind): New enum.
3164 (get_missing_token_insertion_kind): New function.
3165 (maybe_suggest_missing_token_insertion): New function.
3166 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
3167
3168 2017-10-11 Nathan Sidwell <nathan@acm.org>
3169
3170 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
3171 (c_common_handle_option): Update incpath_kind names.
3172
3173 2017-10-11 Martin Liska <mliska@suse.cz>
3174
3175 PR sanitizer/82490
3176 * c-attribs.c (handle_no_sanitize_attribute): Report directly
3177 Wattributes warning.
3178
3179 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
3180
3181 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
3182 operating on trees as wide_ints.
3183 * c-common.c (pointer_int_sum): Likewise.
3184 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3185 * c-warn.c (match_case_to_enum_1): Likewise.
3186 (c_do_switch_warnings): Likewise.
3187 (maybe_warn_shift_overflow): Likewise.
3188
3189 2017-10-10 Jakub Jelinek <jakub@redhat.com>
3190
3191 PR c/82437
3192 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
3193 instead of wide_int::from.
3194
3195 2017-10-06 Jakub Jelinek <jakub@redhat.com>
3196
3197 PR c/82437
3198 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
3199 using to_widest use wide_int with the larger of the two precisions.
3200
3201 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3202
3203 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
3204 functions.
3205
3206 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
3207
3208 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
3209 when combining the original unconverted comparison operands.
3210
3211 2017-09-29 Jakub Jelinek <jakub@redhat.com>
3212
3213 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
3214 attribute.
3215
3216 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
3217
3218 * c-ada-spec.c (to_ada_name): Add index parameter.
3219 (pp_ada_tree_identifier): Likewise.
3220 (dump_ada_macros): Adjust call to to_ada_name.
3221 (struct overloaded_name_hash): New type.
3222 (struct overloaded_name_hasher): Likewise.
3223 (overloaded_names): New hash table.
3224 (compute_overloading_index): New function.
3225 (dump_ada_decl_name): Call it and pass the result to
3226 pp_ada_tree_identifier.
3227 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
3228 (dump_ada_function_declaration): Likewise.
3229 (dump_generic_ada_node): Likewise.
3230 (print_constructor): Likewise.
3231 (print_destructor): Likewise.
3232 (dump_ada_specs): Delete overloaded_names table.
3233
3234 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
3235
3236 * c-ada-spec.c (max_ada_macros): Move around.
3237 (store_ada_macro_index): Likewise.
3238 (source_file): Rename into...
3239 (macro_source_file): ...this.
3240 (count_ada_macro): Move around.
3241 (store_ada_macro): Likewise.
3242 (compare_macro): Likewise.
3243 (print_ada_macros): Merge in...
3244 (dump_ada_macros): ...this.
3245 (source_file_base): Rename into...
3246 (current_source_file): ...this.
3247 (print_comment): Move around.
3248 (dump_ada_nodes): Call dump_ada_declaration directly.
3249 (struct with): Change type of limited field to bool.
3250 (append_withs): Change type of limited_access parameter to bool.
3251 (pp_ada_tree_identifie): Likewise.
3252 (dump_ada_decl_nam): Likewise.
3253 (dump_generic_ada_node): Likewise. Do not print the return type.
3254 (to_ada_name): Change type of space_found parameter to bool.
3255 (dump_ada_function_declaration): Return void and change type of
3256 parameters to bool. Also print the return type for a function.
3257 (print_ada_methods): Rename into...
3258 (dump_ada_methods): ...this.
3259 (print_ada_declaration): Rename into ...
3260 (dump_ada_declaration): ...this. Do not print the return type.
3261 (print_ada_struct_decl): Rename into...
3262 (dump_ada_struct_decl): ...this.
3263
3264 2017-09-29 Jakub Jelinek <jakub@redhat.com>
3265
3266 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
3267 rather than DECL_INITIAL.
3268 (common_handle_aligned_attribute): Likewise.
3269
3270 2017-09-20 Alexandre Oliva <aoliva@redhat.com>
3271
3272 * c.opt (gen-decls): Add RejectNegative.
3273
3274 2017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
3275 Jakub Jelinek <jakub@redhat.com>
3276
3277 Add support for -std=c++2a.
3278 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
3279 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
3280 * c-opts.c (set_std_cxx2a): New.
3281 (c_common_handle_option): Set options when -std=c++2a is enabled.
3282 (c_common_post_options): Adjust comments.
3283 (set_std_cxx14, set_std_cxx17): Likewise.
3284
3285 2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
3286
3287 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
3288 message for non-uniform endianness and issue a warning in C++.
3289
3290 2017-09-15 Jakub Jelinek <jakub@redhat.com>
3291
3292 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
3293 (Wc++17-compat): Change from undocumented alias to option.
3294 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
3295 change C++1z to C++17 in description.
3296 (std=c++1z, std=gnu++1z): Change from option to undocumented
3297 deprecated alias.
3298 (std=c++17, std=gnu++17): Change from undocumented alias to option.
3299 Adjust description.
3300 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
3301 * c-opts.c (set_std_cxx1z): Rename to ...
3302 (set_std_cxx17): ... this.
3303 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
3304 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
3305 caller.
3306 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
3307 comments.
3308
3309 2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
3310
3311 * c-attribs.c (common_handle_aligned_attribute): Don't warn
3312 function alignment if warn_if_not_aligned_p is true.
3313
3314 2017-09-12 Nathan Sidwell <nathan@acm.org>
3315
3316 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
3317 resort_sorted_fields): Move to c/c-decl.c.
3318 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
3319 (struct sorted_fields_type): Move to c/c-lang.h.
3320
3321 2017-09-09 Jonathan Wakely <jwakely@redhat.com>
3322
3323 PR c++/81852
3324 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
3325
3326 2017-09-04 Marek Polacek <polacek@redhat.com>
3327
3328 PR c/81783
3329 * c-warn.c (warn_tautological_bitwise_comparison): New function.
3330 (warn_tautological_cmp): Call it.
3331
3332 2017-09-01 Boris Kolpackov <boris@codesynthesis.com>
3333
3334 * c-opts.c (c_common_finish): Write dependency information even if
3335 there are errors.
3336
3337 2017-09-01 Jakub Jelinek <jakub@redhat.com>
3338
3339 PR c/81887
3340 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
3341 (omp_pragmas_simd): ... here.
3342 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
3343 create new clauses list containing just simd clause.
3344
3345 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3346 Alan Hayward <alan.hayward@arm.com>
3347 David Sherwood <david.sherwood@arm.com>
3348
3349 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
3350 into scalar_mode_supported_p call.
3351 (handle_mode_attribute): Update call to scalar_mode_supported_p.
3352
3353 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3354 Alan Hayward <alan.hayward@arm.com>
3355 David Sherwood <david.sherwood@arm.com>
3356
3357 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
3358 for the mode iterator.
3359
3360 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3361 Alan Hayward <alan.hayward@arm.com>
3362 David Sherwood <david.sherwood@arm.com>
3363
3364 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
3365 * c-common.c (c_build_vec_perm_expr): Likewise.
3366
3367 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3368 Alan Hayward <alan.hayward@arm.com>
3369 David Sherwood <david.sherwood@arm.com>
3370
3371 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
3372
3373 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3374 Alan Hayward <alan.hayward@arm.com>
3375 David Sherwood <david.sherwood@arm.com>
3376
3377 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
3378 before calling targetm.addr_space.valid_pointer_mode.
3379
3380 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3381 Alan Hayward <alan.hayward@arm.com>
3382 David Sherwood <david.sherwood@arm.com>
3383
3384 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
3385
3386 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3387 Alan Hayward <alan.hayward@arm.com>
3388 David Sherwood <david.sherwood@arm.com>
3389
3390 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
3391 iterators.
3392 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3393
3394 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3395 Alan Hayward <alan.hayward@arm.com>
3396 David Sherwood <david.sherwood@arm.com>
3397
3398 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
3399 case statements.
3400
3401 2017-08-29 Martin Liska <mliska@suse.cz>
3402
3403 PR other/39851
3404 * c-common.c (parse_optimize_options): Add argument to function
3405 call.
3406 * c-pragma.c (handle_pragma_diagnostic): Likewise.
3407
3408 2017-08-24 David Malcolm <dmalcolm@redhat.com>
3409
3410 * c-lex.c (interpret_float): Use token location
3411 when building an EXCESS_PRECISION_EXPR.
3412
3413 2017-08-21 David Malcolm <dmalcolm@redhat.com>
3414
3415 * c-common.c (check_function_arguments): Add "arglogs" param; pass
3416 it to check_function_format.
3417 * c-common.h (check_function_arguments): Add vec<location_t> *
3418 param.
3419 (check_function_format): Likewise.
3420 * c-format.c (struct format_check_context): Add field "arglocs".
3421 (check_function_format): Add param "arglocs"; pass it to
3422 check_format_info.
3423 (check_format_info): Add param "arglocs"; use it to initialize
3424 new field of format_ctx.
3425 (check_format_arg): Pass format_ctx->arglocs to new param of
3426 check_format_info_main.
3427 (class argument_parser): New field "arglocs".
3428 (argument_parser::argument_parser): Add "arglocs_" param and use
3429 it to initialize new field.
3430 (argument_parser::check_argument_type): Pass new arglocs field to
3431 check_format_types.
3432 (check_format_info_main): Add param "arglocs", and use it when
3433 constructing arg_parser.
3434 (check_format_types): Add param "arglocs"; use it if non-NULL when
3435 !EXPR_HAS_LOCATION (cur_param) to get at location information.
3436
3437 2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
3438
3439 PR c/53037
3440 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
3441 (c_common_attribute_table): Add warn_if_not_aligned.
3442 (handle_aligned_attribute): Renamed to ...
3443 (common_handle_aligned_attribute): Remove argument, name, and add
3444 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
3445 (handle_aligned_attribute): New.
3446 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
3447
3448 2017-08-14 Martin Sebor <msebor@redhat.com>
3449
3450 PR c/81117
3451 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
3452 (handle_nonstring_attribute): New function.
3453
3454 2017-08-14 Martin Sebor <msebor@redhat.com>
3455
3456 PR c/81117
3457 * c-format.h (T89_G): New macro.
3458 * c-format.c (local_gcall_ptr_node): New variable.
3459 (init_dynamic_diag_info): Initialize it.
3460
3461 2017-08-11 Martin Liska <mliska@suse.cz>
3462
3463 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
3464 TARGET_SUPPORTS_ALIASES.
3465
3466 2017-08-10 David Malcolm <dmalcolm@redhat.com>
3467
3468 * c-common.c (c_parse_error): Add rich_location * param, using it
3469 rather implicitly using input_location.
3470 * c-common.h (c_parse_error): Add rich_location * param.
3471
3472 2017-08-09 Marek Polacek <polacek@redhat.com>
3473
3474 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
3475 (c_common_truthvalue_conversion): Likewise.
3476 * c-omp.c (c_finish_omp_atomic): Likewise.
3477 * c-common.h (build_binary_op): Update declaration.
3478
3479 2017-08-08 Martin Liska <mliska@suse.cz>
3480
3481 * c-ada-spec.c: Include header files.
3482 * c-ubsan.c: Likewise.
3483 * c-warn.c: Likewise.
3484
3485 2017-08-07 Jakub Jelinek <jakub@redhat.com>
3486
3487 PR c/69389
3488 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
3489
3490 2017-08-07 Eric Botcazou <ebotcazou@adacore.com>
3491
3492 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
3493 (print_ada_methods): Likewise.
3494 (print_ada_declaration): Likewise.
3495
3496 2017-08-07 Martin Liska <mliska@suse.cz>
3497
3498 * array-notation-common.c: Add new includes.
3499 * c-format.c( handle_format_attribute): Canonicalize a format
3500 function name.
3501 * c-lex.c (c_common_has_attribute): Canonicalize name of an
3502 attribute.
3503 * c-pretty-print.c: Add new include.
3504
3505 2017-08-05 Eric Botcazou <ebotcazou@adacore.com>
3506
3507 * c-ada-spec.c (has_static_fields): Look only into variables.
3508 (print_constructor): Add TYPE parameter and use it for the name.
3509 (print_destructor): Likewise.
3510 (print_ada_declaration): Adjust to new constructor/destructor names.
3511 Adjust calls to print_constructor and print_destructor.
3512 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
3513 Look only into variables in the final loop.
3514
3515 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
3516
3517 * c-ada-spec.c (has_static_fields): Look only into fields.
3518 (dump_generic_ada_node): Small tweak.
3519 (dump_nested_types): Look only into fields.
3520 (print_ada_declaration): Look only into methods. Small tweak.
3521 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
3522
3523 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
3524
3525 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
3526 (dump_ada_function_declaration): Likewise.
3527 (dump_generic_ada_node): Likewise.
3528 (print_ada_declaration): Add support for const-qualified variables.
3529
3530 2017-07-31 Martin Liska <mliska@suse.cz>
3531
3532 PR sanitize/81530
3533 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
3534 Guard condition with flag_sanitize_p also with current_function_decl
3535 non-null equality.
3536 (ubsan_maybe_instrument_reference_or_call): Likewise.
3537
3538 2017-07-30 Uros Bizjak <ubizjak@gmail.com>
3539
3540 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
3541
3542 2017-07-29 Eric Botcazou <ebotcazou@adacore.com>
3543
3544 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
3545 for enumeral types.
3546 (print_ada_declaration): Add missing guard for record types.
3547
3548 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3549
3550 PR c/45784
3551 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
3552 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
3553 new COMPOUND_EXPRs around the rhs of the comparison.
3554
3555 2017-07-27 Marek Polacek <polacek@redhat.com>
3556
3557 PR c/81417
3558 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
3559 the types.
3560
3561 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3562
3563 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
3564 (handle_noipa_attribute): New function.
3565
3566 2017-07-07 Torsten Duwe <duwe@suse.de>
3567
3568 * c-attribs.c (c_common_attribute_table): Add entry for
3569 "patchable_function_entry".
3570
3571 2017-07-20 Nathan Sidwell <nathan@acm.org>
3572
3573 Remove TYPE_METHODS.
3574 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
3575 dump_ada_template, print_ada_methods,
3576 print_ada_declaration): Member fns are on TYPE_FIELDS.
3577
3578 2017-07-18 Nathan Sidwell <nathan@acm.org>
3579
3580 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
3581
3582 2017-07-14 David Malcolm <dmalcolm@redhat.com>
3583
3584 * c-common.c (try_to_locate_new_include_insertion_point): New
3585 function.
3586 (per_file_includes_t): New typedef.
3587 (added_includes_t): New typedef.
3588 (added_includes): New variable.
3589 (maybe_add_include_fixit): New function.
3590 * c-common.h (maybe_add_include_fixit): New decl.
3591
3592 2017-07-10 Martin Sebor <msebor@redhat.com>
3593
3594 PR other/81345
3595 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
3596
3597 2017-07-06 David Malcolm <dmalcolm@redhat.com>
3598
3599 * c-common.c (selftest::c_family_tests): New.
3600 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
3601 (selftest::c_family_tests): New decl.
3602
3603 2017-07-04 Marek Polacek <polacek@redhat.com>
3604
3605 PR c/81231
3606 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
3607 types.
3608
3609 2017-07-04 Marek Polacek <polacek@redhat.com>
3610
3611 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
3612
3613 2017-06-28 Martin Liska <mliska@suse.cz>
3614
3615 PR ipa/81128
3616 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
3617 to a function declaration.
3618
3619 2017-06-28 Martin Liska <mliska@suse.cz>
3620
3621 PR driver/79659
3622 * c.opt: Add IntegerRange to various options.
3623
3624 2017-06-26 Marek Polacek <polacek@redhat.com>
3625
3626 PR c/80116
3627 * c-common.h (warn_for_multistatement_macros): Declare.
3628 * c-warn.c: Include "c-family/c-indentation.h".
3629 (warn_for_multistatement_macros): New function.
3630 * c.opt (Wmultistatement-macros): New option.
3631 * c-indentation.c (guard_tinfo_to_string): No longer static.
3632 Change the parameter type to "enum rid". Handle RID_SWITCH.
3633 * c-indentation.h (guard_tinfo_to_string): Declare.
3634
3635 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
3636
3637 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
3638
3639 2017-06-15 Martin Sebor <msebor@redhat.com>
3640
3641 PR c++/80560
3642 * c.opt (-Wclass-memaccess): New option.
3643
3644 2017-06-14 Boris Kolpackov <boris@codesynthesis.com>
3645
3646 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
3647
3648 2017-06-13 Marek Polacek <polacek@redhat.com>
3649
3650 PR objc/80949
3651 * c-warn.c (do_warn_duplicated_branches): Return if any of the
3652 branches is null.
3653
3654 2017-06-13 Martin Liska <mliska@suse.cz>
3655
3656 PR sanitize/78204
3657 * c-attribs.c (add_no_sanitize_value): New function.
3658 (handle_no_sanitize_attribute): Likewise.
3659 (handle_no_sanitize_address_attribute): Use the function.
3660 (handle_no_sanitize_thread_attribute): New function.
3661 (handle_no_address_safety_analysis_attribute): Use
3662 add_no_sanitize_value.
3663 (handle_no_sanitize_undefined_attribute): Likewise.
3664 * c-common.h: Declare new functions.
3665 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
3666 (ubsan_instrument_shift): Likewise.
3667 (ubsan_instrument_bounds): Likewise.
3668 (ubsan_maybe_instrument_array_ref): Likewise.
3669 (ubsan_maybe_instrument_reference_or_call): Likewise.
3670
3671 2017-06-11 Jason Merrill <jason@redhat.com>
3672
3673 * c-ada-spec.c, c-pragma.c: Use id_equal.
3674
3675 2017-06-04 Marek Polacek <polacek@redhat.com>
3676
3677 PR c/80919
3678 * c-format.c (matching_type_p): Return false if any of the types
3679 requires structural equality.
3680
3681 2017-06-02 Martin Sebor <msebor@redhat.com>
3682
3683 PR c/80892
3684 * c-warn.c (conversion_warning): Use -Wconversion for integer
3685 conversion and -Wfloat-conversion for floating one.
3686
3687 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3688
3689 * c.opt (Wsizeof-pointer-div): New warning option.
3690
3691 2017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
3692
3693 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
3694 (Wcatch-value=1): Enable by -Wall.
3695
3696 2017-05-30 David Malcolm <dmalcolm@redhat.com>
3697
3698 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
3699 format_chars.
3700 * c.opt (fdiagnostics-show-template-tree): New option.
3701 (felide-type): New option.
3702
3703 2017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
3704
3705 * c.opt (Wcatch-value=): New C++ warning flag.
3706
3707 2017-05-24 Nathan Sidwell <nathan@acm.org>
3708
3709 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
3710 const casts to avoid warning.
3711
3712 2017-05-24 Martin Sebor <msebor@redhat.com>
3713
3714 PR c/80731
3715 * c-common.h (unsafe_conversion_p): Add a function argument.
3716 * c-common.c (unsafe_conversion_p): Same.
3717 Add type names and values to diagnostics.
3718 (scalar_to_vector): Adjust.
3719 * c-warn.c (constant_expression_error): Add a function argument.
3720 Add type names and values to diagnostics.
3721 (conversion_warning): Add a function argument.
3722 Add type names and values to diagnostics.
3723 (warnings_for_convert_and_check): Same.
3724
3725 2017-05-19 Jason Merrill <jason@redhat.com>
3726
3727 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
3728 enumerators.
3729
3730 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3731
3732 * c-format.c (locus): Move out of function scope,
3733 add GTY attribute.
3734
3735 2017-05-19 Nathan Sidwell <nathan@acm.org>
3736
3737 * c-opts.c (class_dump_file, class_dump_flags): Delete.
3738 (c_common_parse_file): Remove class dump handling.
3739 (get_dump_info): Likewise.
3740
3741 2017-05-19 Richard Biener <rguenther@suse.de>
3742
3743 PR c++/80593
3744 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
3745 to alias-set zero memory.
3746
3747 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
3748
3749 * c-format.c (local_tree_type_node): Add GTY attribute.
3750
3751 2017-05-18 Marek Polacek <polacek@redhat.com>
3752
3753 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
3754 (c_common_fixed_point_type_for_size): Likewise.
3755 (c_common_type_for_mode): Likewise.
3756 (shorten_compare): Likewise.
3757 (c_promoting_integer_type_p): Use false/true instead of 0/1.
3758 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
3759
3760 2017-05-18 Marek Polacek <polacek@redhat.com>
3761
3762 * c-common.c (self_promoting_args_p): Change the return type to bool.
3763 Use false/true instead of 0/1.
3764 * c-common.h (self_promoting_args_p): Update.
3765
3766 2017-05-17 Marek Polacek <polacek@redhat.com>
3767
3768 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
3769 * c-warn.c: Likewise.
3770
3771 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
3772
3773 Implement new C++ intrinsics __is_assignable and __is_constructible.
3774 * c-common.c (__is_assignable, __is_constructible): New.
3775 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
3776
3777 2017-05-17 Martin Liska <mliska@suse.cz>
3778
3779 * c-common.h: Introduce dump_flags_t type and
3780 use it instead of int type.
3781 * c-gimplify.c (c_genericize): Likewise.
3782 * c-opts.c: Likewise.
3783
3784 2017-05-17 Marek Polacek <polacek@redhat.com>
3785
3786 * c-common.c (c_save_expr): Remove.
3787 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
3788 * c-common.h (c_save_expr): Remove declaration.
3789
3790 2017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
3791
3792 PR c/35441
3793 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
3794 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
3795 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
3796 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
3797 RDIV_EXPR.
3798 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
3799
3800 2017-05-09 Marek Polacek <polacek@redhat.com>
3801
3802 PR c/80525
3803 * c-warn.c (unwrap_c_maybe_const): New.
3804 (warn_logical_operator): Call it.
3805
3806 2017-05-09 Nathan Sidwell <nathan@acm.org>
3807
3808 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
3809 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
3810
3811 2017-05-08 Martin Sebor <msebor@redhat.com>
3812
3813 PR translation/80280
3814 * c-format.h (struct format_flag_spec): Add new member.
3815 (T89_T): New macro.
3816 * c-format.c (local_tree_type_node): New global.
3817 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3818 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3819 (strfmon_flag_specs): Likewise.
3820 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3821 with distinct quoting properties.
3822 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3823 (flag_chars_t::validate): Add argument and handle bad quoting.
3824 (check_format_info_main): Handle quoting problems.
3825 (init_dynamic_diag_info): Simplify.
3826
3827 2017-05-08 Jason Merrill <jason@redhat.com>
3828
3829 * c-opts.c (c_common_post_options): Update defaults for
3830 flag_abi_version and flag_abi_compat_version.
3831
3832 2017-05-05 David Malcolm <dmalcolm@redhat.com>
3833
3834 * c-common.c (c_cpp_error): Replace report_diagnostic
3835 with diagnostic_report_diagnostic.
3836
3837 2017-05-04 Martin Sebor <msebor@redhat.com>
3838
3839 PR translation/80280
3840 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3841 (handle_weakref_attribute): Same.
3842
3843 2017-05-03 Nathan Sidwell <nathan@acm.org>
3844
3845 Canonicalize canonical type hashing
3846 * c-common.c (complete_array_type): Use type_hash_canon.
3847
3848 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3849
3850 PR c++/80038
3851 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3852 prototype.
3853 (cilk_install_body_pedigree_operations): Likewise.
3854 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3855 detatched.
3856 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3857 (cilk_install_body_pedigree_operations): Likewise.
3858 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3859 unwrapping.
3860
3861 2017-04-27 Jakub Jelinek <jakub@redhat.com>
3862
3863 PR c++/80534
3864 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3865 flag on non-aggregate element types.
3866
3867 2017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3868
3869 * c-common.c (c_type_hasher, type_hash_table): Remove.
3870 (c_common_get_alias_set): Remove unreachable code.
3871 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3872
3873 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3874
3875 * c.opt (Wextra-semi): New C++ warning flag.
3876
3877 2017-04-20 Jakub Jelinek <jakub@redhat.com>
3878
3879 PR middle-end/80423
3880 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3881
3882 2017-04-18 Jakub Jelinek <jakub@redhat.com>
3883
3884 PR middle-end/79788
3885 PR middle-end/80375
3886 * c-common.c (c_common_type_for_mode): Don't handle
3887 widest_*_literal_type_node here.
3888 c_common_signed_or_unsigned_type): Likewise.
3889 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3890 to *intTI_type_node or *intDI_type_node depending on whether
3891 TImode is supported by the target or not.
3892
3893 2017-04-10 Martin Liska <mliska@suse.cz>
3894
3895 PR sanitizer/80350
3896 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3897 doing an UBSAN check.
3898
3899 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
3900
3901 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3902
3903 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3904
3905 PR c++/79572
3906 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3907 tree *.
3908 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3909 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3910 REFERENCE_TYPE.
3911
3912 2017-03-31 David Malcolm <dmalcolm@redhat.com>
3913
3914 PR documentation/78732
3915 * c.opt (Wendif-labels): Fix description to refer to
3916 #else rather than #elif.
3917
3918 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3919
3920 PR libstdc++/80251
3921 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
3922 * c-common.c (c_common_reswords): Add __is_aggregate trait.
3923
3924 2017-03-27 Jakub Jelinek <jakub@redhat.com>
3925
3926 PR middle-end/80162
3927 * c-common.c (c_common_mark_addressable_vec): Don't set
3928 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
3929
3930 2017-03-21 Martin Sebor <msebor@redhat.com>
3931
3932 PR c++/79548
3933 * c-common.c (set_underlying_type): Mark type used only when
3934 original del is declared unused.
3935
3936 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3937
3938 PR translation/79848
3939 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
3940 "%qs".
3941
3942 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3943
3944 PR c/79921
3945 * c-indentation.c (warn_for_misleading_indentation): Remove parens
3946 from inform's message, so that xgettext can locate it.
3947
3948 2017-03-09 Marek Polacek <polacek@redhat.com>
3949
3950 PR c++/79962
3951 PR c++/79984
3952 * c-attribs.c (handle_nonnull_attribute): Save the result of default
3953 conversion to the attribute list.
3954
3955 2017-03-09 Martin Liska <mliska@suse.cz>
3956
3957 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
3958
3959 2017-03-03 Jason Merrill <jason@redhat.com>
3960
3961 * c.opt (Wnoexcept-type): New.
3962
3963 2017-03-02 Richard Biener <rguenther@suse.de>
3964
3965 PR c/79756
3966 * c-common.c (c_common_mark_addressable_vec): Look through
3967 C_MAYBE_CONST_EXPR.
3968
3969 2017-02-28 Martin Liska <mliska@suse.cz>
3970
3971 * c.opt: Replace space with tabular for options of <number>
3972 type.
3973
3974 2017-02-28 Martin Liska <mliska@suse.cz>
3975
3976 * c.opt: Fix --help=option -Q for options which are of
3977 an enum type.
3978
3979 2017-02-24 Jakub Jelinek <jakub@redhat.com>
3980
3981 PR c++/79588
3982 * c-common.c (check_function_restrict): New function.
3983 (check_function_arguments): Add FNDECL argument. Call
3984 check_function_restrict if -Wrestrict.
3985 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3986 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3987 * c-common.h (check_function_arguments): Add FNDECL argument.
3988 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3989
3990 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3991
3992 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3993 treatment of parameters with pointer-to-tagged type and tidy up.
3994 (print_ada_methods): Remove the special treatment of C++ static member
3995 functions.
3996
3997 2017-02-22 Martin Liska <mliska@suse.cz>
3998
3999 * c.opt: Replace inequality signs with square brackets
4000 for -Wnornalized.
4001
4002 2017-02-21 Jakub Jelinek <jakub@redhat.com>
4003
4004 PR c++/79641
4005 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
4006 preserve quals.
4007
4008 2017-02-17 Joseph Myers <joseph@codesourcery.com>
4009
4010 * c-cppbuiltin.c (builtin_define_float_constants): Define
4011 __DECIMAL_DIG__ to the value for long double.
4012
4013 2017-02-15 Marek Polacek <polacek@redhat.com>
4014
4015 PR c/79515
4016 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
4017 conversion has occured.
4018
4019 2017-01-24 David Malcolm <dmalcolm@redhat.com>
4020
4021 * c-common.c (c_common_reswords): Add "__RTL".
4022 * c-common.h (enum rid): Add RID_RTL.
4023
4024 2017-01-20 Marek Polacek <polacek@redhat.com>
4025
4026 PR c/64279
4027 * c-common.h (do_warn_duplicated_branches_r): Declare.
4028 * c-gimplify.c (c_genericize): Walk the function tree calling
4029 do_warn_duplicated_branches_r.
4030 * c-warn.c (expr_from_macro_expansion_r): New.
4031 (do_warn_duplicated_branches): New.
4032 (do_warn_duplicated_branches_r): New.
4033 * c.opt (Wduplicated-branches): New option.
4034
4035 2017-01-17 David Malcolm <dmalcolm@redhat.com>
4036
4037 PR c++/71497
4038 * c-indentation.c (warn_for_misleading_indentation): Use the past
4039 subjunctive in the note.
4040
4041 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
4042
4043 PR c/79116
4044 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
4045 start type to integer_type.
4046
4047 2017-01-16 Jakub Jelinek <jakub@redhat.com>
4048
4049 PR driver/49726
4050 * c.opt (gen-decls): Add Driver flag.
4051
4052 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
4053
4054 Revert:
4055 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
4056
4057 PR c++/71737
4058 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
4059
4060 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
4061
4062 PR c++/71737
4063 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
4064
4065 2017-01-12 Martin Sebor <msebor@redhat.com>
4066
4067 (-Wformat-overflow): ...to this.
4068
4069 2017-01-11 Martin Sebor <msebor@redhat.com>
4070
4071 PR c/78768
4072 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
4073 Also enable for LTO.
4074
4075 2017-01-10 Jason Merrill <jason@redhat.com>
4076
4077 Implement P0195R2, C++17 variadic using.
4078 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
4079
4080 2017-01-09 Jakub Jelinek <jakub@redhat.com>
4081
4082 PR translation/79019
4083 PR translation/79020
4084 * c.opt (Wnormalized=): Fix typo in description.
4085
4086 2017-01-08 Martin Sebor <msebor@redhat.com>
4087
4088 PR middle-end/77708
4089 * c.opt (-Wformat-truncation): New option.
4090
4091 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
4092
4093 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
4094 value to unsigned short to fit in 4 hex digits without
4095 warnings.
4096
4097 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
4098
4099 * c.opt (fsso-struct): Add 'native' value.
4100
4101 2017-01-05 Martin Liska <mliska@suse.cz>
4102
4103 PR pch/78970
4104 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
4105 header.
4106
4107 2017-01-04 Marek Polacek <polacek@redhat.com>
4108
4109 PR c++/64767
4110 * c.opt (Wpointer-compare): New option.
4111
4112 2017-01-04 Jakub Jelinek <jakub@redhat.com>
4113
4114 PR driver/78957
4115 * c.opt (fsso-struct=): Add RejectNegative.
4116
4117 2017-01-01 Jakub Jelinek <jakub@redhat.com>
4118
4119 Update copyright years.
4120
4121 2016-12-29 Martin Liska <mliska@suse.cz>
4122
4123 PR c/78933
4124 * c.opt (strong-eval-order): Add RejectNegative keyword.
4125
4126 2016-12-22 Jason Merrill <jason@redhat.com>
4127
4128 Implement P0522R0, matching of template template arguments.
4129 * c-cppbuiltin.c (c_cpp_builtins): Define
4130 __cpp_template_template_args.
4131
4132 2016-12-21 Jakub Jelinek <jakub@redhat.com>
4133
4134 PR bootstrap/78817
4135 * c-common.c (struct nonnull_arg_ctx): New type.
4136 (check_function_nonnull): Return bool instead of void. Use
4137 nonnull_arg_ctx as context rather than just location_t.
4138 (check_nonnull_arg): Adjust for the new context type, set
4139 warned_p to true if a warning has been diagnosed.
4140 (check_function_arguments): Return bool instead of void.
4141 * c-common.h (check_function_arguments): Adjust prototype.
4142
4143 2016-12-21 Jason Merrill <jason@redhat.com>
4144
4145 * c.opt (-fnew-ttp-matching): New flag.
4146 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
4147
4148 2016-12-14 Martin Jambor <mjambor@suse.cz>
4149
4150 * c-omp.c: Include omp-general.h instead of omp-low.h.
4151 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
4152 name.
4153
4154 2016-12-14 Martin Sebor <msebor@redhat.com>
4155
4156 PR c/17308
4157 * c-common.c (check_nonnull_arg): Disable when optimization
4158 is enabled.
4159
4160 2016-12-12 Marek Polacek <polacek@redhat.com>
4161
4162 PR c++/78647
4163 * c-common.c (attribute_fallthrough_p): Return false for
4164 error_mark_node.
4165
4166 2016-12-08 Martin Sebor <msebor@redhat.com>
4167
4168 PR c/78284
4169 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
4170
4171 2016-12-08 Martin Sebor <msebor@redhat.com>
4172
4173 PR c/78165
4174 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
4175 suffix.
4176
4177 2016-12-07 Martin Sebor <msebor@redhat.com>
4178
4179 PR c/53562
4180 PR middle-end/77784
4181 PR middle-end/78149
4182 PR middle-end/78138
4183 * c.opt (-Wstringop-overflow): New option.
4184
4185 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
4186
4187 * c-attribs.c (asan odr indicator): New attribute.
4188 (handle_asan_odr_indicator_attribute): New function.
4189
4190 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4191
4192 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
4193 ptrdiff_type_node;
4194
4195 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
4196
4197 * c-common.c (excess_precision_mode_join): New.
4198 (c_ts18661_flt_eval_method): New.
4199 (c_c11_flt_eval_method): Likewise.
4200 (c_flt_eval_method): Likewise.
4201 * c-common.h (excess_precision_mode_join): New.
4202 (c_flt_eval_method): Likewise.
4203 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
4204 (cpp_iec_559_value): Call it.
4205 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
4206 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
4207 __FLT_EVAL_METHOD_TS_18661_3__.
4208
4209 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
4210
4211 * c-opts.c (c_common_post_options): Add logic to handle the default
4212 case for -fpermitted-flt-eval-methods.
4213
4214 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
4215
4216 * c.opt (Wexpansion-to-defined): New.
4217
4218 2016-11-23 Jakub Jelinek <jakub@redhat.com>
4219
4220 PR target/78451
4221 * c-pragma.c (handle_pragma_target): Don't replace
4222 current_target_pragma, but chainon the new args to the current one.
4223
4224 2016-11-22 Nathan Sidwell <nathan@acm.org>
4225
4226 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
4227 indentation and formatting.
4228
4229 2016-11-21 Martin Sebor <msebor@redhat.com>
4230
4231 * c.opt (-fprintf-return-value): Enable by default.
4232
4233 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
4234
4235 PR c++/71973
4236 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
4237 * c-common.c (c_common_nodes_and_builtins): Initialize
4238 const_tm_ptr_type_node.
4239
4240 2016-11-16 Marek Polacek <polacek@redhat.com>
4241
4242 PR c/78285
4243 * c-common.c (c_add_case_label): Turn error_at calls into inform.
4244
4245 2016-11-14 Jakub Jelinek <jakub@redhat.com>
4246
4247 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
4248
4249 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
4250 Richard Biener <rguenther@suse.de>
4251
4252 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
4253 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
4254 * c.opt (fgimple): New option.
4255
4256 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4257
4258 PR c/35503
4259 * c-common.h (warn_for_restrict): Declare.
4260 * c-warn.c: Include gcc-rich-location.h.
4261 (warn_for_restrict): New function.
4262 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
4263 (gcc_cdiag_char_table): Likewise.
4264 (gcc_cxxdiag_char_table): Likewise.
4265 * c.opt (Wrestrict): New option.
4266
4267 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
4268
4269 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
4270 for nested types only if the type is a record or union and dump SLOC.
4271
4272 2016-11-09 Jason Merrill <jason@redhat.com>
4273
4274 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
4275
4276 2016-11-09 Jakub Jelinek <jakub@redhat.com>
4277
4278 * c-ubsan.c (ubsan_instrument_shift): Handle split
4279 -fsanitize=shift-base and -fsanitize=shift-exponent.
4280
4281 2016-11-07 Jason Merrill <jason@redhat.com>
4282
4283 * c.opt (Wc++1z-compat): New.
4284 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
4285
4286 2016-11-07 Martin Liska <mliska@suse.cz>
4287
4288 * c-warn.c (warn_for_unused_label): Save all labels used
4289 in goto or in &label.
4290
4291 2016-11-03 Jason Merrill <jason@redhat.com>
4292
4293 * c-cppbuiltin.c (c_cpp_builtins): Correct
4294 __cpp_inheriting_constructors.
4295
4296 2016-11-01 Jason Merrill <jason@redhat.com>
4297
4298 * c-cppbuiltin.c (c_cpp_builtins): Update
4299 __cpp_inheriting_constructors.
4300
4301 * c.opt (-fnew-inheriting-ctors): New.
4302 * c-opts.c: Default to on for ABI 11+.
4303
4304 2016-10-31 Jakub Jelinek <jakub@redhat.com>
4305
4306 PR c++/77948
4307 * c.opt (fext-numeric-literals): Add Var and Init.
4308 * c-opts.c (c_common_handle_option): Don't clear
4309 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
4310 (c_common_post_options): Clear it here if not set
4311 explicitly.
4312
4313 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
4314
4315 PR debug/77773
4316 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
4317 if NULL.
4318
4319 2016-10-25 Jakub Jelinek <jakub@redhat.com>
4320
4321 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
4322 * c-common.c (c_common_reswords): Add __builtin_launder.
4323
4324 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
4325
4326 * c-common.c (c_common_truthvalue_conversion): Warn for
4327 multiplications in boolean context. Fix the quoting of '<<' and '<'
4328 in the shift warning.
4329
4330 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
4331
4332 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
4333
4334 2016-10-20 Jason Merrill <jason@redhat.com>
4335
4336 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
4337
4338 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4339
4340 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
4341 integer shift ops in boolean context.
4342
4343 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
4344
4345 * c.opt (Walloca): New.
4346 (Walloca-larger-than=): New.
4347 (Wvla-larger-than=): New.
4348
4349 2016-10-17 Marek Polacek <polacek@redhat.com>
4350
4351 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
4352 Return immediately when finding a match.
4353 (warn_tautological_cmp): Remove a boolean variable that is no longer
4354 needed.
4355
4356 2016-10-17 Marek Polacek <polacek@redhat.com>
4357
4358 * c-attribs.c: New file.
4359 * c-common.c: Move attributes handling to c-attribs.c.
4360 (get_nonnull_operand): No longer static.
4361 * c-common.h: Move the declarations from c-attribs.c to its own section.
4362
4363 2016-10-14 Jason Merrill <jason@redhat.com>
4364
4365 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
4366 and __cpp_deduction_guides.
4367
4368 2016-10-13 Jason Merrill <jason@redhat.com>
4369
4370 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
4371
4372 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
4373
4374 * c-cppbuiltin.c: Include memmodel.h.
4375 * c-opts.c: Likewise.
4376 * c-pragma.c: Likewise.
4377 * c-warn.c: Likewise.
4378
4379 2016-10-12 Jakub Jelinek <jakub@redhat.com>
4380
4381 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
4382 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
4383 * c-opts.c (sanitize_cpp_opts): Initialize
4384 cpp_opts->cpp_warn_implicit_fallthrough.
4385
4386 2016-10-11 Marek Polacek <polacek@redhat.com>
4387
4388 * c-common.c (warning_candidate_p): Change the return type to bool
4389 and return true/false instead of 1/0.
4390 (vector_mode_valid_p): Likewise.
4391
4392 2016-10-11 Marek Polacek <polacek@redhat.com>
4393
4394 * c-common.c (fold_for_warn): No longer static.
4395 (bool_promoted_to_int_p): Likewise.
4396 (c_common_get_narrower): Likewise.
4397 (constant_expression_warning): Move to c-warn.c.
4398 (constant_expression_error): Likewise.
4399 (overflow_warning): Likewise.
4400 (warn_logical_operator): Likewise.
4401 (find_array_ref_with_const_idx_r): Likewise.
4402 (warn_tautological_cmp): Likewise.
4403 (expr_has_boolean_operands_p): Likewise.
4404 (warn_logical_not_parentheses): Likewise.
4405 (warn_if_unused_value): Likewise.
4406 (strict_aliasing_warning): Likewise.
4407 (sizeof_pointer_memaccess_warning): Likewise.
4408 (check_main_parameter_types): Likewise.
4409 (conversion_warning): Likewise.
4410 (warnings_for_convert_and_check): Likewise.
4411 (match_case_to_enum_1): Likewise.
4412 (match_case_to_enum): Likewise.
4413 (c_do_switch_warnings): Likewise.
4414 (warn_for_omitted_condop): Likewise.
4415 (readonly_error): Likewise.
4416 (lvalue_error): Likewise.
4417 (invalid_indirection_error): Likewise.
4418 (warn_array_subscript_with_type_char): Likewise.
4419 (warn_about_parentheses): Likewise.
4420 (warn_for_unused_label): Likewise.
4421 (warn_for_div_by_zero): Likewise.
4422 (warn_for_memset): Likewise.
4423 (warn_for_sign_compare): Likewise.
4424 (do_warn_double_promotion): Likewise.
4425 (do_warn_unused_parameter): Likewise.
4426 (record_locally_defined_typedef): Likewise.
4427 (maybe_record_typedef_use): Likewise.
4428 (maybe_warn_unused_local_typedefs): Likewise.
4429 (maybe_warn_bool_compare): Likewise.
4430 (maybe_warn_shift_overflow): Likewise.
4431 (warn_duplicated_cond_add_or_warn): Likewise.
4432 (diagnose_mismatched_attributes): Likewise.
4433 * c-common.h: Move the declarations from c-warn.c to its own section.
4434 * c-warn.c: New file.
4435
4436 2016-10-08 Jason Merrill <jason@redhat.com>
4437
4438 * c-common.c (c_common_truthvalue_conversion): Don't distribute
4439 into COND_EXPR in C++.
4440
4441 2016-10-08 Jakub Jelinek <jakub@redhat.com>
4442
4443 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
4444 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
4445 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
4446
4447 2016-10-07 Jakub Jelinek <jakub@redhat.com>
4448
4449 Implement LWG2296 helper intrinsic
4450 * c-common.h (enum rid): Add RID_ADDRESSOF.
4451 * c-common.c (c_common_reswords): Add __builtin_addressof.
4452
4453 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
4454
4455 PR c++/77700
4456 * c-common.c (c_common_truthvalue_conversion): Warn also for
4457 suspicious enum values in boolean context.
4458
4459 2016-10-06 Jakub Jelinek <jakub@redhat.com>
4460
4461 Implement P0258R2 - helper for C++17
4462 std::has_unique_object_representations trait
4463 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
4464 * c-common.c (c_common_reswords): Add
4465 __has_unique_object_representations.
4466
4467 2016-10-05 Jakub Jelinek <jakub@redhat.com>
4468
4469 PR sanitizer/66343
4470 * c-ubsan.c (ubsan_instrument_return): Don't call
4471 initialize_sanitizer_builtins here.
4472
4473 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4474
4475 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
4476 conditional expression in boolean context when only one arm is
4477 non-boolean.
4478
4479 2016-10-05 Jakub Jelinek <jakub@redhat.com>
4480
4481 PR sanitizer/77823
4482 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
4483 is not integral.
4484
4485 * c-common.c (c_common_reswords): Update comment for C++11.
4486
4487 2016-10-04 Jason Merrill <jason@redhat.com>
4488
4489 * c-common.c (make_tree_vector_from_ctor): New.
4490 * c-common.h: Declare it.
4491
4492 2016-10-04 Jakub Jelinek <jakub@redhat.com>
4493
4494 * c-cppbuiltin.c (c_cpp_builtins): Don't define
4495 __LIBGCC_JCR_SECTION_NAME__.
4496
4497 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
4498
4499 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
4500 left shift in boolean context.
4501
4502 2016-09-29 Jakub Jelinek <jakub@redhat.com>
4503
4504 Implement P0001R1 - C++17 removal of register storage class specifier
4505 * c.opt (Wregister): New warning.
4506 * c-opts.c (c_common_post_options): Enable -Wregister by
4507 default for C++17.
4508
4509 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
4510
4511 * c-opts.c (c_common_post_options): Remove special case for
4512 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
4513 in C++.
4514
4515 2016-09-27 Jakub Jelinek <jakub@redhat.com>
4516
4517 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
4518 -std=c++1z.
4519
4520 * c-ada-spec.c (print_ada_declaration): Remove break after return.
4521
4522 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
4523
4524 * c-common.c: Include memmodel.h.
4525
4526 2016-09-26 Marek Polacek <polacek@redhat.com>
4527
4528 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
4529
4530 2016-09-26 Marek Polacek <polacek@redhat.com>
4531
4532 PR c/7652
4533 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
4534 (handle_fallthrough_attribute): New function.
4535 (attribute_fallthrough_p): New function.
4536 * c-common.h (attribute_fallthrough_p): Declare.
4537
4538 2016-09-24 Marek Polacek <polacek@redhat.com>
4539
4540 PR c/77490
4541 * c.opt (Wbool-operation): New.
4542
4543 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
4544
4545 * c-common.c (c_common_truthvalue_conversion): Inhibit
4546 Wint-in-bool-context warning with from_macro_definition_at.
4547 Mention the expression will always evaluate to true.
4548
4549 2016-09-21 Martin Sebor <msebor@redhat.com>
4550
4551 PR bootstrap/77676
4552 * c.opt (fprintf-return-value): Temporarily initialize to zero
4553 to unblock bootstrap failures.
4554
4555 2016-09-21 Jakub Jelinek <jakub@redhat.com>
4556
4557 PR c++/77651
4558 * c.opt (Waligned-new=): Add RejectNegative.
4559 (faligned-new=): Likewise. Spelling fix - change
4560 aligned_new_threshhold to aligned_new_threshold.
4561 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
4562 to aligned_new_threshold.
4563
4564 2016-09-20 Martin Sebor <msebor@redhat.com>
4565
4566 PR middle-end/49905
4567 * c.opt: Add -Wformat-length and -fprintf-return-value.
4568
4569 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4570
4571 PR c++/77434
4572 * c.opt (Wint-in-bool-context): New warning.
4573 * c-common.c (c_common_truthvalue_conversion): Warn on integer
4574 constants in boolean context.
4575
4576 2016-09-19 Joseph Myers <joseph@codesourcery.com>
4577
4578 * c-common.c (max_align_t_align): Also consider alignment of
4579 float128_type_node.
4580
4581 2016-09-15 Jason Merrill <jason@redhat.com>
4582
4583 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
4584 DECL_EXTERNAL.
4585
4586 2016-09-14 Jason Merrill <jason@redhat.com>
4587
4588 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4589 limit FIELD_DECL, either.
4590
4591 2016-09-14 Marek Polacek <polacek@redhat.com>
4592
4593 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
4594 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
4595 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
4596
4597 2016-09-13 David Malcolm <dmalcolm@redhat.com>
4598
4599 * c-common.c (warn_logical_not_parentheses): Replace
4600 rich_location::add_fixit_insert calls with add_fixit_insert_before
4601 and add_fixit_insert_after, eliminating the "next_loc" calculation.
4602
4603 2016-09-13 Jason Merrill <jason@redhat.com>
4604 Tom de Vries <tom@codesourcery.com>
4605
4606 PR c++/77427
4607 * c-common.c (set_underlying_type): Don't treat array as builtin type.
4608
4609 2016-09-13 Jason Merrill <jason@redhat.com>
4610
4611 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4612 limit types at all.
4613
4614 2016-09-12 Jason Merrill <jason@redhat.com>
4615
4616 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
4617 bit/byte confusion, allow large alignment for types.
4618
4619 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
4620
4621 PR c++/77496
4622 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
4623
4624 2016-09-12 David Malcolm <dmalcolm@redhat.com>
4625
4626 PR c/72858
4627 * c-format.c (argument_parser::check_argument_type): Add params
4628 "type_start" and "conversion_char". Use the former to generate
4629 offset_to_type_start and pass it and conversion_char to
4630 check_format_types.
4631 (check_format_info_main): Capture the start of the type
4632 information as "type_start", and pass it an format_char
4633 to arg_parser.check_argument_type.
4634 (check_format_types): Provide an example in the leading comment.
4635 Add params "offset_to_type_start" and "conversion_char"; pass
4636 them to format_type_warning calls.
4637 (test_get_modifier_for_format_len): Likewise.
4638 (matching_type_p): New function.
4639 (get_format_for_type): Add param "conversion_char" and move
4640 implementation into...
4641 (get_format_for_type_1): ...new function, called twice.
4642 Use new function matching_type_p rather than checking for
4643 TYPE_CANONICAL equality.
4644 (get_corrected_substring): New function.
4645 (format_type_warning): Provide an example in the leading comment.
4646 Add params "offset_to_type_start" and "conversion_char". Replace
4647 call to get_format_for_type with call to get_corrected_substring
4648 and move rejection of hints for widths/precisions there.
4649 (assert_format_for_type_streq): Add param "conversion_char".
4650 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
4651 (test_get_format_for_type_printf): Add conversion chars to the
4652 tests, adding coverage for various combinations of integer
4653 vs double conversions, and for preserving octal and hexadecimal
4654 conversions.
4655 (test_get_format_for_type_scanf): Add conversion chars to the
4656 tests.
4657
4658 2016-09-10 Tom de Vries <tom@codesourcery.com>
4659
4660 PR C/71602
4661 * c-common.c (build_va_arg): Handle more strict
4662 targetm.canonical_va_list_type. Replace first argument type error with
4663 assert.
4664
4665 2016-09-09 Martin Sebor <msebor@redhat.com>
4666
4667 PR c/77520
4668 PR c/77521
4669 * c-format.c (argument_parser::find_format_char_info): Use %qc
4670 format directive unconditionally.
4671
4672 2016-09-09 Jason Merrill <jason@redhat.com>
4673
4674 Implement C++17 new of over-aligned types.
4675 * c.opt: Add -faligned-new and -Waligned-new.
4676 * c-common.c (max_align_t_align): Split out from...
4677 (cxx_fundamental_alignment_p): ...here.
4678 * c-common.h: Declare it.
4679 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
4680
4681 2016-09-09 Joseph Myers <joseph@codesourcery.com>
4682
4683 * c-cppbuiltin.c (builtin_define_type_width): New function.
4684 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
4685 macros.
4686
4687 2016-09-07 David Malcolm <dmalcolm@redhat.com>
4688
4689 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
4690 a POINTER_TYPE.
4691 (substring_loc::get_location): Move to substring-locations.c,
4692 keeping implementation as...
4693 (c_get_substring_location): New function, from the above, reworked
4694 to use accessors rather than member lookup.
4695 * c-common.h (class substring_loc): Move to substring-locations.h,
4696 replacing with a forward decl.
4697 (c_get_substring_location): New decl.
4698 * c-format.c: Include "substring-locations.h".
4699 (format_warning_va): Move to substring-locations.c.
4700 (format_warning_at_substring): Likewise.
4701
4702 2016-09-06 Martin Sebor <msebor@redhat.com>
4703
4704 PR c/77336
4705 * c-format.c (check_function_format): Avoid issuing warnings for
4706 functions unless they call format functions with non-constant
4707 format strings.
4708
4709 2016-09-06 Richard Biener <rguenther@suse.de>
4710
4711 PR c/77450
4712 * c-common.c (c_common_mark_addressable_vec): Handle
4713 COMPOUND_LITERAL_EXPR.
4714
4715 2016-09-05 Marek Polacek <polacek@redhat.com>
4716
4717 PR c/77423
4718 * c-common.c (bool_promoted_to_int_p): New function.
4719 (expr_has_boolean_operands_p): New function.
4720 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
4721 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
4722
4723 2016-09-04 Tom de Vries <tom@codesourcery.com>
4724
4725 revert:
4726 2016-08-29 Tom de Vries <tom@codesourcery.com>
4727
4728 * c-common.c (build_va_arg): Replace first argument type error
4729 with assert.
4730
4731 2016-09-02 Jakub Jelinek <jakub@redhat.com>
4732
4733 PR c/65467
4734 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
4735 (c_finish_omp_for): Reject _Atomic qualified iterators.
4736
4737 2016-09-01 Martin Sebor <msebor@redhat.com>
4738
4739 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
4740 size to guarantee it fits the output of the formatted function
4741 regardless of its arguments.
4742
4743 2016-09-01 Marek Polacek <polacek@redhat.com>
4744
4745 PR c/7652
4746 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
4747 FALLTHRU comments.
4748
4749 2016-08-29 Marek Polacek <polacek@redhat.com>
4750
4751 PR c/77292
4752 * c-common.c (warn_logical_not_parentheses): Don't warn for
4753 a comparison or a logical operator.
4754
4755 2016-08-29 Tom de Vries <tom@codesourcery.com>
4756
4757 * c-common.c (build_va_arg): Fix type comparison assert.
4758
4759 2016-08-29 Tom de Vries <tom@codesourcery.com>
4760
4761 * c-common.c (build_va_arg): Replace first argument type error
4762 with assert.
4763
4764 2016-08-29 Tom de Vries <tom@codesourcery.com>
4765
4766 PR c/77398
4767 * c-common.c (build_va_arg): Add first argument error. Build va_arg
4768 with error_mark_node as va_list instead of with illegal va_list.
4769
4770 2016-08-25 Marek Polacek <polacek@redhat.com>
4771 David Malcolm <dmalcolm@redhat.com>
4772
4773 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
4774 * c-common.h (warn_logical_not_parentheses): Update declaration.
4775
4776 2016-08-22 Marek Polacek <polacek@redhat.com>
4777
4778 PR c++/77321
4779 * c-common.c (warn_for_memset): Check type for null.
4780
4781 2016-08-22 Joseph Myers <joseph@codesourcery.com>
4782
4783 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
4784 _FloatNx types for suffixes for built-in functions.
4785
4786 2016-08-19 Joseph Myers <joseph@codesourcery.com>
4787
4788 PR c/32187
4789 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
4790 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
4791 (RID_FLOAT128X): New enum rid values.
4792 (CASE_RID_FLOATN_NX): New macro.
4793 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
4794 keywords.
4795 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
4796 corresponding complex types.
4797 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
4798 _FloatNx and corresponding complex types.
4799 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
4800 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
4801 and _FloatNx types for the widest type for determining
4802 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
4803 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
4804 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
4805 and _FloatNx types.
4806 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
4807 constants.
4808 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
4809 _FloatNx types.
4810
4811 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4812
4813 * c-opts.c (c_diagnostic_finalizer): Update for change to
4814 diagnostic_show_locus.
4815
4816 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4817
4818 * c-common.c: Include "spellcheck.h".
4819 (cb_get_suggestion): New function.
4820 * c-common.h (cb_get_suggestion): New decl.
4821 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4822 cb_get_suggestion.
4823
4824 2016-08-18 Marek Polacek <polacek@redhat.com>
4825
4826 PR c/71514
4827 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4828 and pointer-to-VLA.
4829
4830 2016-08-16 David Malcolm <dmalcolm@redhat.com>
4831
4832 PR c/72857
4833 * c-common.c (substring_loc::get_range): Rename to...
4834 (substring_loc::get_location): ...this, converting param from a
4835 source_range * to a location_t *. Call
4836 get_source_location_for_substring rather than
4837 get_source_range_for_substring, and pass in m_caret_idx.
4838 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4839 (substring_loc::get_range): Replace with...
4840 (substring_loc::get_location): ...this.
4841 (substring_loc::set_caret_index): New method.
4842 (substring_loc): Add field m_caret_idx.
4843 * c-format.c (format_warning_va): Update for above changes.
4844 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4845 clashing with type name.
4846 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4847 (check_argument_type): Likewise.
4848 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4849 Use a copy when emitting warnings, setting the caret index from TYPE.
4850
4851 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
4852 Arnaud Charlet <charlet@adacore.com>
4853
4854 * c-ada-spec.c (dump_number): New function.
4855 (handle_escape_character): Likewise.
4856 (print_ada_macros): Add handling of constant integers and strings.
4857
4858 2016-08-12 Marek Polacek <polacek@redhat.com>
4859
4860 PR c/7652
4861 * c-common.c (scalar_to_vector): Adjust fall through comment.
4862 * c-opts.c (c_common_handle_option): Likewise.
4863 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4864 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4865 fall through comment.
4866 * cilk.c (extract_free_variables): Add FALLTHRU.
4867
4868 2016-08-10 Jason Merrill <jason@redhat.com>
4869
4870 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4871
4872 2016-08-09 Jason Merrill <jason@redhat.com>
4873
4874 * c-common.c (c_common_attribute_table): vector_size affects type
4875 identity.
4876
4877 2016-08-09 Marek Polacek <polacek@redhat.com>
4878
4879 PR c/7652
4880 * c-ada-spec.c (dump_generic_ada_node): Add return.
4881
4882 2016-08-09 Jason Merrill <jason@redhat.com>
4883
4884 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4885 C++17 constexpr lambdas.
4886
4887 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4888
4889 PR c/64955
4890 * c-common.h (selftest::c_format_c_tests): New declaration.
4891 (selftest::run_c_tests): New declaration.
4892 * c-format.c: Include "selftest.h.
4893 (format_warning_va): Add param "corrected_substring" and use
4894 it to add a replacement fix-it hint.
4895 (format_warning_at_substring): Likewise.
4896 (format_warning_at_char): Update for new param of
4897 format_warning_va.
4898 (argument_parser::check_argument_type): Pass "fki" to
4899 check_format_types.
4900 (check_format_types): Add param "fki" and pass it to
4901 format_type_warning.
4902 (deref_n_times): New function.
4903 (get_modifier_for_format_len): New function.
4904 (selftest::test_get_modifier_for_format_len): New function.
4905 (get_format_for_type): New function.
4906 (format_type_warning): Add param "fki" and use it to attempt
4907 to provide hints for argument types when calling
4908 format_warning_at_substring.
4909 (selftest::get_info): New function.
4910 (selftest::assert_format_for_type_streq): New function.
4911 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4912 (selftest::test_get_format_for_type_printf): New function.
4913 (selftest::test_get_format_for_type_scanf): New function.
4914 (selftest::c_format_c_tests): New function.
4915
4916 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4917
4918 PR c/52952
4919 * c-format.c: Include "diagnostic.h".
4920 (location_column_from_byte_offset): Delete.
4921 (location_from_offset): Delete.
4922 (format_warning_va): New function.
4923 (format_warning_at_substring): New function.
4924 (format_warning_at_char): New function.
4925 (check_format_arg): Capture location of format_tree and pass to
4926 check_format_info_main.
4927 (argument_parser): Add fields "start_of_this_format" and
4928 "format_string_cst".
4929 (flag_chars_t::validate): Add param "format_string_cst". Convert
4930 warning_at call using location_from_offset to call to
4931 format_warning_at_char.
4932 (argument_parser::argument_parser): Add param "format_string_cst_"
4933 and use use it to initialize field "format_string_cst".
4934 Initialize new field "start_of_this_format".
4935 (argument_parser::read_format_flags): Convert warning_at call
4936 using location_from_offset to a call to format_warning_at_char.
4937 (argument_parser::read_any_format_left_precision): Likewise.
4938 (argument_parser::read_any_format_precision): Likewise.
4939 (argument_parser::read_any_other_modifier): Likewise.
4940 (argument_parser::find_format_char_info): Likewise, in three places.
4941 (argument_parser::parse_any_scan_set): Likewise, in one place.
4942 (argument_parser::handle_conversions): Likewise, in two places.
4943 (argument_parser::check_argument_type): Add param "fmt_param_loc"
4944 and use it to make a substring_loc. Pass the latter to
4945 check_format_types.
4946 (check_format_info_main): Add params "fmt_param_loc" and
4947 "format_string_cst". Convert warning_at calls using
4948 location_from_offset to calls to format_warning_at_char. Pass the
4949 new params to the arg_parser ctor. Pass "format_string_cst" to
4950 flag_chars.validate. Pass "fmt_param_loc" to
4951 arg_parser.check_argument_type.
4952 (check_format_types): Convert first param from a location_t
4953 to a const substring_loc & and rename to "fmt_loc". Attempt
4954 to extract the range of the relevant parameter and pass it
4955 to format_type_warning.
4956 (format_type_warning): Convert first param from a location_t
4957 to a const substring_loc & and rename to "fmt_loc". Add
4958 params "param_range" and "type". Replace calls to warning_at
4959 with calls to format_warning_at_substring.
4960
4961 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4962
4963 * c-format.c (class flag_chars_t): New class.
4964 (struct length_modifier): New struct.
4965 (class argument_parser): New class.
4966 (flag_chars_t::flag_chars_t): New ctor.
4967 (flag_chars_t::has_char_p): New method.
4968 (flag_chars_t::add_char): New method.
4969 (flag_chars_t::validate): New method.
4970 (flag_chars_t::get_alloc_flag): New method.
4971 (flag_chars_t::assignment_suppression_p): New method.
4972 (argument_parser::argument_parser): New ctor.
4973 (argument_parser::read_any_dollar): New method.
4974 (argument_parser::read_format_flags): New method.
4975 (argument_parser::read_any_format_width): New method.
4976 (argument_parser::read_any_format_left_precision): New method.
4977 (argument_parser::read_any_format_precision): New method.
4978 (argument_parser::handle_alloc_chars): New method.
4979 (argument_parser::read_any_length_modifier): New method.
4980 (argument_parser::read_any_other_modifier): New method.
4981 (argument_parser::find_format_char_info): New method.
4982 (argument_parser::validate_flag_pairs): New method.
4983 (argument_parser::give_y2k_warnings): New method.
4984 (argument_parser::parse_any_scan_set): New method.
4985 (argument_parser::handle_conversions): New method.
4986 (argument_parser::check_argument_type): New method.
4987 (check_format_info_main): Introduce classes argument_parser
4988 and flag_chars_t, moving the code within the loop into methods
4989 of these classes. Make various locals "const".
4990
4991 2016-08-05 David Malcolm <dmalcolm@redhat.com>
4992
4993 * c-common.c: Include "substring-locations.h".
4994 (get_cpp_ttype_from_string_type): New function.
4995 (g_string_concat_db): New global.
4996 (substring_loc::get_range): New method.
4997 * c-common.h (g_string_concat_db): New declaration.
4998 (class substring_loc): New class.
4999 * c-lex.c (lex_string): When concatenating strings, capture the
5000 locations of all tokens using a new obstack, and record the
5001 concatenation locations within g_string_concat_db.
5002 * c-opts.c (c_common_init_options): Construct g_string_concat_db
5003 on the ggc-heap.
5004
5005 2016-07-29 Marek Polacek <polacek@redhat.com>
5006
5007 PR c/71926
5008 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
5009 parentheses warning.
5010
5011 PR c/71574
5012 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
5013
5014 2016-07-28 Martin Liska <mliska@suse.cz>
5015
5016 PR gcov-profile/68025
5017 * c-common.c (handle_no_profile_instrument_function_attribute):
5018
5019 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
5020
5021 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
5022 BITS_PER_UNIT_LOG.
5023
5024 2016-07-25 Jason Merrill <jason@redhat.com>
5025
5026 PR c++/65970
5027 * c.opt (fconstexpr-loop-limit): New.
5028
5029 2016-07-22 Martin Sebor <msebor@redhat.com>
5030
5031 PR c++/71675
5032 * c-common.c (resolve_overloaded_builtin): Avoid converting
5033 __atomic_compare_exchange_n return type to that of what its
5034 first argument points to.
5035
5036 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
5037
5038 * c-common.c: Use HOST_WIDE_INT_M1U instead of
5039 ~(unsigned HOST_WIDE_INT) 0.
5040
5041 2016-07-22 Martin Liska <mliska@suse.cz>
5042
5043 PR gcov-profile/69028
5044 PR gcov-profile/62047
5045 * cilk.c (create_cilk_helper_decl): Set location of a new decl
5046 to the current_function_decl.
5047
5048 2016-07-21 Jason Merrill <jason@redhat.com>
5049
5050 PR c++/65168
5051 * c-common.c (c_common_truthvalue_conversion): Check
5052 c_inhibit_evaluation_warnings for warning about address of
5053 reference.
5054
5055 2016-07-20 David Malcolm <dmalcolm@redhat.com>
5056
5057 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
5058 const char *.
5059
5060 2016-07-15 Jason Merrill <jason@redhat.com>
5061
5062 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
5063
5064 2016-07-15 Jakub Jelinek <jakub@redhat.com>
5065
5066 PR c/71858
5067 * c-common.h (enum lookup_name_fuzzy_kind): Add
5068 FUZZY_LOOKUP_FUNCTION_NAME.
5069
5070 2016-07-08 Jason Merrill <jason@redhat.com>
5071
5072 P0145: Refining Expression Order for C++.
5073 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
5074 * c-opts.c: Adjust.
5075
5076 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
5077
5078 PR c++/71214
5079 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
5080
5081 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
5082
5083 * c-pragma.h (enum pragma_kind): Rename
5084 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
5085 users.
5086
5087 2016-06-29 Richard Biener <rguenther@suse.de>
5088
5089 PR middle-end/71002
5090 * c-common.c (c_common_get_alias_set): Remove union type punning case.
5091
5092 2016-06-24 Jason Merrill <jason@redhat.com>
5093
5094 P0145R2: Refining Expression Order for C++.
5095 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
5096 MODIFY_EXPR.
5097
5098 2016-06-24 Jakub Jelinek <jakub@redhat.com>
5099
5100 * c-common.c (check_builtin_function_arguments): Require last
5101 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
5102 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
5103 if the last argument is pointer to enumerated or boolean type.
5104
5105 2016-06-22 David Malcolm <dmalcolm@redhat.com>
5106
5107 PR c/70339
5108 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
5109 (lookup_name_fuzzy): New prototype.
5110
5111 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
5112
5113 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
5114
5115 2016-06-14 Jason Merrill <jason@redhat.com>
5116
5117 P0145R2: Refining Expression Order for C++.
5118 * c.opt (fargs-in-order): New.
5119 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
5120
5121 2016-06-13 Jakub Jelinek <jakub@redhat.com>
5122
5123 PR sanitizer/71498
5124 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
5125 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
5126
5127 PR preprocessor/71183
5128 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
5129 to cb_get_source_date_epoch.
5130
5131 2016-06-10 Jakub Jelinek <jakub@redhat.com>
5132
5133 PR c/68657
5134 * c.opt (Wpsabi): Add Warning flag.
5135
5136 2016-06-10 Martin Sebor <msebor@redhat.com>
5137
5138 PR c/71392
5139 * c-common.c (handle_nonnull_attribute): Accept
5140 the nonnull attribute in type-generic builtins.
5141
5142 2016-06-09 Martin Sebor <msebor@redhat.com>
5143
5144 PR c/70883
5145 * c-common.c (builtin_function_validate_nargs): Make text of error
5146 message consistent with others like it.
5147
5148 2016-06-08 Martin Sebor <msebor@redhat.com>
5149 Jakub Jelinek <jakub@redhat.com>
5150
5151 PR c++/70507
5152 PR c/68120
5153 * c-common.c (check_builtin_function_arguments): Handle
5154 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
5155
5156 2016-06-08 Richard Biener <rguenther@suse.de>
5157
5158 * c-common.c (parse_optimize_options): Improve diagnostic messages.
5159
5160 2016-06-07 Richard Biener <rguenther@suse.de>
5161
5162 PR c/61564
5163 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
5164 options and warn about others.
5165
5166 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
5167
5168 * c-common.c (get_source_date_epoch): Rename to
5169 cb_get_source_date_epoch.
5170 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
5171 message when the parsing fails. Use error_at instead of fatal_error.
5172 * c-common.h (get_source_date_epoch): Rename to
5173 cb_get_source_date_epoch.
5174 * c-common.h (cb_get_source_date_epoch): Prototype.
5175 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
5176 * c-common.h (c_omp_region_type): Remove trailing comma.
5177 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
5178 * c-lex.c (c_lex_with_flags): Remove initialization of
5179 pfile->source_date_epoch.
5180
5181 2016-05-30 Jakub Jelinek <jakub@redhat.com>
5182
5183 PR c++/71349
5184 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
5185 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
5186 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
5187 instead of C_OMP_CLAUSE_SPLIT_FOR.
5188
5189 2016-05-24 Richard Biener <rguenther@suse.de>
5190
5191 PR middle-end/70434
5192 PR c/69504
5193 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
5194 (convert_vector_to_array_for_subscript): ... this.
5195 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
5196 VIEW_CONVERT_EXPR to an array type. Rename to ...
5197 (convert_vector_to_array_for_subscript): ... this.
5198
5199 2016-05-12 Marek Polacek <polacek@redhat.com>
5200
5201 PR c/70756
5202 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
5203 size_in_bytes and pass LOC to it.
5204
5205 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
5206
5207 PR c/43651
5208 * c.opt (Wduplicate-decl-specifier): New option.
5209
5210 2016-05-11 Marek Polacek <polacek@redhat.com>
5211
5212 PR c++/71024
5213 * c-common.c (diagnose_mismatched_attributes): New function.
5214 * c-common.h (diagnose_mismatched_attributes): Declare.
5215
5216 2016-05-04 Marek Polacek <polacek@redhat.com>
5217
5218 * c.opt (Wdangling-else): New option.
5219
5220 2016-05-03 Marek Polacek <polacek@redhat.com>
5221
5222 PR c/70859
5223 * c-common.c (builtin_function_validate_nargs): Add location
5224 parameter. Use it.
5225 (check_builtin_function_arguments): Add location and arguments
5226 parameters. Use them.
5227 * c-common.h (check_builtin_function_arguments): Update declaration.
5228
5229 2016-05-03 Richard Biener <rguenther@suse.de>
5230
5231 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
5232 allow call args to gimplify to SSA names.
5233
5234 2016-05-03 Marek Polacek <polacek@redhat.com>
5235
5236 * c-common.h (enum c_omp_region_type): Remove stray comma.
5237
5238 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
5239
5240 * c-common.h (enum c_omp_region_type): Define.
5241
5242 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
5243
5244 * c-common.c (shorten_compare): Use wi::to_wide.
5245
5246 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5247
5248 PR middle-end/70626
5249 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
5250 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
5251 reduction clauses in acc parallel loops.
5252
5253 2016-04-29 Marek Polacek <polacek@redhat.com>
5254
5255 PR c/70852
5256 * c-common.c (warn_for_memset): Check domain before accessing it.
5257
5258 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
5259
5260 PR/69089
5261 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
5262 "aligned" attribute.
5263
5264 2016-04-28 Jason Merrill <jason@redhat.com>
5265
5266 * c-lex.c (c_common_has_attribute): Handle nodiscard.
5267
5268 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
5269 Matthias Klose <doko@debian.org>
5270
5271 * c-common.c (get_source_date_epoch): New function, gets the environment
5272 variable SOURCE_DATE_EPOCH and parses it as long long with error
5273 handling.
5274 * c-common.h (get_source_date_epoch): Prototype.
5275 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
5276
5277 2015-04-27 Ryan Burn <contact@rnburn.com>
5278
5279 PR c++/69024
5280 PR c++/68997
5281 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
5282 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
5283 external linkage.
5284 (cilk_detect_and_unwrap): Corresponding changes.
5285 (extract_free_variables): Don't extract free variables from
5286 AGGR_INIT_EXPR slot.
5287 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
5288 (cilk_recognize_spawn): Likewise.
5289
5290 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
5291
5292 * c.opt (Wmemset-elt-size): New option.
5293 * c-common.c (warn_for_memset): New function.
5294 * c-common.h (warn_for_memset): Declare.
5295
5296 2016-04-25 Jason Merrill <jason@redhat.com>
5297
5298 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
5299 No longer static.
5300 * c-common.h: Declare it.
5301 * c-lex.c (c_common_has_attribute): Add maybe_unused.
5302
5303 2016-04-22 Jason Merrill <jason@redhat.com>
5304
5305 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
5306
5307 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
5308
5309 PR c++/69363
5310 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
5311 * c-common.h (c_finish_cilk_clauses): Remove declaration.
5312
5313 2016-04-18 Michael Matz <matz@suse.de>
5314
5315 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
5316 and SET_DECL_ALIGN.
5317
5318 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
5319
5320 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
5321 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
5322 to incomplete types.
5323 (dump_nested_type): Remove redundant tests and tidy up.
5324 (print_ada_declaration): Also set TREE_VISITED on the declaration of
5325 a type which is the typedef of an original type.
5326
5327 2016-04-15 Marek Polacek <polacek@redhat.com>
5328
5329 PR c/70651
5330 * c-common.c (build_va_arg): Change two asserts into errors and return
5331 error_mark_node.
5332
5333 2016-04-13 Marek Polacek <polacek@redhat.com>
5334
5335 PR c++/70639
5336 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
5337 for switch statements, too.
5338
5339 2016-03-28 Jason Merrill <jason@redhat.com>
5340
5341 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
5342
5343 2016-03-23 Marek Polacek <polacek@redhat.com>
5344
5345 PR c++/69884
5346 * c.opt (Wignored-attributes): New option.
5347
5348 2016-03-22 David Malcolm <dmalcolm@redhat.com>
5349
5350 PR c/69993
5351 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
5352 diagnostic text, reversing the order of the warning and note so
5353 that they appear in source order.
5354
5355 2016-03-17 Marek Polacek <polacek@redhat.com>
5356
5357 PR c/69407
5358 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
5359 operations.
5360
5361 2016-03-14 Jason Merrill <jason@redhat.com>
5362
5363 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
5364
5365 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
5366
5367 2016-03-09 Richard Biener <rguenther@suse.de>
5368
5369 PR c/70143
5370 * c-common.c (strict_aliasing_warning): Add back
5371 alias_sets_conflict_p check.
5372
5373 2016-03-08 Jason Merrill <jason@redhat.com>
5374
5375 * c-opts.c (set_std_cxx1z): Don't enable concepts.
5376
5377 2016-03-04 David Malcolm <dmalcolm@redhat.com>
5378
5379 PR c/68187
5380 * c-indentation.c (get_visual_column): Move code to determine next
5381 tab stop to...
5382 (next_tab_stop): ...this new function.
5383 (line_contains_hash_if): Delete function.
5384 (detect_preprocessor_logic): Delete function.
5385 (get_first_nws_vis_column): New function.
5386 (detect_intervening_unindent): New function.
5387 (should_warn_for_misleading_indentation): Replace call to
5388 detect_preprocessor_logic with a call to
5389 detect_intervening_unindent.
5390
5391 2016-03-04 David Malcolm <dmalcolm@redhat.com>
5392
5393 PR c/68187
5394 * c-indentation.c (should_warn_for_misleading_indentation): When
5395 suppressing warnings about cases where the guard and body are on
5396 the same column, only use the first non-whitespace column in place
5397 of the guard token column when dealing with "else" clauses.
5398 When rejecting aligned BODY and NEXT, loosen the requirement
5399 from equality with the first non-whitespace of guard to simply
5400 that they not be indented relative to it.
5401
5402 2016-03-04 Richard Biener <rguenther@suse.de>
5403
5404 PR c++/70054
5405 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
5406 instead of alias_sets_conflict_p.
5407
5408 2016-03-01 Marek Polacek <polacek@redhat.com>
5409
5410 PR c++/69795
5411 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
5412 any DECL.
5413
5414 2016-02-22 Martin Sebor <msebor@redhat.com>
5415
5416 PR middle-end/69780
5417 * c-common.c (check_builtin_function_arguments): Validate and
5418 reject invalid arguments to __builtin_alloca_with_align.
5419
5420 2016-02-20 Mark Wielaard <mjw@redhat.com>
5421
5422 PR c/28901
5423 * c.opt (Wunused-const-variable): Turn into Alias for...
5424 (Wunused-const-variable=): New option.
5425
5426 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5427
5428 PR c++/69865
5429 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
5430 here...
5431 (c_common_init_options): ...to here.
5432 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
5433
5434 2016-02-19 Jakub Jelinek <jakub@redhat.com>
5435
5436 PR c++/69826
5437 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
5438 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
5439 flag_preprocess_only.
5440
5441 2016-02-16 Jakub Jelinek <jakub@redhat.com>
5442
5443 PR c/69835
5444 * c.opt (Wnonnull-compare): Enable for -Wall.
5445
5446 2016-02-15 Jakub Jelinek <jakub@redhat.com>
5447
5448 PR c++/69797
5449 * c-common.c (sync_resolve_size): Diagnose too few arguments
5450 even when params is non-NULL empty vector.
5451
5452 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
5453
5454 PR target/60410
5455 * c.opt (fshort-double): Remove.
5456
5457 2016-02-05 Martin Sebor <msebor@redhat.com>
5458
5459 PR c++/69662
5460 * c.opt (Warning options): Update -Wplacement-new to take
5461 an optional argument.
5462
5463 2016-02-01 Jakub Jelinek <jakub@redhat.com>
5464
5465 PR preprocessor/69543
5466 PR c/69558
5467 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
5468 instead of loc to control_warning_option.
5469
5470 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5471
5472 * c.opt (fopenacc-dim=): New option.
5473
5474 2016-01-27 Ryan Burn <contact@rnburn.com>
5475
5476 PR cilkplus/69267
5477 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
5478 gimplify_arg. Removed superfluous post_p argument.
5479 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
5480 superfluous post_p argument.
5481 * c-gimplify.c (c_gimplify_expr): Likewise.
5482
5483 2016-01-26 David Malcolm <dmalcolm@redhat.com>
5484
5485 PR other/69006
5486 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
5487 pp_newline_and_flush with pp_flush.
5488
5489 2016-01-20 Martin Sebor <msebor@redhat.com>
5490
5491 PR c/69405
5492 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
5493 an incompatible argument when the argument isn't a valid tree node.
5494
5495 2016-01-18 Jason Merrill <jason@redhat.com>
5496
5497 PR c++/68767
5498 * c-common.c (check_function_arguments_recurse): Fold the whole
5499 COND_EXPR, not just the condition.
5500
5501 2016-01-18 Tom de Vries <tom@codesourcery.com>
5502
5503 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
5504 classify as loop clause.
5505
5506 2016-01-15 Jakub Jelinek <jakub@redhat.com>
5507
5508 PR bootstrap/68271
5509 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
5510 C++ FE no longer has limit on number of pragmas.
5511
5512 2015-01-14 Ryan Burn <contact@rnburn.com>
5513
5514 PR c++/69048
5515 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
5516 to add missing cleanup point.
5517
5518 2016-01-14 David Malcolm <dmalcolm@redhat.com>
5519
5520 PR c++/68819
5521 * c-indentation.c (get_visual_column): Add location_t param.
5522 Handle the column number being zero by effectively disabling the
5523 warning, with an "inform".
5524 (should_warn_for_misleading_indentation): Add location_t argument
5525 for all uses of get_visual_column.
5526
5527 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
5528
5529 PR c++/69029
5530 * c-indentation.c (should_warn_for_misleading_indentation):
5531 Don't warn about do-while statements.
5532
5533 2016-01-07 Martin Sebor <msebor@redhat.com>
5534
5535 PR c/68966
5536 * c-common.c (sync_resolve_size): Reject first argument when it's
5537 a pointer to _Bool.
5538
5539 2016-01-05 David Malcolm <dmalcolm@redhat.com>
5540
5541 PR c/69122
5542 * c-indentation.c (get_visual_column): Remove default argument.
5543 (should_warn_for_misleading_indentation): For the multiline case,
5544 update call to get_visual_column for next_stmt_exploc so that it
5545 captures the location of the first non-whitespace character in the
5546 relevant line. Don't issue warnings if there is non-whitespace
5547 before the next statement.
5548
5549 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5550
5551 Update copyright years.
5552
5553 2015-12-21 David Malcolm <dmalcolm@redhat.com>
5554
5555 * c-common.c (binary_op_error): Convert first param from
5556 location_t to rich_location * and use it when emitting an error.
5557 * c-common.h (binary_op_error): Convert first param from
5558 location_t to rich_location *.
5559
5560 2015-12-16 David Malcolm <dmalcolm@redhat.com>
5561
5562 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
5563 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
5564
5565 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5566
5567 * c-common.c (c_common_attribute_table): Handle "omp declare target
5568 link" attribute.
5569
5570 2015-12-14 Jakub Jelinek <jakub@redhat.com>
5571
5572 PR c/68833
5573 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
5574
5575 2014-12-12 Tobias Burnus <burnus@net-b.de>
5576
5577 PR fortran/68815
5578 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
5579 specifiers (%d, %i,%u and %c).
5580
5581 2015-12-10 David Malcolm <dmalcolm@redhat.com>
5582
5583 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
5584
5585 2015-12-08 Jakub Jelinek <jakub@redhat.com>
5586
5587 PR c/48088
5588 PR c/68657
5589 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
5590 * c-pragma.c (handle_pragma_diagnostic): Adjust
5591 control_warning_option caller.
5592
5593 2015-12-07 David Malcolm <dmalcolm@redhat.com>
5594
5595 * c-common.c (c_cpp_error): Update for change to
5596 rich_location::set_range.
5597
5598 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
5599
5600 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
5601 shifting 1 out of the sign bit.
5602
5603 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
5604
5605 * c-common.c (c_common_attribute_table[]): Update max arguments
5606 count for "simd" attribute.
5607 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
5608
5609 2015-12-03 Jakub Jelinek <jakub@redhat.com>
5610
5611 PR preprocessor/57580
5612 * c-ppoutput.c (print): Change printed field to bool.
5613 Move src_file last for smaller padding.
5614 (init_pp_output): Set print.printed to false instead of 0.
5615 (scan_translation_unit): Fix up formatting. Set print.printed
5616 to true after printing something other than newline.
5617 (scan_translation_unit_trad): Set print.printed to true instead of 1.
5618 (maybe_print_line_1): Set print.printed to false instead of 0.
5619 (print_line_1): Likewise.
5620 (do_line_change): Set print.printed to true instead of 1.
5621 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
5622 dump_macro): Set print.printed to false after printing newline.
5623
5624 2015-12-02 Jason Merrill <jason@redhat.com>
5625
5626 * c-common.c (fold_for_warn): New.
5627 (warn_logical_operator, warn_tautological_cmp)
5628 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
5629
5630 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
5631 (c_fully_fold_internal, decl_constant_value_for_optimization):
5632 Move to c/c-fold.c.
5633 * c-common.h: Don't declare decl_constant_value_for_optimization.
5634
5635 2015-12-02 Joseph Myers <joseph@codesourcery.com>
5636
5637 PR c/68162
5638 * c-common.h (c_build_qualified_type): Add extra default
5639 arguments.
5640
5641 2015-12-01 Julian Brown <julian@codesourcery.com>
5642 Cesar Philippidis <cesar@codesourcery.com>
5643 James Norris <James_Norris@mentor.com>
5644
5645 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
5646 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
5647 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
5648
5649 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
5650
5651 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
5652 (decl_sloc_common): Delete and move bulk of processing to...
5653 (decl_sloc): ...here.
5654 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
5655 (dump_ada_double_name): Remove S parameter and compute the suffix.
5656 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
5657 element type and deal with an anonymous one.
5658 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
5659 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
5660 and remove reference to QUAL_UNION_TYPE.
5661 (dump_nested_types): Make 2 passes on the fields and move bulk to...
5662 (dump_nested_type): ...here. New function extracted from above.
5663 Generate a full declaration for anonymous element type of arrays.
5664 (print_ada_declaration): Really skip anonymous declarations. Remove
5665 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
5666 Clean up processing of declarations of array types and objects.
5667 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
5668 Remove obsolete code and tidy up.
5669
5670 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
5671
5672 PR c/67581
5673 * c-common.c (handle_transparent_union_attribute): Update
5674 also type variants.
5675
5676 2015-11-27 Martin Liska <mliska@suse.cz>
5677
5678 PR c++/68312
5679 * array-notation-common.c (cilkplus_extract_an_triplets):
5680 Release vector of vectors.
5681 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
5682
5683 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
5684
5685 PR c++/68527
5686 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
5687 (print_ada_struct_decl): Likewise.
5688
5689 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
5690
5691 PR c++/68001
5692 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
5693 * cilk.c (recognize_spawn): Determine location in a more precise
5694 way.
5695
5696 2015-11-19 Jason Merrill <jason@redhat.com>
5697
5698 * c-common.c (shorten_compare): But look through macros from
5699 system headers.
5700
5701 2015-11-18 Jason Merrill <jason@redhat.com>
5702
5703 * c-common.c (shorten_compare): Don't -Wtype-limits if the
5704 non-constant operand comes from a macro.
5705
5706 2015-11-17 Jason Merrill <jason@redhat.com>
5707
5708 PR bootstrap/68346
5709 * c-common.c (warn_tautological_cmp): Fold before checking for
5710 constants.
5711
5712 2015-11-16 Marek Polacek <polacek@redhat.com>
5713
5714 PR c++/68362
5715 * c-common.c (check_case_bounds): Fold low and high cases.
5716
5717 2015-11-16 Marek Polacek <polacek@redhat.com>
5718
5719 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
5720 * c-common.c (c_common_get_alias_set): Likewise.
5721 (handle_visibility_attribute): Likewise.
5722
5723 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
5724
5725 * c-common.c (handle_simd_attribute): New.
5726 (struct attribute_spec): Add entry for "simd".
5727 (handle_simd_attribute): New.
5728
5729 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
5730
5731 * c-lex.c (interpret_float): Use fold_convert.
5732
5733 2015-11-13 David Malcolm <dmalcolm@redhat.com>
5734
5735 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
5736 and store it on the result.
5737 * c-opts.c (c_common_init_options): Set
5738 global_dc->colorize_source_p.
5739
5740 2015-11-12 James Norris <jnorris@codesourcery.com>
5741 Joseph Myers <joseph@codesourcery.com>
5742
5743 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
5744 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
5745 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
5746 PRAGMA_OACC_CLAUSE_LINK.
5747
5748 2015-11-11 Marek Polacek <polacek@redhat.com>
5749
5750 PR c/68107
5751 PR c++/68266
5752 * c-common.c (valid_array_size_p): New function.
5753 * c-common.h (valid_array_size_p): Declare.
5754
5755 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
5756
5757 PR bootstrap/68271
5758 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
5759
5760 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
5761
5762 * array-notation-common.c: Remove unused header files.
5763 * c-ada-spec.c: Likewise.
5764 * c-cilkplus.c: Likewise.
5765 * c-common.c: Likewise.
5766 * c-cppbuiltin.c: Likewise.
5767 * c-dump.c: Likewise.
5768 * c-format.c: Likewise.
5769 * c-gimplify.c: Likewise.
5770 * c-indentation.c: Likewise.
5771 * c-lex.c: Likewise.
5772 * c-omp.c: Likewise.
5773 * c-opts.c: Likewise.
5774 * c-pch.c: Likewise.
5775 * c-ppoutput.c: Likewise.
5776 * c-pragma.c: Likewise.
5777 * c-pretty-print.c: Likewise.
5778 * c-semantics.c: Likewise.
5779 * c-ubsan.c: Likewise.
5780 * cilk.c: Likewise.
5781 * stub-objc.c: Likewise.
5782
5783 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
5784 Cesar Philippidis <cesar@codesourcery.com>
5785 James Norris <jnorris@codesourcery.com>
5786 Julian Brown <julian@codesourcery.com>
5787 Nathan Sidwell <nathan@codesourcery.com>
5788
5789 * c-pragma.c (oacc_pragmas): Add "routine".
5790 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
5791
5792 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
5793
5794 * c-common.c (c_common_attributes): Add scalar_storage_order.
5795 (handle_scalar_storage_order_attribute): New function.
5796 * c-pragma.c (global_sso): New variable.
5797 (maybe_apply_pragma_scalar_storage_order): New function.
5798 (handle_pragma_scalar_storage_order): Likewise.
5799 (init_pragma): Register scalar_storage_order.
5800 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
5801 * c.opt (Wscalar-storage-order): New warning.
5802 (fsso-struct=): New option.
5803
5804 2015-11-08 Martin Sebor <msebor@redhat.com>
5805
5806 * c.opt (Wplacement-new): Add a period to the end of a sentence.
5807
5808 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
5809
5810 * c-common.c: Don't undef DEF_BUILTIN.
5811
5812 2015-11-06 David Malcolm <dmalcolm@redhat.com>
5813
5814 * c-common.c (c_cpp_error): Convert parameter from location_t to
5815 rich_location *. Eliminate the "column_override" parameter and
5816 the call to diagnostic_override_column.
5817 Update the "done_lexing" clause to set range 0
5818 on the rich_location, rather than overwriting a location_t.
5819 * c-common.h (c_cpp_error): Convert parameter from location_t to
5820 rich_location *. Eliminate the "column_override" parameter.
5821
5822 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5823 Thomas Schwinge <thomas@codesourcery.com>
5824 James Norris <jnorris@codesourcery.com>
5825
5826 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5827 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5828 clauses with parallel and kernels and loops.
5829 * c-pragma.h (enum pragma_omp_clause): Add entries for
5830 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5831 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5832 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5833 INDEPENDENT,SEQ}.
5834 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5835
5836 2015-11-05 Martin Sebor <msebor@redhat.com>
5837
5838 PR c++/67942
5839 * c.opt (-Wplacement-new): New option.
5840
5841 2015-11-05 Jakub Jelinek <jakub@redhat.com>
5842
5843 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5844 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5845 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5846 save_expr or create_tmp_var* if TEST is true.
5847 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5848 Don't call add_stmt here.
5849 (struct c_omp_check_loop_iv_data): New type.
5850 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5851 c_omp_check_loop_iv_exprs): New functions.
5852 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5853 distribute.
5854 (c_omp_declare_simd_clauses_to_numbers): Change
5855 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5856 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5857 from numbers to PARM_DECLs.
5858
5859 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5860
5861 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5862 flag_checking.
5863
5864 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
5865
5866 PR c++-common/67882
5867 * c-common.h (fold_offsetof_1): Add argument.
5868 * c-common.c (fold_offsetof_1): Diagnose more invalid
5869 offsetof expressions that reference elements past the end of
5870 an array.
5871
5872 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5873 Chung-Lin Tang <cltang@codesourcery.com>
5874
5875 * c-pragma.c (oacc_pragmas): Add "atomic".
5876 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5877
5878 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5879
5880 * c-common.c (handle_target_clones_attribute): New.
5881 (c_common_attribute_table): Add handle_target_clones_attribute.
5882 (handle_always_inline_attribute): Add check on target_clones attribute.
5883 (handle_target_attribute): Ditto.
5884
5885 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
5886
5887 * array-notation-common.c: Reorder #include's and remove duplicates.
5888 * c-ada-spec.c: Likewise.
5889 * c-cilkplus.c: Likewise.
5890 * c-common.c: Likewise.
5891 * c-cppbuiltin.c: Likewise.
5892 * c-dump.c: Likewise.
5893 * c-format.c: Likewise.
5894 * c-gimplify.c: Likewise.
5895 * c-indentation.c: Likewise.
5896 * c-lex.c: Likewise.
5897 * c-omp.c: Likewise.
5898 * c-opts.c: Likewise.
5899 * c-pch.c: Likewise.
5900 * c-ppoutput.c: Likewise.
5901 * c-pragma.c: Likewise.
5902 * c-pretty-print.c: Likewise.
5903 * c-semantics.c: Likewise.
5904 * c-ubsan.c: Likewise.
5905 * cilk.c: Likewise.
5906 * stub-objc.c: Likewise.
5907
5908 2015-10-28 Jason Merrill <jason@redhat.com>
5909
5910 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5911
5912 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5913 James Norris <jnorris@codesourcery.com>
5914 Cesar Philippidis <cesar@codesourcery.com>
5915
5916 PR c/64765
5917 PR c/64880
5918 * c-common.h (c_oacc_split_loop_clauses): Declare function.
5919 * c-omp.c (c_oacc_split_loop_clauses): New function.
5920
5921 2015-10-21 Martin Sebor <msebor@redhat.com>
5922
5923 PR driver/68043
5924 * c.opt: End each sentence that describes an option with a period.
5925
5926 2015-10-20 Marek Polacek <polacek@redhat.com>
5927
5928 * array-notation-common.c (is_cilkplus_vector_p): Define.
5929 * c-common.h (is_cilkplus_vector_p): Declare.
5930
5931 2015-10-20 Marek Polacek <polacek@redhat.com>
5932
5933 * c.opt (std=gnu++11): Do not describe as experimental.
5934 (std=gnu++14): Likewise.
5935
5936 2015-10-19 Jason Merrill <jason@redhat.com>
5937
5938 * c-cppbuiltin.c (c_cpp_builtins): Define
5939 __cpp_nontype_template_args.
5940
5941 2015-10-19 Jason Merrill <jason@redhat.com>
5942
5943 * c-cppbuiltin.c (c_cpp_builtins): Define
5944 __cpp_enumerator_attributes, __cpp_fold_expressions,
5945 __cpp_unicode_characters.
5946
5947 2015-10-13 Jakub Jelinek <jakub@redhat.com>
5948 Aldy Hernandez <aldyh@redhat.com>
5949
5950 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
5951 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
5952 (c_define_builtins): Likewise.
5953 * c-common.h (enum c_omp_clause_split): Add
5954 C_OMP_CLAUSE_SPLIT_TASKLOOP.
5955 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
5956 (c_finish_omp_for): Add ORIG_DECLV argument.
5957 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
5958 201511 instead of 201307.
5959 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
5960 OMP_CRITICAL_CLAUSES to it.
5961 (c_finish_omp_ordered): Add CLAUSES argument, set
5962 OMP_ORDERED_CLAUSES to it.
5963 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
5964 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
5965 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
5966 constructs and new OpenMP 4.5 clauses. Clear
5967 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
5968 verification code.
5969 * c-pragma.c (omp_pragmas_simd): Add taskloop.
5970 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
5971 (enum pragma_omp_clause): Add
5972 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
5973 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5974
5975 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5976
5977 * c-lex.c (interpret_float): Use real_equal instead of
5978 REAL_VALUES_EQUAL.
5979
5980 2015-10-04 Jason Merrill <jason@redhat.com>
5981
5982 Implement N4514, C++ Extensions for Transactional Memory.
5983 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5984 (c_common_attribute_table): Add transaction_safe_dynamic.
5985 transaction_safe now affects type identity.
5986 (handle_tm_attribute): Handle transaction_safe_dynamic.
5987 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5988 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5989 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5990 (D_TRANSMEM): New.
5991 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5992 * c-pretty-print.c (pp_c_attributes_display): Don't print
5993 transaction_safe in C++.
5994
5995 2015-10-02 Marek Polacek <polacek@redhat.com>
5996
5997 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5998
5999 2015-10-02 Marek Polacek <polacek@redhat.com>
6000
6001 PR c/64249
6002 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
6003 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
6004 * c.opt (Wduplicated-cond): New option.
6005
6006 2015-10-01 Joseph Myers <joseph@codesourcery.com>
6007
6008 * c.opt (std=c11): Do not describe as experimental.
6009 (std=gnu11): Likewise.
6010 (std=iso9899:2011): Likewise.
6011
6012 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6013
6014 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
6015 (DEF_FUNCTION_TYPE_VAR_11): Delete.
6016
6017 2015-09-25 Marek Polacek <polacek@redhat.com>
6018
6019 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
6020 (ubsan_instrument_shift): Likewise.
6021
6022 2015-09-25 Marek Polacek <polacek@redhat.com>
6023
6024 PR sanitizer/64906
6025 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
6026
6027 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
6028
6029 * c-indentation.c (should_warn_for_misleading_indentation):
6030 Compare next_stmt_vis_column with guard_line_first_nws instead
6031 of with guard_line_vis_column.
6032
6033 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
6034
6035 PR c/49654
6036 PR c/49655
6037 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
6038 options and options not valid for the current language.
6039
6040 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
6041
6042 * c-indentation.c (should_warn_for_misleading_indentation):
6043 Float out and consolidate the calls to get_visual_column that
6044 are passed guard_exploc as an argument. Compare
6045 next_stmt_vis_column with guard_line_first_nws instead of with
6046 body_line_first_nws.
6047
6048 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
6049
6050 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
6051 Wnamespaces): New C++ warnings.
6052
6053 2015-09-22 Jason Merrill <jason@redhat.com>
6054
6055 * c-common.h (abi_compat_version_crosses): New.
6056 (warn_abi_version): Declare.
6057 * c-common.c: Define it.
6058 * c-opts.c (c_common_post_options): Handle it.
6059 flag_abi_compat_version defaults to 8.
6060
6061 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
6062
6063 Complete the implementation of N4230, Nested namespace definition.
6064 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
6065 __cpp_nested_namespace_definitions.
6066
6067 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
6068
6069 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
6070
6071 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
6072
6073 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
6074 when warning.
6075 * c-pragma.h (pragma_lex): Add optional loc argument.
6076
6077 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
6078
6079 * c-format.c (check_format_arg): Adjust to use common block size in all
6080 object pools.
6081
6082 2015-09-15 David Malcolm <dmalcolm@redhat.com>
6083
6084 * c-format.c (location_from_offset): Update for change in
6085 signature of location_get_source_line.
6086 * c-indentation.c (get_visual_column): Likewise.
6087 (line_contains_hash_if): Likewise.
6088
6089 2015-09-14 Marek Polacek <polacek@redhat.com>
6090
6091 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
6092 setting various warnings.
6093
6094 2015-09-14 Marek Polacek <polacek@redhat.com>
6095
6096 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
6097 a negative value.
6098
6099 2015-09-11 Mark Wielaard <mjw@redhat.com>
6100
6101 PR c/28901
6102 * c.opt (Wunused-variable): Option from common.opt.
6103 (Wunused-const-variable): New option.
6104
6105 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
6106
6107 PR c++/53184
6108 * c.opt ([Wsubobject-linkage]): Add.
6109
6110 2015-09-03 Martin Sebor <msebor@redhat.com>
6111
6112 PR c/66516
6113 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
6114 functions.
6115 * c-common.c (reject_gcc_builtin): Define.
6116
6117 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
6118
6119 PR middle-end/60586
6120 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
6121 prototype.
6122 * c-gimplify.c (c_gimplify_expr): Added a call to the function
6123 cilk_gimplify_call_params_in_spawned_fn.
6124 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
6125 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
6126 unwrapping.
6127
6128 2015-08-25 Marek Polacek <polacek@redhat.com>
6129
6130 PR middle-end/67330
6131 * c-common.c (handle_weak_attribute): Don't check whether the
6132 visibility can be changed here.
6133
6134 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6135
6136 * c-lex.c (c_lex_with_flags): Use explicit locations.
6137
6138 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
6139
6140 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
6141 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
6142
6143 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6144
6145 PR middle-end/36757
6146 * c-common.c (check_builtin_function_arguments): Add check
6147 for BUILT_IN_SIGNBIT argument.
6148
6149 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
6150
6151 PR c++/67160
6152 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
6153 in c++1z mode.
6154
6155 2015-08-17 Marek Polacek <polacek@redhat.com>
6156
6157 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
6158 with whitespaces before qualifier names.
6159
6160 2015-08-12 Marek Polacek <polacek@redhat.com>
6161
6162 PR c++/55095
6163 * c-common.c (maybe_warn_shift_overflow): Properly handle
6164 left-shifting 1 into the sign bit.
6165
6166 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6167
6168 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
6169
6170 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
6171 Braden Obrzut <admin@maniacsvault.net>
6172 Jason Merrill <jason@redhat.com>
6173
6174 Add C++ Concepts TS support.
6175 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
6176 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
6177 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
6178 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
6179 * c-opts.c (set_std_cxx1z): Set flag_concepts.
6180 * c.opt (fconcepts): New.
6181
6182 2015-08-02 Martin Sebor <msebor@redhat.com>
6183
6184 * c.opt (-Wframe-address): New warning option.
6185
6186 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6187
6188 * c-indentation.c (should_warn_for_misleading_indentation):
6189 Improve heuristics.
6190
6191 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6192
6193 * c-indentation.c (get_visual_column): Add parameter first_nws,
6194 use it. Update comment documenting the function.
6195 (is_first_nonwhitespace_on_line): Remove.
6196 (should_warn_for_misleading_indentation): Replace usage of
6197 of is_first_nonwhitespace_on_line with get_visual_column.
6198
6199 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6200
6201 * c-indentation.h (struct token_indent_info): Define.
6202 (get_token_indent_info): Define.
6203 (warn_for_misleading_information): Declare.
6204 * c-common.h (warn_for_misleading_information): Remove.
6205 * c-identation.c (warn_for_misleading_indentation):
6206 Change declaration to take three token_indent_infos. Adjust
6207 accordingly.
6208 * c-identation.c (should_warn_for_misleading_indentation):
6209 Likewise. Bail out early if the body is a compound statement.
6210 (guard_tinfo_to_string): Define.
6211
6212 2015-07-30 Jason Merrill <jason@redhat.com>
6213
6214 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
6215 '*' for reference decay.
6216
6217 2015-07-30 Marek Polacek <polacek@redhat.com>
6218
6219 * c-common.c (warn_tautological_cmp): Bail for float types.
6220
6221 2015-07-27 Marek Polacek <polacek@redhat.com>
6222
6223 PR bootstrap/67030
6224 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
6225
6226 2015-07-27 Marek Polacek <polacek@redhat.com>
6227
6228 PR c++/66555
6229 PR c/54979
6230 * c-common.c (find_array_ref_with_const_idx_r): New function.
6231 (warn_tautological_cmp): New function.
6232 * c-common.h (warn_tautological_cmp): Declare.
6233 * c.opt (Wtautological-compare): New option.
6234
6235 2015-07-23 Marek Polacek <polacek@redhat.com>
6236
6237 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
6238 (ubsan_instrument_shift): Likewise.
6239
6240 2015-07-23 Marek Polacek <polacek@redhat.com>
6241
6242 PR sanitizer/66908
6243 * c-ubsan.c: Include gimplify.h.
6244 (ubsan_instrument_division): Unshare OP0 and OP1.
6245 (ubsan_instrument_shift): Likewise.
6246
6247 2015-07-20 Marek Polacek <polacek@redhat.com>
6248 Richard Sandiford <richard.sandiford@arm.com>
6249
6250 PR c++/55095
6251 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
6252 Use EXPR_LOC_OR_LOC.
6253 (maybe_warn_shift_overflow): New function.
6254 * c-common.h (maybe_warn_shift_overflow): Declare.
6255 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
6256 * c.opt (Wshift-overflow): New option.
6257
6258 2015-07-16 Martin Liska <mliska@suse.cz>
6259
6260 * c-format.c (static void check_format_info_main): Use
6261 object_allocator instead of pool_allocator.
6262 (check_format_arg): Likewise.
6263 (check_format_info_main): Likewise.
6264
6265 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
6266
6267 * c-opts.c: Remove multiline #include comment.
6268
6269 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
6270
6271 * c-common.c: Fix double word typos.
6272
6273 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
6274
6275 * c-ada-spec.h (cpp_operation): Revert latest change.
6276 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
6277 constructors and destructors.
6278
6279 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
6280
6281 * c-common.h: Adjust includes for flags.h changes.
6282 * stub-objc.c: Likewise.
6283
6284 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
6285
6286 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
6287 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
6288
6289 2015-07-08 Jakub Jelinek <jakub@redhat.com>
6290
6291 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
6292 are to be removed, return NULL rather than original clauses list.
6293
6294 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
6295
6296 * array-notation-common.c: Adjust includes.
6297 * c-ada-spec.c: Likewise.
6298 * c-cilkplus.c: Likewise.
6299 * c-common.h: Likewise.
6300 * c-cppbuiltin.c: Likewise.
6301 * c-dump.c: Likewise.
6302 * c-format.c: Likewise.
6303 * c-gimplify.c: Likewise.
6304 * c-indentation.c: Likewise.
6305 * c-lex.c: Likewise.
6306 * c-omp.c: Likewise.
6307 * c-opts.c: Likewise.
6308 * c-pch.c: Likewise.
6309 * c-ppoutput.c: Likewise.
6310 * c-pragma.c: Likewise.
6311 * c-pretty-print.c: Likewise.
6312 * c-semantics.c: Likewise.
6313 * c-ubsan.c: Likewise.
6314 * cilk.c: Likewise.
6315 * stub-objc.c: Likewise.
6316
6317 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
6318
6319 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
6320 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
6321
6322 2015-07-01 Jason Merrill <jason@redhat.com>
6323
6324 * c-common.h (D_CXX11): Rename from D_CXX0X.
6325 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
6326 * c-common.c: Adjust.
6327
6328 * c-opts.c (c_common_post_options): Default to C++14.
6329
6330 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
6331
6332 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
6333
6334 Implement N4197 - Adding u8 character literals
6335 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
6336 CPP_CHAR.
6337 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
6338 CPP_UTF8CHAR_USERDEF tokens.
6339 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
6340 and CPP_UTF8CHAR tokens.
6341 (lex_charconst): Treat CPP_UTF8CHAR token.
6342
6343 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6344
6345 PR fortran/66605
6346 * c-common.c (do_warn_unused_parameter): Move here.
6347 * c-common.h (do_warn_unused_parameter): Declare.
6348
6349 2015-06-29 Marek Polacek <polacek@redhat.com>
6350
6351 PR c/66322
6352 * c-common.c (check_case_bounds): Add bool * parameter. Set
6353 OUTSIDE_RANGE_P.
6354 (c_add_case_label): Add bool * parameter. Pass it down to
6355 check_case_bounds.
6356 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
6357 warning here.
6358 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
6359 declarations.
6360
6361 2015-06-27 Marek Polacek <polacek@redhat.com>
6362
6363 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
6364 or VECTOR_INTEGER_TYPE_P throughout.
6365 * c-gimplify.c: Likewise.
6366
6367 2015-06-26 Marek Polacek <polacek@redhat.com>
6368
6369 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
6370 * c-common.c (c_fully_fold_internal): Likewise.
6371 (c_alignof_expr): Likewise.
6372 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
6373 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
6374 * cilk.c (create_parm_list): Likewise.
6375
6376 2015-06-26 Marek Polacek <polacek@redhat.com>
6377
6378 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
6379
6380 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
6381
6382 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
6383 * c-gimplify.c: Likewise.
6384 * c-pragma.c: Likewise.
6385 * c-ubsan.c: Likewise.
6386 * cilk.c: Likewise.
6387
6388 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
6389
6390 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
6391 ggc_hasher.
6392
6393 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
6394
6395 * cilk.c: Move calls.h after tm.h in the include chain.
6396
6397 2015-06-25 Marek Polacek <polacek@redhat.com>
6398
6399 * array-notation-common.c: Use VAR_P throughout.
6400 * c-ada-spec.c: Likewise.
6401 * c-common.c: Likewise.
6402 * c-format.c: Likewise.
6403 * c-gimplify.c: Likewise.
6404 * c-omp.c: Likewise.
6405 * c-pragma.c: Likewise.
6406 * c-pretty-print.c: Likewise.
6407 * cilk.c: Likewise.
6408
6409 2015-06-25 Marek Polacek <polacek@redhat.com>
6410
6411 * cilk.c (extract_free_variables): Use is_global_var.
6412
6413 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
6414
6415 * c-common.c: Don't include target-def.h.
6416
6417 2015-06-23 Marek Polacek <polacek@redhat.com>
6418
6419 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
6420 when comparing INTEGER_CSTs.
6421
6422 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
6423
6424 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
6425 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
6426 (dump_ada_template): Skip partially specialized types.
6427
6428 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
6429
6430 * c-common.c (scalar_to_vector): Use std::swap instead of manually
6431 swapping.
6432
6433 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
6434
6435 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
6436 * c-ada-spec.c: Likewise.
6437 * c-cilkplus.c: Likewise.
6438 * c-common.c: Likewise.
6439 * c-common.h: Likewise.
6440 * c-cppbuiltin.c: Likewise.
6441 * c-dump.c: Likewise.
6442 * c-format.c: Likewise.
6443 * c-gimplify.c: Likewise.
6444 * c-indentation.c: Likewise.
6445 * c-lex.c: Likewise.
6446 * c-omp.c: Likewise.
6447 * c-opts.c: Likewise.
6448 * c-pch.c: Likewise.
6449 * c-ppoutput.c: Likewise.
6450 * c-pragma.c: Likewise.
6451 * c-pretty-print.c: Likewise.
6452 * c-semantics.c: Likewise.
6453 * c-ubsan.c: Likewise.
6454 * cilk.c: Likewise.
6455 * stub-objc.c: Likewise.
6456
6457 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
6458
6459 PR c++/65168
6460 * c-common.c (c_common_truthvalue_conversion): Warn when
6461 converting an address of a reference to a truth value.
6462
6463 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
6464
6465 * array-notation-common.c : Adjust include files.
6466 * c-ada-spec.c : Likewise.
6467 * c-cilkplus.c : Likewise.
6468 * c-common.c : Likewise.
6469 * c-common.h : Likewise.
6470 * c-cppbuiltin.c : Likewise.
6471 * c-dump.c : Likewise.
6472 * c-format.c : Likewise.
6473 * c-gimplify.c : Likewise.
6474 * c-indentation.c : Likewise.
6475 * c-lex.c : Likewise.
6476 * c-omp.c : Likewise.
6477 * c-opts.c : Likewise.
6478 * c-pch.c : Likewise.
6479 * c-ppoutput.c : Likewise.
6480 * c-pragma.c : Likewise.
6481 * c-pretty-print.c : Likewise.
6482 * c-semantics.c : Likewise.
6483 * c-ubsan.c : Likewise.
6484 * cilk.c : Likewise.
6485 * stub-objc.c : Likewise.
6486
6487 2015-06-08 Marek Polacek <polacek@redhat.com>
6488
6489 PR c/66415
6490 * c-format.c (location_from_offset): Return LOC if LINE is null.
6491
6492 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
6493
6494 * c-common.h (c_parse_final_cleanups): New prototype.
6495 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
6496
6497 2015-06-04 Sriraman Tallam <tmsriram@google.com>
6498
6499 * c-common.c (noplt): New attribute.
6500 (handle_noplt_attribute): New handler.
6501
6502 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
6503
6504 * array-notation-common.c: Adjust includes for restructured coretypes.h.
6505 * c-ada-spec.c: Likewise.
6506 * c-cilkplus.c: Likewise.
6507 * c-common.c: Likewise.
6508 * c-common.h: Likewise.
6509 * c-cppbuiltin.c: Likewise.
6510 * c-dump.c: Likewise.
6511 * c-format.c: Likewise.
6512 * c-gimplify.c: Likewise.
6513 * c-indentation.c: Likewise.
6514 * c-lex.c: Likewise.
6515 * c-omp.c: Likewise.
6516 * c-opts.c: Likewise.
6517 * c-pch.c: Likewise.
6518 * c-ppoutput.c: Likewise.
6519 * c-pragma.c: Likewise.
6520 * c-pretty-print.c: Likewise.
6521 * c-semantics.c: Likewise.
6522 * c-ubsan.c: Likewise.
6523 * cilk.c: Likewise.
6524 * stub-objc.c: Likewise.
6525
6526 2015-06-02 David Malcolm <dmalcolm@redhat.com>
6527
6528 PR c/66220:
6529 * c-indentation.c (should_warn_for_misleading_indentation): Use
6530 expand_location rather than expand_location_to_spelling_point.
6531 Don't warn if the guarding statement is more indented than the
6532 next/body stmts.
6533
6534 2015-06-02 David Malcolm <dmalcolm@redhat.com>
6535
6536 * c-indentation.c (warn_for_misleading_indentation): Bail out
6537 immediately if -Wmisleading-indentation isn't enabled.
6538
6539 2015-06-01 Martin Liska <mliska@suse.cz>
6540
6541 * c-format.c (check_format_arg):Use new type-based pool allocator.
6542 (check_format_info_main) Likewise.
6543
6544 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
6545
6546 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
6547 (has_nontrivial_methods): Likewise.
6548
6549 2015-05-25 Marek Polacek <polacek@redhat.com>
6550
6551 * c-ubsan.c (ubsan_instrument_shift): Use type0.
6552
6553 2015-05-22 Marek Polacek <polacek@redhat.com>
6554
6555 PR c/47043
6556 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
6557
6558 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6559
6560 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
6561 STACK_GROWS_DOWNWARD.
6562
6563 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6564
6565 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
6566 STACK_GROWS_DOWNWARD rather than if it is defined.
6567
6568 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6569
6570 PR c/52952
6571 * c-format.c (location_column_from_byte_offset): New.
6572 (location_from_offset): New.
6573 (struct format_wanted_type): Add offset_loc field.
6574 (check_format_info): Move handling of location for extra arguments
6575 closer to the point of warning.
6576 (check_format_info_main): Pass the result of location_from_offset
6577 to warning_at.
6578 (format_type_warning): Pass the result of location_from_offset
6579 to warning_at.
6580
6581 2015-05-20 Marek Polacek <polacek@redhat.com>
6582
6583 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
6584
6585 2015-05-20 Marek Polacek <polacek@redhat.com>
6586
6587 * c-ada-spec.c (dump_sloc): Use DECL_P.
6588
6589 2015-05-20 Marek Polacek <polacek@redhat.com>
6590
6591 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
6592 * c-common.c: Likewise.
6593
6594 2015-05-19 David Malcolm <dmalcolm@redhat.com>
6595
6596 * c-common.h (fe_file_change): Strengthen param from
6597 const line_map * to const line_map_ordinary *.
6598 (pp_file_change): Likewise.
6599 * c-lex.c (fe_file_change): Likewise.
6600 (cb_define): Use linemap_check_ordinary when invoking
6601 SOURCE_LINE.
6602 (cb_undef): Likewise.
6603 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
6604 invoking cb_file_change.
6605 (c_finish_options): Likewise.
6606 (push_command_line_include): Likewise.
6607 (cb_file_change): Strengthen param "new_map" from
6608 const line_map * to const line_map_ordinary *.
6609 * c-ppoutput.c (cb_define): Likewise for local "map".
6610 (pp_file_change): Likewise for param "map" and local "from".
6611
6612 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
6613
6614 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
6615
6616 2015-05-18 Tom de Vries <tom@codesourcery.com>
6617
6618 * c-common.c (build_va_arg_1): New function.
6619 (build_va_arg): Add address operator to va_list operand if necessary.
6620
6621 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
6622
6623 PR c/48956
6624 * c-common.c (int_safely_convertible_to_real_p): Define.
6625 (unsafe_conversion_p): Check conversions involving complex types.
6626 (conversion_warning): Add new warning message for conversions which
6627 discard imaginary component.
6628 * c-common.h: (enum conversion_safety): Add new enumerator for such
6629 conversions.
6630
6631 2015-05-14 Marek Polacek <polacek@redhat.com>
6632
6633 PR c/66066
6634 PR c/66127
6635 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
6636 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
6637 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
6638 use it. If FOR_INT_CONST, require that all evaluated operands be
6639 INTEGER_CSTs.
6640
6641 2015-05-12 David Malcolm <dmalcolm@redhat.com>
6642
6643 * c-common.h (warn_for_misleading_indentation): New prototype.
6644 * c-indentation.c: New file.
6645 * c.opt (Wmisleading-indentation): New option.
6646
6647 2015-05-12 Tom de Vries <tom@codesourcery.com>
6648
6649 PR tree-optimization/66010
6650 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
6651
6652 2015-05-09 Jason Merrill <jason@redhat.com>
6653
6654 * c-opts.c (c_common_post_options): Also clear
6655 cpp_opts->cpp_warn_cxx11_compat.
6656
6657 * c-common.h (enum cxx_dialect): Add cxx_unset.
6658 * c-common.c (cxx_dialect): Initialize to cxx_unset.
6659 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
6660
6661 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
6662 (std=gnu++0x): Mark as Undocumented.
6663 (std=gnu++1y): Add deprecated message.
6664
6665 2015-05-08 Jason Merrill <jason@redhat.com>
6666
6667 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
6668 * c-opts.c: Adjust.
6669
6670 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
6671
6672 2015-05-08 Marek Polacek <polacek@redhat.com>
6673
6674 PR c/64918
6675 * c.opt (Woverride-init-side-effects): New option.
6676
6677 2015-05-07 Marek Polacek <polacek@redhat.com>
6678
6679 PR c/65179
6680 * c-common.c (c_fully_fold_internal): Warn when left shifting a
6681 negative value.
6682 * c.opt (Wshift-negative-value): New option.
6683 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
6684 when -Wextra and C99/C++11 mode.
6685
6686 2015-05-07 Marek Polacek <polacek@redhat.com>
6687 Martin Uecker <uecker@eecs.berkeley.edu>
6688
6689 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
6690 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
6691
6692 2015-05-05 Jason Merrill <jason@redhat.com>
6693
6694 * c.opt (Wterminate): New.
6695
6696 2015-04-30 Marek Polacek <polacek@redhat.com>
6697
6698 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
6699 require that the non-constant be of a boolean type.
6700
6701 2015-04-29 Josh Triplett <josh@joshtriplett.org>
6702
6703 * c-common.c (handle_section_attribute): Refactor to reduce
6704 nesting and distinguish between error cases.
6705
6706 2015-04-29 Marek Polacek <polacek@redhat.com>
6707
6708 PR c/64610
6709 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
6710 with 0/1.
6711
6712 2015-04-29 Jakub Jelinek <jakub@redhat.com>
6713
6714 * c-common.h (omp_clause_mask): Unconditionally define as a class.
6715 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
6716 HOST_BITS_PER_WIDE_INT.
6717
6718 2015-04-28 Tom de Vries <tom@codesourcery.com>
6719
6720 PR tree-optimization/65887
6721 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
6722
6723 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
6724 Pierre-Marie de Rodat <derodat@adacore.com>
6725
6726 * c-ada-spec.c (in_function): Delete.
6727 (dump_generic_ada_node): Do not change in_function and remove the
6728 redundant code dealing with it.
6729 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
6730 (print_ada_methods): Output the static member functions in a nested
6731 package after the regular methods as well as associated renamings.
6732
6733 2015-04-24 Marek Polacek <polacek@redhat.com>
6734
6735 PR c/65830
6736 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
6737 and OPT_Wshift_count_overflow.
6738
6739 PR c/63357
6740 * c-common.c (warn_logical_operator): Warn if the operands have the
6741 same expressions.
6742
6743 2015-04-24 Marek Polacek <polacek@redhat.com>
6744
6745 PR c/61534
6746 * c-common.c (warn_logical_operator): Bail if either operand comes
6747 from a macro expansion.
6748
6749 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6750
6751 PR target/55143
6752 * c-common.c (c_default_pointer_mode): Add definition.
6753 * c-common.h (c_default_pointer_mode): Add declaration.
6754
6755 2015-03-11 Jakub Jelinek <jakub@redhat.com>
6756
6757 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
6758 on record_builtin_type argument.
6759
6760 2015-03-10 Jakub Jelinek <jakub@redhat.com>
6761
6762 PR c/65120
6763 * c-common.c (warn_logical_not_parentheses): Don't warn for
6764 !x == 0 or !x != 0.
6765
6766 2015-03-07 Marek Polacek <polacek@redhat.com>
6767
6768 PR sanitizer/65280
6769 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
6770 before trying to figure out whether we have a flexible array member.
6771
6772 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
6773 Jonathan Wakely <jwakely.gcc@gmail.com>
6774
6775 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
6776
6777 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
6778
6779 PR ada/65319
6780 * c-ada-spec.c (print_destructor): Remove obsolete code.
6781
6782 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
6783
6784 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
6785 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
6786 DECL_TEMPLATE_RESULT emulations.
6787 (dump_ada_template)): Add guard for TYPE_METHODS.
6788
6789 2015-02-27 Marek Polacek <polacek@redhat.com>
6790
6791 PR c/65040
6792 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
6793
6794 2015-02-27 Kai Tietz <ktietz@redhat.com>
6795
6796 PR c/35330
6797 * c-pragma.c (handle_pragma_weak): Do not try to create
6798 weak/alias of declarations not being function, or variable
6799 declarations.
6800
6801 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
6802
6803 PR libgomp/64625
6804 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6805 Remove macros.
6806 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
6807
6808 2015-02-16 Marek Polacek <polacek@redhat.com>
6809
6810 PR c/65066
6811 * c-format.c (check_format_types): Handle null param.
6812
6813 2015-02-13 Marek Polacek <polacek@redhat.com>
6814
6815 PR c/65040
6816 * c-format.c (check_format_types): Don't warn about different
6817 signedness if the original value is in the range of WANTED_TYPE.
6818
6819 2015-02-12 Jason Merrill <jason@redhat.com>
6820
6821 PR c++/64956
6822 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6823 to the current highest version.
6824 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6825
6826 2015-02-04 Jakub Jelinek <jakub@redhat.com>
6827
6828 PR c/64824
6829 PR c/64868
6830 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6831 instead of RDIV_EXPR. Use build_binary_op instead of
6832 build2_loc.
6833
6834 2015-01-30 Joseph Myers <joseph@codesourcery.com>
6835
6836 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6837 to pass input_location as first argument.
6838
6839 2015-01-23 Tom de Vries <tom@codesourcery.com>
6840
6841 PR libgomp/64672
6842 * c.opt (fopenacc): Mark as LTO option.
6843
6844 2015-01-23 Tom de Vries <tom@codesourcery.com>
6845
6846 PR libgomp/64707
6847 * c.opt (fopenmp): Mark as LTO option.
6848
6849 2015-01-21 Jakub Jelinek <jakub@redhat.com>
6850
6851 PR c/63307
6852 * cilk.c (fill_decls_vec): Only put decls into vector v.
6853 (compare_decls): Fix up formatting.
6854
6855 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6856
6857 PR c/63307
6858 * cilk.c: Include vec.h.
6859 (struct cilk_decls): New structure.
6860 (wrapper_parm_cb): Split this function to...
6861 (fill_decls_vec): ...this...
6862 (create_parm_list): ...and this.
6863 (compare_decls): New function.
6864 (for_local_cb): Remove.
6865 (wrapper_local_cb): Ditto.
6866 (build_wrapper_type): For now first traverse and fill vector of
6867 declarations then sort it and then deal with sorted vector.
6868 (cilk_outline): Ditto.
6869 (declare_one_free_variable): Ditto.
6870
6871 2015-01-21 Jason Merrill <jason@redhat.com>
6872
6873 PR c++/64629
6874 * c-format.c (check_format_arg): Call decl_constant_value.
6875
6876 2015-01-19 Martin Liska <mliska@suse.cz>
6877
6878 * c-common.c (handle_noicf_attribute): New function.
6879
6880 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6881 Bernd Schmidt <bernds@codesourcery.com>
6882 James Norris <jnorris@codesourcery.com>
6883 Cesar Philippidis <cesar@codesourcery.com>
6884 Ilmir Usmanov <i.usmanov@samsung.com>
6885 Jakub Jelinek <jakub@redhat.com>
6886
6887 * c.opt (fopenacc): New option.
6888 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6889 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6890 New macros.
6891 * c-common.h (c_finish_oacc_wait): New prototype.
6892 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6893 (c_finish_oacc_wait): New function.
6894 * c-pragma.c (oacc_pragmas): New variable.
6895 (c_pp_lookup_pragma, init_pragma): Handle it.
6896 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6897 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6898 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6899 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6900 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6901 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6902 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6903 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6904 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6905 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6906 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6907 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6908 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6909 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6910 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6911 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6912 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6913 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6914 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6915 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6916 PRAGMA_OACC_CLAUSE_WORKER.
6917
6918 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
6919
6920 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
6921 for the new option fstack-protector_explicit.
6922 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
6923 (handle_stack_protect_attribute): New function.
6924
6925 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
6926
6927 * c.opt: New option -Warray-bounds=.
6928
6929 2015-01-09 Michael Collison <michael.collison@linaro.org>
6930
6931 * array-notation-common.c: Include hash-set.h, machmode.h,
6932 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6933 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
6934 * c-ada-spec.c: Ditto.
6935 * c-cilkplus.c: Ditto.
6936 * c-common.c: Include input.h due to flattening of tree.h.
6937 Define macro GCC_C_COMMON_C.
6938 * c-common.h: Flatten tree.h header files into c-common.h.
6939 Remove include of tree-core.h.
6940 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6941 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6942 fold-const.h, wide-int.h, and inchash.h due to
6943 flattening of tree.h.
6944 * c-dump.c: Ditto.
6945 * c-format.c: Flatten tree.h header files into c-common.h.
6946 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6947 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6948 fold-const.h, wide-int.h, and inchash.h due to
6949 flattening of tree.h.
6950 * c-dump.c: Include hash-set.h, machmode.h,
6951 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6952 fold-const.h, wide-int.h, and inchash.h due to
6953 flattening of tree.h.
6954 * c-format.c: Include hash-set.h, machmode.h,
6955 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6956 fold-const.h, wide-int.h, inchash.h and real.h due to
6957 flattening of tree.h.
6958 * c-gimplify.c: Include hash-set.h, machmode.h,
6959 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6960 fold-const.h, wide-int.h, and inchash.h due to
6961 flattening of tree.h.
6962 * cilk.c: Ditto.
6963 * c-lex.c: Ditto.
6964 * c-omp.c: Ditto.
6965 * c-opts.c: Ditto.
6966 * c-pch.c: Ditto.
6967 * c-ppoutput.c: Ditto.
6968 * c-pragma.c: Ditto.
6969 * c-pretty-print.c: Ditto.
6970 * c-semantics.c: Ditto.
6971 * c-ubsan.c: Ditto.
6972 * stub-objc.c: Ditto.
6973
6974 2015-01-08 Jason Merrill <jason@redhat.com>
6975
6976 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6977 do_ubsan_in_current_function.
6978 (ubsan_maybe_instrument_reference_or_call): Likewise.
6979 * c-ubsan.h: Declare it.
6980
6981 2015-01-08 Mike Stump <mikestump@comcast.net>
6982
6983 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6984
6985 2015-01-07 Marek Polacek <polacek@redhat.com>
6986
6987 PR c/64440
6988 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6989 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6990
6991 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6992
6993 PR c++/31397
6994 * c.opt (Wsuggest-override): New option.
6995
6996 2015-01-05 Jakub Jelinek <jakub@redhat.com>
6997
6998 Update copyright years.
6999
7000 2015-01-05 Marek Polacek <polacek@redhat.com>
7001
7002 PR c/64423
7003 * c-common.c (warn_array_subscript_with_type_char): Add location_t
7004 parameter. Use it.
7005 * c-common.h (warn_array_subscript_with_type_char): Update
7006 declaration.
7007
7008 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
7009
7010 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
7011 Control macro with flag_sized_deallocation.
7012
7013 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
7014
7015 * c.opt (Wdiscarded-array-qualifiers): New option.
7016
7017 2014-12-19 Jakub Jelinek <jakub@redhat.com>
7018
7019 PR preprocessor/63831
7020 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
7021 and __has_cpp_attribute here.
7022 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
7023 c_common_has_attribute.
7024 * c-common.h (c_common_has_attribute): New prototype.
7025 * c-lex.c (init_c_lex): Set cb->has_attribute to
7026 c_common_has_attribute instead of cb_has_attribute.
7027 (get_token_no_padding): New function.
7028 (cb_has_attribute): Renamed to ...
7029 (c_common_has_attribute): ... this. No longer static. Use
7030 get_token_no_padding, require ()s, don't build TREE_LIST
7031 unnecessarily, fix up formatting, adjust diagnostics, call
7032 init_attributes.
7033
7034 2014-12-15 Jason Merrill <jason@redhat.com>
7035
7036 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
7037 (-Wsized-deallocation): New.
7038 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
7039 to on in C++14 and up.
7040
7041 2014-12-11 Jason Merrill <jason@redhat.com>
7042
7043 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
7044
7045 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
7046 we aren't complaining about VLAs.
7047
7048 2014-12-06 Marek Polacek <polacek@redhat.com>
7049
7050 PR tree-optimization/64183
7051 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
7052 shift-expression if it is integer_type_node. Use types_compatible_p.
7053
7054 2014-11-29 Jakub Jelinek <jakub@redhat.com>
7055
7056 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
7057 last argument from create_tmp_var_raw and create_tmp_var calls.
7058 * cilk.c (gimplify_cilk_spawn): Likewise.
7059 * c-omp.c (c_finish_omp_atomic): Likewise.
7060
7061 2014-11-28 Marek Polacek <polacek@redhat.com>
7062
7063 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
7064 instead of unsigned_type_node.
7065
7066 2014-11-28 Marek Polacek <polacek@redhat.com>
7067
7068 PR c/63862
7069 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
7070 to op1_utype.
7071 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
7072 expression to unsigned_type_node.
7073
7074 2014-11-20 Mark Wielaard <mjw@redhat.com>
7075
7076 PR debug/38757
7077 * c-opts.c (set_std_c89): Set lang_hooks.name.
7078 (set_std_c99): Likewise.
7079 (set_std_c11): Likewise.
7080 (set_std_cxx98): Likewise.
7081 (set_std_cxx11): Likewise.
7082 (set_std_cxx14): Likewise.
7083 (set_std_cxx1z): Likewise.
7084
7085 2014-11-21 Jakub Jelinek <jakub@redhat.com>
7086
7087 PR target/63764
7088 * c-common.h (convert_vector_to_pointer_for_subscript): Change
7089 return type to bool.
7090 * c-common.c: Include gimple-expr.h.
7091 (convert_vector_to_pointer_for_subscript): Change return type to
7092 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
7093 and copy it into a TARGET_EXPR and use that instead of *vecp
7094 directly.
7095
7096 2014-11-19 David Malcolm <dmalcolm@redhat.com>
7097
7098 Merger of git branch "gimple-classes-v2-option-3".
7099 * ChangeLog.gimple-classes: New.
7100 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
7101 from being just a vec<gimple> to a vec<gbind *>.
7102
7103 2014-11-18 Jakub Jelinek <jakub@redhat.com>
7104
7105 PR sanitizer/63813
7106 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
7107 argument to ptype, set type to TREE_TYPE (ptype). Don't call
7108 get_pointer_alignment for non-pointers. Use ptype, or if it is
7109 reference type, corresponding pointer type, as type of kind
7110 argument.
7111 (ubsan_maybe_instrument_reference,
7112 ubsan_maybe_instrument_member_call): Adjust callers.
7113
7114 2014-11-15 Marek Polacek <polacek@redhat.com>
7115
7116 PR middle-end/63884
7117 * array-notation-common.c (is_sec_implicit_index_fn): Return false
7118 for NULL fndecl.
7119 (extract_array_notation_exprs): Return for NULL node.
7120
7121 2014-11-12 Joseph Myers <joseph@codesourcery.com>
7122
7123 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
7124 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
7125
7126 2014-11-12 Jakub Jelinek <jakub@redhat.com>
7127
7128 PR c/59708
7129 * c-common.c (check_builtin_function_arguments): Handle
7130 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
7131
7132 2014-11-10 Andi Kleen <ak@linux.intel.com>
7133
7134 PR c/60804
7135 * c-common.h (check_no_cilk): Declare.
7136 * cilk.c (get_error_location): New function.
7137 (check_no_cilk): Dito.
7138
7139 2014-11-10 Andi Kleen <ak@linux.intel.com>
7140
7141 * cilk.c (recognize_spawn): Use expression location
7142 for error message.
7143
7144 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
7145
7146 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
7147
7148 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
7149
7150 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
7151 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
7152 (__cpp_range_based_for, __cpp_initializer_lists,
7153 __cpp_delegating_constructors, __cpp_nsdmi,
7154 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
7155 for C++11; (__cpp_attribute_deprecated): Remove in favor of
7156 __has_cpp_attribute.
7157 * c-lex.c (cb_has_attribute): New callback CPP function;
7158 (init_c_lex): Set has_attribute callback.
7159
7160 2014-11-04 Richard Biener <rguenther@suse.de>
7161
7162 * c-common.c (shorten_compare): Do not shorten mixed
7163 DFP and non-DFP compares.
7164
7165 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
7166
7167 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
7168 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
7169 Commentary and rearrangement of tests.
7170 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
7171 Commentary and rearrangement of tests.
7172 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
7173 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
7174
7175 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
7176
7177 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
7178 enum from machine_mode.
7179
7180 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
7181
7182 * c-common.c: Adjust include files.
7183 * c-gimplify.c: Ditto.
7184 * cilk.c: Ditto.
7185 * c-pragma.c: Ditto.
7186 * c-ubsan.c: Ditto.
7187
7188 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
7189
7190 * c-gimplify.c: Adjust include files.
7191
7192 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
7193
7194 PR c++/53061
7195 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
7196 c_common_initialize_diagnostics.
7197 * c-common.h: Likewise.
7198
7199 2014-10-24 Marek Polacek <polacek@redhat.com>
7200
7201 PR c/56980
7202 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
7203 print "struct"/"union"/"enum" for typedefed names.
7204
7205 2014-10-23 Marek Polacek <polacek@redhat.com>
7206
7207 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
7208 in unsigned type.
7209
7210 2014-10-22 Jakub Jelinek <jakub@redhat.com>
7211 Yury Gribov <y.gribov@samsung.com>
7212
7213 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7214 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
7215 instead of flag_sanitize_recover as bool flag.
7216
7217 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
7218
7219 * cilk.c: Revert previous change.
7220
7221 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
7222
7223 PR c/63307
7224 * cilk.c: Include vec.h.
7225 (struct cilk_decls): New structure.
7226 (wrapper_parm_cb): Split this function to...
7227 (fill_decls_vec): ...this...
7228 (create_parm_list): ...and this.
7229 (compare_decls): New function.
7230 (for_local_cb): Remove.
7231 (wrapper_local_cb): Ditto.
7232 (build_wrapper_type): For now first traverse and fill vector of
7233 declarations then sort it and then deal with sorted vector.
7234 (cilk_outline): Ditto.
7235 (declare_one_free_variable): Ditto.
7236
7237 2014-10-17 Marek Polacek <polacek@redhat.com>
7238
7239 * c-opts.c (c_common_post_options): Set warn_implicit_int.
7240 * c.opt (Wimplicit-int): Initialize to -1.
7241
7242 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
7243
7244 * c-pragma.c: Adjust include files.
7245 * c-semantics.c: Likewise.
7246
7247 2014-10-16 DJ Delorie <dj@redhat.com>
7248
7249 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
7250 multiples of bytes.
7251
7252 2014-10-14 Jason Merrill <jason@redhat.com>
7253
7254 PR c++/63455
7255 * c-common.h (CPP_PREPARSED_EXPR): New.
7256 (N_CP_TTYPES): Adjust.
7257
7258 2014-10-15 Marek Polacek <polacek@redhat.com>
7259
7260 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
7261
7262 2014-10-14 DJ Delorie <dj@redhat.com>
7263
7264 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
7265 types, not just __int128.
7266 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
7267 types, not just __int128.
7268 (cpp_atomic_builtins): Round pointer sizes up.
7269 (type_suffix): Use type precision, not specific types.
7270 * c-common.c (c_common_reswords): Remove __int128 special case.
7271 (c_common_type_for_size): Check for all __intN types, not just
7272 __int128.
7273 (c_common_type_for_mode): Likewise.
7274 (c_common_signed_or_unsigned_type): Likewise.
7275 (c_build_bitfield_integer_type): Likewise.
7276 (c_common_nodes_and_builtins): Likewise.
7277 (keyword_begins_type_specifier): Likewise.
7278 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
7279 __intN variants.
7280
7281 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
7282
7283 * c-common.c: Use hash_table instead of hashtab.
7284
7285 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
7286
7287 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
7288 C++11 section.
7289
7290 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
7291
7292 PR c++/54427
7293 PR c++/57198
7294 PR c++/58845
7295 * c-common.c (warn_logical_operator): Punt for vectors.
7296
7297 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
7298
7299 Implement SD-6: SG10 Feature Test Recommendations
7300 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
7301 macros and the __has_header macro.
7302
7303 2014-09-30 Jason Merrill <jason@redhat.com>
7304
7305 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
7306 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
7307 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
7308
7309 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
7310 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
7311
7312 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
7313 * c-common.c (c_common_reswords): Remove __is_convertible_to.
7314
7315 2014-09-24 Marek Polacek <polacek@redhat.com>
7316
7317 PR c/61405
7318 PR c/53874
7319 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
7320
7321 2014-09-23 Andi Kleen <ak@linux.intel.com>
7322
7323 * c-common.c (handle_no_reorder_attribute): New function.
7324 (c_common_attribute_table): Add no_reorder attribute.
7325
7326 2014-09-22 Joseph Myers <joseph@codesourcery.com>
7327
7328 * c-cppbuiltin.c (c_cpp_builtins): Define
7329 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
7330 modes.
7331
7332 2014-09-18 Joseph Myers <joseph@codesourcery.com>
7333
7334 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
7335 for supported floating-point modes.
7336
7337 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7338
7339 * c.opt (Wpsabi): Use LangEnabledBy.
7340 * c-opts.c (c_common_handle_option): Do not handle here.
7341
7342 2014-09-12 Joseph Myers <joseph@codesourcery.com>
7343
7344 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
7345 macros for floating-point modes.
7346
7347 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
7348
7349 PR target/58757
7350 * c-cppbuiltin.c (builtin_define_float_constants): Correct
7351 __*_DENORM_MIN__ without denormals.
7352
7353 2014-09-10 Jakub Jelinek <jakub@redhat.com>
7354
7355 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7356 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7357 ubsan_create_data callers.
7358 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
7359 index is constant or BIT_AND_EXPR with constant mask and is
7360 small enough for the bound.
7361 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
7362 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
7363
7364 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7365
7366 * c.opt: Add CppReason to various flags.
7367 (Wdate-time): Re-sort.
7368 * c-common.c: Include c-common.h earlier.
7369 (struct reason_option_codes_t): Delete.
7370 (c_option_controlling_cpp_error): Prefix global type and struct
7371 with cpp_.
7372
7373 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7374
7375 * c.opt (Wnormalized): New.
7376 (Wnormalized=): Use Enum and Reject Negative.
7377 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
7378
7379 2014-09-08 Joseph Myers <joseph@codesourcery.com>
7380
7381 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
7382 digits of floating-point modes if -fbuilding-libgcc.
7383
7384 2014-09-05 Joseph Myers <joseph@codesourcery.com>
7385
7386 * c-cppbuiltin.c (c_cpp_builtins): Also define
7387 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
7388 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
7389 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
7390 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
7391 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
7392 __LIBGCC_STACK_GROWS_DOWNWARD__,
7393 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
7394 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
7395 __LIBGCC_DWARF_FRAME_REGISTERS__,
7396 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
7397 __LIBGCC_STACK_POINTER_REGNUM__ and
7398 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
7399 (builtin_define_with_value): Handle backslash-escaping in string
7400 macro values.
7401
7402 2014-09-05 Richard Biener <rguenther@suse.de>
7403
7404 PR middle-end/63148
7405 * c-format.c (check_format_arg): Properly handle
7406 effectively signed POINTER_PLUS_EXPR offset.
7407
7408 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7409
7410 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
7411 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
7412 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
7413 and Init.
7414 * c-opts.c (c_common_handle_option): Do not handle here.
7415 (sanitize_cpp_opts): Likewise.
7416 * c-common.c (struct reason_option_codes_t): Handle
7417 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
7418
7419 2014-09-03 Marek Polacek <polacek@redhat.com>
7420
7421 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
7422
7423 2014-09-02 Jakub Jelinek <jakub@redhat.com>
7424 Balaji V. Iyer <balaji.v.iyer@intel.com>
7425 Igor Zamyatin <igor.zamyatin@intel.com>
7426
7427 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
7428 * c-common.c (c_common_reswords): Added _Cilk_for.
7429 * c-common.h (enum rid): Added RID_CILK_FOR.
7430 (cilk_for_number_of_iterations): Add declaration.
7431 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
7432 CILK_FOR.
7433 * c-pragma.c (init_pragma): Register "grainsize" pragma.
7434 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
7435
7436 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7437
7438 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
7439 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
7440 Wundef): Use CPP, Var and Init.
7441 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
7442
7443 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7444
7445 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
7446 * c-opts.c (c_common_handle_option): Do not handle here.
7447
7448 2014-08-25 Jason Merrill <jason@redhat.com>
7449
7450 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
7451 -std=c++14 and -std=gnu++14, rather than the reverse.
7452 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
7453 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
7454 * c-common.h (cxx_dialect): Remove cxx1y.
7455
7456 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
7457
7458 * c-common.h (enum cxx_dialect): Add cxx14.
7459 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
7460 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
7461 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
7462
7463 2014-08-22 Jason Merrill <jason@redhat.com>
7464
7465 * c.opt (std=gnu++17): Fix alias.
7466
7467 2014-08-22 Marek Polacek <polacek@redhat.com>
7468
7469 PR c++/62199
7470 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
7471 check for vector types. Drop LHS argument.
7472 * c-common.h (warn_logical_not_parentheses): Adjust.
7473
7474 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7475
7476 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
7477 (Wmultichar): Likewise.
7478 (Wdate-time): Use C-family languages instead of Common. Use CPP
7479 and Var.
7480 * c-opts.c (c_common_handle_option): Do not handle the above
7481 options here.
7482 (sanitize_cpp_opts): Likewise.
7483
7484 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
7485
7486 PR fortran/44054
7487 * c-opts.c: Include tree-diagnostics.h.
7488 (c_diagnostic_finalizer): New.
7489 (c_common_initialize_diagnostics): Use it.
7490
7491 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7492
7493 PR preprocessor/51303
7494 * c-common.c (struct reason_option_codes_t option_codes):
7495 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
7496
7497 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7498
7499 PR c/60975
7500 PR c/53063
7501 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
7502 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
7503 (c_common_post_options): Call init_global_opts_from_cpp.
7504 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
7505
7506 2014-08-19 Marek Polacek <polacek@redhat.com>
7507
7508 PR c++/62153
7509 * c-common.c (maybe_warn_bool_compare): New function.
7510 * c-common.h (maybe_warn_bool_compare): Declare.
7511 * c.opt (Wbool-compare): New option.
7512
7513 2014-08-19 Marek Polacek <polacek@redhat.com>
7514
7515 * c.opt (Wc99-c11-compat): New option.
7516
7517 2014-08-19 Marek Polacek <polacek@redhat.com>
7518
7519 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
7520 to warn_c90_c99_compat.
7521 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
7522 to -1.
7523
7524 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
7525 Steven Bosscher <steven@gcc.gnu.org>
7526
7527 PR c/52952
7528 * c-format.c: Add extra_arg_loc and format_string_loc to struct
7529 format_check_results.
7530 (check_function_format): Use true and add comment for boolean
7531 argument.
7532 (finish_dollar_format_checking): Use explicit location when warning.
7533 (check_format_info): Likewise.
7534 (check_format_arg): Set extra_arg_loc and format_string_loc.
7535 (check_format_info_main): Use explicit location when warning.
7536 (check_format_types): Pass explicit location.
7537 (format_type_warning): Likewise.
7538
7539 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7540
7541 PR fortran/44054
7542 * c-format.c: Handle Fortran flags.
7543
7544 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
7545
7546 PR other/61962
7547 * array-notation-common.c (find_rank): Added handling for other
7548 types of references.
7549
7550 2014-08-10 Marek Polacek <polacek@redhat.com>
7551
7552 PR c/51849
7553 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
7554 * c.opt (Wc90-c99-compat): Add option.
7555
7556 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
7557
7558 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
7559
7560 2014-08-03 Marek Polacek <polacek@redhat.com>
7561
7562 * c-common.c (check_case_value): Add location_t parameter. Use it.
7563 (c_add_case_label): Pass loc to check_case_value.
7564
7565 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7566
7567 * cilk.c: Use hash_map instead of pointer_map.
7568
7569 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7570
7571 * c-gimplify.c: Use hash_set instead of pointer_set.
7572
7573 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
7574
7575 PR middle-end/61455
7576 * array-notation-common.c (extract_array_notation_exprs): Handling
7577 of DECL_EXPR added.
7578
7579 2014-08-01 Jakub Jelinek <jakub@redhat.com>
7580
7581 * c-common.h (min_align_of_type): Removed prototype.
7582 * c-common.c (min_align_of_type): Removed.
7583 * c-ubsan.h (ubsan_maybe_instrument_reference,
7584 ubsan_maybe_instrument_member_call): New prototypes.
7585 * c-ubsan.c: Include stor-layout.h and builtins.h.
7586 (ubsan_maybe_instrument_reference_or_call,
7587 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
7588 functions.
7589
7590 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
7591
7592 PR c++/60517
7593 * c.opt (-Wreturn-local-addr): Move to common.opt.
7594
7595 2014-07-30 Jason Merrill <jason@redhat.com>
7596
7597 PR c++/61659
7598 PR c++/61687
7599 Revert:
7600 * c.opt (-fuse-all-virtuals): New.
7601
7602 2014-07-30 Tom Tromey <tromey@redhat.com>
7603
7604 PR c/59855
7605 * c.opt (Wdesignated-init): New option.
7606 * c-common.c (c_common_attribute_table): Add "designated_init".
7607 (handle_designated_init): New function.
7608
7609 2014-07-24 Marek Polacek <polacek@redhat.com>
7610
7611 PR c/57653
7612 * c-opts.c (c_finish_options): If -imacros is in effect, return.
7613
7614 2014-07-16 Dodji Seketeli <dodji@redhat.com>
7615
7616 PR preprocessor/60723 - missing system-ness marks for macro tokens
7617 * c-ppoutput.c (struct print::prev_was_system_token): New data
7618 member.
7619 (init_pp_output): Initialize it.
7620 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
7621 (do_line_change): Return a flag saying if a line marker was
7622 emitted or not.
7623 (scan_translation_unit): Detect if the system-ness of the token we
7624 are about to emit is different from the one of the previously
7625 emitted token. If so, emit a line marker. Avoid emitting useless
7626 adjacent line markers. Avoid emitting line markers for tokens
7627 originating from the expansion of built-in macros.
7628 (scan_translation_unit_directives_only): Adjust.
7629
7630 2014-07-15 Marek Polacek <polacek@redhat.com>
7631
7632 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
7633 TYPE_MAX_VALUE is NULL.
7634
7635 2014-07-14 Jakub Jelinek <jakub@redhat.com>
7636
7637 PR middle-end/61294
7638 * c.opt (Wmemset-transposed-args): New warning.
7639
7640 2014-07-10 Jason Merrill <jason@redhat.com>
7641
7642 PR c++/61659
7643 PR c++/61687
7644 * c.opt (-fuse-all-virtuals): New.
7645
7646 2014-07-09 Richard Biener <rguenther@suse.de>
7647
7648 PR c-family/61741
7649 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7650 using unsigned arithmetic if overflow does not wrap instead of
7651 if overflow is undefined.
7652
7653 2014-07-06 Marek Polacek <polacek@redhat.com>
7654
7655 PR c/6940
7656 * c.opt (Wsizeof-array-argument): New option.
7657
7658 2014-07-03 Jakub Jelinek <jakub@redhat.com>
7659
7660 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
7661 comments->count <= 1, as comments->entries might be NULL.
7662
7663 2014-07-01 Marek Polacek <polacek@redhat.com>
7664
7665 * c.opt (Wint-conversion): New option.
7666
7667 2014-07-01 Marek Polacek <polacek@redhat.com>
7668
7669 PR c/58286
7670 * c.opt (Wincompatible-pointer-types): New option.
7671
7672 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
7673
7674 PR c++/51400
7675 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
7676 Do not discard TYPE_QUALS of type.
7677
7678 2014-06-26 Jason Merrill <jason@redhat.com>
7679
7680 * c-common.h (enum cxx_dialect): Add cxx1z.
7681 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
7682 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
7683
7684 2014-06-26 Teresa Johnson <tejohnson@google.com>
7685
7686 * c-common.h (get_dump_info): Declare.
7687 * c-gimplify.c (c_genericize): Use saved dump files.
7688 * c-opts.c (c_common_parse_file): Begin and end dumps
7689 once around parsing invocation.
7690 (get_dump_info): New function.
7691
7692 2014-06-23 Marek Polacek <polacek@redhat.com>
7693 Andrew MacLeod <amacleod@redhat.com>
7694
7695 PR c/61553
7696 * c-common.c (get_atomic_generic_size): Don't segfault if the
7697 type doesn't have a size.
7698
7699 2014-06-20 Marek Polacek <polacek@redhat.com>
7700
7701 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
7702 (ubsan_walk_array_refs_r): New function.
7703 (c_genericize): Instrument array bounds.
7704 * c-ubsan.c: Include "internal-fn.h".
7705 (ubsan_instrument_division): Mark instrumented arrays as having
7706 side effects. Adjust ubsan_type_descriptor call.
7707 (ubsan_instrument_shift): Likewise.
7708 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
7709 (ubsan_instrument_bounds): New function.
7710 (ubsan_array_ref_instrumented_p): New function.
7711 (ubsan_maybe_instrument_array_ref): New function.
7712 * c-ubsan.h (ubsan_instrument_bounds): Declare.
7713 (ubsan_array_ref_instrumented_p): Declare.
7714 (ubsan_maybe_instrument_array_ref): Declare.
7715
7716 2014-06-20 Hale Wang <hale.wang@arm.com>
7717
7718 PR lto/61123
7719 * c.opt (fshort-enums): Add to LTO.
7720 * c.opt (fshort-wchar): Likewise.
7721
7722 2014-06-16 Marek Polacek <polacek@redhat.com>
7723
7724 PR c/60439
7725 * c.opt (Wswitch-bool): Add Var.
7726
7727 2014-06-12 Jakub Jelinek <jakub@redhat.com>
7728
7729 PR middle-end/61486
7730 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
7731 #pragma omp target teams or
7732 #pragma omp {,target }teams distribute simd.
7733
7734 2014-06-12 Jason Merrill <jason@redhat.com>
7735
7736 * c.opt (Wabi=, fabi-compat-version): New.
7737 * c-opts.c (c_common_handle_option): Handle -Wabi=.
7738 (c_common_post_options): Handle flag_abi_compat_version default.
7739 Disallow -fabi-compat-version=1.
7740 * c-common.h (abi_version_crosses): New.
7741
7742 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
7743
7744 * c-common.c (handle_section_attribute): Update handling for
7745 section names that are no longer trees.
7746
7747 2014-06-10 Jakub Jelinek <jakub@redhat.com>
7748
7749 PR fortran/60928
7750 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
7751 (omp_pragmas): ... back here.
7752
7753 2014-06-05 Marek Polacek <polacek@redhat.com>
7754
7755 PR c/49706
7756 * c-common.c (warn_logical_not_parentheses): New function.
7757 * c-common.h (warn_logical_not_parentheses): Declare.
7758 * c.opt (Wlogical-not-parentheses): New option.
7759
7760 2014-06-04 Marek Polacek <polacek@redhat.com>
7761
7762 PR c/30020
7763 * c-common.c (check_case_bounds): Add location parameter.
7764 Use it.
7765 (c_add_case_label): Pass loc to check_case_bounds.
7766
7767 2014-06-03 Marek Polacek <polacek@redhat.com>
7768
7769 PR c/60439
7770 * c.opt (Wswitch-bool): New option.
7771
7772 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
7773
7774 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
7775 Remove prototypes.
7776 (record_types_used_by_current_var_decl): Move prototype to where
7777 it belongs.
7778
7779 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
7780 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
7781 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
7782
7783 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7784
7785 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
7786 * c-common.c (c_common_nodes_and_builtins): Don't initialize
7787 void_zero_node.
7788 * c-pretty-print.c (pp_c_void_constant): New function.
7789 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
7790 (c_pretty_printer::expression): Handle VOID_CST.
7791 * cilk.c (extract_free_variables): Likewise.
7792 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
7793 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
7794
7795 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
7796
7797 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
7798 * c-pragma.c (push_alignment): Adjust.
7799 (handle_pragma_push_options): Likewise.
7800
7801 2014-05-09 Marek Polacek <polacek@redhat.com>
7802
7803 PR c/50459
7804 * c-common.c (check_user_alignment): Return -1 if alignment is error
7805 node.
7806 (handle_aligned_attribute): Don't call default_conversion on
7807 FUNCTION_DECLs.
7808 (handle_vector_size_attribute): Likewise.
7809 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
7810 (handle_sentinel_attribute): Call default_conversion and allow even
7811 integral types as an argument.
7812
7813 2014-05-08 Marek Polacek <polacek@redhat.com>
7814
7815 PR c/61053
7816 * c-common.c (min_align_of_type): New function factored out from...
7817 (c_sizeof_or_alignof_type): ...here.
7818 * c-common.h (min_align_of_type): Declare.
7819
7820 2014-05-08 Marek Polacek <polacek@redhat.com>
7821
7822 PR c/61077
7823 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7824 parameter type of main.
7825
7826 2014-05-07 DJ Delorie <dj@redhat.com>
7827
7828 * c-cppbuiltin.c (print_bits_of_hex): New.
7829 (builtin_define_type_minmax): Print values using hex so as not to
7830 require a pre-computed list of string values.
7831
7832 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7833 Mike Stump <mikestump@comcast.net>
7834 Richard Sandiford <rdsandiford@googlemail.com>
7835
7836 * c-ada-spec.c: Include wide-int.h.
7837 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7838 (dump_generic_ada_node): Use wide-int interfaces.
7839 * c-common.c: Include wide-int-print.h.
7840 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7841 (pointer_int_sum): Use wide-int interfaces.
7842 (c_common_nodes_and_builtins): Use make_int_cst.
7843 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7844 (handle_alloc_size_attribute): Use wide-int interfaces.
7845 (get_nonnull_operand): Likewise.
7846 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7847 * c-lex.c: Include wide-int.h.
7848 (narrowest_unsigned_type): Take a widest_int rather than two
7849 HOST_WIDE_INTs.
7850 (narrowest_signed_type): Likewise.
7851 (interpret_integer): Update accordingly. Use wide-int interfaces.
7852 (lex_charconst): Use wide-int interfaces.
7853 * c-pretty-print.c: Include wide-int.h.
7854 (pp_c_integer_constant): Use wide-int interfaces.
7855 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7856 INT_CST_LT_UNSIGNED.
7857
7858 2014-05-06 Richard Biener <rguenther@suse.de>
7859
7860 * c-opts.c (c_common_post_options): For -freestanding,
7861 -fno-hosted and -fno-builtin disable pattern recognition
7862 if not enabled explicitely.
7863
7864 2014-05-02 Marek Polacek <polacek@redhat.com>
7865
7866 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7867
7868 2014-05-01 Marek Polacek <polacek@redhat.com>
7869
7870 PR c/43245
7871 * c.opt (Wdiscarded-qualifiers): Add.
7872
7873 2014-04-30 Marek Polacek <polacek@redhat.com>
7874
7875 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7876 INT_MIN / -1 sanitization only for integer types.
7877
7878 2014-04-25 Marek Polacek <polacek@redhat.com>
7879
7880 PR c/18079
7881 * c-common.c (handle_noinline_attribute): Warn if the attribute
7882 conflicts with always_inline attribute.
7883 (handle_always_inline_attribute): Warn if the attribute conflicts
7884 with noinline attribute.
7885
7886 2014-04-25 Marek Polacek <polacek@redhat.com>
7887
7888 PR c/60156
7889 * c-common.c (check_main_parameter_types): Warn about variadic main.
7890
7891 2014-04-24 Mike Stump <mikestump@comcast.net>
7892
7893 * c.opt (Wshadow-ivar): Default to on.
7894
7895 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7896
7897 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7898
7899 2014-04-23 Marek Polacek <polacek@redhat.com>
7900
7901 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7902
7903 2014-04-22 Jakub Jelinek <jakub@redhat.com>
7904
7905 PR sanitizer/60275
7906 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7907 if flag_sanitize_undefined_trap_on_error.
7908 (ubsan_instrument_division, ubsan_instrument_shift,
7909 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7910 if !flag_sanitize_recover.
7911
7912 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
7913
7914 PR libstdc++/43622
7915 * c-common.c (registered_builtin_types): Make non-static.
7916 * c-common.h (registered_builtin_types): Declare.
7917
7918 2014-04-14 Richard Biener <rguenther@suse.de>
7919 Marc Glisse <marc.glisse@inria.fr>
7920
7921 PR c/60819
7922 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
7923 apply may-alias the scalar pointer type when applicable.
7924
7925 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
7926
7927 PR middle-end/60467
7928 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
7929 as possible argument for Cilk_spawn.
7930
7931 2014-04-11 Tobias Burnus <burnus@net-b.de>
7932
7933 PR c/60194
7934 * c.opt (Wformat-signedness): Add
7935 * c-format.c(check_format_types): Use it.
7936
7937 2014-04-11 Jason Merrill <jason@redhat.com>
7938
7939 PR c++/57926
7940 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
7941 default_conversion for an array argument.
7942
7943 2014-04-08 Marek Polacek <polacek@redhat.com>
7944
7945 PR sanitizer/60745
7946 * c-ubsan.c: Include asan.h.
7947 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
7948
7949 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7950
7951 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
7952
7953 2014-04-02 Marek Polacek <polacek@redhat.com>
7954
7955 * c-common.h (c_expand_expr): Remove declaration.
7956
7957 2014-03-28 Jakub Jelinek <jakub@redhat.com>
7958
7959 PR c++/60689
7960 * c-common.c (add_atomic_size_parameter): When creating new
7961 params vector, push the size argument first.
7962
7963 2014-03-26 Jakub Jelinek <jakub@redhat.com>
7964
7965 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7966 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7967 ubsan_create_data callers.
7968
7969 2014-03-22 Jakub Jelinek <jakub@redhat.com>
7970
7971 PR debug/60603
7972 * c-opts.c (c_finish_options): Restore cb_file_change call to
7973 <built-in>.
7974
7975 2014-03-13 Jakub Jelinek <jakub@redhat.com>
7976
7977 PR middle-end/36282
7978 * c-pragma.c (apply_pragma_weak): Only look at
7979 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7980 DECL_ASSEMBLER_NAME_SET_P (decl).
7981 (maybe_apply_pending_pragma_weaks): Exit early if
7982 vec_safe_is_empty (pending_weaks) rather than only when
7983 !pending_weaks.
7984 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7985 set assembler name back to NULL afterwards.
7986
7987 2014-03-11 Jason Merrill <jason@redhat.com>
7988
7989 * c.opt: Add -std=gnu++14.
7990
7991 2014-03-11 Ian Bolton <ian.bolton@arm.com>
7992
7993 * c-opts.c (c_common_post_options): Don't override
7994 -ffp-contract=fast if unsafe-math-optimizations is on.
7995
7996 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
7997
7998 * c.opt: Enable LTO FE for fshort-double.
7999
8000 2014-03-07 Jason Merrill <jason@redhat.com>
8001
8002 * c.opt: Add -std=c++14.
8003
8004 2014-03-06 Marek Polacek <polacek@redhat.com>
8005
8006 PR c/60197
8007 * cilk.c (contains_cilk_spawn_stmt): New function.
8008 (contains_cilk_spawn_stmt_walker): Likewise.
8009 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
8010 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
8011
8012 2014-03-03 Jakub Jelinek <jakub@redhat.com>
8013
8014 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
8015 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
8016 even when flag_preprocess_only.
8017
8018 2014-02-26 Jason Merrill <jason@redhat.com>
8019
8020 PR c++/59231
8021 PR c++/11586
8022 * c-common.c (shorten_compare): Don't check
8023 c_inhibit_evaluation_warnings.
8024
8025 2014-02-19 Jakub Jelinek <jakub@redhat.com>
8026
8027 PR c/37743
8028 * c-common.c (c_common_nodes_and_builtins): When initializing
8029 c_uint{16,32,64}_type_node, also set corresponding
8030 uint{16,32,64}_type_node to the same value.
8031
8032 PR c++/60267
8033 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
8034 for PRAGMA_IVDEP if flag_preprocess_only.
8035
8036 2014-02-12 Jakub Jelinek <jakub@redhat.com>
8037
8038 PR c/60101
8039 * c-common.c (merge_tlist): If copy is true, call new_tlist,
8040 if false, add ADD itself, rather than vice versa.
8041 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
8042 copy. For SAVE_EXPR, only call merge_tlist once.
8043
8044 2014-02-08 Jakub Jelinek <jakub@redhat.com>
8045
8046 PR middle-end/60092
8047 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
8048 and tree_to_uhwi.
8049 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
8050 functions.
8051 (c_common_attribute_table): Add alloc_align and assume_aligned
8052 attributes.
8053
8054 2014-02-06 Marek Polacek <polacek@redhat.com>
8055
8056 PR c/60087
8057 * c-common.c (warn_for_sign_compare): Call warning_at with location
8058 instead of warning.
8059
8060 2014-02-05 Marek Polacek <polacek@redhat.com>
8061
8062 PR c/53123
8063 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
8064 statement.
8065
8066 2014-02-04 Marek Polacek <polacek@redhat.com>
8067
8068 PR c/60036
8069 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
8070 SAVE_EXPR.
8071
8072 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
8073
8074 PR c++/53017
8075 PR c++/59211
8076 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
8077 handle_vector_size_attribute, handle_nonnull_attribute): Call
8078 default_conversion on the attribute argument.
8079 (handle_nonnull_attribute): Increment the argument number.
8080
8081 2014-01-31 Marek Polacek <polacek@redhat.com>
8082
8083 PR c/59963
8084 * c-common.c (add_atomic_size_parameter): Pass vNULL to
8085 build_function_call_vec.
8086 (resolve_overloaded_builtin): Likewise.
8087 * c-common.h (build_function_call_vec): Adjust declaration.
8088
8089 2014-01-30 Marek Polacek <polacek@redhat.com>
8090
8091 PR c/59940
8092 * c-common.h (unsafe_conversion_p): Adjust declaration.
8093 (warnings_for_convert_and_check): Likewise.
8094 (convert_and_check): Likewise.
8095 * c-common.c (unsafe_conversion_p): Add location parameter. Call
8096 expansion_point_location_if_in_system_header on it.
8097 (warnings_for_convert_and_check): Add location parameter. Call
8098 expansion_point_location_if_in_system_header on it. Use it.
8099 (convert_and_check): Add location parameter. Use it.
8100 (conversion_warning): Likewise.
8101 (c_add_case_label): Adjust convert_and_check calls.
8102 (scalar_to_vector): Adjust unsafe_conversion_p calls.
8103
8104 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
8105
8106 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
8107 flag_cilkplus.
8108 * c-pragma.c (init_pragma): Likewise.
8109 * c.opt: Likewise.
8110
8111 2014-01-23 Marek Polacek <polacek@redhat.com>
8112
8113 PR c/59846
8114 * c-common.c (shorten_compare): Add location_t parameter.
8115 * c-common.h (shorten_binary_op): Adjust declaration.
8116
8117 2014-01-23 Marek Polacek <polacek@redhat.com>
8118
8119 PR c/58346
8120 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
8121 * c-common.h: Declare it.
8122
8123 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
8124
8125 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
8126 * c-ada-spec.c (dump_ads): Likewise.
8127 (cpp_check): Likewise.
8128 (dump_ada_specs): Likewise.
8129
8130 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
8131
8132 PR c++/49718
8133 * c-common.c (handle_no_instrument_function_attribute): Allow
8134 no_instrument_function attribute in class member
8135 definition/declaration.
8136
8137 2014-01-15 Jakub Jelinek <jakub@redhat.com>
8138
8139 PR c/58943
8140 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
8141 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
8142 being COMPOUND_EXPR.
8143 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
8144 operand a SAVE_EXPR and second MODIFY_EXPR.
8145
8146 2014-01-09 Jakub Jelinek <jakub@redhat.com>
8147
8148 PR target/58115
8149 * c-pch.c (c_common_write_pch): Call
8150 prepare_target_option_nodes_for_pch.
8151
8152 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8153
8154 Update copyright years
8155
8156 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8157
8158 * array-notation-common.c, c-cilkplus.c: Use the standard form for
8159 the copyright notice.
8160
8161 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
8162
8163 * c-ada-spec.c (print_constructor): New function.
8164 (print_destructor): Retrieve the origin of the destructor.
8165 (print_ada_declaration): Revamp handling of constructors/destructors.
8166
8167 2013-12-23 Stuart Hastings <stuart@apple.com>
8168 Bill Maddox <maddox@google.com>
8169 Jason Merrill <jason@redhat.com>
8170
8171 * c.opt: Add -fdeclone-ctor-dtor.
8172 * c-opts.c (c_common_post_options): Default to on iff -Os.
8173
8174 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
8175
8176 * c-common.c (c_common_attribute_table): Added "cilk simd function"
8177 attribute.
8178 * c-pragma.h (enum pragma_cilk_clause): Remove.
8179 (enum pragma_omp_clause): Added the following fields:
8180 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
8181 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
8182 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
8183 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
8184 PRAGMA_CILK_CLAUSE_UNIFORM.
8185
8186
8187 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
8188
8189 * cilk.c (cilk_outline): Made this function non-static.
8190 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
8191 (create_cilk_wrapper): Added a new parameter: a function pointer.
8192 (c_install_body_w_frame_cleanup): Remove
8193 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
8194 * c-common.h (cilk_outline): New prototype.
8195 (gimplify_cilk_spawn): Removed two parameters.
8196 (cilk_install_body_with_frame_cleanup): New prototype.
8197 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
8198 CILK_SPAWN_STMT case.
8199
8200 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
8201
8202 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
8203
8204 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
8205 (int_array_type_node): Remove.
8206 * c-common.c (c_common_nodes_and_builtins): Don't build it.
8207
8208 2013-12-05 Marek Polacek <polacek@redhat.com>
8209
8210 PR c/52023
8211 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
8212 [ADJUST_FIELD_ALIGN].
8213
8214 2013-12-04 Joseph Myers <joseph@codesourcery.com>
8215
8216 PR c/52023
8217 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
8218 and check field alignment if set.
8219 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
8220 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
8221
8222 2013-12-04 Jakub Jelinek <jakub@redhat.com>
8223 Marek Polacek <polacek@redhat.com>
8224
8225 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
8226 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
8227
8228 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
8229
8230 PR c/59309
8231 * cilk.c (gimplify_cilk_spawn): Properly handle function without
8232 arguments.
8233
8234 2013-11-29 Jakub Jelinek <jakub@redhat.com>
8235
8236 PR c/59280
8237 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
8238 goto invalid. If it is error_mark_node, don't issue further
8239 diagnostics.
8240
8241 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
8242
8243 * c.opt (Wopenmp-simd): New.
8244
8245 2013-11-22 Jakub Jelinek <jakub@redhat.com>
8246
8247 * c-ubsan.h (ubsan_instrument_return): New prototype.
8248 * c-ubsan.c (ubsan_instrument_return): New function.
8249
8250 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
8251
8252 * c-common.c: Add required include files from gimple.h.
8253 * c-gimplify.c: Likewise.
8254 * cilk.c: Likewise.
8255
8256 2013-11-22 David Malcolm <dmalcolm@redhat.com>
8257
8258 * c-common.c (unsafe_conversion_p): Remove use of
8259 EXPR_LOC_OR_HERE macro.
8260 (conversion_warning): Likewise.
8261 (warnings_for_convert_and_check): Likewise.
8262 (warn_for_collisions_1): Likewise.
8263 (shorten_compare): Likewise, and remove use of in_system_header
8264 macro, using the location from the former.
8265 * c-lex.c (dump_one_header): Remove use of input_filename macro.
8266 (cb_def_pragma): Remove use of in_system_header macro.
8267 (lex_string): Likewise.
8268 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8269
8270 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
8271 Mike Stump <mikestump@comcast.net>
8272 Richard Sandiford <rdsandiford@googlemail.com>
8273
8274 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
8275 instead of TREE_INT_CST_LOW, in cases where there is a protecting
8276 tree_fits_shwi_p or tree_fits_uhwi_p.
8277 (dump_generic_ada_node): Likewise.
8278 * c-format.c (check_format_arg): Likewise.
8279 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8280
8281 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
8282
8283 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
8284
8285 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
8286
8287 PR c/53001
8288 * c-common.c (unsafe_conversion_p): Make this function
8289 return an enumeration with more detail.
8290 (conversion_warning): Use the new return type of
8291 unsafe_conversion_p to separately warn either about conversions
8292 that lower floating point number precision or about the other
8293 kinds of conversions.
8294 * c-common.h (enum conversion_safety): New enumeration.
8295 (unsafe_conversion_p): switching return type to
8296 conversion_safety enumeration.
8297 * c.opt: Adding new warning -Wfloat-conversion and
8298 enabling it with -Wconversion.
8299
8300 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
8301
8302 * c-opts.c: Include plugin.h.
8303 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
8304
8305 2013-11-19 Marek Polacek <polacek@redhat.com>
8306
8307 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
8308 call.
8309 (ubsan_instrument_shift): Likewise.
8310 (ubsan_instrument_vla): Likewise.
8311
8312 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8313
8314 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
8315 cast to unsigned type.
8316
8317 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8318
8319 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
8320 tree_low_cst.
8321 (complete_array_type): Update comment to refer to tree_to_[su]hwi
8322 rather than tree_low_cst.
8323
8324 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8325
8326 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
8327 tree_to_uhwi throughout.
8328
8329 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8330
8331 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
8332 tree_low_cst (..., 0) with tree_to_shwi throughout.
8333
8334 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8335
8336 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
8337 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
8338
8339 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8340
8341 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
8342 host_integerp (..., 0) with tree_fits_shwi_p throughout.
8343
8344 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
8345
8346 * c-cilkplus.c: New file.
8347 * c-common.c (readonly_error): Add location argument.
8348 * c-common.h (readonly_error): Same.
8349 (c_finish_cilk_clauses): Protoize.
8350 (c_check_cilk_loop): Same.
8351 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
8352 Do not fail on error_mark_node.
8353 Abstract increment canonicalization to here...
8354 (c_omp_for_incr_canonicalize_ptr): New.
8355 c-pragma.c (init_pragma): Register "simd" pragma.
8356 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
8357 (enum pragma_cilk_clause): New.
8358
8359 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
8360
8361 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
8362 wchar_type and host_integerp checks.
8363
8364 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
8365
8366 * c-common.c: Likewise.
8367 * c-gimplify.c: Likewise.
8368 * cilk.c: Likewise.
8369
8370 2013-11-14 Diego Novillo <dnovillo@google.com>
8371
8372 * c-common.c: Include fold-const.h.
8373 Include stor-layout.h.
8374 Include calls.h.
8375 Include stringpool.h.
8376 Include attribs.h.
8377 Include varasm.h.
8378 Include trans-mem.h.
8379 * c-cppbuiltin.c: Include stor-layout.h.
8380 Include stringpool.h.
8381 * c-format.c: Include stringpool.h.
8382 * c-lex.c: Include stringpool.h.
8383 Include stor-layout.h.
8384 * c-pragma.c: Include stringpool.h.
8385 Include attribs.h.
8386 Include varasm.h.
8387 Include gcc-symtab.h.
8388 * c-pretty-print.c: Include stor-layout.h.
8389 Include attribs.h.
8390 * cilk.c: Include stringpool.h.
8391 Include calls.h.
8392
8393 2013-11-13 Joseph Myers <joseph@codesourcery.com>
8394
8395 * c-common.h (enum rid): Add RID_AUTO_TYPE.
8396 * c-common.c (c_common_reswords): Add __auto_type.
8397 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
8398
8399 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
8400
8401 * c-common.c: Include gimplify.h.
8402 * c-gimplify.c: Likewise.
8403 * cilk.c: Likewise.
8404 * c-omp.c: Include gimple-expr.h instead of gimple.h.
8405 * c-ubsan.c: Don't include gimple.h.
8406
8407 2013-11-12 Joseph Myers <joseph@codesourcery.com>
8408
8409 * c-common.c (c_common_reswords): Add _Thread_local.
8410
8411 2013-11-09 Joseph Myers <joseph@codesourcery.com>
8412
8413 * c-common.c (atomic_size_supported_p): New function.
8414 (resolve_overloaded_atomic_exchange)
8415 (resolve_overloaded_atomic_compare_exchange)
8416 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
8417 Use it instead of comparing size with a local list of sizes.
8418
8419 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
8420 Joseph Myers <joseph@codesourcery.com>
8421
8422 * c-common.h (enum rid): Add RID_ATOMIC.
8423 * c-common.c (c_common_reswords): Add _Atomic.
8424 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
8425 (keyword_is_type_qualifier): Accept RID_ATOMIC.
8426 * c-format.c (check_format_types): Check for extra _Atomic
8427 qualifiers in format argument.
8428 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
8429 (pp_c_type_qualifier_list): Mention _Atomic in comment.
8430
8431 2013-11-06 Tobias Burnus <burnus@net-b.de>
8432
8433 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
8434
8435 2013-11-06 Joseph Myers <joseph@codesourcery.com>
8436
8437 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
8438 standards modes.
8439 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
8440 to mean lack of IEEE 754 support.
8441
8442 2013-11-05 Tobias Burnus <burnus@net-b.de>
8443
8444 * c.opt (-Wdate-time): New option
8445 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
8446
8447 2013-11-05 Joseph Myers <joseph@codesourcery.com>
8448
8449 * c-cppbuiltin.c (cpp_iec_559_value): Test
8450 flag_excess_precision_cmdline not flag_excess_precision.
8451
8452 2013-11-05 Tobias Burnus <burnus@net-b.de>
8453
8454 * c.opt (fopenmp-simd): New option.
8455 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
8456 (omp_pragmas): ... this new struct.
8457 (c_pp_lookup_pragma): Also walk omp_pragmas.
8458 (init_pragma): Init pragmas for -fopenmp-simd.
8459
8460 2013-11-04 Marek Polacek <polacek@redhat.com>
8461
8462 PR c++/58979
8463 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
8464
8465 2013-11-04 Joseph Myers <joseph@codesourcery.com>
8466
8467 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
8468 New functions.
8469 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
8470
8471 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
8472
8473 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
8474 (dump_ada_specs): Adjust prototype of second callback.
8475 * c-ada-spec.c (cpp_check): New global variable.
8476 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
8477 (print_generic_ada_decl): Likewise.
8478 (has_static_fields): Change return type to bool and add guard.
8479 (has_nontrivial_methods): New predicate.
8480 (is_tagged_type): Change return type to bool.
8481 (separate_class_package): Call has_nontrivial_methods.
8482 (pp_ada_tree_identifier): Minor tweaks.
8483 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
8484 (dump_ada_array_domains): Likewise.
8485 (dump_ada_array_type): Likewise.
8486 (dump_template_types): Remove cpp_check parameter and do not pass it to
8487 dump_generic_ada_node.
8488 (dump_ada_template): Likewise.
8489 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
8490 recursively.
8491 (print_ada_methods): Change return type to integer. Remove cpp_check
8492 parameter and do not pass it down.
8493 (dump_nested_types): Remove cpp_check parameter and do not pass it to
8494 dump_generic_ada_node.
8495 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
8496 accessing methods.
8497 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
8498 down. Use has_nontrivial_methods to recognize C++ classes. Use return
8499 value of print_ada_methods.
8500 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
8501 Set cpp_check to it before invoking dump_ada_nodes.
8502 (dump_ada_specs): Likewise.
8503
8504 2013-11-03 Marek Polacek <polacek@redhat.com>
8505
8506 * c-ubsan.c: Don't include hash-table.h.
8507 (ubsan_instrument_vla): New function.
8508 * c-ubsan.h: Declare it.
8509
8510 2013-10-31 David Malcolm <dmalcolm@redhat.com>
8511
8512 Automated part of renaming of symtab_node_base to symtab_node.
8513
8514 Patch autogenerated by rename_symtab.py from
8515 https://github.com/davidmalcolm/gcc-refactoring-scripts
8516 revision 58bb219cc090b2f4516a9297d868c245495ee622
8517
8518 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
8519 symtab_node_base to symtab_node.
8520
8521 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
8522
8523 Implement C++14 digit separators.
8524 * c-lex.c (interpret_float): Remove digit separators from scratch string
8525 before building real literal.
8526
8527 2013-10-30 Jakub Jelinek <jakub@redhat.com>
8528
8529 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
8530
8531 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
8532
8533 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
8534 fields.
8535 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
8536 enabled.
8537 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
8538 (insert_cilk_frame): New prototype.
8539 (cilk_init_builtins): Likewise.
8540 (gimplify_cilk_spawn): Likewise.
8541 (c_cilk_install_body_w_frame_cleanup): Likewise.
8542 (cilk_detect_spawn_and_unwrap): Likewise.
8543 (cilk_set_spawn_marker): Likewise.
8544 (build_cilk_sync): Likewise.
8545 (build_cilk_spawn): Likewise.
8546 * cilk.c: New file.
8547
8548 2013-10-29 David Malcolm <dmalcolm@redhat.com>
8549
8550 Patch autogenerated by refactor_symtab.py from
8551 https://github.com/davidmalcolm/gcc-refactoring-scripts
8552 revision 58bb219cc090b2f4516a9297d868c245495ee622
8553
8554 * c-gimplify.c (c_genericize): Update for conversion of symtab types
8555 to a true class hierarchy.
8556 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
8557
8558 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
8559
8560 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
8561
8562 2013-10-26 Jeff Law <law@redhat.com>
8563
8564 * c-common.c (c_define_builtins): Remove mudflap support.
8565 * c.opt: Ignore and warn for mudflap options.
8566
8567 2013-10-24 Tobias Burnus <burnus@net-b.de>
8568
8569 PR other/33426
8570 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
8571 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
8572
8573 2013-10-23 Jason Merrill <jason@redhat.com>
8574
8575 * c-format.c (gcc_cxxdiag_char_table): Add %X.
8576
8577 2013-10-11 Jakub Jelinek <jakub@redhat.com>
8578
8579 * c-common.h (omp_clause_mask::operator !=): New method.
8580 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
8581 instead of if (mask & something) tests everywhere.
8582
8583 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
8584 201307 instead of 201107.
8585 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
8586 (c_common_attribute_table): Add "omp declare target" and
8587 "omp declare simd" attributes.
8588 (handle_omp_declare_target_attribute,
8589 handle_omp_declare_simd_attribute): New functions.
8590 * c-omp.c: Include c-pragma.h.
8591 (c_finish_omp_taskgroup): New function.
8592 (c_finish_omp_atomic): Add swapped argument, if true,
8593 build the operation first with rhs, lhs arguments and use NOP_EXPR
8594 build_modify_expr.
8595 (c_finish_omp_for): Add code argument, pass it down to make_code.
8596 (c_omp_split_clauses): New function.
8597 (c_split_parallel_clauses): Removed.
8598 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
8599 c_omp_declare_simd_clauses_to_decls): New functions.
8600 * c-common.h (omp_clause_mask): New type.
8601 (OMP_CLAUSE_MASK_1): Define.
8602 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
8603 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
8604 omp_clause_mask::operator |, omp_clause_mask::operator &,
8605 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
8606 omp_clause_mask::operator ==): New methods.
8607 (enum c_omp_clause_split): New.
8608 (c_finish_omp_taskgroup): New prototype.
8609 (c_finish_omp_atomic): Add swapped argument.
8610 (c_finish_omp_for): Add code argument.
8611 (c_omp_split_clauses): New prototype.
8612 (c_split_parallel_clauses): Removed.
8613 (c_omp_declare_simd_clauses_to_numbers,
8614 c_omp_declare_simd_clauses_to_decls): New prototypes.
8615 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
8616 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
8617 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
8618 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
8619 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
8620 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
8621 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
8622 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
8623 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
8624 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
8625 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
8626 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
8627 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
8628 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
8629 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
8630 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
8631 PRAGMA_OMP_CLAUSE_UNIFORM.
8632
8633 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
8634
8635 PR tree-optimization/20318
8636 * c-common.c (handle_returns_nonnull_attribute): New function.
8637 (c_common_attribute_table): Add returns_nonnull.
8638
8639 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
8640
8641 PR c++/19476
8642 * c.opt (fcheck-new): Move to common.opt.
8643
8644 2013-09-25 Marek Polacek <polacek@redhat.com>
8645 Jakub Jelinek <jakub@redhat.com>
8646
8647 PR sanitizer/58413
8648 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
8649 an expression if we can prove it is correct.
8650 (ubsan_instrument_division): Likewise. Remove unnecessary
8651 check.
8652
8653 2013-09-18 Marek Polacek <polacek@redhat.com>
8654
8655 PR sanitizer/58411
8656 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
8657 Declare it.
8658 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
8659
8660 2013-09-14 Iain Sandoe <iain@codesourcery.com>
8661
8662 PR target/48094
8663 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
8664 fobjc-gc, freplace-objc-classes): Accept for LTO.
8665
8666 2013-09-13 Jacek Caban <jacek@codeweavers.com>
8667
8668 * c-target.def: New hook
8669
8670 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8671
8672 PR c++/43452
8673 * c.opt (Wdelete-incomplete): Add.
8674
8675 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
8676
8677 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
8678 (vector_types_compatible_elements_p): New function.
8679 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
8680 declaration.
8681 (vector_types_compatible_elements_p): Declare.
8682
8683 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8684
8685 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
8686 a virtual member function.
8687 (pp_simple_type_specifier): Remove.
8688 (pp_c_type_specifier): Likewise.
8689 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
8690 Rename from pp_c_type_specifier. Adjust.
8691 (c_pretty_printer::c_pretty_printer): Do not assign to
8692 simple_type_specifier.
8693
8694 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8695
8696 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
8697 member function.
8698 (c_pretty_printer::storage_class_specifier): Likewise.
8699 (c_pretty_printer::initializer): Likewise.
8700 (pp_declaration): Remove.
8701 (pp_declaration_specifiers): Likewise.
8702 (pp_abstract_declarator): Likewise.
8703 (pp_declarator): Likewise.
8704 (pp_type_id): Likewise.
8705 (pp_statement): Likewise.
8706 (pp_constant): Likewise.
8707 (pp_id_expression): Likewise.
8708 (pp_primary_expression): Likewise.
8709 (pp_unary_expression): Likewise.
8710 (pp_multiplicative_expression): Likewise.
8711 (pp_conditional_expression): Likewise.
8712 (pp_assignment_expression): Likewise.
8713 (pp_expression): Likewise.
8714 (pp_c_type_id): Likewise.
8715 (pp_c_storage_class_specifier): Likewise.
8716 * c-pretty-print.c (pp_c_type_cast): Tidy.
8717 (pp_c_pointer): Likewise.
8718 (pp_c_type_specifier): Likewise.
8719 (pp_c_parameter_type_list): Likewise.
8720 (pp_c_function_definition): Likewise.
8721 (pp_c_init_declarator): Likewise.
8722 (pp_c_initializer_list): Likewise.
8723 (pp_c_constructor_elts): Likewise.
8724 (c_pretty_printer::direct_abstract_declarator): Likewise.
8725 (c_pretty_printer::declaration_specifiers): Likewise.
8726 (c_pretty_printer::primary_expression): Likewise.
8727 (c_pretty_printer::postfix_expression): Likewise.
8728 (c_pretty_printer::type_id): Rename from pp_c_type_id.
8729 (c_pretty_printer::storage_class_specifier): Rename from
8730 pp_c_storage_class_specifier.
8731 (c_pretty_printer::initializer): Rename from pp_c_initializer.
8732 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
8733 storage_class_specifier, initializer, offset_list, flags.
8734
8735 2013-08-30 Marek Polacek <polacek@redhat.com>
8736
8737 * c-ubsan.c: New file.
8738 * c-ubsan.h: New file.
8739
8740 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8741
8742 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
8743 member function.
8744 (c_pretty_printer::declaration_specifiers): Likewise.
8745 (c_pretty_printer::declarator): Likewise.
8746 (c_pretty_printer::abstract_declarator): Likewise.
8747 (c_pretty_printer::direct_abstract_declarator): Likewise.
8748 (c_pretty_printer::direct_declarator): Likewise.
8749 (c_pretty_printer::function_specifier): Likewise.
8750 (pp_declaration): Adjust.
8751 (pp_declaration_specifiers): Likewise.
8752 (pp_abstract_declarator): Likewise.
8753 (pp_direct_declarator): Likewise.
8754 (pp_function_specifier): Likewise.
8755 (pp_direct_abstract_declarator): Remove as unused.
8756 (pp_c_declaration): Remove.
8757 (pp_c_declaration_specifiers): Likewise.
8758 (pp_c_declarator): Likewise.
8759 (pp_c_direct_declarator): Likewise.
8760 (pp_c_function_specifier): Likewise.
8761 (pp_c_direct_abstract_declarator): Likewise.
8762 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
8763 from pp_c_abstract_declarator. Adjust.
8764 (c_pretty_printer::direct_abstract_declarator): Rename from
8765 pp_c_direct_abstract_declarator. Adjust.
8766 (c_pretty_printer::function_specifier): Rename from
8767 pp_c_function_specifier. Adjust.
8768 (c_pretty_printer::declaration_specifiers): Rename from
8769 pp_c_declaration_specifiers. Adjust.
8770 (c_pretty_printer::direct_declarator): Rename from
8771 pp_c_direct_declarator. Adjust.
8772 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
8773 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
8774 (c_pretty_printer::c_pretty_printer): Do not assign to
8775 declaration, declaration_specifiers, declarator,
8776 direct_declarator, direct_abstract_declarator, function_specifier.
8777
8778 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
8779
8780 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
8781 virtual member function.
8782 (c_pretty_printer::multiplicative_expression): Likewise.
8783 (c_pretty_printer::conditional_expression): Likewise.
8784 (c_pretty_printer::assignment_expression): Likewise.
8785 (c_pretty_printer::expression): Likewise.
8786 (pp_unary_expression): Adjust.
8787 (pp_multiplicative_expression): Likewise.
8788 (pp_assignment_expression): Likewise.
8789 (pp_conditional_expression): Likewise.
8790 (pp_expression): Likewise.
8791 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
8792 from pp_c_unary_expression. Adjust.
8793 (c_pretty_printer::multiplicative_expression): Rename from
8794 pp_c_multiplicative_expression. Adjust.
8795 (c_pretty_printer::conditional_expression): Rename from
8796 pp_c_conditional_expression. Adjust.
8797 (c_pretty_printer::assignment_expression): Rename from
8798 pp_c_assignment_expression. Adjust.
8799 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
8800 (c_pretty_printer::c_pretty_printer): Do not assign to
8801 unary_expression, multiplicative_expression,
8802 conditional_expression, expression.
8803
8804 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8805
8806 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
8807 virtual member function.
8808 (pp_postfix_expression): Adjust.
8809 (pp_c_postfix_expression): Remove.
8810 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
8811 from pp_c_postfix_expression. Adjust.
8812 (c_pretty_printer::c_pretty_printer): Do not assign to
8813 postfix_expression.
8814
8815 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8816
8817 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8818 virtua member function.
8819 (pp_primary_expression): Adjust.
8820 (pp_c_primary_expression): Remove.
8821 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8822 from pp_c_primary_expression. Adjust.
8823 (pp_c_initializer_list): Use pp_primary_expression.
8824 (c_pretty_printer::c_pretty_printer): Do not assign to
8825 primary_expression.
8826
8827 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8828
8829 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8830 * c-pretty-print.c (M_): Remove.
8831 (c_pretty_printer::translate_string): Define.
8832 (pp_c_type_specifier): Use it.
8833 (pp_c_primary_expression): Likewise.
8834 (pp_c_expression): Likewise.
8835
8836 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8837
8838 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8839 virtual function.
8840 (pp_c_id_expression): Remove.
8841 (pp_id_expression): Adjust.
8842 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8843 pp_c_id_expression. Adjust.
8844 (pp_c_postfix_expression): Use pp_id_expression.
8845 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8846
8847 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8848
8849 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8850 member function.
8851 (pp_constant): Adjust.
8852 (pp_c_constant): Remove.
8853 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8854 pp_c_constant. Adjust.
8855 (pp_c_constant)
8856 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8857 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8858
8859 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8860
8861 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8862 (c_pretty_printer::c_pretty_printer): Declare.
8863 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8864 c_pretty_printer_init. Adjust.
8865 (print_c_tree): Do not call c_pretty_printer_init.
8866 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8867
8868 2013-08-09 Arnaud Charlet <charlet@adacore.com>
8869
8870 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8871
8872 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8873
8874 PR c++/58080
8875 * c-common.c (pointer_int_sum): Add bool parameter.
8876 * c-common.h (pointer_int_sum): Adjust declaration.
8877
8878 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8879
8880 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8881 c_pretty_printer variable.
8882
8883 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8884
8885 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8886 (pp_base): Remove.
8887 (pp_c_base): Likewise. Adjust users.
8888 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8889 (pp_c_whitespace): Do not call pp_base.
8890 (pp_c_left_paren): Likewise.
8891 (pp_c_right_paren): Likewise.
8892 (pp_c_left_brace): Likewise.
8893 (pp_c_right_brace): Likewise.
8894 (pp_c_left_bracket): Likewise.
8895 (pp_c_right_bracket): Likewise.
8896 (pp_c_dot): Likewise.
8897 (pp_c_ampersand): Likewise.
8898 (pp_c_star): Likewise.
8899 (pp_c_arrow): Likewise.
8900 (pp_c_semicolon): Likewise.
8901 (pp_c_complement): Likewise.
8902 (pp_c_exclamation): Likewise.
8903 (pp_c_direct_declarator): Likewise.
8904 (pp_c_ws_string): Likewise.
8905 (pp_c_identifier): Likewise.
8906 (pp_c_statement): Likewise.
8907 (print_c_tree): Likewise.
8908
8909 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8910
8911 PR c++/58072
8912 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8913 provide useful error strings.
8914
8915 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8916
8917 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
8918 printer functions instead of pp_string or operators and punctuators.
8919 (dump_generic_ada_node): Likewise.
8920 * c-pretty-print.c (pp_c_type_specifier): Likewise.
8921 (pp_c_relational_expression): Likewise.
8922 (pp_c_logical_or_expression): Likewise.
8923
8924 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8925
8926 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
8927 functions instead of pp_character.
8928 (pp_ada_tree_identifier): Likewise.
8929 (dump_ada_double_name): Likewise.
8930 (dump_ada_function_declaration): Likewise.
8931 (dump_ada_array_domains): Likewise.
8932 (dump_template_types): Likewise.
8933 (dump_generic_ada_node): Likewise.
8934 (print_ada_declaration): Likewise.
8935 (print_ada_struct_decl): Likewise.
8936 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8937
8938 2013-07-23 Tom Tromey <tromey@redhat.com>
8939
8940 * c-common.h (enum rid) <RID_GENERIC>: New constant.
8941 * c-common.c (c_common_reswords): Add _Generic.
8942
8943 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
8944
8945 * c-common.c: Fix typos.
8946 * c-common.h: Likewise.
8947
8948 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
8949
8950 PR c++/55203
8951 * c-common.c (c_common_attribute_table): Add warn_unused.
8952 (handle_warn_unused_attribute): New.
8953
8954 2013-07-10 Jakub Jelinek <jakub@redhat.com>
8955
8956 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
8957 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
8958
8959 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
8960
8961 PR c++/57869
8962 * c.opt: Add Wconditionally-supported.
8963
8964 2013-07-08 Graham Stott <graham.stott@btinternet.com>
8965
8966 * array-notation-common.c (length_mismatch_in_expr_p): Delete
8967 unused variables l_length and l_node.
8968
8969 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
8970
8971 PR c/57821
8972 * c-common.c (complete_array_type): Delay folding first index
8973 like other indices. When folding, check for index overflow.
8974
8975 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
8976
8977 PR c++/57509
8978 * c-common.h (c_build_vec_perm_expr): New complain argument.
8979 * c-common.c (c_build_vec_perm_expr): Likewise.
8980 Use save_expr also in C++.
8981
8982 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8983
8984 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8985 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8986 * c-opts.c (c_common_post_options): Likewise.
8987
8988 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8989
8990 * array-notation-common.c (length_mismatch_in_expr): Changed the
8991 parameter type's from a dynamic array to a vec_tree. Also removed
8992 the size parameters.
8993 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8994 the change above.
8995
8996 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8997
8998 * c-common.h (struct cilkplus_an_parts): New structure.
8999 (struct cilkplus_an_loop_parts): Likewise.
9000 (cilkplus_extract_an_triplets): New prototype.
9001 (fix_sec_implicit_args): Likewise.
9002 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
9003 (fix_sec_implicit_args): Likewise.
9004
9005 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
9006
9007 * array-notation-common.c (find_inv_trees): Removed an unwanted
9008 typecasting.
9009 * c-common.h (struct inv_list::additional_tcodes): Changed type from
9010 enum rid to enum tree_code.
9011
9012 2013-06-11 Jan Hubicka <jh@suse.cz>
9013
9014 * c-common.c (handle_alias_ifunc_attribute): Do not set
9015 DECL_EXTERNAL for weakref variables.
9016 * c-pragma.c (handle_pragma_weak): Make sure aliases
9017 are not declared as external.
9018
9019 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
9020
9021 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
9022 function from c/c-array-notation.c.
9023 (is_cilkplus_reduce_builtin): Likewise.
9024 (find_rank): Likewise.
9025 (extract_array_notation_exprs): Likewise.
9026 (replace_array_notations): Likewise.
9027 (find_inv_trees): Likewise.
9028 (replace_inv_trees): Likewise.
9029 (contains_array_notation_expr): Likewise.
9030 (find_correct_array_notation_type): Likewise.
9031 * c-common.h (struct inv_list): Moved this struct from the file
9032 c/c-array-notation.c and added a new field called additional tcodes.
9033 (length_mismatch_in_expr_p): New prototype.
9034 (is_cilkplus_reduce_builtin): Likewise.
9035 (find_rank): Likewise.
9036 (extract_array_notation_exprs): Likewise.
9037 (replace_array_notation): Likewise.
9038 (find_inv_trees): Likewise.
9039 (replace_inv_trees): Likewise.
9040 (find_correct_array_notation_type): Likewise.
9041
9042 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
9043
9044 * c-common.c (c_define_builtins): When cilkplus is enabled, the
9045 function array_notation_init_builtins is called.
9046 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
9047 * c-common.def (ARRAY_NOTATION_REF): New tree.
9048 * c-common.h (build_array_notation_expr): New function declaration.
9049 (build_array_notation_ref): Likewise.
9050 (extract_sec_implicit_index_arg): New extern declaration.
9051 (is_sec_implicit_index_fn): Likewise.
9052 (ARRAY_NOTATION_CHECK): New define.
9053 (ARRAY_NOTATION_ARRAY): Likewise.
9054 (ARRAY_NOTATION_START): Likewise.
9055 (ARRAY_NOTATION_LENGTH): Likewise.
9056 (ARRAY_NOTATION_STRIDE): Likewise.
9057 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
9058 ARRAY_NOTATION_REF.
9059 (pp_c_expression): Likewise.
9060 * c.opt (flag_enable_cilkplus): New flag.
9061 * array-notation-common.c: New file.
9062
9063 2013-05-14 Jakub Jelinek <jakub@redhat.com>
9064
9065 PR c++/57274
9066 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
9067
9068 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
9069
9070 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
9071 vectors.
9072
9073 2013-05-07 Han Shen <shenhan@google.com>
9074
9075 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
9076
9077 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
9078
9079 * c-common.c (check_user_alignment): Emit error for negative values.
9080
9081 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9082
9083 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
9084
9085 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9086
9087 * c-cppbuiltin.c (c_cpp_builtins): Do not define
9088 __GXX_EXPERIMENTAL_CXX1Y__.
9089
9090 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9091 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9092
9093 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
9094 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
9095 to simply use OPT_Wpointer_arith.
9096 (c_sizeof_or_alignof_type): Likewise.
9097
9098 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9099
9100 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
9101
9102 2013-04-12 Jakub Jelinek <jakub@redhat.com>
9103
9104 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
9105 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
9106 specifiers.
9107
9108 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
9109
9110 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
9111
9112 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
9113
9114 * c-common.c (pointer_int_sum): Remove dead code.
9115
9116 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
9117
9118 PR middle-end/56524
9119 * c-common.c (handle_optimize_attribute): Don't call
9120 save_optabs_if_changed.
9121
9122 2013-03-05 Jakub Jelinek <jakub@redhat.com>
9123
9124 PR middle-end/56461
9125 * c-pch.c (pch_init): Free target_validity at the end.
9126
9127 2013-03-04 Jakub Jelinek <jakub@redhat.com>
9128
9129 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
9130
9131 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
9132 Jakub Jelinek <jakub@redhat.com>
9133
9134 PR sanitizer/56454
9135 * c-common.c (handle_no_sanitize_address_attribute): New function.
9136 (c_common_attribute_table): Add no_sanitize_address attribute.
9137 (handle_no_address_safety_analysis_attribute): Add
9138 no_sanitize_address attribute, not no_address_safety_analysis
9139 attribute.
9140
9141 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
9142
9143 PR target/52555
9144 * c-common.c (handle_optimize_attribute): Call
9145 save_optabs_if_changed.
9146
9147 2013-02-18 Jakub Jelinek <jakub@redhat.com>
9148 Steven Bosscher <steven@gcc.gnu.org>
9149
9150 PR pch/54117
9151 * c-opts.c (c_common_post_options): If debug info is enabled
9152 and non-dwarf*, refuse to load PCH files and when writing PCH
9153 file warn.
9154
9155 2013-02-05 Jakub Jelinek <jakub@redhat.com>
9156
9157 PR middle-end/56167
9158 * c-common.c (handle_error_attribute): Fix condition.
9159
9160 2013-01-30 Jakub Jelinek <jakub@redhat.com>
9161
9162 PR c++/55742
9163 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
9164
9165 2013-01-18 Jason Merrill <jason@redhat.com>
9166
9167 PR target/54908
9168 * c.opt (-fextern-tls-init): New.
9169 * c-opts.c (c_common_post_options): Handle it.
9170
9171 2013-01-09 Jakub Jelinek <jakub@redhat.com>
9172
9173 PR c/48418
9174 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
9175 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
9176 and is either negative or bigger or equal to type precision
9177 of the first operand.
9178
9179 2012-12-03 Marek Polacek <polacek@redhat.com>
9180
9181 PR c/55570
9182 * c-common.c (check_user_alignment): Swap order of tests,
9183 check TREE_CODE first.
9184
9185 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
9186
9187 PR c++/52654
9188 * c-common.h (overflow_type): New enum.
9189 (build_userdef_literal): Add overflow_type argument.
9190 (tree_userdef_literal): Add overflow_type.
9191 (USERDEF_LITERAL_OVERFLOW): New access macro.
9192 * c-common.c (build_userdef_literal): Add overflow_type
9193 argument.
9194 * c-lex.c (c_lex_with_flags): Add overflow_type to
9195 build_userdef_literal calls.
9196 (interpret_integer, interpret_float): Add overflow_type argument.
9197
9198 2012-11-28 Richard Biener <rguenther@suse.de>
9199
9200 PR c/35634
9201 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9202 here and use a type with proper overflow behavior for types that would
9203 need to be promoted for the arithmetic.
9204
9205 2012-11-23 Jakub Jelinek <jakub@redhat.com>
9206
9207 PR sanitizer/55435
9208 * c-common.c (handle_no_address_safety_analysis_attribute): New
9209 function.
9210 (c_common_attribute_table): Add no_address_safety_analysis.
9211
9212 2012-11-16 Simon Baldwin <simonb@google.com>
9213
9214 * c.opt: Add f[no-]canonical-system-headers.
9215 * c-opts.c (c_common_handle_option): Handle
9216 OPT_fcanonical_system_headers.
9217
9218 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
9219
9220 PR c++/54413
9221 * c-opts.c (c_common_handle_option): Set new flags.
9222 * c.opt: Describe new flags.
9223
9224 2012-11-09 Jason Merrill <jason@redhat.com>
9225
9226 * c.opt (Wabi-tag): New.
9227
9228 2012-11-09 Andi Kleen <ak@linux.intel.com>
9229
9230 PR 55139
9231 * c-common.c (get_atomic_generic_size): Mask with
9232 MEMMODEL_MASK
9233
9234 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9235
9236 PR c/53063
9237 * c.opt (Wformat): Make it Alias Wformat=1.
9238 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
9239 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
9240 LangEnabledBy.
9241 (Wformat=): RejectNegative. Use LangEnabledBy.
9242 (Wnonnull): Use LangEnabledBy.
9243 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
9244 * c-format.c (set_Wformat): Delete.
9245 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
9246 (maybe_read_dollar_number): Likewise.
9247 (avoid_dollar_number): Likewise.
9248 (finish_dollar_format_checking): Likewise.
9249 (check_format_info): Likewise.
9250 (check_format_info_main): Likewise.
9251 (check_format_types): Likewise.
9252 (format_type_warning): Likewise.
9253 * c-common.c (int): Likewise.
9254 (check_function_sentinel): Likewise.
9255 * c-common.h (warn_format,set_Wformat): Do not declare here.
9256
9257 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9258
9259 PR c/53063
9260 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
9261 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
9262 Use LangEnabledBy.
9263 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
9264 common.opt.
9265 (Wvariadic-macros): Init(1).
9266 * c-opts.c (c_common_handle_option): Do not handle them
9267 explicitly.
9268 (c_common_post_options): Likewise.
9269 (sanitize_cpp_opts): warn_unused_macros is now
9270 cpp_warn_unused_macros.
9271 (push_command_line_include): Likewise.
9272 * c-common.c (warn_unknown_pragmas): Do not define.
9273 * c-common.h (warn_unknown_pragmas): Do not declare.
9274
9275 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9276
9277 PR c/51294
9278 * c-common.c (conversion_warning): Handle conditional expressions.
9279
9280 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
9281
9282 PR c++/54930
9283 * c.opt (Wreturn_local_addr): Define new option.
9284
9285 2012-10-25 Jason Merrill <jason@redhat.com>
9286
9287 * c.opt (Wvirtual-move-assign): New.
9288
9289 * c.opt (Winherited-variadic-ctor): New.
9290
9291 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
9292
9293 PR c++/54427
9294 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
9295
9296 2012-10-23 Joseph Myers <joseph@codesourcery.com>
9297
9298 * c-common.h (pch_cpp_save_state): Declare.
9299 * c-target.def (c_preinclude): New hook.
9300 * c-opts.c (done_preinclude): New.
9301 (push_command_line_include): Handle default preincluded header.
9302 (cb_file_change): Call pch_cpp_save_state when calling
9303 push_command_line_include.
9304 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
9305 (pch_cpp_save_state): New.
9306 (pch_init): Call pch_cpp_save_state conditionally, instead of
9307 calling cpp_save_state.
9308
9309 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9310
9311 PR c/53063
9312 PR c/40989
9313 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
9314 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
9315 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
9316 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
9317 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
9318 * c-opts.c (c_common_handle_option): Remove explicit handling from
9319 here.
9320 (c_common_post_options): Likewise.
9321
9322 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
9323
9324 * c-ada-spec.c (LOCATION_COL): Delete.
9325 (compare_location): New function.
9326 (compare_node): Use it.
9327 (compare_comment): Likewise.
9328
9329 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
9330
9331 PR c/53063
9332 PR c/40989
9333 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
9334 * c-opts.c (c_common_handle_option): Do not set them here. Add
9335 comment.
9336 (c_common_post_options): Likewise.
9337
9338 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
9339
9340 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
9341 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
9342 Remove POINTER_TYPE handling, add large unsigned handling and use
9343 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
9344
9345 2012-10-12 Jakub Jelinek <jakub@redhat.com>
9346
9347 PR c/54381
9348 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
9349 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
9350 locs and array of 3 trees instead of just single loc and single
9351 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
9352 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
9353 For *cmp* builtins that take two sources strings report warnings
9354 about first and second source, not about destination and source.
9355
9356 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
9357
9358 PR c++/53055
9359 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
9360
9361 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
9362
9363 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
9364 declaring something coming from another file.
9365
9366 2012-10-10 Arnaud Charlet <charlet@adacore.com>
9367
9368 PR ada/54845
9369 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
9370
9371 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
9372
9373 PR c++/54194
9374 * c-common.c (warn_about_parentheses): Add location_t parameter;
9375 use EXPR_LOC_OR_LOC.
9376 * c-common.h: Update declaration.
9377
9378 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
9379
9380 PR c++/54427
9381 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
9382 more operations. Make error messages optional.
9383 * c-common.h (enum stv_conv): Moved from c-typeck.c.
9384 (scalar_to_vector): Declare.
9385
9386 2012-10-08 Jason Merrill <jason@redhat.com>
9387
9388 * c-common.c (c_common_reswords): Add thread_local.
9389
9390 2012-10-08 Dodji Seketeli <dodji@redhat.com>
9391
9392 PR c++/53528 C++11 attribute support
9393 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
9394 new functions.
9395 * c-common.c (check_cxx_fundamental_alignment_constraints): New
9396 static function.
9397 (handle_aligned_attribute): In choose strictest alignment
9398 among many. Use new check_cxx_fundamental_alignment_constraints.
9399 (handle_transparent_union_attribute): In c++11 attribute syntax,
9400 don't look through typedefs.
9401
9402 2012-10-04 Arnaud Charlet <charlet@adacore.com>
9403
9404 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
9405 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
9406 out of dumpfile.h.
9407
9408 2012-09-25 Dehao Chen <dehao@google.com>
9409
9410 PR middle-end/54645
9411 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
9412 map when read in the pch.
9413
9414 2012-09-18 Arnaud Charlet <charlet@adacore.com>
9415
9416 * c-ada-spec.c: Style fixes.
9417
9418 2012-09-18 Thomas Quinot <quinot@adacore.com>
9419
9420 * c.opt (-fada-spec-parent): Define new command line switch.
9421 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
9422 is specified, generate binding spec as a child of the specified unit.
9423
9424 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
9425 Manuel López-Ibáñez <manu@gcc.gnu.org>
9426
9427 PR c++/53210
9428 * c.opt ([Winit-self]): Enabled by -Wall in C++.
9429
9430 2012-08-23 Arnaud Charlet <charlet@adacore.com>
9431
9432 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
9433 for pointers, and add missing Convention C pragma.
9434 (print_ada_struct_decl): Add missing aliased keyword.
9435 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
9436
9437 2012-08-17 Jakub Jelinek <jakub@redhat.com>
9438
9439 * c-common.c (sizeof_pointer_memaccess_warning): New function.
9440 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
9441 * c-opts.c (c_common_handle_option): Enable it for -Wall.
9442 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
9443 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
9444
9445 2012-08-10 Richard Guenther <rguenther@suse.de>
9446
9447 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
9448
9449 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
9450
9451 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
9452 instead of separate pp_newline and pp_flush.
9453 (print_c_tree): Likewise.
9454
9455 2012-07-26 Richard Henderson <rth@redhat.com>
9456
9457 * c-common.c (handle_hot_attribute): Allow labels.
9458 (handle_cold_attribute): Likewise.
9459
9460 2012-07-20 Jakub Jelinek <jakub@redhat.com>
9461
9462 PR c++/28656
9463 * c-common.c (check_function_nonnull): Handle multiple nonnull
9464 attributes properly.
9465
9466 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
9467
9468 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
9469 * c-ada-spec.c: Likewise.
9470 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
9471
9472 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
9473
9474 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
9475 Remove code conditional on it.
9476
9477 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
9478
9479 * c-gimplify.c: Do not include basic-block.h.
9480 * c-common.c: Do not include linfuncs.h.
9481
9482 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
9483
9484 * c-common.h: Include tree.h.
9485
9486 2012-07-02 Jason Merrill <jason@redhat.com>
9487
9488 PR c++/53524
9489 * c-common.c (get_priority): Call default_conversion.
9490
9491 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
9492
9493 * c-pch.c (c_common_write_pch): Remove unused variables.
9494
9495 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
9496
9497 * cppspec.c: Moved from gcc/ to here.
9498
9499 2012-06-27 Kai Tietz <ktietz@redhat.com>
9500
9501 PR preprocessor/37215
9502 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
9503
9504 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
9505
9506 * c-common.h (c_common_print_pch_checksum): Remove.
9507 * c-pch.c: Do not include output.h.
9508 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
9509 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
9510 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
9511 (struct c_pch_header): Remove.
9512 (get_ident): Update gpch version.
9513 (pch_init): Do not print executable_checksum to asm_out_file.
9514 Do not fail if there is no asm_out_file to read back from. Set
9515 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
9516 (c_common_write_pch): Verify that nothing was written to asm_out_file
9517 since pch_init was called. Do not write a c_pch_header, and do not
9518 copy from asm_out_file to the PCH.
9519 (c_common_read_pch): Do not read a c_pch_header, and do not restore
9520 the content of asm_out_file from the PCH.
9521 (c_common_print_pch_checksum): Remove.
9522 * c-opts.c (c_common_init): Print out executable_checksum directly.
9523
9524 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
9525
9526 * c-target.def (objc_declare_unresolved_class_reference,
9527 objc_declare_class_definition): Add new hooks.
9528
9529 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
9530
9531 * c-lex.c: Do not include output.h.
9532 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
9533 Remove uses of ASM_OUTPUT_IDENT.
9534
9535 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
9536
9537 PR c++/51033
9538 * c-common.h (c_build_vec_perm_expr): Move decl here.
9539 * c-common.c (c_build_vec_perm_expr): Move definition
9540 here.
9541
9542 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
9543
9544 * c.opt (fconserve-space): Turn into a no-op.
9545
9546 2012-06-04 Sterling Augustine <saugustine@google.com>
9547
9548 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
9549 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
9550 both the start and end of the function.
9551
9552 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
9553
9554 * c-common.c: Do not include output.h.
9555 * c-pragma.c: Likewise.
9556
9557 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
9558
9559 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
9560 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
9561 (lang_decl_name): Handle namespace decls.
9562
9563 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
9564
9565 * c-ada-spec.c: Do not include output.h.
9566 * c-semantics.c: Likewise.
9567
9568 2012-05-29 Joseph Myers <joseph@codesourcery.com>
9569
9570 * c-common.c: Fix typo.
9571
9572 2012-05-29 Michael Matz <matz@suse.de>
9573
9574 * c-common.h (c_expand_decl): Remove prototype.
9575
9576 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9577
9578 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
9579 * c-opts.c (c_common_handle_option): Remove code handling
9580 warn_missing_braces.
9581
9582 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
9583
9584 PR c++/25137
9585 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
9586 -Wmissing_braces.
9587
9588 2012-05-22 Dodji Seketeli <dodji@redhat.com>
9589
9590 PR c++/53322
9591 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
9592
9593 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
9594
9595 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
9596 * c-opts.c (c_common_handle_option): Do not handle explicitly
9597 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
9598
9599 2012-05-16 Dodji Seketeli <dodji@redhat.com>
9600
9601 PR preprocessor/7263
9602 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
9603 to cpp_classify_number. For diagnostics, use the precise location
9604 instead of the global input_location.
9605
9606 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9607
9608 PR c++/11856
9609 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
9610
9611 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
9612
9613 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
9614
9615 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
9616
9617 PR 53063
9618 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
9619 Wreorder): Use LangEnabledBy.
9620 * c-opts.c (c_common_handle_option): Do not enable them
9621 explicitly. Call lang-specific generated functions.
9622 (c_common_post_options): Do not set them here.
9623
9624 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
9625
9626 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
9627 Wmissing-field-initializers,Wmissing-parameter-type,
9628 Wold-style-declaration,Woverride-init): Use EnabledBy.
9629 * c-opts.c (c_common_post_options): Do not set here explicitly.
9630
9631 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9632
9633 PR 53063
9634 * c-opts.c (c_common_handle_option): Use handle_generated_option
9635 to enable sub-options.
9636
9637 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
9638
9639 PR c++/53158
9640 * c-common.c (warnings_for_convert_and_check): Use warning_at.
9641
9642 2012-05-10 Richard Guenther <rguenther@suse.de>
9643
9644 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
9645 adjust commentary about TYPE_IS_SIZETYPE types.
9646
9647 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9648
9649 PR c++/53261
9650 * c-common.c (warn_logical_operator): Check that argument of
9651 integer_zerop is not NULL.
9652
9653 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
9654
9655 PR c/43772
9656 * c-common.c (warn_logical_operator): Do not warn if either side
9657 is already true or false.
9658
9659 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9660
9661 PR c/51712
9662 * c-common.c (expr_original_type): New.
9663 (shorten_compare): Do not warn for enumeration types.
9664
9665 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9666
9667 * c.opt (fpermissive): Add Var(flag_permissive).
9668
9669 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
9670
9671 PR c++/51033
9672 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
9673 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
9674
9675 2012-04-30 Dodji Seketeli <dodji@redhat.com>
9676
9677 Add -Wvarargs option
9678 * c.opt (Wvarargs): Define new option.
9679
9680 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9681
9682 * c-common.c (check_function_arguments): Replace
9683 Wmissing-format-attribute with Wsuggest-attribute=format.
9684
9685 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9686
9687 * c.opt (Wsuggest-attribute=format): New. Alias of
9688 Wmissing-format-attribute.
9689 * c-format.c (decode_format_type): Replace
9690 Wmissing-format-attribute with Wsuggest-attribute=format.
9691 (check_function_format): Likewise.
9692
9693 2012-04-27 Ollie Wild <aaw@google.com>
9694
9695 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
9696 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
9697 * c.opt: Add Wliteral-suffix.
9698
9699 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9700
9701 PR c/44774
9702 * c.opt (Wpedantic): New.
9703 (pedantic): Alias Wpedantic.
9704 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
9705 (c_common_post_options): Likewise.
9706 (sanitize_cpp_opts): Likewise.
9707 * c-lex.c (interpret_float): Likewise.
9708 * c-format.c (check_format_types): Likewise.
9709 * c-common.c (pointer_int_sum): Likewise.
9710 (c_sizeof_or_alignof_type): Likewise.
9711 (c_add_case_label): Likewise.
9712 (c_do_switch_warnings): Likewise.
9713 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9714
9715 2012-04-15 Jason Merrill <jason@redhat.com>
9716
9717 PR c++/52818
9718 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
9719 (C_STD_NAME): Distinguish between C++98 and C++11.
9720
9721 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
9722
9723 PR target/52624
9724 * c-common.h (uint16_type_node): Rename into...
9725 (c_uint16_type_node): ...this.
9726 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
9727 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
9728
9729 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
9730
9731 * c-common.c (warn_if_unused_value): Move definition to here.
9732 * c-common.h (warn_if_unused_value): Move declaration to here.
9733
9734 2012-03-23 William Bader <williambader@hotmail.com>
9735
9736 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
9737
9738 2012-03-20 Jason Merrill <jason@redhat.com>
9739
9740 * c-common.h (enum cxx_dialect): Add cxx1y.
9741 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
9742 test.
9743 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
9744 * c-opts.c (c_common_post_options): Likewise.
9745 (set_std_cxx1y): New.
9746 (c_common_handle_option): Call it.
9747 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
9748
9749 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
9750
9751 PR c++/14710
9752 * c.opt ([Wuseless-cast]): Add.
9753
9754 2012-03-16 Richard Guenther <rguenther@suse.de>
9755
9756 * c-pretty-print.c (pp_c_initializer_list): Adjust.
9757
9758 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9759
9760 PR c++/44783
9761 * c.opt (ftemplate-backtrace-limit) Add.
9762
9763 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9764
9765 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
9766 handling.
9767 * c-pragma.c (handle_pragma_extern_prefix): Remove.
9768 (init_pragma): Don't register extern_prefix.
9769
9770 2012-03-12 Richard Guenther <rguenther@suse.de>
9771
9772 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
9773 (builtin_type_for_size): Likewise.
9774
9775 2012-02-13 Jakub Jelinek <jakub@redhat.com>
9776
9777 PR c++/52215
9778 * c-common.c (sync_resolve_params): Don't decide whether to convert
9779 or not based on TYPE_SIZE comparison, convert whenever arg_type
9780 is unsigned INTEGER_TYPE.
9781
9782 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
9783
9784 PR c/52118
9785 * c.opt ([Wunused-local-typedefs]): Fix description.
9786
9787 2012-01-24 Mike Stump <mikestump@comcast.net>
9788
9789 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
9790 exactly.
9791
9792 2012-01-18 Richard Guenther <rguenther@suse.de>
9793
9794 * c-opts.c (c_common_post_options): Reset LTO flags if
9795 we are about to generate a PCH.
9796
9797 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
9798
9799 PR c++/51777
9800 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
9801 use pp_unsigned_wide_integer.
9802
9803 2012-01-10 Richard Guenther <rguenther@suse.de>
9804
9805 PR middle-end/51806
9806 * c-opts.c (c_common_handle_option): Move -Werror handling
9807 to language independent code.
9808
9809 2012-01-05 Richard Guenther <rguenther@suse.de>
9810
9811 PR middle-end/51764
9812 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
9813 from common.opt.
9814
9815 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9816
9817 PR c++/51316
9818 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9819 of array types with an unknown bound.
9820
9821 2011-12-20 Joseph Myers <joseph@codesourcery.com>
9822
9823 * c-common.c (flag_isoc99): Update comment to refer to C11.
9824 (flag_isoc1x): Change to flag_isoc11.
9825 * c-common.h (flag_isoc99): Update comment to refer to C11.
9826 (flag_isoc1x): Change to flag_isoc11.
9827 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9828 C11.
9829 * c-opts.c (set_std_c1x): Change to set_std_c11.
9830 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9831 Call set_std_c11.
9832 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9833 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9834 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9835 standard.
9836 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9837 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9838 (std=gnu1x): Make alias of std=gnu11.
9839
9840 2011-12-19 Jason Merrill <jason@redhat.com>
9841
9842 PR c++/51228
9843 * c-common.c (handle_transparent_union_attribute): Check the first
9844 field if the type is complete.
9845
9846 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9847
9848 PR libstdc++/51365
9849 * c-common.c (RID_IS_FINAL): Add.
9850 * c-common.h (RID_IS_FINAL): Add.
9851
9852 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9853
9854 * c.opt (fgnu-runtime): Provide full description.
9855 (fnext-runtime): Likewise.
9856 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9857
9858 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
9859
9860 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9861 predefines in one place. Add LOCK_FREE predefines.
9862 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9863 new func.
9864
9865 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
9866
9867 PR c/51256
9868 * c-common.c (get_atomic_generic_size): Check for various error
9869 conditions
9870 (resolve_overloaded_atomic_exchange,
9871 resolve_overloaded_atomic_compare_exchange,
9872 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9873 error_mark_node for error conditions.
9874
9875 2011-11-08 Richard Guenther <rguenther@suse.de>
9876
9877 PR middle-end/51010
9878 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
9879
9880 2011-11-07 Richard Henderson <rth@redhat.com>
9881 Aldy Hernandez <aldyh@redhat.com>
9882 Torvald Riegel <triegel@redhat.com>
9883
9884 Merged from transactional-memory.
9885
9886 * c-common.c (handle_tm_wrap_attribute,
9887 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9888 (struct c_common_reswords): Added __transaction* keywords.
9889 (struct c_common_attribute_table): Added transaction* and tm_regparm
9890 attributes.
9891 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9892 masks.
9893 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9894 find_tm_attribute): Declare.
9895
9896 2011-11-07 Jason Merrill <jason@redhat.com>
9897
9898 PR c++/35688
9899 * c-common.c, c-common.h: Revert yesterday's changes.
9900
9901 2011-11-06 Jason Merrill <jason@redhat.com>
9902
9903 PR c++/35688
9904 * c-common.c (decl_has_visibility_attr): Split out from...
9905 (c_determine_visibility): ...here.
9906 * c-common.h: Declare it.
9907
9908 2011-11-06 Joseph Myers <joseph@codesourcery.com>
9909
9910 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9911 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9912 type.
9913 (check_user_alignment): New. Split out of
9914 handle_aligned_attribute. Disallow integer constants with
9915 noninteger types. Conditionally allow zero.
9916 (handle_aligned_attribute): Use check_user_alignment.
9917 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
9918
9919 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
9920 Richard Henderson <rth@redhat.com>
9921
9922 Merged from cxx-mem-model.
9923
9924 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9925 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
9926 parameters that are the same type size.
9927 (get_atomic_generic_size): New. Find size of generic
9928 atomic function parameters and do typechecking.
9929 (add_atomic_size_parameter): New. Insert size into parameter list.
9930 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
9931 either __atomic_exchange_n or external library call.
9932 (resolve_overloaded_atomic_compare_exchange): Restructure
9933 __atomic_compare_exchange to either _n variant or external library call.
9934 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
9935 __atomic_load_n or an external library call.
9936 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
9937 __atomic_store_n or an external library call.
9938 (resolve_overloaded_builtin): Handle new __atomic builtins.
9939
9940 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
9941
9942 PR c++/50608
9943 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
9944 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
9945 <INDIRECT_REF>: Return the argument.
9946 <ARRAY_REF>: Remove special code for negative offset.
9947 Call fold_build_pointer_plus instead of size_binop.
9948 (fold_offsetof): Remove STOP_REF argument and adjust.
9949 * c-common.h (fold_offsetof_1): Declare.
9950 (fold_offsetof): Remove STOP_REF argument.
9951
9952 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
9953
9954 PR c++/50810
9955 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9956 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9957 Wnarrowing for C++0x and C++98.
9958 * c.opt ([Wnarrowing]): Update.
9959
9960 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
9961
9962 PR c++/44277
9963 * c.opt: Add Wzero-as-null-pointer-constant.
9964
9965 2011-10-31 Jason Merrill <jason@redhat.com>
9966
9967 * c.opt (-fdeduce-init-list): Off by default.
9968
9969 PR c++/50920
9970 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
9971 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
9972 and -Wc++11-compat.
9973 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9974
9975 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9976
9977 PR c++/30066
9978 * c.opt (fvisibility-inlines-hidden): Description change.
9979
9980 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9981
9982 Implement C++11 user-defined literals.
9983 * c-common.c (build_userdef_literal): New.
9984 * c-common.def: New tree code.
9985 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9986 * c-lex.c (interpret_float): Add suffix parm.
9987 (c_lex_with_flags): Build literal tokens.
9988
9989 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9990
9991 PR c++/50841
9992 Revert:
9993 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9994
9995 PR c++/50810
9996 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9997 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9998 Wnarrowing for C++0x and C++98.
9999 * c.opt ([Wnarrowing]): Update.
10000
10001 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
10002
10003 PR c++/50810
10004 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
10005 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
10006 Wnarrowing for C++0x and C++98.
10007 * c.opt ([Wnarrowing]): Update.
10008
10009 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
10010
10011 PR c++/45385
10012 * c-common.c (conversion_warning): Remove code looking for
10013 artificial operands.
10014
10015 2011-10-18 Dodji Seketeli <dodji@redhat.com>
10016
10017 PR bootstrap/50760
10018 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
10019 !NO_IMPLICIT_EXTERN_C.
10020
10021 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
10022
10023 * c-common.c (c_common_reswords): Add __bases,
10024 __direct_bases.
10025 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
10026
10027 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
10028
10029 PR c++/50757
10030 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
10031
10032 2011-10-15 Tom Tromey <tromey@redhat.com>
10033 Dodji Seketeli <dodji@redhat.com>
10034
10035 * c.opt (fdebug-cpp): New option.
10036 * c-opts.c (c_common_handle_option): Handle the option.
10037 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
10038 output stream in parameter. Factorized from ...
10039 (maybe_print_line): ... this. Dump location debug information when
10040 -fdebug-cpp is in effect.
10041 (print_line_1): New static function. Takes an output stream in
10042 parameter. Factorized from ...
10043 (print_line): ... here. Dump location information when -fdebug-cpp
10044 is in effect.
10045 (scan_translation_unit): Dump location information when
10046 -fdebug-cpp is in effect.
10047
10048 2011-10-15 Tom Tromey <tromey@redhat.com>
10049 Dodji Seketeli <dodji@redhat.com>
10050
10051 * c.opt (ftrack-macro-expansion): New option. Handle it with and
10052 without argument.
10053 * c-opts.c (c_common_handle_option)<case
10054 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
10055 cases. Handle -ftrack-macro-expansion with and without argument.
10056
10057 2011-10-15 Tom Tromey <tromey@redhat.com>
10058 Dodji Seketeli <dodji@redhat.com>
10059
10060 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
10061 (print_line, cb_define, do_line_change): Adjust to avoid touching
10062 the internals of struct line_map. Use the public API instead.
10063 * c-pch.c (c_common_read_pch): Likewise.
10064 * c-lex.c (fe_file_change): Likewise.
10065
10066 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
10067
10068 PR c++/17212
10069 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
10070
10071 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
10072
10073 PR c++/33067
10074 * c-pretty-print.c (pp_c_floating_constant): Output
10075 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
10076
10077 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
10078
10079 * c-common.c (def_builtin_1): Delete old interface with two
10080 parallel arrays to hold standard builtin declarations, and replace
10081 it with a function based interface that can support creating
10082 builtins on the fly in the future. Change all uses, and poison
10083 the old names. Make sure 0 is not a legitimate builtin index.
10084 * c-omp.c (c_finish_omp_barrier): Ditto.
10085 (c_finish_omp_taskwait): Ditto.
10086 (c_finish_omp_flush): Ditto.
10087
10088 2011-10-11 Tristan Gingold <gingold@adacore.com>
10089
10090 * c.opt: (fallow-parameterless-variadic-functions): New.
10091
10092 2011-09-08 Dodji Seketeli <dodji@redhat.com>
10093
10094 PR c++/33255 - Support -Wunused-local-typedefs warning
10095 * c-common.h (struct c_language_function::local_typedefs): New
10096 field.
10097 (record_locally_defined_typedef, maybe_record_typedef_use)
10098 (maybe_warn_unused_local_typedefs): Declare new functions.
10099 * c-common.c (record_locally_defined_typedef)
10100 (maybe_record_typedef_use)
10101 (maybe_warn_unused_local_typedefs): Define new functions.
10102 * c.opt: Declare new -Wunused-local-typedefs flag.
10103
10104 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
10105
10106 PR middle-end/50266
10107 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
10108 computations.
10109
10110 2011-09-05 Richard Guenther <rguenther@suse.de>
10111
10112 * c-common.c (complete_array_type): Use ssize_int (-1) instead
10113 of integer_minus_one_node for empty array upper bounds.
10114
10115 2011-08-28 Dodji Seketeli <dodji@redhat.com>
10116
10117 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
10118 it's the first time it's being called on this main TU.
10119
10120 2011-08-24 Richard Guenther <rguenther@suse.de>
10121
10122 PR c/49396
10123 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
10124
10125 2011-08-22 Gabriel Charette <gchare@google.com>
10126
10127 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
10128 defined in cpp_init_builtins and c_cpp_builtins.
10129
10130 2011-08-19 Joseph Myers <joseph@codesourcery.com>
10131
10132 * c-common.c (c_common_reswords): Add __builtin_complex.
10133 * c-common.h (RID_BUILTIN_COMPLEX): New.
10134
10135 2011-08-18 Joseph Myers <joseph@codesourcery.com>
10136
10137 * c-common.c (c_common_reswords): Add _Noreturn.
10138 (keyword_is_function_specifier): Handle RID_NORETURN.
10139 * c-common.h (RID_NORETURN): New.
10140
10141 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10142
10143 * c-common.c (unsafe_conversion_p): New function. Check if it is
10144 unsafe to convert an expression to the type.
10145 (conversion_warning): Adjust, use unsafe_conversion_p.
10146 * c-common.h (unsafe_conversion_p): New function declaration.
10147
10148 2011-08-02 Jakub Jelinek <jakub@redhat.com>
10149
10150 * c-common.h (c_finish_omp_atomic): Adjust prototype.
10151 (c_finish_omp_taskyield): New prototype.
10152 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
10153 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
10154 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
10155 or RHS1 have side-effects, evaluate those too in the right spot,
10156 if it is a decl and LHS is also a decl, error out if they
10157 aren't the same.
10158 (c_finish_omp_taskyield): New function.
10159 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
10160 * c-pragma.c (omp_pragmas): Add taskyield.
10161 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
10162 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
10163 PRAGMA_OMP_CLAUSE_MERGEABLE.
10164
10165 2011-07-25 Dodji Seketeli <dodji@redhat.com>
10166
10167 * c-common.h (set_underlying_type): Remove parm name from
10168 declaration.
10169
10170 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
10171
10172 * c-pretty-print.h: Search c-common.h in c-family.
10173
10174 2011-07-22 Jason Merrill <jason@redhat.com>
10175
10176 PR c++/49793
10177 * c.opt (Wnarrowing): New.
10178
10179 PR c++/30112
10180 * c-common.h: Declare c_linkage_bindings.
10181 * c-pragma.c (handle_pragma_redefine_extname): Use it.
10182
10183 PR c++/49813
10184 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
10185 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
10186 as flag_isoc99 for 'restrict'.
10187 (pp_c_specifier_qualifier_list): Likewise for _Complex.
10188
10189 2011-07-21 Ian Lance Taylor <iant@google.com>
10190
10191 PR middle-end/49705
10192 * c-common.c (c_disable_warnings): New static function.
10193 (c_enable_warnings): New static function.
10194 (c_fully_fold_internal): Change local unused_p to bool. Call
10195 c_disable_warnings and c_enable_warnings rather than change
10196 c_inhibit_evaluation_warnings.
10197
10198 2011-07-20 Jason Merrill <jason@redhat.com>
10199
10200 PR c++/6709 (DR 743)
10201 PR c++/42603 (DR 950)
10202 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
10203 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
10204 (CPP_DECLTYPE): New.
10205 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
10206
10207 2011-07-19 Richard Guenther <rguenther@suse.de>
10208
10209 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
10210 * c-omp.c (c_finish_omp_for): Likewise.
10211
10212 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
10213
10214 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
10215 body on the next line.
10216
10217 2011-07-08 Jason Merrill <jason@redhat.com>
10218
10219 PR c++/45437
10220 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
10221
10222 PR c++/49673
10223 * c-common.c (c_apply_type_quals_to_decl): Don't check
10224 TYPE_NEEDS_CONSTRUCTING.
10225
10226 2011-07-06 Richard Guenther <rguenther@suse.de>
10227
10228 * c-common.c (c_common_nodes_and_builtins):
10229 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
10230
10231 2011-07-05 Richard Guenther <rguenther@suse.de>
10232
10233 * c-common.c (c_common_nodes_and_builtins): Build all common
10234 tree nodes first.
10235
10236 2011-06-27 Jakub Jelinek <jakub@redhat.com>
10237
10238 * c-common.h (c_tree_chain_next): New static inline function.
10239
10240 * c-common.c (check_builtin_function_arguments): Handle
10241 BUILT_IN_ASSUME_ALIGNED.
10242
10243 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
10244
10245 * c-common.c: Add sync_ or SYNC__ to builtin names.
10246 * c-omp.c: Add sync_ or SYNC__ to builtin names.
10247
10248 2011-06-20 Pierre Vittet <piervit@pvittet.com>
10249
10250 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
10251 handler.
10252 (gen_pragma_handler): New union.
10253 (internal_pragma_handler): New type.
10254 (c_register_pragma_with_data)
10255 (c_register_pragma_with_expansion_and_data): New functions.
10256
10257 * c-pragma.c (registered_pragmas, c_register_pragma_1)
10258 (c_register_pragma, c_register_pragma_with_expansion)
10259 (c_invoke_pragma_handler): Changed to work with
10260 internal_pragma_handler.
10261 (c_register_pragma_with_data)
10262 (c_register_pragma_with_expansion_and_data): New functions.
10263
10264 2011-06-14 Joseph Myers <joseph@codesourcery.com>
10265
10266 * c-common.c: Include common/common-target.h.
10267 (handle_section_attribute): Use
10268 targetm_common.have_named_sections.
10269 * c-cppbuiltin.c: Include common/common-target.h.
10270 (c_cpp_builtins): Use targetm_common.except_unwind_info.
10271
10272 2011-06-10 Richard Guenther <rguenther@suse.de>
10273
10274 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
10275 to print a IDENTIFIER_NODE.
10276
10277 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10278 Joseph Myers <joseph@codesourcery.com>
10279
10280 * c.opt (fbuilding-libgcc): New option.
10281 * c-cppbuiltin.c (c_cpp_builtins): Define
10282 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
10283
10284 2011-06-07 Jason Merrill <jason@redhat.com>
10285
10286 * c-common.c (max_tinst_depth): Lower default to 900.
10287
10288 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
10289
10290 2011-06-07 Richard Guenther <rguenther@suse.de>
10291
10292 * c-common.c (c_common_nodes_and_builtins): Do not set
10293 size_type_node or call set_sizetype.
10294
10295 2011-06-07 Dodji Seketeli <dodji@redhat.com>
10296
10297 PR debug/49130
10298 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
10299 type when using pointer comparison to compare types.
10300
10301 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
10302
10303 * c.opt: Add -Wdelete-non-virtual-dtor.
10304 * c-opts.c (c_common_handle_option): Include it in -Wall.
10305
10306 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
10307
10308 PR bootstrap/49190
10309
10310 Revert:
10311 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10312
10313 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
10314 not tree_common.
10315
10316 2011-05-27 Jakub Jelinek <jakub@redhat.com>
10317
10318 PR c++/49165
10319 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
10320 C++ don't call c_common_truthvalue_conversion on void type arms.
10321
10322 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
10323
10324 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
10325 (stmt_list_stack): Define.
10326 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
10327 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
10328
10329 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10330
10331 * c-common.c (warning_candidate_p): Check for BLOCKs.
10332
10333 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10334
10335 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
10336 not tree_common.
10337
10338 2011-05-25 Jakub Jelinek <jakub@redhat.com>
10339
10340 * c-common.c (def_fn_type): Remove extra va_end.
10341
10342 2011-05-23 Jason Merrill <jason@redhat.com>
10343
10344 PR c++/48106
10345 * c-common.c (c_common_get_narrower): New.
10346 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
10347
10348 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
10349
10350 * c-common.h (check_function_arguments): Tweak prototype of
10351 check_function_arguments.
10352 * c-common.c (check_function_arguments): Likewise. Adjust
10353 calls to check_function_nonnull, check_function_format, and
10354 check_function_sentinel.
10355 (check_function_sentinel): Take a FUNCTION_TYPE rather than
10356 separate attributes and typelist arguments. Use
10357 FOREACH_FUNCTION_ARGS to iterate over argument types.
10358
10359 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
10360
10361 * c-common.c (c_common_reswords): Reorder.
10362 * c-common.h (rid): Likewise.
10363
10364 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
10365
10366 * c-common.c (def_fn_type): Don't call build_function_type, call
10367 build_function_type_array or build_varargs_function_type_array
10368 instead.
10369 (c_common_nodes_and_builtins): Likewise.
10370
10371 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
10372
10373 * c-common.c (c_add_case_label): Omit the loc argument to
10374 build_case_label.
10375 * c-common.h (build_case_label): Remove.
10376 * c-semantics.c (build_case_label): Remove.
10377
10378 2011-05-05 Joseph Myers <joseph@codesourcery.com>
10379
10380 * c-objc.h (objc_start_method_definition): Update prototype.
10381 * stub-objc.c (objc_start_method_definition): Add extra parameter.
10382
10383 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
10384
10385 * c-common.c (check_main_parameter_types): Reindent. Don't use
10386 TYPE_ARG_TYPES directly.
10387 (handle_nonnull_attribute): Likewise.
10388 (sync_resolve_params): Likewise.
10389 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
10390 to check_format_string.
10391 (handle_format_attribute): Likewise.
10392 (check_format_string): Take a function type to examine instead of
10393 a type list. Use a function_arg_iterator to step through argument
10394 types.
10395
10396 2011-05-04 Richard Guenther <rguenther@suse.de>
10397
10398 * c-common.c (fix_string_type): Use size_int for index type bounds.
10399 (start_fname_decls): Do not pass NULL to build_int_cst.
10400 (c_init_attributes): Likewise.
10401 * c-lex.c (c_lex_with_flags): Likewise.
10402
10403 2011-04-27 Jason Merrill <jason@redhat.com>
10404
10405 * c-common.c (make_tree_vector_from_list): New.
10406 * c-common.h: Declare it.
10407
10408 2011-04-26 Richard Guenther <rguenther@suse.de>
10409
10410 PR preprocessor/48248
10411 * c-ppoutput.c (maybe_print_line): Always optimize newlines
10412 for output size with -P.
10413
10414 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
10415
10416 * c-common.c (struct c_common_resword): Add __underlying_type.
10417 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
10418
10419 2011-04-20 Jim Meyering <meyering@redhat.com>
10420
10421 * c-format.c (init_dollar_format_checking): Remove useless
10422 if-before-free.
10423
10424 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
10425
10426 * c-objc.h (objc_get_interface_ivars): Removed.
10427 (objc_detect_field_duplicates): New.
10428 * stub-objc.c: Likewise.
10429
10430 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
10431
10432 * stub-objc.c (objc_declare_protocols): Renamed to
10433 objc_declare_protocol.
10434 * c-objc.h: Likewise.
10435
10436 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
10437
10438 * stub-objc.c (objc_declare_class): Updated argument name.
10439
10440 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
10441
10442 * c-common.h (c_common_init_ts): Declare.
10443 * c-common.c (c_common_init_ts): Define.
10444
10445 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
10446
10447 * c-objc.h (objc_build_message_expr): Updated prototype.
10448 * stub-objc.c (objc_build_message_expr): Likewise.
10449
10450 2011-04-12 Martin Jambor <mjambor@suse.cz>
10451
10452 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
10453 of cgraph_node.
10454
10455 2011-04-11 Richard Guenther <rguenther@suse.de>
10456
10457 * c-common.c (complete_array_type): Build a range type of
10458 proper type.
10459
10460 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
10461
10462 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
10463 (handle_type_generic_attribute): Likewise.
10464
10465 2011-04-07 Jason Merrill <jason@redhat.com>
10466
10467 PR c++/48450
10468 * c-common.c (c_common_truthvalue_conversion): Don't ignore
10469 conversion from C++0x scoped enum.
10470
10471 2011-04-06 Joseph Myers <joseph@codesourcery.com>
10472
10473 * c-target-def.h: New file.
10474 * c-target.def: New file.
10475 * c-target.h: New file.
10476 * c-common.c (targetcm): Don't define here.
10477 * c-common.h (default_handle_c_option): Declare.
10478 * c-format.c: Include c-target.h instead of target.h.
10479 * c-opts.c: Include c-target.h instead of target.h. Explicitly
10480 include tm.h.
10481 (default_handle_c_option): Move from targhooks.c.
10482
10483 2011-03-29 Jakub Jelinek <jakub@redhat.com>
10484
10485 PR preprocessor/48248
10486 * c-ppoutput.c (print): Add src_file field.
10487 (init_pp_output): Initialize it.
10488 (maybe_print_line): Don't optimize by adding up to 8 newlines
10489 if map->to_file and print.src_file are different file.
10490 (print_line): Update print.src_file.
10491
10492 2011-03-25 Kai Tietz <ktietz@redhat.com>
10493
10494 * c-ada-spec.c (compare_comment): Use filename_cmp
10495 instead of strcmp for filename.
10496
10497 2011-03-25 Jeff Law <law@redhat.com>
10498
10499 * c-common.c (def_fn_type): Add missing va_end.
10500
10501 2011-03-25 Jason Merrill <jason@redhat.com>
10502
10503 * c.opt: Add -std=c++03.
10504
10505 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
10506
10507 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
10508
10509 2011-03-17 Kai Tietz <ktietz@redhat.com>
10510
10511 PR target/12171
10512 * c-pretty-print.c (pp_c_specifier_qualifier_list):
10513 Display allowed attributes for function pointer types.
10514 (pp_c_attributes_display): New function to display
10515 attributes having affects_type_identity flag set to true.
10516 * c-pretty-print.h (pp_c_attributes_display): New prototype.
10517
10518 * c-common.c (c_common_attribute_table):
10519 Add new element.
10520 (c_common_format_attribute_table): Likewise.
10521
10522 2011-03-18 Jason Merrill <jason@redhat.com>
10523
10524 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
10525 * c-common.h: Don't declare it here.
10526 * c-common.c: Or define it here.
10527 * c-opts.c (c_common_handle_option): Or set it here.
10528
10529 PR c++/35315
10530 * c-common.c (handle_transparent_union_attribute): Don't
10531 make a duplicate type in C++.
10532
10533 2011-03-15 Jason Merrill <jason@redhat.com>
10534
10535 * c-common.c (max_constexpr_depth): New.
10536 * c-common.h: Declare it.
10537 * c-opts.c (c_common_handle_option): Set it.
10538 * c.opt (fconstexpr-depth): New option.
10539
10540 2011-03-11 Jason Merrill <jason@redhat.com>
10541
10542 * c-common.c (attribute_takes_identifier_p): Add missing const.
10543
10544 PR c++/46803
10545 * c-common.c (attribute_takes_identifier_p): Assume that an
10546 unknown attribute takes an identifier.
10547
10548 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
10549
10550 PR c/47786
10551 * c-common.c (c_type_hash): Call list_length instead of iterating
10552 through DECL_CHAIN. Rename 'i' to 'n_elements'.
10553
10554 2011-02-19 Jakub Jelinek <jakub@redhat.com>
10555
10556 PR c/47809
10557 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
10558
10559 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
10560
10561 * c.opt (fobjc-abi-version=) New.
10562 (fobjc-nilcheck): New.
10563
10564 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
10565
10566 PR c++/46890
10567 * c-common.h (keyword_is_decl_specifier): Declare.
10568 * c-common.c (keyword_is_decl_specifier): Define.
10569 (keyword_is_function_specifier): New function.
10570
10571 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10572
10573 PR c/47473
10574 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
10575 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
10576 REAL_TYPE.
10577
10578 2011-01-26 Arnaud Charlet <charlet@adacore.com>
10579
10580 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
10581
10582 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10583
10584 PR pch/47430
10585 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
10586 after init_c_lex if pch_file is set.
10587
10588 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
10589
10590 PR c++/43601
10591 * c.opt (-fkeep-inline-dllexport): New switch.
10592
10593 2011-01-12 Richard Guenther <rguenther@suse.de>
10594
10595 PR middle-end/32511
10596 * c-common.c (handle_weak_attribute): Warn instead of error
10597 on declaring an inline function weak.
10598
10599 2011-01-05 Tom Tromey <tromey@redhat.com>
10600
10601 * c-common.h (lvalue_error): Update.
10602 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
10603 not error.
10604
10605 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
10606
10607 PR objc/47075
10608 * c-objc.h (objc_finish_message_expr): Added argument to
10609 prototype.
10610
10611 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
10612
10613 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
10614 Use prototype_p.
10615
10616 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
10617
10618 * c-objc.h (objc_maybe_warn_exceptions): New.
10619 * stub-objc.c (objc_maybe_warn_exceptions): New.
10620
10621 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
10622
10623 * c-common.h (readonly_error): Declare.
10624 * c-common.c (readonly_error): Define.
10625
10626 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
10627
10628 * c-common.h (invalid_indirection_error): Declare.
10629 * c-common.c (invalid_indirection_error): Define.
10630
10631 2010-12-03 Richard Guenther <rguenther@suse.de>
10632
10633 PR c/46745
10634 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
10635 (pp_c_unary_expression): Likewise.
10636 (pp_c_expression): Likewise.
10637
10638 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
10639
10640 * c-common.h (objc_finish_function): New.
10641 (objc_non_volatilized_type): Removed.
10642 (objc_type_quals_match): Removed.
10643 * stub-objc.c (objc_finish_function): New.
10644 (objc_non_volatilized_type): Removed.
10645 (objc_type_quals_match): Removed.
10646
10647 2010-11-30 Joseph Myers <joseph@codesourcery.com>
10648
10649 * c-common.h (parse_optimize_options): Declare.
10650 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
10651 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
10652
10653 2010-11-29 Joseph Myers <joseph@codesourcery.com>
10654
10655 * c-opts.c (check_deps_environment_vars): Use getenv instead of
10656 GET_ENVIRONMENT.
10657 * c-pch.c (O_BINARY): Don't define here.
10658 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
10659
10660 2010-11-25 Joseph Myers <joseph@codesourcery.com>
10661
10662 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
10663 targetm.except_unwind_info.
10664
10665 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10666
10667 * c-opts.c (c_common_handle_option): Pass location to
10668 set_struct_debug_option.
10669
10670 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10671
10672 * c-common.c (visibility_options): Move from ../opts.c.
10673 * c-common.h (struct visibility_flags, visibility_options):
10674 Declare here.
10675 * c-opts.c (finish_options): Rename to c_finish_options.
10676 (c_common_init): Update call to finish_options.
10677
10678 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
10679
10680 PR objc/34033
10681 * c-lex.c (lex_string): Check that each string in an Objective-C
10682 string concat sequence starts with either one or zero '@', and
10683 that there are no spurious '@' signs at the end.
10684
10685 2010-11-20 Joseph Myers <joseph@codesourcery.com>
10686
10687 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
10688 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
10689 HANDLE_PRAGMA_VISIBILITY.
10690 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
10691 HANDLE_PRAGMA_VISIBILITY): Don't define.
10692 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
10693
10694 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
10695
10696 PR c++/16189
10697 PR c++/36888
10698 PR c++/45331
10699 * c-common.h (keyword_begins_type_specifier): Declare.
10700 (keyword_is_storage_class_specifier): Declare.
10701 (keyword_is_type_qualifier): Declare.
10702 * c-common.c (keyword_begins_type_specifier): New function.
10703 (keyword_is_storage_class_specifier): New function.
10704 (keyword_is_type_qualifier): Declare.
10705
10706 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10707
10708 PR c/46547
10709 * c-common.c (in_late_binary_op): Define.
10710 (c_common_truthvalue_conversion): Check in_late_binary_op before
10711 calling c_save_expr.
10712 * c-common.h (in_late_binary_op): Declare.
10713
10714 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10715
10716 * c-opts.c (c_common_handle_option): Update calls to
10717 set_struct_debug_option.
10718
10719 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
10720
10721 * c-common.h (objc_declare_protocols): Added additional argument.
10722 * stub-objc.c (objc_declare_protocol): Same change.
10723
10724 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
10725
10726 PR c/33193
10727 * c-common.h (build_real_imag_expr): Declare.
10728 * c-semantics.c (build_real_imag_expr): Define.
10729
10730 2010-11-17 Joseph Myers <joseph@codesourcery.com>
10731
10732 * c-opts.c (c_common_parse_file): Take no arguments.
10733 * c-common.h (c_common_parse_file): Update prototype.
10734
10735 2010-11-16 Jakub Jelinek <jakub@redhat.com>
10736
10737 PR c++/46401
10738 * c-common.c (warning_candidate_p): Don't track non-const calls
10739 or STRING_CSTs.
10740
10741 2010-11-15 Ian Lance Taylor <iant@google.com>
10742
10743 * c-lex.c (init_c_lex): Set macro debug callbacks if
10744 flag_dump_go_spec is set.
10745
10746 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
10747
10748 * c-common.h (objc_build_incr_expr_for_property_ref): New.
10749 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
10750
10751 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
10752
10753 PR preprocessor/45038
10754 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
10755 dialects.
10756
10757 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10758
10759 * c-common.h (c_family_lang_mask): Declare.
10760 * c-opts.c (c_family_lang_mask): Make extern.
10761 * c-pragma.c (handle_pragma_diagnostic): Use
10762 control_warning_option.
10763
10764 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10765
10766 * c-common.c (parse_optimize_options): Update call to
10767 decode_options.
10768 * c-common.h (c_common_handle_option): Update prototype.
10769 * c-opts.c (c_common_handle_option): Take location_t parameter and
10770 pass it to other functions.
10771
10772 2010-11-11 Joseph Myers <joseph@codesourcery.com>
10773
10774 * c-opts.c (warning_as_error_callback): Remove.
10775 (c_common_initialize_diagnostics): Don't call
10776 register_warning_as_error_callback.
10777 (c_common_handle_option): Handle -Werror=normalized= here.
10778
10779 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10780
10781 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
10782 in diagnostic.
10783 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
10784 letter.
10785 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
10786 Remove trailing '.' from diagnostics.
10787 * c.opt (Wwrite-strings_: Avoid '`' in help text.
10788
10789 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10790
10791 * c-common.c (parse_optimize_options): Pass global_dc to
10792 decode_options.
10793 * c-opts.c (c_common_handle_option): Pass &global_options to
10794 set_Wstrict_aliasing.
10795 * c.opt (v): Don't mark Common or document here.
10796
10797 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
10798
10799 PR target/44981
10800 * c-format.c (format_type): New type gcc_objc_string_format_type.
10801 (valid_stringptr_type_p): New.
10802 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
10803 (check_format_string): Pass expected type, use
10804 valid_stringptr_type_p (), check that the format string types are
10805 consistent with the format specification.
10806 (decode_format_attr): Warn if NSString is used outside objective-c.
10807 (format_types_orig): Add NSString.
10808 (format_name): New.
10809 (format_flags): New.
10810 (check_format_arg): Handle format strings requiring an external parser.
10811 first_target_format_type: New variable.
10812 (handle_format_attribute): Set up first_target_format_type, pass the
10813 expected format arg string type to check_format_string().
10814 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
10815 * stub-objc.c (objc_string_ref_type_p): New.
10816 (objc_check_format_arg): New.
10817
10818 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10819
10820 Fixed using the Objective-C 2.0 dot-syntax with class names.
10821 * c-common.h (objc_build_class_component_ref): New.
10822 * stub-objc.c (objc_build_class_component_ref): New.
10823
10824 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10825
10826 * c.opt (Wproperty-assign-default): New option.
10827
10828 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10829
10830 Implemented -fobjc-std=objc1 flag.
10831 * c.opt (fobjc-std=objc1): New option.
10832
10833 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10834
10835 Implemented format and noreturn attributes for Objective-C methods.
10836 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10837 attribute for Objective-C methods.
10838
10839 2010-10-31 Jason Merrill <jason@redhat.com>
10840
10841 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10842 EXPR_LOC_OR_HERE.
10843
10844 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10845
10846 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10847 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10848 (objc_add_property_declaration): Removed arguments for copies and
10849 ivar.
10850 (objc_build_getter_call): Renamed to
10851 objc_maybe_build_component_ref.
10852 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10853 (objc_is_property_ref): New.
10854 * c-common.c (c_common_reswords): Removed copies and ivar.
10855 * stub-objc.c (objc_add_property_declaration): Removed arguments
10856 for copies and ivar.
10857 (objc_build_getter_call): Renamed to
10858 objc_maybe_build_component_ref.
10859 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10860 (objc_is_property_ref): New.
10861
10862 2010-10-29 Arnaud Charlet <charlet@adacore.com>
10863 Matthew Gingell <gingell@adacore.com>
10864
10865 * c-ada-spec.c (separate_class_package): New function.
10866 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10867 name of their enclosing package.
10868 (print_ada_declaration): Use separate_class_package.
10869
10870 2010-10-27 Jason Merrill <jason@redhat.com>
10871
10872 * c-common.c (c_common_reswords): Add __is_literal_type.
10873 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10874
10875 * c-common.c (check_case_value): Remove special C++ code.
10876
10877 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10878
10879 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10880 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10881 and RID_LAST_PATTR.
10882 (objc_add_property_declaration): Added additional arguments.
10883 (objc_property_attribute_kind): Removed.
10884 (objc_set_property_attr): Removed.
10885 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10886 copy and nonatomic.
10887 * stub-objc.c (objc_add_property_declaration): Added additional
10888 arguments.
10889 (objc_set_property_attr): Removed.
10890
10891 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10892
10893 * c-common.h (objc_add_property_variable): Renamed to
10894 objc_add_property_declaration. Added location argument.
10895 * stub-objc.c (objc_add_property_variable): Same change.
10896
10897 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10898
10899 * c-common.h (objc_maybe_printable_name): New.
10900 * stub-objc.c (objc_maybe_printable_name): New.
10901
10902 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10903 Andrew Pinski <pinskia@gmail.com>
10904
10905 * c-common.h (c_common_mark_addressable_vec): Declare.
10906 * c-common.c (c_common_mark_addressable_vec): New function.
10907
10908 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10909
10910 * c-common.h (objc_set_method_type): Removed.
10911 (objc_add_method_declaration): Added boolean argument.
10912 (objc_start_method_definition): Same change.
10913 (objc_build_method_signature): Same change.
10914 * stub-objc.c (objc_set_method_type): Removed.
10915 (objc_add_method_declaration): Added boolean argument.
10916 (objc_start_method_definition): Same change.
10917 (objc_build_method_signature): Same change.
10918
10919 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10920
10921 * c-common.h (finish_file): Removed.
10922 (objc_write_global_declarations): New.
10923 * c-opts.c (c_common_parse_file): Do not call finish_file.
10924 * stub-objc.c (objc_write_global_declarations): New.
10925
10926 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10927
10928 Implemented parsing @synthesize and @dynamic for
10929 Objective-C/Objective-C++.
10930 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
10931 (objc_add_synthesize_declaration): New.
10932 (objc_add_dynamic_declaration): New.
10933 * c-common.c (c_common_reswords): Add synthesize and dynamic.
10934 * stub-objc.c (objc_add_synthesize_declaration): New.
10935 (objc_add_dynamic_declaration): New.
10936
10937 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10938
10939 PR target/46041
10940 * c-cppbuiltin.c (mode_has_fma): Move function here from
10941 builtins.c. Don't use the fma optab, instead just use the
10942 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
10943 using -save-temps.
10944
10945 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10946
10947 Merge from 'apple/trunk' branch on FSF servers.
10948
10949 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
10950
10951 Radar 4330422
10952 * c-common.h (objc_non_volatilized_type): New declaration
10953 * stub-objc.c (objc_non_volatilized_type): New stub.
10954
10955 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
10956
10957 Merge from 'apple/trunk' branch on FSF servers.
10958
10959 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
10960
10961 Radar 4133425
10962 * c-common.h (objc_diagnose_private_ivar): New decl.
10963 * stub-objc.c (objc_diagnose_private_ivar): New stub.
10964
10965 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
10966
10967 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
10968 * c-common.h (enum rid): Add RID_AT_PACKAGE.
10969 (objc_ivar_visibility_kind): New enum.
10970 (objc_set_visibility): Adjust prototype to use visibility enum.
10971 * stub-objc.c (objc_set_visibility): Adjust stub to use
10972 visibility enum.
10973
10974 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10975
10976 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10977 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10978 has the appropriate fma builtins.
10979 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10980
10981 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10982
10983 merge from FSF apple 'trunk' branch.
10984 2006 Fariborz Jahanian <fjahanian@apple.com>
10985
10986 Radars 4436866, 4505126, 4506903, 4517826
10987 * c-common.c (c_common_resword): Define @property and its attributes.
10988 * c-common.h: Define property attribute enum entries.
10989 (OBJC_IS_PATTR_KEYWORD): New.
10990 (objc_property_attribute_kind): New enum.
10991 Declare objc_set_property_attr (), objc_add_property_variable (),
10992 objc_build_getter_call () and objc_build_setter_call ().
10993 * stub-objc.c (objc_set_property_attr): New stub.
10994 (objc_add_property_variable): Likewise.
10995 (objc_build_getter_call): Likewise.
10996 (objc_build_setter_call) Likewise.
10997
10998 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10999
11000 merge from FSF apple 'trunk' branch.
11001 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
11002
11003 Radar 3803157 (method attributes)
11004 * c-common.c (handle_deprecated_attribute): Recognize
11005 objc methods as valid declarations.
11006 * c-common.h: Declare objc_method_decl ().
11007 * stub-objc.c (objc_method_decl): New stub.
11008
11009 2010-10-08 Joseph Myers <joseph@codesourcery.com>
11010
11011 * c-common.c (parse_optimize_options): Call
11012 decode_cmdline_options_to_array_default_mask before
11013 decode_options. Update arguments to decode_options.
11014 * c-common.h (c_common_init_options_struct): Declare.
11015 * c-opts.c (c_common_init_options_struct): New. Split out from
11016 c_common_init_options.
11017
11018 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
11019
11020 Implemented fast enumeration for Objective-C.
11021 * c-common.h (objc_finish_foreach_loop): New.
11022 * stub-objc.c (objc_finish_foreach_loop): New.
11023
11024 2010-10-05 Joseph Myers <joseph@codesourcery.com>
11025
11026 * c-common.h (struct diagnostic_context): Don't declare here.
11027 (c_common_initialize_diagnostics): Declare using
11028 diagnostic_context typedef.
11029 * c-opts.c (c_common_handle_option): Pass global_dc to
11030 handle_generated_option.
11031
11032 2010-10-04 Joseph Myers <joseph@codesourcery.com>
11033
11034 * c-opts.c (c_common_handle_option): Pass &global_options_set to
11035 handle_generated_option.
11036
11037 2010-10-03 Ian Lance Taylor <iant@google.com>
11038
11039 * c.opt (-fplan9-extensions): New option.
11040
11041 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11042
11043 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
11044 Remove.
11045 (c_cpp_builtins): Call functions from cppbuiltin.c instead
11046 of duplicating code.
11047
11048 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
11049
11050 * c-common.c: Add two new entries for @optional
11051 and @required keywords.
11052
11053 merge from FSF 'apple/trunk' branch.
11054 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
11055
11056 Radar 4386773
11057 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
11058 objective-c keywords.
11059 (objc_set_method_opt): New declaration.
11060 * stub-objc.c (objc_set_method_opt): New stub.
11061
11062 2010-09-30 Joseph Myers <joseph@codesourcery.com>
11063
11064 * c-common.c (handle_optimize_attribute): Pass &global_options to
11065 cl_optimization_save and cl_optimization_restore.
11066 * c-opts.c (c_common_handle_option): Pass &global_options to
11067 handle_generated_option.
11068 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
11069 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
11070 &global_options to cl_optimization_restore.
11071
11072 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
11073
11074 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
11075 Objective-C/Objective-C++ keywords.
11076
11077 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
11078
11079 Merge from 'apple/trunk' branch on FSF servers.
11080
11081 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
11082
11083 Radar 4281748
11084 * c-common.h (objc_check_global_decl): New declaration.
11085 * stub-objc.c (objc_check_global_decl): New stub.
11086
11087 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11088
11089 * c.opt: Don't use VarExists.
11090
11091 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11092
11093 * c-common.c (c_cpp_error): Update names of diagnostic_context
11094 members.
11095 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
11096 cl_optimization members.
11097 * c-opts.c (warning_as_error_callback, c_common_handle_option,
11098 sanitize_cpp_opts, finish_options): Update names of cpp_options
11099 members.
11100
11101 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
11102
11103 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
11104 (objc_is_reserved_word): Removed.
11105 * c-common.c: Updated comments.
11106 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
11107 objc_is_reserved_word.
11108 * stub-objc.c (objc_is_reserved_word): Removed.
11109
11110 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
11111
11112 * c-common.h (objc_add_method_declaration): Adjust prototype to
11113 include attributes.
11114 (objc_start_method_definition): Likewise.
11115 (objc_build_keyword_decl): Likewise.
11116 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
11117 (objc_start_method_definition): Likewise.
11118 (objc_build_keyword_decl): Likewise.
11119
11120 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
11121
11122 * c-common.h (objc_start_class_interface): Adjust prototype.
11123 (objc_start_category_interface): Likewise.
11124 (objc_start_protocol): Likewise.
11125 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
11126 (objc_start_class_interface): Likewise.
11127 (objc_start_category_interface): Likewise.
11128
11129 2010-09-27 Ian Lance Taylor <iant@google.com>
11130
11131 * c-common.c (c_common_attribute_table): Add no_split_stack.
11132 (handle_no_split_stack_attribute): New static function.
11133
11134 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
11135
11136 Merge from 'apple/trunk' branch on FSF servers.
11137
11138 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
11139
11140 Radar 4229905
11141 * c-common.h (objc_have_common_type): New declaration.
11142 * stub-objc.c (objc_have_common_type): New stub.
11143
11144 2005-06-22 Ziemowit Laski <zlaski@apple.com>
11145
11146 Radar 4154928
11147 * c-common.h (objc_common_type): New prototype.
11148 * stub-objc.c (objc_common_type): New stub.
11149
11150 2010-09-24 Jan Hubicka <jh@suse.cz>
11151
11152 * c-common.c (handle_leaf_attribute): New function.
11153 (struct attribute_spec c_common_att): Add leaf.
11154
11155 2010-09-22 Joseph Myers <joseph@codesourcery.com>
11156
11157 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
11158 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
11159 -dump, -dump=, -imacros, -imacros=, -include, -include=,
11160 -include-barrier, -include-directory, -include-directory=,
11161 -include-directory-after, -include-directory-after=,
11162 -include-prefix, -include-prefix=, -include-with-prefix,
11163 -include-with-prefix=, -include-with-prefix-after,
11164 -include-with-prefix-after=, -include-with-prefix-before,
11165 -include-with-prefix-before=, -no-integrated-cpp,
11166 -no-line-commands, -no-standard-includes, -no-warnings, -output,
11167 -output=, -pedantic, -pedantic-errors, -preprocess,
11168 -print-missing-file-dependencies, -trace-includes, -traditional,
11169 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
11170 -user-dependencies, -verbose, -write-dependencies,
11171 -write-user-dependencies, no-integrated-cpp, traditional): New.
11172
11173 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
11174
11175 PR objc/23710
11176 * c-common.h (objc_start_method_definition): Return bool instead
11177 of void.
11178 * stub-objc.c (objc_start_method_definition): Return bool instead
11179 of void.
11180
11181 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
11182
11183 PR objc/25965
11184 * c-common.h (objc_get_interface_ivars): New declaration.
11185 * stub-objc.c (objc_get_interface_ivars): New stub.
11186
11187 2010-09-15 Ian Lance Taylor <iant@google.com>
11188
11189 * c-common.c (parse_optimize_options): Do not capitalize warning
11190 messages. Remove period at end of warning message.
11191
11192 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
11193
11194 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
11195 (handle_alias_attribute): ... here.
11196 (handle_ifunc_attribute): New.
11197
11198 2010-09-06 Mark Mitchell <mark@codesourcery.com>
11199
11200 * c-common.h (do_warn_double_promotion): Declare.
11201 * c-common.c (do_warn_double_promotion): Define.
11202
11203 2010-09-05 Mark Mitchell <mark@codesourcery.com>
11204
11205 * c.opt (Wdouble-promotion): New.
11206
11207 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11208
11209 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
11210 fvtable-thunks, fxref): Mark no longer supported in help text.
11211
11212 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11213
11214 * c.opt (Wimport, fall-virtual, falt-external-templates,
11215 fdefault-inline, fenum-int-equiv, fexternal-templates,
11216 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
11217 fname-mangling-version-, fnew-abi, fnonnull-objects,
11218 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
11219 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
11220 applicable.
11221 (fhandle-exceptions): Mark with Alias and Warn.
11222 * c-opts.c (c_common_handle_option): Don't handle options marked
11223 as ignored.
11224
11225 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11226
11227 * c.opt (Wcomments, Werror-implicit-function-declaration,
11228 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
11229 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
11230 aliases.
11231 * c-common.c (option_codes): Use OPT_Wcomment instead of
11232 OPT_Wcomments.
11233 * c-opts.c (warning_as_error_callback, c_common_handle_option):
11234 Don't handle options marked as aliases.
11235
11236 2010-08-25 Richard Guenther <rguenther@suse.de>
11237
11238 * c-common.c (c_common_get_alias_set): Remove special
11239 handling for pointers.
11240
11241 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
11242
11243 * c-common.c: Use FOR_EACH_VEC_ELT.
11244 * c-gimplify.c: Likewise.
11245 * c-pragma.c: Likewise.
11246
11247 2010-08-16 Joseph Myers <joseph@codesourcery.com>
11248
11249 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
11250 RejectDriver.
11251 (MMDX): Change back to MMD. Mark NoDriverArg instead of
11252 RejectDriver.
11253 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
11254 instead of OPT_MDX and OPT_MMDX.
11255
11256 2010-08-16 Joseph Myers <joseph@codesourcery.com>
11257
11258 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
11259
11260 2010-08-12 Joseph Myers <joseph@codesourcery.com>
11261
11262 * c.opt (MD, MMD): Change to MDX and MMDX.
11263 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
11264
11265 2010-08-11 Joseph Myers <joseph@codesourcery.com>
11266
11267 * c-opts.c (c_common_handle_option): Call handle_generated_option
11268 instead of handle_option.
11269
11270 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
11271
11272 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
11273 (maybe_apply_renaming_pragma): Delete unneeded declarations.
11274
11275 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
11276
11277 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
11278 (pending_redefine_extname): Change type to a VEC.
11279 (add_to_renaming_pragma_list): Update for new type of
11280 pending_redefine_extname.
11281 (maybe_apply_renaming_pragma): Likewise.
11282
11283 2010-08-04 Arnaud Charlet <charlet@adacore.com>
11284
11285 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
11286 visited.
11287 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
11288 decide whether a type has already been declared/seen.
11289 Do not go to the original type.
11290 (dump_nested_types): New parameter forward.
11291 Generate forward declaration if needed and mark type as visited.
11292 (print_ada_declaration): Call dump_nested_types if not already done.
11293 Mark types as visited.
11294
11295 2010-08-03 Joseph Myers <joseph@codesourcery.com>
11296
11297 * c.opt (-print-pch-checksum): Remove option.
11298 * c-opts.c (c_common_handle_option): Don't handle
11299 OPT_print_pch_checksum.
11300
11301 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11302
11303 * c-common.h (c_common_handle_option): Update prototype and return
11304 value type.
11305 * c-opts.c (c_common_handle_option): Update prototype and return
11306 value type. Update calls to handle_option and
11307 enable_warning_as_error.
11308
11309 2010-07-27 Jakub Jelinek <jakub@redhat.com>
11310
11311 PR c/45079
11312 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
11313
11314 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11315
11316 * c-common.h (c_common_missing_argument): Remove.
11317 * c-opts.c (c_common_missing_argument): Remove.
11318 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
11319 idirafter, imacros, include, isysroot, isystem, iquote): Add
11320 MissingArgError.
11321 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
11322
11323 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11324
11325 * c-common.h (c_common_option_lang_mask,
11326 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
11327 New.
11328 (c_common_init_options): Update prototype.
11329 * c-opts.c (c_common_option_lang_mask): New.
11330 (c_common_initialize_diagnostics): Split out of
11331 c_common_init_options.
11332 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
11333 New.
11334 (c_common_init_options): Update prototype. Use decoded options in
11335 search for -lang-asm.
11336
11337 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
11338
11339 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
11340 * c-format.c: Likewise.
11341
11342 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
11343
11344 * c-common.h: Include diagnostic-core.h. Error if already
11345 included.
11346 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
11347
11348 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11349
11350 * c-common.c (IN_GCC_FRONTEND): Do not undef.
11351 Do not include expr.h
11352 (vector_mode_valid_p): Move here.
11353
11354 2010-06-21 DJ Delorie <dj@redhat.com>
11355
11356 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
11357 allow these pragmas anywhere.
11358
11359 2010-06-14 Jakub Jelinek <jakub@redhat.com>
11360
11361 PR bootstrap/44509
11362 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
11363 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
11364 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
11365 ggc_strdup instead of xstrdup.
11366
11367 2010-06-10 Jakub Jelinek <jakub@redhat.com>
11368
11369 * c-cppbuiltin.c: Include cpp-id-data.h.
11370 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
11371 (lazy_hex_fp_value): New function.
11372 (builtin_define_with_hex_fp_value): Provide definitions lazily.
11373
11374 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11375
11376 * c-gimplify.c: Do not include tree-flow.h
11377
11378 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
11379
11380 PR other/44034
11381 * c-common.c: Rename targetm member:
11382 targetm.enum_va_list -> targetm.enum_va_list_p
11383
11384 2010-06-28 Anatoly Sokolov <aesok@post.ru>
11385
11386 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
11387
11388 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
11389
11390 * c-cppbuiltin.c: Do not include except.h.
11391
11392 2010-06-24 Andi Kleen <ak@linux.intel.com>
11393
11394 * c-common.c (warn_for_omitted_condop): New.
11395 * c-common.h (warn_for_omitted_condop): Add prototype.
11396
11397 2010-06-21 Joseph Myers <joseph@codesourcery.com>
11398
11399 * c.opt (lang-objc): Remove.
11400 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
11401
11402 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
11403
11404 * c-opts.c: Include "tm_p.h".
11405
11406 2010-06-20 Joseph Myers <joseph@codesourcery.com>
11407
11408 * c-common.c (parse_optimize_options): Update call to
11409 decode_options.
11410
11411 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
11412
11413 * c-common.c (record_types_used_by_current_var_decl): Adjust for
11414 new type of types_used_by_cur_var_decl.
11415
11416 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
11417
11418 PR bootstrap/44512
11419 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
11420 for C++ standard compliance.
11421
11422 2010-06-16 Jason Merrill <jason@redhat.com>
11423
11424 * c.opt: Add -Wnoexcept.
11425
11426 2010-06-16 Richard Guenther <rguenther@suse.de>
11427
11428 PR c/44555
11429 * c-common.c (c_common_truthvalue_conversion): Remove
11430 premature and wrong optimization concering ADDR_EXPRs.
11431
11432 2010-06-15 Arnaud Charlet <charlet@adacore.com>
11433
11434 * c-ada-spec.c (dump_sloc): Remove column info.
11435 (is_simple_enum): New function.
11436 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
11437 enum types when relevant.
11438
11439 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11440
11441 * c-common.c (conversion_warning): Warn at expression
11442 location.
11443
11444 2010-06-10 Joseph Myers <joseph@codesourcery.com>
11445
11446 * c-opts.c (c_common_handle_option): Don't handle
11447 OPT_fshow_column.
11448
11449 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
11450
11451 * c-pragma.c (push_alignment): Use typed GC allocation.
11452 (handle_pragma_push_options): Likewise.
11453
11454 * c-common.c (parse_optimize_options): Likewise.
11455
11456 * c-common.h (struct sorted_fields_type): Add variable_size GTY
11457 option.
11458
11459 2010-06-07 Joseph Myers <joseph@codesourcery.com>
11460
11461 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
11462 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
11463 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
11464 flag_signed_bitfields, warn_strict_null_sentinel,
11465 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
11466 flag_gen_declaration, flag_no_gnu_keywords,
11467 flag_implement_inlines, flag_implicit_templates,
11468 flag_implicit_inline_templates, flag_optional_diags,
11469 flag_elide_constructors, flag_default_inline, flag_rtti,
11470 flag_conserve_space, flag_access_control, flag_check_new,
11471 flag_new_for_scope, flag_weak, flag_working_directory,
11472 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
11473 flag_enforce_eh_specs, flag_threadsafe_statics,
11474 flag_pretty_templates): Remove.
11475 * c-common.h (flag_preprocess_only, flag_nil_receivers,
11476 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
11477 flag_replace_objc_classes, flag_undef, flag_no_builtin,
11478 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
11479 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
11480 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
11481 flag_no_gnu_keywords, flag_implement_inlines,
11482 flag_implicit_templates, flag_implicit_inline_templates,
11483 flag_optional_diags, flag_elide_constructors, flag_default_inline,
11484 flag_rtti, flag_conserve_space, flag_access_control,
11485 flag_check_new, flag_new_for_scope, flag_weak,
11486 flag_working_directory, flag_use_cxa_atexit,
11487 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
11488 flag_threadsafe_statics, flag_pretty_templates,
11489 warn_strict_null_sentinel): Remove.
11490 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
11491 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
11492 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
11493 fimplicit-inline-templates, fimplicit-templates,
11494 flax-vector-conversions, fms-extensions, fnil-receivers,
11495 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
11496 frtti, fshort-double, fshort-enums, fshort-wchar,
11497 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
11498 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
11499 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
11500 gen-decls, undef): Use Var.
11501 (fdefault-inline, foptional-diags): Document as doing nothing.
11502 * c-opts.c (c_common_handle_option): Remove cases for options now
11503 using Var. Mark ignored options as such.
11504
11505 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
11506
11507 * c-common.c: Moved to here from parent directory.
11508 * c-common.def: Likewise.
11509 * c-common.h: Likewise.
11510 * c-cppbuiltin.c: Likewise.
11511 * c-dump.c: Likewise.
11512 * c-format.c: Likewise.
11513 * c-format.h : Likewise.
11514 * c-gimplify.c: Likewise.
11515 * c-lex.c: Likewise.
11516 * c-omp.c: Likewise.
11517 * c.opt: Likewise.
11518 * c-opts.c: Likewise.
11519 * c-pch.c: Likewise.
11520 * c-ppoutput.c: Likewise.
11521 * c-pragma.c: Likewise.
11522 * c-pragma.h: Likewise.
11523 * c-pretty-print.c: Likewise.
11524 * c-pretty-print.h: Likewise.
11525 * c-semantics.c: Likewise.
11526 * stub-objc.c: Likewise.
11527
11528 * c-common.c: Include gt-c-family-c-common.h.
11529 * c-pragma.c: Include gt-c-family-c-pragma.h.
11530 \f
11531 Copyright (C) 2010-2020 Free Software Foundation, Inc.
11532
11533 Copying and distribution of this file, with or without modification,
11534 are permitted in any medium without royalty provided the copyright
11535 notice and this notice are preserved.