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