Daily bump.
[gcc.git] / gcc / c-family / ChangeLog
1 2020-11-12 Joseph Myers <joseph@codesourcery.com>
2
3 * c-lex.c (c_common_has_attribute): Take argument std_syntax.
4 Allow scope for C. Handle standard attributes for C. Do not
5 accept unscoped attributes if std_syntax and not handled as
6 standard attributes.
7 * c-common.h (c_common_has_attribute): Update prototype.
8
9 2020-11-12 Nicholas Guriev <guriev-ns@ya.ru>
10
11 PR pch/86674
12 * c-pch.c (c_common_valid_pch): Use cpp_warning with CPP_W_INVALID_PCH
13 reason to fix -Werror=invalid-pch and -Wno-error=invalid-pch switches.
14
15 2020-11-11 Patrick Palka <ppalka@redhat.com>
16
17 PR c++/88115
18 * c-opts.c (c_common_post_options): Update latest_abi_version.
19
20 2020-11-10 Jakub Jelinek <jakub@redhat.com>
21
22 PR c/97748
23 * c-common.h (warn_if_unused_value): Add quiet argument defaulted
24 to false.
25 * c-warn.c (warn_if_unused_value): Likewise. Pass it down
26 recursively and just return true instead of warning if it is true.
27 Handle COMPLEX_EXPR.
28
29 2020-11-10 Chung-Lin Tang <cltang@codesourcery.com>
30
31 * c-common.h (c_omp_adjust_map_clauses): New declaration.
32 * c-omp.c (struct map_clause): Helper type for c_omp_adjust_map_clauses.
33 (c_omp_adjust_map_clauses): New function.
34
35 2020-11-09 Marek Polacek <polacek@redhat.com>
36
37 DR 1914
38 * c-common.c (attribute_fallthrough_p): Tweak the warning
39 message.
40
41 2020-11-09 Patrick Palka <ppalka@redhat.com>
42
43 * c-pragma.c (handle_pragma_diagnostic): Split the
44 unknown-option -Wpragmas diagnostic into a warning and a
45 subsequent note containing a spelling suggestion. Avoid
46 computing the suggestion if -Wpragmas warnings are being
47 suppressed.
48
49 2020-11-09 Patrick Palka <ppalka@redhat.com>
50
51 PR testsuite/97117
52 * c-indentation.c (get_visual_column): Remove location_t
53 parameter. Move the column-tracking diagnostic code from here
54 to ...
55 (should_warn_for_misleading_indentation): ... here, before the
56 early exit for when the loci are not all distinct. Don't pass a
57 location_t argument to get_visual_column.
58 (assert_get_visual_column_succeeds): Don't pass a location_t
59 argument to get_visual_column.
60 (assert_get_visual_column_fails): Likewise.
61
62 2020-11-08 Iain Sandoe <iain@sandoe.co.uk>
63
64 * c-common.h (OBJC_IS_PATTR_KEYWORD): Add class to the list
65 of keywords accepted in @property attribute contexts.
66 * c-objc.h (enum objc_property_attribute_group): Add
67 OBJC_PROPATTR_GROUP_CLASS.
68 (enum objc_property_attribute_kind): Add
69 OBJC_PROPERTY_ATTR_CLASS.
70
71 2020-11-07 Iain Sandoe <iain@sandoe.co.uk>
72
73 * c-common.c (c_common_reswords): Add 'atomic' property
74 attribute.
75 * c-common.h (enum rid): Add RID_PROPATOMIC for atomic
76 property attributes.
77
78 2020-11-07 Iain Sandoe <iain@sandoe.co.uk>
79
80 * c-attribs.c (handle_nsobject_attribute): New.
81 * c.opt: Add WNSObject-attribute.
82
83 2020-11-06 Iain Sandoe <iain@sandoe.co.uk>
84
85 * c-objc.h (enum objc_property_attribute_group): New
86 (enum objc_property_attribute_kind): New.
87 (OBJC_PROPATTR_GROUP_MASK): New.
88 (struct property_attribute_info): Small class encapsulating
89 parser output from property attributes.
90 (objc_prop_attr_kind_for_rid): New
91 (objc_add_property_declaration): Simplify interface.
92 * stub-objc.c (enum rid): Dummy type.
93 (objc_add_property_declaration): Simplify interface.
94 (objc_prop_attr_kind_for_rid): New.
95
96 2020-11-06 Nathan Sidwell <nathan@acm.org>
97
98 * c-ada-spec.c (collect_ada_nodes): Rename
99 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
100 (collect_ada_node): Likewise.
101 (dump_forward_type): Likewise.
102 * c-common.c (set_underlying_type): Rename
103 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
104 (user_facing_original_type, c_common_finalize_early_debug): Likewise.
105
106 2020-11-06 Jakub Jelinek <jakub@redhat.com>
107
108 * c-common.c (verify_sequence_points): Remove DEBUG_FUNCTION.
109
110 2020-11-05 Marek Polacek <polacek@redhat.com>
111
112 PR c++/97675
113 * c.opt (Wexceptions): New option.
114
115 2020-11-05 Marek Polacek <polacek@redhat.com>
116
117 PR c++/25814
118 * c.opt (Wvexing-parse): New option.
119
120 2020-11-04 Jakub Jelinek <jakub@redhat.com>
121
122 PR c++/97670
123 * c-omp.c (c_omp_split_clauses): Look through array reductions to find
124 underlying decl to clear in the allocate_head bitmap.
125
126 2020-11-04 Iain Sandoe <iain@sandoe.co.uk>
127
128 * c-objc.h (objc_non_constant_expr_p): New.
129 * stub-objc.c (objc_non_constant_expr_p): New.
130
131 2020-11-03 Nathan Sidwell <nathan@acm.org>
132
133 * c.opt (MQ,MT): Reword description to be make-agnostic.
134
135 2020-11-02 Nathan Sidwell <nathan@acm.org>
136
137 * c-opts.c (c_common_post_options): Move var decl to its
138 initialization point.
139
140 2020-11-01 Iain Sandoe <iain@sandoe.co.uk>
141
142 * c-lex.c (c_lex_with_flags): When combining '@' with a
143 keyword for Objective-C, combine the location ranges too.
144
145 2020-10-30 Qing Zhao <qing.zhao@oracle.com>
146 H.J.Lu <hjl.tools@gmail.com>
147
148 * c-attribs.c (c_common_attribute_table): Add new attribute
149 zero_call_used_regs.
150 (handle_zero_call_used_regs_attribute): New function.
151
152 2020-10-28 Marek Polacek <polacek@redhat.com>
153
154 PR c++/97573
155 * c-opts.c (c_common_post_options): In C++20, turn on
156 -Wdeprecated-enum-enum-conversion and
157 -Wdeprecated-enum-float-conversion.
158 * c.opt (Wdeprecated-enum-enum-conversion,
159 Wdeprecated-enum-float-conversion): New options.
160 (Wenum-conversion): Allow for C++ too.
161
162 2020-10-28 Jakub Jelinek <jakub@redhat.com>
163
164 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALLOCATE.
165 * c-omp.c: Include bitmap.h.
166 (c_omp_split_clauses): Handle OMP_CLAUSE_ALLOCATE.
167
168 2020-10-26 Ville Voutilainen <ville.voutilainen@gmail.com>
169
170 * c-common.c (__is_nothrow_assignable): New.
171 (__is_nothrow_constructible): Likewise.
172 * c-common.h (RID_IS_NOTHROW_ASSIGNABLE): New.
173 (RID_IS_NOTHROW_CONSTRUCTIBLE): Likewise.
174
175 2020-10-23 Jan Hubicka <hubicka@ucw.cz>
176
177 * c-common.c (c_common_finalize_early_debug): Update for new thunk api.
178
179 2020-10-23 Marek Polacek <polacek@redhat.com>
180
181 PR c++/91741
182 * c-common.c (verify_tree): Handle PAREN_SIZEOF_EXPR.
183 (c_common_init_ts): Likewise.
184 * c-common.def (PAREN_SIZEOF_EXPR): New tree code.
185 * c-common.h (maybe_warn_sizeof_array_div): Declare.
186 * c-warn.c (sizeof_pointer_memaccess_warning): Unwrap NOP_EXPRs.
187 (maybe_warn_sizeof_array_div): New function.
188 * c.opt (Wsizeof-array-div): New option.
189
190 2020-10-23 Martin Sebor <msebor@redhat.com>
191
192 PR c/97463
193 * c-warn.c (warn_parm_ptrarray_mismatch): Move null test earlier.
194
195 2020-10-22 Martin Liska <mliska@suse.cz>
196
197 PR c/94722
198 * c-attribs.c (handle_no_stack_protect_function_attribute): New.
199 (handle_stack_protect_attribute): Add error message for a
200 no_stack_protector function.
201
202 2020-10-22 Martin Liska <mliska@suse.cz>
203
204 * c-cppbuiltin.c (c_cpp_builtins): Use the stack_protector enum.
205
206 2020-10-22 Jan Hubicka <hubicka@ucw.cz>
207
208 * c-gimplify.c: Include tree-nested.h
209 (c_genericize): Update for new nested function info.
210
211 2020-10-14 Martin Sebor <msebor@redhat.com>
212
213 PR c/97413
214 * c-attribs.c (build_attr_access_from_parms): Wrap chain of VLA
215 bounds in an extra list.
216
217 2020-10-05 Richard Biener <rguenther@suse.de>
218 Jakub Jelinek <jakub@redhat.com>
219
220 PR c++/97197
221 * c-pretty-print.c: Include langhooks.h.
222 (c_pretty_printer::postfix_expression): Handle TARGET_MEM_REF as
223 expression.
224 (c_pretty_printer::expression): Handle TARGET_MEM_REF as
225 unary_expression.
226 (c_pretty_printer::unary_expression): Handle TARGET_MEM_REF.
227
228 2020-09-30 Martin Sebor <msebor@redhat.com>
229
230 PR middle-end/97189
231 * c-attribs.c (append_access_attr): Use the function declaration
232 location for a warning about an attribute access argument.
233
234 2020-09-29 Marek Polacek <polacek@redhat.com>
235
236 PR c++/94695
237 * c.opt (Wrange-loop-construct): New option.
238
239 2020-09-23 Martin Sebor <msebor@redhat.com>
240
241 PR c/97131
242 * c-warn.c (warn_parm_ptrarray_mismatch): Handle more invalid input.
243
244 2020-09-23 Marek Polacek <polacek@redhat.com>
245
246 PR c/97125
247 * c-gimplify.c (c_genericize): Only call do_warn_duplicated_branches_r
248 after loops and other structured control constructs have been lowered.
249
250 2020-09-22 Jakub Jelinek <jakub@redhat.com>
251
252 * c.opt (Wbuiltin-declaration-mismatch): Fix typo in variable name:
253 warn_builtin_declaraion_mismatch -> warn_builtin_declaration_mismatch.
254
255 2020-09-21 Marek Polacek <polacek@redhat.com>
256
257 * c.opt (Wctad-maybe-unsupported): New option.
258
259 2020-09-19 Martin Sebor <msebor@redhat.com>
260
261 PR c/50584
262 * c-common.h (warn_parm_array_mismatch): Declare new function.
263 (has_attribute): Move declaration of an existing function.
264 (build_attr_access_from_parms): Declare new function.
265 * c-warn.c (parm_array_as_string): Define new function.
266 (plus_one): Define new function.
267 (warn_parm_ptrarray_mismatch): Define new function.
268 (warn_parm_array_mismatch): Define new function.
269 (vla_bound_parm_decl): New function.
270 * c.opt (-Warray-parameter, -Wvla-parameter): New options.
271 * c-pretty-print.c (pp_c_type_qualifier_list): Don't print array type
272 qualifiers here...
273 (c_pretty_printer::direct_abstract_declarator): ...but instead print
274 them in brackets here. Also print [static]. Strip extraneous
275 expressions from VLA bounds.
276
277 2020-09-19 Martin Sebor <msebor@redhat.com>
278
279 PR c/50584
280 * c-attribs.c (c_common_attribute_table): Add "arg spec" attribute.
281 (handle_argspec_attribute): New function.
282 (get_argument, get_argument_type): New functions.
283 (append_access_attrs): Add overload. Handle internal attribute
284 representation in addition to external.
285 (handle_access_attribute): Handle internal attribute representation
286 in addition to external.
287 (build_attr_access_from_parms): New function.
288
289 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
290
291 * c-gimplify.c (genericize_c_loop): Rewrite to match
292 c_finish_loop in c-typeck.c.
293
294 2020-09-19 Sandra Loosemore <sandra@codesourcery.com>
295
296 * c-common.c (c_block_may_fallthrough): New, split from
297 cxx_block_may_fallthrough in the cp front end.
298 (c_common_init_ts): Move handling of loop and switch-related
299 statements here from the cp front end.
300 * c-common.def (FOR_STMT, WHILE_STMT, DO_STMT): Move here from
301 cp front end.
302 (BREAK_STMT, CONTINUE_STMT, SWITCH_STMT): Likewise.
303 * c-common.h (c_block_may_fallthru): Declare.
304 (bc_state_t): Move here from cp front end.
305 (save_bc_state, restore_bc_state): Declare.
306 (c_genericize_control_stmt): Declare.
307 (WHILE_COND, WHILE_BODY): Likewise.
308 (DO_COND, DO_BODY): Likewise.
309 (FOR_INIT_STMT, FOR_COND, FOR_EXPR, FOR_BODY, FOR_SCOPE): Likewise.
310 (SWITCH_STMT_COND, SWITCH_STMT_BODY): Likewise.
311 (SWITCH_STMT_TYPE, SWITCH_STMT_SCOPE): Likewise.
312 (SWITCH_STMT_ALL_CASES_P, SWITCH_STMT_NO_BREAK_P): Likewise.
313 (LABEL_DECL_BREAK, LABEL_DECL_CONTINUE): Likewise.
314 * c-dump.c (dump_stmt): Copy from cp front end.
315 (c_dump_tree): Move code to handle structured loop and switch
316 tree nodes here from cp front end.
317 * c-gimplify.c: Adjust includes.
318 (enum bc_t, bc_label, begin_bc_block, finish_bc_block): Move from
319 cp front end.
320 (save_bc_state, restore_bc_state): New functions using old code
321 from cp front end.
322 (get_bc_label, expr_loc_or_loc): Move from cp front end.
323 (genericize_c_loop): Move from cp front end.
324 (genericize_for_stmt, genericize_while_stmt): Likewise.
325 (genericize_do_stmt, genericize_switch_stmt): Likewise.
326 (genericize_continue_stmt, genericize_break_stmt): Likewise.
327 (genericize_omp_for_stmt): Likewise.
328 (c_genericize_control_stmt): New function using code split from
329 cp front end.
330 (c_genericize_control_r): New.
331 (c_genericize): Call walk_tree with c_genericize_control_r.
332 * c-pretty-print.c (c_pretty_printer::statement): Move code to handle
333 structured loop and switch tree nodes here from cp front end.
334
335 2020-09-17 Patrick Palka <ppalka@redhat.com>
336
337 PR c/80076
338 * c-indentation.c (should_warn_for_misleading_indentation): Move
339 declarations of local variables closer to their first use.
340 Handle virtual token locations by resolving them to their
341 respective macro expansion points. If all three tokens are
342 produced from the same macro expansion, then instead use their
343 loci within the macro definition.
344
345 2020-09-16 Martin Sebor <msebor@redhat.com>
346
347 PR c/78666
348 PR c/96126
349 * c-attribs.c (validate_attr_args): New function.
350 (validate_attr_arg): Same.
351 (handle_section_attribute): Call it. Introduce a local variable.
352 (handle_alloc_size_attribute): Same.
353 (handle_alloc_align_attribute): Same.
354
355 2020-09-14 Jakub Jelinek <jakub@redhat.com>
356
357 * c-attribs.c (handle_optimize_attribute): Adjust
358 cl_optimization_save, cl_optimization_restore and
359 build_optimization_node callers.
360 * c-pragma.c (handle_pragma_optimize): Adjust
361 build_optimization_node caller.
362 (handle_pragma_push_options): Adjust
363 build_optimization_node and build_target_option_node callers.
364 (handle_pragma_pop_options, handle_pragma_reset_options):
365 Adjust cl_optimization_restore callers.
366
367 2020-08-28 Martin Sebor <msebor@redhat.com>
368
369 * c.opt (Wstringop-overread): New option.
370
371 2020-08-11 Jakub Jelinek <jakub@redhat.com>
372
373 PR c/96545
374 * c-common.c (get_atomic_generic_size): Require that first argument's
375 type points to a complete type and use tree_fits_uhwi_p instead of
376 just INTEGER_CST TREE_CODE check for the TYPE_SIZE_UNIT.
377
378 2020-07-31 Martin Sebor <msebor@redhat.com>
379
380 PR c++/96003
381 * c-common.c (check_function_arguments_recurse): Return early when
382 no-warning bit is set.
383
384 2020-07-31 Richard Biener <rguenther@suse.de>
385
386 PR debug/96383
387 * c-common.h (c_common_finalize_early_debug): Declare.
388 * c-common.c: Include debug.h.
389 (c_common_finalize_early_debug): finalize_early_debug langhook
390 implementation generating debug for extern declarations.
391
392 2020-07-27 Nathan Sidwell <nathan@acm.org>
393
394 * c-common.c (try_to_locate_new_include_insertion_point): Use
395 strcmp, not pointer equality.
396
397 2020-07-25 Martin Sebor <msebor@redhat.com>
398
399 PR c++/96310
400 * c-common.c (check_nonnull_arg): Print note only when warning was
401 issued.
402
403 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
404
405 * c-omp.c (c_finish_omp_critical): Check for no name but
406 nonzero hint provided.
407
408 2020-07-20 Jason Merrill <jason@redhat.com>
409
410 * c-cppbuiltin.c (c_cpp_builtins): Update
411 __cpp_nontype_template_args for C++20.
412
413 2020-07-20 Martin Sebor <msebor@redhat.com>
414
415 PR c/96249
416 * c.opt: Remove stray text.
417
418 2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
419
420 PR other/86904
421 * c-indentation.c (should_warn_for_misleading_indentation): Get
422 global tabstop from the new source.
423 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
424 is now a common option.
425 * c.opt: Likewise.
426
427 2020-07-08 Eric Botcazou <ebotcazou@adacore.com>
428
429 * c.opt (Wscalar-storage-order): Add explicit variable.
430
431 2020-07-07 Nathan Sidwell <nathan@acm.org>
432
433 * c-opts.c (c_common_post_options): Add 'injecting' arg to
434 cpp_read_main_file.
435 (c_finish_options): Add linemap_line_start calls for builtin and cmd
436 maps. Force token position to line_table's highest line.
437 * c-ppoutput.c (print_line_1): Refactor, print line zero.
438 (cb_define): Always increment source line.
439
440 2020-07-06 Martin Sebor <msebor@redhat.com>
441
442 PR c++/95984
443 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
444 to stub lambda objects with null this pointer.
445 (check_nonnull_arg): Handle C++ nullptr.
446
447 2020-07-02 Jason Merrill <jason@redhat.com>
448 Jakub Jelinek <jakub@redhat.com>
449
450 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
451
452 2020-06-30 Jakub Jelinek <jakub@redhat.com>
453
454 PR c++/95963
455 * c-common.c (check_function_arguments_recurse): Don't crash on
456 calls to internal functions.
457
458 2020-06-28 Martin Sebor <msebor@redhat.com>
459
460 PR c++/86568
461 * c-common.c (struct nonnull_arg_ctx): Add members.
462 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
463 C++ member functions specially. Consider the this pointer implicitly
464 nonnull.
465 (check_nonnull_arg): Use location of argument when available.
466 (check_function_arguments): Use nonnull_arg_ctx as argument.
467
468 2020-06-27 Jakub Jelinek <jakub@redhat.com>
469
470 PR middle-end/95903
471 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
472 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
473 smaller precision intop operands separately.
474
475 2020-06-26 Marek Polacek <polacek@redhat.com>
476
477 * c-opts.c (c_common_init_options): Default to gnu++17.
478
479 2020-06-17 Jonathan Wakely <jwakely@redhat.com>
480
481 PR c/95378
482 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
483 pointer arguments.
484
485 2020-06-16 Jakub Jelinek <jakub@redhat.com>
486
487 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
488 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
489 idx members.
490 (c_omp_is_loop_iterator): New function.
491 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
492 if outer loop iterator is present. Perform duplicate checking through
493 hash_set in the function rather than expecting caller to do that.
494 Pass NULL instead of d->ppset to walk_tree_1.
495 (c_omp_check_nonrect_loop_iv): New function.
496 (c_omp_check_loop_iv): Use it. Fill in new members, allow
497 non-rectangular loop forms, diagnose multiple associated loops with
498 the same iterator. Pass NULL instead of &pset to walk_tree_1.
499 (c_omp_check_loop_iv_exprs): Likewise.
500
501 2020-06-10 Martin Liska <mliska@suse.cz>
502
503 PR tree-optimization/92860
504 * c-attribs.c (handle_optimize_attribute):
505 Save global options and compare it after parsing of function
506 attribute.
507 * c-pragma.c (opt_stack::saved_global_options): New field.
508 (handle_pragma_push_options): Save global_options.
509 (handle_pragma_pop_options): Compare them after pop.
510
511 2020-06-09 Jakub Jelinek <jakub@redhat.com>
512
513 PR c/95580
514 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
515 case when MEM_REF's first argument has type pointer to incomplete type.
516
517 2020-06-05 Jason Merrill <jason@redhat.com>
518
519 * c-pretty-print.c (pp_c_additive_expression): Handle negative
520 operand to POINTER_PLUS_EXPR.
521
522 2020-06-04 Martin Sebor <msebor@redhat.com>
523
524 PR middle-end/10138
525 PR middle-end/95136
526 * c-attribs.c (append_access_attrs): Handle attr_access::none.
527 (handle_access_attribute): Same.
528
529 2020-06-03 Mark Wielaard <mark@klomp.org>
530
531 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
532 New function.
533 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
534 New function declaration.
535
536 2020-06-03 Mark Wielaard <mark@klomp.org>
537
538 * known-headers.cc (get_string_macro_hint): New function.
539 (get_stdlib_header_for_name): Use get_string_macro_hint.
540 (get_c_stdlib_header_for_string_macro_name): New function.
541 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
542 New function declaration.
543
544 2020-06-03 Tobias Burnus <tobias@codesourcery.com>
545
546 * c-common.h (c_omp_predetermined_mapping): Declare.
547 * c-omp.c (c_omp_predetermined_mapping): New.
548
549 2020-05-22 Mark Wielaard <mark@klomp.org>
550
551 * known-headers.cc (get_stdlib_header_for_name): Add a new
552 stdlib_hint array for stdbool and stdint.
553
554 2020-05-22 Mark Wielaard <mark@klomp.org>
555
556 * known-headers.cc (get_stdlib_header_for_name): Return
557 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
558 flag_isoc99.
559
560 2020-05-20 Nathan Sidwell <nathan@acm.org>
561
562 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
563
564 * c-common.c (try_to_locate_new_include_insertion_point): Use
565 strcmp to compare filenames.
566 * c-lex.c (init_c_lex): Move declaration to initialization.
567 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
568 deferred count loop.
569
570 2020-05-15 Jason Merrill <jason@redhat.com>
571
572 * c-opts.c (set_std_cxx20): Set flag_coroutines.
573
574 2020-05-13 Jason Merrill <jason@redhat.com>
575
576 * c.opt (std=c++20): Make c++2a the alias.
577 (std=gnu++20): Likewise.
578 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
579 * c-opts.c: Adjust.
580 * c-cppbuiltin.c: Adjust.
581 * c-ubsan.c: Adjust.
582 * c-warn.c: Adjust.
583
584 2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
585
586 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
587
588 2020-05-08 Nathan Sidwell <nathan@acm.org>
589
590 Reimplement directives only processing.
591 * c-ppoutput.c (token_streamer): Ne.
592 (directives_only_cb): New. Swallow ...
593 (print_lines_directives_only): ... this.
594 (scan_translation_unit_directives_only): Reimplment using the
595 published interface.
596
597 2020-05-07 Marek Polacek <polacek@redhat.com>
598
599 * c-format.c (badwords): Add "nonstatic".
600
601 202-05-07 Jakub Jelinek <jakub@redhat.com>
602
603 PR c/94968
604 * c-common.c (speculation_safe_value_resolve_params): Return false if
605 error_operand_p (val2).
606 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
607 Remove extraneous semicolon.
608
609 2020-05-06 qing zhao <qing.zhao@oracle.com>
610
611 PR c/94230
612 * c-indentation.c (get_visual_column): Add a hint to use the new
613 -flarge-source-files option.
614
615 2020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
616
617 * c-attribs.c (handle_vector_size_attribute): Add attribute
618 nonnull for argument args in order to silence warning of
619 uninitialized variable usage. Since this is local to the
620 compilation unit and thus cannot be checked at call sides by the
621 compiler, added an assert statement in order to verify this.
622
623 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
624
625 PR target/93492
626 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
627 value to USHRT_MAX (65535).
628
629 2020-04-29 Jakub Jelinek <jakub@redhat.com>
630
631 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
632
633 2020-04-27 Jakub Jelinek <jakub@redhat.com>
634
635 PR c/94755
636 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
637 fncode == BUILT_IN_NONE before initialization of first_param.
638
639 2020-04-23 Marek Polacek <polacek@redhat.com>
640
641 PR c++/94733
642 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
643 TREE_PURPOSE.
644
645 2020-04-14 Patrick Palka <ppalka@redhat.com>
646
647 PR c++/85278
648 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
649 ampersand if it's an rvalue reference type.
650
651 2020-04-13 Martin Sebor <msebor@redhat.com>
652
653 PR c/92326
654 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
655 printing array bound for flexible array members.
656
657 2020-04-13 Iain Sandoe <iain@sandoe.co.uk>
658
659 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
660 define, per n4861.
661
662 2020-04-02 Richard Biener <rguenther@suse.de>
663
664 PR c/94392
665 * c-opts.c (c_common_post_options): Enable -ffinite-loops
666 for -O2 and C++11 or newer.
667
668 2020-03-28 Patrick Palka <ppalka@redhat.com>
669
670 * c.opt: Add -fconcepts-diagnostics-depth.
671
672 2020-03-27 Martin Sebor <msebor@redhat.com>
673
674 PR c++/94346
675 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
676 to decl_attributes. Make handling of different kinds of entities
677 more robust.
678
679 2020-03-27 Martin Sebor <msebor@redhat.com>
680
681 PR c++/94098
682 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
683 here.
684
685 2020-03-23 Jakub Jelinek <jakub@redhat.com>
686
687 PR c++/91993
688 * c-warn.c (warnings_for_convert_and_check): For expr and/or
689 result being COMPOUND_EXPRs, skip to ultimate rhs.
690
691 2020-03-20 Richard Sandiford <richard.sandiford@arm.com>
692
693 PR middle-end/94072
694 * c-common.c (c_common_type_for_mode): Before using a registered
695 built-in type, check that the vectorness of the type matches
696 the vectorness of the mode.
697
698 2020-03-17 Jakub Jelinek <jakub@redhat.com>
699
700 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
701 issue in a diagnostic message.
702
703 2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
704
705 * c.opt: Avoid redundancy in the help text.
706
707 2020-03-02 Marek Polacek <polacek@redhat.com>
708
709 PR c++/93958 - add missing -std=gnu++20.
710 * c.opt: Add -std=gnu++20.
711
712 2020-03-01 Martin Sebor <msebor@redhat.com>
713
714 PR c++/92721
715 * c-attribs.c (append_access_attrs): Correctly handle attribute.
716 (handle_access_attribute): Same.
717
718 2020-02-25 Jakub Jelinek <jakub@redhat.com>
719
720 PR c/93858
721 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
722 "did you mean" hint in diagnostics.
723
724 2020-02-15 Jason Merrill <jason@redhat.com>
725
726 * c.opt: Add -std=c++20.
727
728 2020-02-14 Eric Botcazou <ebotcazou@adacore.com>
729
730 * c-ada-spec.c: Include bitmap.h.
731 (dump_ada_double_name): Rename into...
732 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
733 (dump_ada_array_type): Adjust to above renaming. Robustify.
734 (dump_nested_types_1): New function copied from... Add dumped_types
735 parameter and pass it down to dump_nested_type.
736 (dump_nested_types): ...this. Remove parent parameter. Just call
737 dump_nested_types_1 on an automatic bitmap.
738 (dump_nested_type): Add dumped_types parameter.
739 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
740 Adjust recursive calls and adjust to above renaming.
741 (dump_ada_declaration): Adjust call to dump_nested_types.
742 Tidy up and adjust to above renaming.
743 (dump_ada_specs): Initialize and release bitmap obstack.
744
745 2020-02-10 Martin Sebor <msebor@redhat.com>
746
747 PR c/93640
748 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
749
750 2020-02-10 Jakub Jelinek <jakub@redhat.com>
751
752 PR other/93641
753 * c-format.c (check_plain): Fix up last argument of strncasecmp.
754 Remove useless extra test.
755
756 2020-02-03 Julian Brown <julian@codesourcery.com>
757 Tobias Burnus <tobias@codesourcery.com>
758
759 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
760
761 2020-01-29 Jason Merrill <jason@redhat.com>
762
763 PR c++/89357
764 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
765
766 2020-01-23 Jason Merrill <jason@redhat.com>
767
768 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
769
770 2020-01-23 Martin Sebor <msebor@redhat.com>
771
772 PR c/84919
773 * c-common.c (check_function_arguments): Avoid overlap checking
774 of sprintf functions.
775
776 2020-01-22 Jason Merrill <jason@redhat.com>
777
778 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
779 PR c++/40752
780 * c-warn.c (conversion_warning): Check operands only after checking
781 the whole expression. Don't check second operand of + for sign.
782
783 2020-01-21 Jason Merrill <jason@redhat.com>
784 Manuel López-Ibáñez <manu@gcc.gnu.org>
785
786 PR c++/40752 - useless -Wconversion with short +=.
787 * c.opt (-Warith-conversion): New.
788 * c-warn.c (conversion_warning): Recurse for operands of
789 operators. Only warn about the whole expression with
790 -Warith-conversion.
791
792 2020-01-21 Jason Merrill <jason@redhat.com>
793
794 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
795 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
796
797 2020-01-20 Nathan Sidwell <nathan@acm.org>
798
799 PR preprocessor/80005
800 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
801
802 2020-01-18 Iain Sandoe <iain@sandoe.co.uk>
803
804 * c-common.c (co_await, co_yield, co_return): New.
805 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
806 RID_CO_RETURN): New enumeration values.
807 (D_CXX_COROUTINES): Bit to identify coroutines are active.
808 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
809 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
810 * c.opt (fcoroutines): New command-line switch.
811
812 2020-01-10 David Malcolm <dmalcolm@redhat.com>
813
814 * c-format.c (local_event_ptr_node): New.
815 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
816 (init_dynamic_diag_info): Initialize local_event_ptr_node.
817 * c-format.h (T_EVENT_PTR): New define.
818
819 2020-01-10 Martin Sebor <msebor@redhat.com>
820
821 PR c/93132
822 * c-attribs.c (append_access_attrs): Validate against the translated
823 access string rather than the human-readable representation.
824
825 2020-01-01 Jakub Jelinek <jakub@redhat.com>
826
827 Update copyright years.
828
829 2019-12-20 Eric Botcazou <ebotcazou@adacore.com>
830
831 * c-ada-spec.h (decl_sloc): Delete.
832 * c-ada-spec.c (decl_sloc): Make static.
833
834 2019-12-19 Julian Brown <julian@codesourcery.com>
835
836 * c-common.h (c_omp_map_clause_name): Add prototype.
837 * c-omp.c (c_omp_map_clause_name): New function.
838 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
839 PRAGMA_OACC_CLAUSE_DETACH.
840
841 2019-12-19 Julian Brown <julian@codesourcery.com>
842 Maciej W. Rozycki <macro@codesourcery.com>
843 Tobias Burnus <tobias@codesourcery.com>
844 Thomas Schwinge <thomas@codesourcery.com>
845
846 * c-pragma.h (pragma_omp_clause): Add
847 PRAGMA_OACC_CLAUSE_NO_CREATE.
848
849 2019-12-17 Martin Sebor <msebor@redhat.com>
850
851 PR c++/61339
852 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
853
854 2019-12-11 David Malcolm <dmalcolm@redhat.com>
855
856 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
857 implementation.
858 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
859
860 2019-12-09 David Malcolm <dmalcolm@redhat.com>
861
862 * c-format.c (range_label_for_format_type_mismatch::get_text):
863 Replace label_text ctor called with true with label_text::take.
864
865 2019-12-09 David Malcolm <dmalcolm@redhat.com>
866
867 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
868 initial newline from expected outputs.
869 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
870 call to diagnostic_show_locus.
871
872 2019-12-06 Jakub Jelinek <jakub@redhat.com>
873
874 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
875 now.
876
877 2019-12-05 Marek Polacek <polacek@redhat.com>
878 Jakub Jelinek <jakub@redhat.com>
879
880 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
881 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
882
883 2019-12-05 Marek Polacek <polacek@redhat.com>
884
885 PR c++/92271 - make __is_same alias for __is_same_as.
886 * c-common.c: Add __is_same, an alias for __is_same_as.
887
888 2019-12-03 Marek Polacek <polacek@redhat.com>
889
890 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
891 * c-cppbuiltin.c (c_cpp_builtins): Predefine
892 __cpp_aggregate_paren_init=201902 for -std=c++2a.
893
894 2019-11-30 Jan Hubicka <hubicka@ucw.cz>
895
896 * c-attribs.c (handle_symver_attribute): New function
897 (c_common_attributes): Add symver.
898
899 2019-11-30 Richard Sandiford <richard.sandiford@arm.com>
900
901 * c-common.c (pointer_int_sum): Use verify_type_context to check
902 whether the target allows pointer arithmetic for the types involved.
903 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
904 to check whether the target allows sizeof and alignof operations
905 for the types involved.
906
907 2019-11-27 Jason Merrill <jason@redhat.com>
908
909 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
910
911 2019-11-26 Jakub Jelinek <jakub@redhat.com>
912
913 PR c++/61414
914 * c-attribs.c (handle_mode_attribute): Add mode attribute to
915 ENUMERAL_TYPEs.
916
917 2019-11-25 Joseph Myers <joseph@codesourcery.com>
918
919 PR c/91985
920 * c-common.c (c_common_type_for_mode): Handle decimal
921 floating-point types being NULL_TREE.
922 * c-format.c (get_format_for_type_1): Handle specified types being
923 NULL_TREE.
924 * c-lex.c (interpret_float): Give an error for decimal
925 floating-point constants when decimal floating-point not
926 supported.
927
928 2019-11-23 Jakub Jelinek <jakub@redhat.com>
929
930 PR middle-end/83859
931 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
932 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
933 group warning with inform together.
934 (handle_access_attribute): Formatting fix.
935
936 2019-11-22 Jakub Jelinek <jakub@redhat.com>
937
938 PR c/90677
939 * c-common.h (identifier_global_tag): Declare.
940 * c-format.c (get_pointer_to_named_type): Renamed to ...
941 (get_named_type): ... this. Use identifier_global_tag instead of
942 identifier_global_value, handle the return value being a TYPE_P.
943 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
944 to call get_named_type instead. Formatting fixes.
945
946 Implement P1902R1, Missing feature-test macros 2017-2019.
947 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
948 and __cpp_generic_lambdas for -std=c++2a. Define
949 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
950 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
951 __cpp_concepts for -std=c++2a.
952
953 2019-11-22 Martin Sebor <msebor@redhat.com>
954
955 PR middle-end/83859
956 * c-attribs.c (handle_access_attribute): New function.
957 (c_common_attribute_table): Add new attribute.
958 (get_argument_type): New function.
959 (append_access_attrs): New function.
960 (get_nonnull_operand): Rename...
961 (get_attribute_operand): ...to this.
962 * c-common.c (get_nonnull_operand): Rename...
963 (get_attribute_operand): ...to this.
964
965 2019-11-21 Joseph Myers <joseph@codesourcery.com>
966
967 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
968 of warning.
969
970 2019-11-19 Joseph Myers <joseph@codesourcery.com>
971
972 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
973 warning for standard attributes mixed with fallthrough attributes.
974
975 2019-11-15 Joseph Myers <joseph@codesourcery.com>
976
977 * c-attribs.c (handle_fallthrough_attribute): Remove static.
978 * c-common.h (handle_fallthrough_attribute): Declare.
979
980 2019-11-15 Joseph Myers <joseph@codesourcery.com>
981
982 * c-attribs.c (handle_deprecated_attribute): Remove static.
983 * c-common.h (handle_deprecated_attribute): Declare.
984
985 2019-11-14 Joseph Myers <joseph@codesourcery.com>
986
987 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
988 char for C.
989
990 2019-11-14 Jakub Jelinek <jakub@redhat.com>
991
992 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
993 valid vendors.
994
995 * c-omp.c (c_omp_check_context_selector): Handle name lists
996 containing string literals. Don't diagnose atomic_default_mem_order
997 with multiple props.
998
999 2019-11-13 Joseph Myers <joseph@codesourcery.com>
1000
1001 * c-cppbuiltin.c (builtin_define_float_constants): Also define
1002 NORM_MAX constants. Update call to get_max_float.
1003 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
1004 constants.
1005
1006 2019-11-13 Eric Botcazou <ebotcazou@adacore.com>
1007
1008 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
1009 (dump_forward_type): Do not generate a declaration for function types.
1010 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
1011 of the component type if it is declared in another file.
1012
1013 2019-11-12 Martin Liska <mliska@suse.cz>
1014
1015 * c-opts.c (c_common_post_options):
1016 Use SET_OPTION_IF_UNSET.
1017
1018 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
1019 Frederik Harwath <frederik@codesourcery.com>
1020
1021 gcc/c-family/
1022 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
1023 constant.
1024 * c-pragma.c (oacc_pragmas): Add "serial" entry.
1025
1026 2019-11-08 Richard Sandiford <richard.sandiford@arm.com>
1027
1028 * c-common.h (gnu_vector_type_p): New function.
1029 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
1030 vectors to satisfy gnu_vector_type_p.
1031 (c_build_vec_convert): Likewise __builtin_convertvector.
1032 (convert_vector_to_array_for_subscript): Likewise when applying
1033 implicit vector to array conversion.
1034 (scalar_to_vector): Likewise when converting vector-scalar
1035 operations to vector-vector operations.
1036
1037 2019-11-08 Joseph Myers <joseph@codesourcery.com>
1038
1039 * c.opt (Wold-style-definition): Initialize to -1.
1040 * c-opts.c (c_common_post_options): Set warn_old_style_definition
1041 to flag_isoc2x if not set explicitly.
1042
1043 2019-11-07 Joseph Myers <joseph@codesourcery.com>
1044
1045 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
1046
1047 2019-11-05 Jason Merrill <jason@redhat.com>
1048
1049 * c-opts.c (c_common_post_options): -fconcepts-ts implies
1050 -fconcepts.
1051
1052 2019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
1053
1054 * c-opts.c (c_common_post_options): Update
1055 latest_abi_version.
1056
1057 2019-11-02 Jakub Jelinek <jakub@redhat.com>
1058
1059 * c-common.h (c_omp_get_context_selector): Remove.
1060 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
1061 and renamed to omp_get_context_selector.
1062
1063 * c-omp.c (c_omp_mark_declare_variant): Use
1064 omp_context_selector_set_compare.
1065
1066 PR c++/88335 - Implement P1073R3: Immediate functions
1067 * c-common.h (enum rid): Add RID_CONSTEVAL.
1068 * c-common.c (c_common_reswords): Add consteval.
1069
1070 2019-11-01 Martin Sebor <msebor@redhat.com>
1071
1072 PR middle-end/91679
1073 PR middle-end/91647
1074 PR middle-end/91463
1075 PR middle-end/92312
1076 * c-pretty-print.c (direct_abstract_declarator): Print
1077 bound in zero-length arrays.
1078 * c.opt (-Wzero-length-bounds): New option.
1079
1080 2019-10-30 Nathan Sidwell <nathan@acm.org>
1081
1082 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
1083 macros.
1084
1085 2019-10-28 Martin Sebor <msebor@redhat.com>
1086
1087 PR c/66970
1088 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
1089 even when only preprocessing.
1090 * c-common.h (names_builtin_p): Declare new function.
1091 * c-lex.c (init_c_lex): Set has_builtin.
1092 (c_common_has_builtin): Define a new function.
1093 * c-ppoutput.c (init_pp_output): Set has_builtin.
1094
1095 2019-10-24 Jakub Jelinek <jakub@redhat.com>
1096
1097 * c-common.h (c_omp_context_selector_matches): Remove.
1098 * c-omp.c (c_omp_context_selector_matches): Remove.
1099 * c-attribs.c (c_common_attribute_table): Add
1100 "omp declare target {host,nohost,block}" attributes.
1101
1102 2019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
1103
1104 * c-lex.c (c_common_has_attribute): Update nodiscard value.
1105
1106 2019-10-14 Richard Sandiford <richard.sandiford@arm.com>
1107
1108 * c-common.h (user_facing_original_type_p): Declare.
1109 * c-common.c: Include c-spellcheck.h.
1110 (user_facing_original_type_p): New function.
1111
1112 2019-10-12 Jakub Jelinek <jakub@redhat.com>
1113
1114 * c-common.h (c_omp_mark_declare_variant,
1115 c_omp_context_selector_matches): Declare.
1116 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
1117 and hsa-common.h.
1118 (c_omp_get_context_selector): Support second argument NULL.
1119 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
1120 functions.
1121 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
1122 attribute, add "omp declare variant base" and
1123 "omp declare variant variant" attributes.
1124
1125 2019-10-11 Joseph Myers <joseph@codesourcery.com>
1126
1127 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
1128 CppReason(CPP_W_C11_C2X_COMPAT).
1129
1130 2019-10-11 Joseph Myers <joseph@codesourcery.com>
1131
1132 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
1133 _Decimal64 and _Decimal128.
1134
1135 2019-10-10 Joseph Myers <joseph@codesourcery.com>
1136
1137 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
1138 types if DFP not supported.
1139
1140 2019-10-10 Jakub Jelinek <jakub@redhat.com>
1141
1142 * c-common.h (c_omp_check_context_selector,
1143 c_omp_get_context_selector): Declare.
1144 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
1145 in diagnostic message.
1146 (c_omp_check_context_selector, c_omp_get_context_selector): New
1147 functions.
1148 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
1149 attribute.
1150 (handle_omp_declare_variant_attribute): New function.
1151
1152 2019-10-09 Martin Sebor <msebor@redhat.com>
1153
1154 PR tree-optimization/90879
1155 * c.opt (-Wstring-compare): New option.
1156
1157 2019-10-08 Andrew Sutton <asutton@lock3software.com>
1158 Jason Merrill <jason@redhat.com>
1159
1160 Update the concepts implementation to conform to the C++20
1161 specification, improve compile times, and generally clean up
1162 the implementation.
1163
1164 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
1165 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
1166 * c.opt: Add -Wconcepts-ts.
1167 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
1168 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
1169 (set_std_cxx2a): Enable concepts by default.
1170
1171 2019-10-08 Joseph Myers <joseph@codesourcery.com>
1172
1173 * c-opts.c (c_common_post_options): Set
1174 -fno-fp-int-builtin-inexact for C2X.
1175
1176 2019-10-05 Jakub Jelinek <jakub@redhat.com>
1177
1178 PR c++/91369 - Implement P0784R7: constexpr new
1179 * c-cppbuiltin.c (c_cpp_builtins): Predefine
1180 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
1181
1182 2019-10-04 Joseph Myers <joseph@codesourcery.com>
1183
1184 PR c/82752
1185 * c-format.c (C_STD_VER): Handle C2x.
1186 (C_STD_NAME): Likewise.
1187 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
1188 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
1189 modifier allowed and 'p' flag.
1190 * c-format.h (enum format_std_version): Add STD_C2X.
1191 (struct format_char_info): Mention 'p' in comment on flags2.
1192
1193 2019-10-01 David Malcolm <dmalcolm@redhat.com>
1194
1195 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
1196 calling diagnostic_show_locus, rather than destroying it afterwards.
1197
1198 2019-10-01 Jakub Jelinek <jakub@redhat.com>
1199
1200 PR c++/91925
1201 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
1202 with NULL DECL_FIELD_OFFSET.
1203
1204 2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
1205
1206 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
1207 has a type name, use it in preference to the __vector syntax.
1208
1209 2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
1210
1211 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
1212 two spaces between a comma and "...".
1213
1214 2019-09-27 Jakub Jelinek <jakub@redhat.com>
1215
1216 PR c++/88203
1217 * c-common.h (c_omp_predefined_variable): Declare.
1218 * c-omp.c (c_omp_predefined_variable): New function.
1219 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
1220 for predefined variables.
1221
1222 2019-09-27 Richard Sandiford <richard.sandiford@arm.com>
1223
1224 * c-common.h (build_function_call_vec): Take the original
1225 function decl as an optional final parameter.
1226 (check_builtin_function_arguments): Take the original function decl.
1227 * c-common.c (check_builtin_function_arguments): Likewise.
1228 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
1229 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
1230
1231 2019-09-15 Jason Merrill <jason@redhat.com>
1232
1233 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
1234 fold_for_warn in "|| mask" warning.
1235
1236 2019-09-10 Martin Liska <mliska@suse.cz>
1237
1238 * c.opt: Use newly added WarnRemoved.
1239
1240 2019-09-09 Martin Liska <mliska@suse.cz>
1241
1242 * c.opt: Update comment of removed
1243 options that are preserved only for backward
1244 compatibility.
1245
1246 2019-09-06 Martin Liska <mliska@suse.cz>
1247
1248 PR c++/91125
1249 * c-common.c: Remove definition of flag_use_repository.
1250 * c-common.h: Likewise.
1251 * c-opts.c (c_common_handle_option):
1252 Do not handle OPT_frepo option.
1253 * c.opt: Mark the option with Deprecated.
1254
1255 2019-09-04 Marek Polacek <polacek@redhat.com>
1256
1257 * c.opt (fdeduce-init-list): Ignored.
1258
1259 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
1260
1261 PR c/78736
1262 * c.opt (Wenum-conversion): New option.
1263
1264 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1265
1266 * c-attribs.c (handle_section_attribute): Call the
1267 handle_generic_attribute target hook after performing target
1268 independent processing.
1269 (handle_noinit_attribute): Likewise.
1270
1271 2019-09-03 Ian Lance Taylor <iant@golang.org>
1272
1273 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
1274 when using -fgo-dump-spec.
1275
1276 2019-09-02 Martin Liska <mliska@suse.cz>
1277
1278 PR c++/91155
1279 * c-common.c (fname_as_string): Use cxx_printable_name for
1280 __PRETTY_FUNCTION__ same as was used before r265711.
1281
1282 2019-08-28 Marek Polacek <polacek@redhat.com>
1283
1284 Implement P1152R4: Deprecating some uses of volatile.
1285 PR c++/91361
1286 * c-opts.c (c_common_post_options): Enable -Wvolatile by
1287 default for C++2a, unless -Wno-deprecated.
1288 * c.opt (Wvolatile): New warning.
1289
1290 2019-08-28 Marek Polacek <polacek@redhat.com>
1291
1292 PR c++/91360 - Implement C++20 P1143R2: constinit.
1293 * c-common.c (c_common_reswords): Add constinit and __constinit.
1294 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
1295 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
1296 RID_LAST_CXX20.
1297 (D_CXX20): Define.
1298 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
1299 * c-format.c (cxx_keywords): Add "constinit".
1300 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
1301
1302 2019-08-27 Jakub Jelinek <jakub@redhat.com>
1303
1304 PR c++/91415
1305 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
1306 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
1307 like COMPOUND_EXPR rather than normal expression.
1308
1309 2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
1310
1311 PR pch/61250
1312 * c-lex.c (c_lex_with_flags): Don't call
1313 c_common_no_more_pch () from here.
1314
1315 2019-08-23 Jakub Jelinek <jakub@redhat.com>
1316
1317 PR middle-end/91283
1318 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
1319 instead of flag_excess_precision_cmdline.
1320 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
1321 * c-opts.c (c_common_post_options): Likewise.
1322
1323 2019-08-22 Martin Sebor <msebor@redhat.com>
1324
1325 PR middle-end/91490
1326 * c-common.c (braced_list_to_string): Add argument and overload.
1327 Handle flexible length arrays and unions.
1328
1329 2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
1330
1331 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
1332 function declarations where arguments are missing. Rename variables.
1333
1334 2019-08-15 Richard Biener <rguenther@suse.de>
1335
1336 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
1337 enabled, define __SIZETYPE__.
1338
1339 2019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
1340
1341 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
1342 exclusion with "section" attribute.
1343 (attr_noinit_exclusions): New table.
1344 (handle_noinit_attribute): New function.
1345
1346 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
1347
1348 PR middle-end/91421
1349 * c-common.c (resolve_overloaded_builtin): Use
1350 copy_decl_built_in_function.
1351
1352 2019-08-13 Martin Sebor <msebor@redhat.com>
1353
1354 PR c/80619
1355 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
1356 (asm_fprintf_length_spec): Same.
1357 * c-format.h (format_lengths): Add FMT_LEN_w.
1358
1359 2019-08-10 Jakub Jelinek <jakub@redhat.com>
1360
1361 * c-pragma.h (enum pragma_omp_clause): Add
1362 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
1363
1364 2019-08-07 Jakub Jelinek <jakub@redhat.com>
1365
1366 * c-pragma.h (enum pragma_omp_clause): Add
1367 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
1368 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
1369 enumeration value.
1370
1371 2019-08-05 Marek Polacek <polacek@redhat.com>
1372
1373 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
1374 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
1375 default for C++2a, unless -Wno-deprecated.
1376 * c.opt (Wcomma-subscript): New warning.
1377
1378 2019-07-20 Jakub Jelinek <jakub@redhat.com>
1379
1380 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
1381 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
1382 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
1383 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
1384 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
1385 constructs with the loop construct.
1386
1387 2019-07-13 Jakub Jelinek <jakub@redhat.com>
1388
1389 PR c/91149
1390 * c-omp.c (c_omp_split_clauses): Fix a pasto in
1391 OMP_CLAUSE_REDUCTION_TASK handling.
1392
1393 2019-07-12 Jakub Jelinek <jakub@redhat.com>
1394
1395 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
1396 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
1397
1398 2019-07-09 Martin Sebor <msebor@redhat.com>
1399
1400 PR c++/61339
1401 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
1402 and others to class.
1403 * c-pretty-print.h: Same.
1404
1405 2019-07-09 Martin Sebor <msebor@redhat.com>
1406
1407 PR c++/61339
1408 * c-format.c (check_argument_type): Change class-key from class to
1409 struct and vice versa to match convention and avoid -Wclass-is-pod
1410 and -Wstruct-no-pod.
1411 * c-pretty-print.h: Same.
1412
1413 2019-07-03 Martin Liska <mliska@suse.cz>
1414
1415 * c-common.c (try_to_locate_new_include_insertion_point): Remove
1416 dead assignemts.
1417
1418 2019-07-03 Jakub Jelinek <jakub@redhat.com>
1419
1420 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
1421 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
1422 with OMP_PARALLEL.
1423
1424 2019-07-02 qing zhao <qing.zhao@oracle.com>
1425
1426 PR preprocessor/90581
1427 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
1428 * c.opt: Add new option -fmax-include-depth.
1429
1430 2019-06-26 Jason Merrill <jason@redhat.com>
1431
1432 PR c++/55442 - memory-hog with highly recursive constexpr.
1433 * c.opt (fconstexpr-loop-limit): New.
1434
1435 2019-06-25 Jakub Jelinek <jakub@redhat.com>
1436
1437 PR sanitizer/90954
1438 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
1439 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
1440
1441 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1442
1443 * c-common.c (c_common_nodes_and_builtins): Define
1444 alternate "__intN__" name for "__intN" types.
1445
1446 2019-06-24 Jan Hubicka <jh@suse.cz>
1447
1448 * c-common.c (braced_lists_to_strings): Check that
1449 type is array or integer prior checking string flag.
1450
1451 2019-06-21 Matthew Beliveau <mbelivea@redhat.com>
1452
1453 PR c++/90875 - added -Wswitch-outside-range option
1454 * c.opt (Wswitch-outside-range): Added new option.
1455 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
1456
1457 2019-06-21 Marek Polacek <polacek@redhat.com>
1458
1459 PR c++/90953 - ICE with -Wmissing-format-attribute.
1460 * c-common.c (check_function_arguments_recurse): Use
1461 get_attribute_name.
1462 (check_missing_format_attribute): Likewise.
1463
1464 2019-06-19 Marek Polacek <polacek@redhat.com>
1465
1466 PR c++/60364 - noreturn after first decl not diagnosed.
1467 * c-attribs.c (handle_noreturn_attribute): No longer static.
1468 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
1469 Declare.
1470 * c-format.c (check_function_format): Use get_attribute_name.
1471
1472 2019-06-19 Martin Sebor <msebor@redhat.com>
1473
1474 PR translation/90156
1475 * c-format.c (function_format_info::format_type): Adjust type.
1476 (function_format_info::is_raw): New member.
1477 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
1478 (decode_format_attr): Adjust call to decode_format_type.
1479 Avoid a redundant call to convert_format_name_to_system_name.
1480 Avoid abbreviating the word "arguments" in a diagnostic.
1481 (format_warning_substr): New function.
1482 (avoid_dollar_number): Quote dollar sign in a diagnostic.
1483 (finish_dollar_format_checking): Same.
1484 (check_format_info): Same.
1485 (struct baltoks_t): New.
1486 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
1487 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
1488 functions.
1489 (check_format_info_main): Call check_plain. Use baltoks_t. Call
1490 maybe_diag_unbalanced_tokens.
1491 (handle_format_attribute): Spell out the word "arguments" in
1492 a diagnostic.
1493
1494 2019-06-11 Matthew Beliveau <mbelivea@redhat.com>
1495
1496 PR c++/90449 - add -Winaccessible-base option.
1497 * c.opt (Winaccessible-base): New option.
1498
1499 2019-06-10 Jakub Jelinek <jakub@redhat.com>
1500
1501 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
1502 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
1503 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
1504 combined/composite constructs where it is not allowed. Copy over
1505 OMP_CLAUSE_REDUCTION_INSCAN.
1506
1507 2019-06-05 Martin Sebor <msebor@redhat.com>
1508
1509 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
1510 (handle_alias_ifunc_attribute): Same.
1511 (handle_copy_attribute): Same.
1512 (handle_weakref_attribute): Same.
1513 (handle_nonnull_attribute): Same.
1514 * c-warn.c (warn_for_sign_compare): Same.
1515 (warn_for_restrict): Same.
1516 * c.opt: Same.
1517
1518 2019-06-05 Martin Sebor <msebor@redhat.com>
1519
1520 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
1521 * c.opt (-Wformat-diag): Remove a spurious period.
1522
1523 2019-05-29 Jakub Jelinek <jakub@redhat.com>
1524
1525 PR c/90628
1526 * c-common.c (check_builtin_function_arguments)
1527 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
1528 as last argument.
1529
1530 2019-05-23 Eric Botcazou <ebotcazou@adacore.com>
1531
1532 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
1533
1534 2019-05-22 Martin Liska <mliska@suse.cz>
1535
1536 PR lto/90500
1537 * c-attribs.c (handle_copy_attribute): Do not copy
1538 target_clones attribute.
1539
1540 2019-05-21 Eric Botcazou <ebotcazou@adacore.com>
1541
1542 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
1543 * c-ada-spec.c (print_assignment_operator): New function.
1544 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
1545 assignment operators declared as methods and filter out the others.
1546
1547 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1548
1549 PR c/89433
1550 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
1551 "omp declare target".
1552
1553 2019-05-16 Martin Sebor <msebor@redhat.com>
1554
1555 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
1556 keywords, operators, and types in diagnostics.
1557 (handle_scalar_storage_order_attribute): Same.
1558 (handle_mode_attribute): Same.
1559 (handle_visibility_attribute): Same.
1560 (handle_assume_aligned_attribute): Same.
1561 (handle_no_split_stack_attribute): Same.
1562 * c-common.c (shorten_compare): Same.
1563 (c_common_truthvalue_conversion): Same.
1564 (cb_get_source_date_epoch): Same.
1565 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
1566 in diagnostics.
1567 (interpret_float): Same.
1568 * c-omp.c (c_finish_omp_for): Same.
1569 * c-opts.c (c_common_post_options): Same.
1570 * c-pch.c (c_common_pch_pragma): Same.
1571 * c-pragma.c (pop_alignment): Same.
1572 (handle_pragma_pack): Same.
1573 (apply_pragma_weak): Same.
1574 (handle_pragma_weak): Same.
1575 (handle_pragma_scalar_storage_order): Same.
1576 (handle_pragma_redefine_extname): Same.
1577 (add_to_renaming_pragma_list): Same.
1578 (maybe_apply_renaming_pragma): Same.
1579 (push_visibility): Same.
1580 (handle_pragma_visibility): Same.
1581 (handle_pragma_optimize): Same.
1582 (handle_pragma_message): Same.
1583 * c-warn.c (warn_for_omitted_condop): Same.
1584 (lvalue_error): Same.
1585
1586 2019-05-15 Richard Biener <rguenther@suse.de>
1587
1588 PR c/90474
1589 * c-common.c (c_common_mark_addressable_vec): Also mark
1590 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
1591 c_mark_addressable.
1592
1593 2019-05-06 Nathan Sidwell <nathan@acm.org>
1594
1595 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
1596
1597 2019-04-30 Nathan Sidwell <nathan@acm.org>
1598
1599 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
1600
1601 2019-04-30 Martin Liska <mliska@suse.cz>
1602
1603 * c-pragma.c (handle_pragma_diagnostic): Provide hints
1604 for unknown options.
1605
1606 2019-04-26 Richard Sandiford <richard.sandiford@arm.com>
1607
1608 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
1609 the pointer target rather than the pointer itself.
1610
1611 2019-04-19 Jakub Jelinek <jakub@redhat.com>
1612
1613 PR c/89888
1614 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
1615 arguments.
1616 (c_do_switch_warnings): Remove outside_range_p argument.
1617 * c-common.c (check_case_bounds): Removed.
1618 (c_add_case_label): Remove orig_type and outside_range_p arguments.
1619 Don't call check_case_bounds. Fold low_value as well as high_value.
1620 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
1621 Check for case labels outside of range of original type here and
1622 adjust them.
1623
1624 2019-04-12 Jakub Jelinek <jakub@redhat.com>
1625
1626 PR translation/90041
1627 * c.opt (-fhandle-exceptions): Use %< and %> around option names
1628 in the Warn diagnostics.
1629
1630 PR c/89946
1631 * c-attribs.c (handle_patchable_function_entry_attribute): Add
1632 function comment. Warn if arguments of the attribute are not positive
1633 integer constants.
1634
1635 2019-04-09 Eric Botcazou <ebotcazou@adacore.com>
1636
1637 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
1638 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
1639
1640 2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
1641
1642 * c-ada-spec.c (is_float128): New predicate extracted from...
1643 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
1644 <REAL_TYPE>: ...here. Call it.
1645
1646 2019-04-05 David Malcolm <dmalcolm@redhat.com>
1647
1648 PR c/89985
1649 * c-warn.c (check_address_or_pointer_of_packed_member): Add
1650 auto_diagnostic_group. Guard inform calls by result of
1651 warning_at call.
1652
1653 2019-04-05 Marek Polacek <polacek@redhat.com>
1654
1655 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
1656 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
1657 of RHS.
1658
1659 2019-04-03 Jason Merrill <jason@redhat.com>
1660
1661 PR c++/86586 - -fcompare-debug=-Wsign-compare.
1662 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
1663
1664 2019-04-01 Martin Sebor <msebor@redhat.com>
1665
1666 PR c/89685
1667 * c-attribs.c (handle_copy_attribute): Handle references and
1668 non-constant expressions.
1669
1670 2019-03-22 Jakub Jelinek <jakub@redhat.com>
1671
1672 PR c++/87481
1673 * c.opt (-fconstexpr-ops-limit=): New option.
1674
1675 2019-03-21 Jakub Jelinek <jakub@redhat.com>
1676
1677 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
1678 template param.
1679
1680 2019-03-19 Martin Sebor <msebor@redhat.com>
1681
1682 PR tree-optimization/89688
1683 * c-common.c (braced_list_to_string): Make static.
1684 (braced_lists_to_strings): Define new function.
1685 * c-common.h (braced_list_to_string): Remove.
1686 (braced_lists_to_strings): Declare.
1687
1688 2019-03-12 Martin Liska <mliska@suse.cz>
1689
1690 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
1691
1692 2019-03-11 Martin Liska <mliska@suse.cz>
1693
1694 * c-opts.c (c_common_post_options): Wrap apostrophes
1695 in gcc internal format with %'.
1696
1697 2019-03-11 Martin Liska <mliska@suse.cz>
1698
1699 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
1700 in a string format message and fix GNU coding style.
1701 * c-common.c (vector_types_convertible_p): Likewise.
1702 (c_build_vec_perm_expr): Likewise.
1703 * c-indentation.c (get_visual_column): Likewise.
1704 * c-opts.c (c_common_handle_option): Likewise.
1705 (c_common_post_options): Likewise.
1706 (sanitize_cpp_opts): Likewise.
1707 * c-pch.c (c_common_pch_pragma): Likewise.
1708 * c-pragma.c (handle_pragma_pack): Likewise.
1709
1710 2019-03-08 Jakub Jelinek <jakub@redhat.com>
1711
1712 PR tree-optimization/89550
1713 * c-common.c (c_common_truthvalue_conversion): Only set
1714 TREE_NO_WARNING if warning_at returned true.
1715 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
1716
1717 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
1718 Martin Sebor <msebor@gmail.com>
1719
1720 * c.opt (Wmissing-attributes): Clean up doc string.
1721
1722 2019-02-25 Jakub Jelinek <jakub@redhat.com>
1723
1724 PR c/89495
1725 * c-format.c (maybe_read_dollar_number): Compute nargnum in
1726 HOST_WIDE_INT type to avoid overflows and change overflow_flag
1727 checking.
1728
1729 2019-02-22 Richard Biener <rguenther@suse.de>
1730
1731 * c-pch.c (no_checksum): Remove.
1732 (pch_init): Remove assertion that executable_checksum is not
1733 all zero.
1734 (c_common_valid_pch): Likewise.
1735
1736 2019-02-18 Martin Sebor <msebor@redhat.com>
1737
1738 PR middle-end/89294
1739 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
1740
1741 2019-02-16 David Malcolm <dmalcolm@redhat.com>
1742
1743 PR c++/88680
1744 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
1745 implementing -Wtype-limits.
1746
1747 2019-02-11 Martin Sebor <msebor@redhat.com>
1748
1749 PR c++/87996
1750 * c-common.c (invalid_array_size_error): New function.
1751 (valid_array_size_p): Call it. Handle size as well as type.
1752 * c-common.h (valid_constant_size_p): New function.
1753 (enum cst_size_error): New type.
1754
1755 2019-01-31 David Malcolm <dmalcolm@redhat.com>
1756
1757 PR c/89122
1758 * known-headers.cc (get_stdlib_header_for_name): Add
1759 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
1760
1761 2019-01-31 Jakub Jelinek <jakub@redhat.com>
1762
1763 PR libstdc++/88170
1764 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
1765 a C cast in pp_c_flag_gnu_v3 mode.
1766
1767 2019-01-29 Jakub Jelinek <jakub@redhat.com>
1768
1769 PR c/86125
1770 * c-common.c (c_common_nodes_and_builtins): Build type variants for
1771 builtin_structptr_types types even for C.
1772
1773 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1774
1775 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
1776 when rhs is of array type correctly. Fix handling of nested structures.
1777 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
1778 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
1779 type casts within nested compound expressions.
1780
1781 2019-01-22 Jakub Jelinek <jakub@redhat.com>
1782
1783 PR middle-end/88968
1784 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
1785 variable after using BIT_FIELD_REF.
1786
1787 2019-01-18 H.J. Lu <hongjiu.lu@intel.com>
1788
1789 PR c/51628
1790 PR c/88664
1791 * c-common.h (warn_for_address_or_pointer_of_packed_member):
1792 Remove the boolean argument.
1793 * c-warn.c (check_address_of_packed_member): Renamed to ...
1794 (check_address_or_pointer_of_packed_member): This. Also
1795 warn pointer conversion.
1796 (check_and_warn_address_of_packed_member): Renamed to ...
1797 (check_and_warn_address_or_pointer_of_packed_member): This.
1798 Also warn pointer conversion.
1799 (warn_for_address_or_pointer_of_packed_member): Remove the
1800 boolean argument. Don't check pointer conversion here.
1801
1802 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
1803
1804 PR inline-asm/52813
1805 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
1806
1807 2019-01-14 Jakub Jelinek <jakub@redhat.com>
1808
1809 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
1810 and __cpp_nontype_template_parameter_auto. Add a comment that
1811 __cpp_template_auto is deprecated.
1812
1813 2019-01-14 Tom Honermann <tom@honermann.net>
1814
1815 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
1816 * c-common.c (c_common_reswords): Add char8_t.
1817 (fix_string_type): Use char8_t for the type of u8 string literals.
1818 (c_common_get_alias_set): char8_t doesn't alias.
1819 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
1820 C++.
1821 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
1822 (keyword_begins_type_specifier): Add RID_CHAR8.
1823 * c-common.h (rid): Add RID_CHAR8.
1824 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
1825 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
1826 Define char8_type_node and char8_array_type_node.
1827 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
1828 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
1829 (c_cpp_builtins): Predefine __cpp_char8_t.
1830 * c-lex.c (lex_string): Use char8_array_type_node as the type of
1831 CPP_UTF8STRING.
1832 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
1833 * c-opts.c: If not otherwise specified, enable -fchar8_t when
1834 targeting C++2a.
1835 * c.opt: Add the -fchar8_t command line option.
1836
1837 2019-01-14 Martin Sebor <msebor@redhat.com>
1838
1839 PR target/88638
1840 * c-attribs.c (positional_argument): Call valid_format_string_type_p
1841 and issue errors if it fails.
1842 * c-common.h (valid_format_string_type_p): Declare.
1843 * c-format.c (valid_stringptr_type_p): Rename...
1844 (valid_format_string_type_p): ...to this and make extern.
1845 (handle_format_arg_attribute): Adjust to new name.
1846 (check_format_string): Same.
1847
1848 2019-01-13 H.J. Lu <hongjiu.lu@intel.com>
1849
1850 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
1851 Replace "may may" with "may" in warning message.
1852
1853 2019-01-07 Jakub Jelinek <jakub@redhat.com>
1854
1855 PR c++/85052
1856 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
1857 (c_build_vec_convert): Declare.
1858 * c-common.c (c_build_vec_convert): New function.
1859
1860 2019-01-04 Martin Sebor <msebor@redhat.com>
1861
1862 PR c/88546
1863 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
1864 Handle C++ empty throw specification and C11 _Noreturn.
1865 (has_attribute): Also handle C11 _Noreturn.
1866
1867 2019-01-04 Martin Sebor <msebor@redhat.com>
1868
1869 PR c/88363
1870 * c-attribs.c (positional_argument): Also accept enumerated types.
1871
1872 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1873
1874 Update copyright years.
1875
1876 2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1877
1878 PR c/51628
1879 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
1880 * c-warn.c (check_alignment_of_packed_member): New function.
1881 (check_address_of_packed_member): Likewise.
1882 (check_and_warn_address_of_packed_member): Likewise.
1883 (warn_for_address_or_pointer_of_packed_member): Likewise.
1884 * c.opt: Add -Wno-address-of-packed-member.
1885
1886 2018-12-20 David Malcolm <dmalcolm@redhat.com>
1887
1888 PR c++/87504
1889 * c-warn.c (get_outermost_macro_expansion): New function.
1890 (spelled_the_same_p): Use it to unwind the macro expansions, and
1891 compare the outermost macro in each nested expansion, rather than
1892 the innermost.
1893
1894 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1895
1896 PR c++/87504
1897 * c-common.h (warn_tautological_cmp): Convert 1st param from
1898 location_t to const op_location_t &.
1899 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1900 when testing for INTEGER_CST.
1901 (warn_tautological_bitwise_comparison): Convert 1st param from
1902 location_t to const op_location_t &; use it to build a
1903 binary_op_rich_location, and use this.
1904 (spelled_the_same_p): New function.
1905 (warn_tautological_cmp): Convert 1st param from location_t to
1906 const op_location_t &. Warn for macro expansions if
1907 spelled_the_same_p. Use binary_op_rich_location.
1908
1909 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1910
1911 PR c++/43064
1912 PR c++/43486
1913 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1914 (verify_tree): Handle location wrappers.
1915 (c_common_truthvalue_conversion): Strip any location wrapper.
1916 Handle CONST_DECL.
1917 (fold_offsetof): Strip any location wrapper.
1918 (complete_array_type): Likewise for initial_value.
1919 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1920 index before checking for INTEGER_CST.
1921 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1922 print parentheses around location wrappers.
1923 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1924 before checking for INTEGER_CST.
1925 (warn_tautological_bitwise_comparison): Call
1926 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1927 before checking for INTEGER_CST.
1928 (readonly_error): Strip any location wrapper.
1929 (warn_array_subscript_with_type_char): Strip location wrappers
1930 before checking for INTEGER_CST. Use the location of the index if
1931 available.
1932
1933 2018-12-06 Jason Merrill <jason@redhat.com>
1934
1935 PR c++/88136 - -Wdeprecated-copy false positives
1936 * c.opt (Wdeprecated-copy-dtor): New.
1937 (Wdeprecated-copy): Move to -Wextra.
1938
1939 2018-11-29 Martin Sebor <msebor@redhat.com>
1940
1941 PR c/88172
1942 PR testsuite/88208
1943 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1944 alignments to values less than the target requires.
1945 (has_attribute): For attribute aligned consider both the attribute
1946 and the alignment bits.
1947 * c-common.c (c_init_attributes): Optionally issue a warning for
1948 zero alignment.
1949
1950 2018-11-28 Martin Sebor <msebor@redhat.com>
1951
1952 PR c/88065
1953 PR c/87297
1954 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1955 or destination is an error.
1956
1957 2018-11-28 Jakub Jelinek <jakub@redhat.com>
1958
1959 PR c++/88215
1960 * c-ubsan.c: Include langhooks.h.
1961 (ubsan_instrument_division): Change gcc_assert that main variants
1962 of op0 and op1 types are equal to gcc_checking_assert that the
1963 main variants are compatible types.
1964
1965 2018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1966
1967 * c-ada-spec.c: Include stringpool.h.
1968 (has_static_fields): Return false for incomplete types.
1969 (is_tagged_type): Likewise.
1970 (has_nontrivial_methods): Likewise.
1971 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1972 (struct overloaded_name_hash): New structure.
1973 (struct overloaded_name_hasher): Likewise.
1974 (overloaded_names): New global variable.
1975 (init_overloaded_names): New static function.
1976 (overloaded_name_p): New predicate.
1977 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1978 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1979 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1980 Remove always-true condition and dump forward types.
1981 (dump_ada_specs): Delete overloaded_names.
1982
1983 2018-11-20 Martin Sebor <msebor@redhat.com>
1984
1985 * c-attribs.c (type_for_vector_size): New function.
1986 (type_valid_for_vector_size): Same.
1987 (handle_vector_size_attribute): Move code to the functions above
1988 and call them.
1989 (validate_attribute, has_attribute): New functions.
1990 * c-common.h (has_attribute): Declare.
1991 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1992 * c-common.c (c_common_resword): Same.
1993
1994 2018-11-16 Jason Merrill <jason@redhat.com>
1995
1996 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1997 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1998
1999 2018-11-16 Jakub Jelinek <jakub@redhat.com>
2000
2001 PR middle-end/87854
2002 * c-common.c (fix_string_type): Reject string literals larger than
2003 TYPE_MAX_VALUE (ssizetype) bytes.
2004
2005 2018-11-15 Martin Sebor <msebor@redhat.com>
2006
2007 PR c++/87541
2008 PR c++/87542
2009 * c-attribs.c (positional_argument): New function.
2010 (handle_alloc_size_attribute): Use it and simplify.
2011 (handle_alloc_align_attribute): Same.
2012 (handle_assume_aligned_attribute): Same.
2013 (handle_nonnull_attribute): Same.
2014 * c-common.c (check_function_arguments): Pass fntype to
2015 check_function_format.
2016 * c-common.h (check_function_format): Add an argument.
2017 (PosArgFlags, positional_argument): Declare new type and function.
2018 * c-format.c (decode_format_attr): Add arguments.
2019 (check_format_string, get_constant): Same.
2020 (convert_format_name_to_system_name): Adjust.
2021
2022 2018-11-15 David Malcolm <dmalcolm@redhat.com>
2023
2024 PR other/19165
2025 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
2026
2027 2018-11-14 Jakub Jelinek <jakub@redhat.com>
2028
2029 P1236R1 - Signed integers are two's complement
2030 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
2031 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
2032 with in-range second operand well defined for -std=c++2a.
2033
2034 PR other/88007
2035 * c-common.c (parse_optimize_options): Allocate option string from
2036 opts_obstack rather than as GC memory. Move the allocation after
2037 warning for invalid option.
2038
2039 2018-11-13 David Malcolm <dmalcolm@redhat.com>
2040
2041 * c-common.c (c_get_substring_location): Update for renaming of
2042 get_source_location_for_substring to get_location_within_string.
2043 * c-lex.c: Replace "source_location" with "location_t".
2044 * c-opts.c: Likewise.
2045 * c-ppoutput.c: Likewise.
2046
2047 2018-11-13 Martin Sebor <msebor@redhat.com>
2048
2049 PR middle-end/81824
2050 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
2051 (handle_tls_model_attribute): Improve diagnostics.
2052
2053 2018-11-12 Jason Merrill <jason@redhat.com>
2054
2055 * c-cppbuiltin.c (c_cpp_builtins): Define
2056 __cpp_impl_destroying_delete.
2057
2058 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
2059 __cpp_conditional_explicit.
2060
2061 2018-11-09 Martin Sebor <msebor@redhat.com>
2062
2063 PR middle-end/81824
2064 * c-attribs.c (handle_copy_attribute): New function.
2065
2066 2018-11-09 Martin Sebor <msebor@redhat.com>
2067
2068 PR c/87795
2069 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
2070
2071 2018-11-08 Jakub Jelinek <jakub@redhat.com>
2072
2073 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
2074 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
2075 enum omp_memory_order MEMORY_ORDER.
2076 (c_finish_omp_flush): Add MO argument.
2077 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
2078 (c_finish_omp_for): Add FINAL_P argument.
2079 * c-omp.c: Include memmodel.h.
2080 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
2081 OMP_TASKGROUP_CLAUSES to it.
2082 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
2083 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
2084 instead of OMP_ATOMIC_SEQ_CST.
2085 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
2086 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
2087 __atomic_thread_fence call with the given value.
2088 (check_omp_for_incr_expr): Formatting fixes.
2089 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
2090 even in OpenMP loops, diagnose if NE_EXPR and incr expression
2091 is not constant expression 1 or -1. Transform NE_EXPR loops
2092 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
2093 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
2094 loops too.
2095 (c_omp_split_clauses): Add support for combined
2096 #pragma omp parallel master and
2097 #pragma omp {,parallel }master taskloop{, simd} constructs.
2098 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
2099 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
2100 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
2101 (c_omp_predetermined_sharing): Don't return
2102 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
2103 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
2104 PRAGMA_OMP_REQUIRES.
2105 * c-pragma.h (enum pragma_kind): Likewise.
2106 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
2107 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
2108
2109 2018-11-08 David Malcolm <dmalcolm@redhat.com>
2110
2111 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
2112
2113 2018-11-08 David Malcolm <dmalcolm@redhat.com>
2114
2115 * c-format.c (local_cgraph_node_ptr_node): New variable.
2116 (gcc_dump_printf_char_table): Add entry for %C.
2117 (get_pointer_to_named_type): New function, taken from the handling
2118 code for "gimple *" from...
2119 (init_dynamic_diag_info): ...here. Add handling for
2120 "cgraph_node *".
2121 * c-format.h (T_CGRAPH_NODE): New.
2122
2123 2018-10-19 Jason Merrill <jason@redhat.com>
2124
2125 * c-cppbuiltin.c (c_cpp_builtins): Add
2126 __cpp_nontype_template_parameter_class.
2127
2128 2018-10-31 Nathan Sidwell <nathan@acm.org>
2129
2130 * c-opts.c (c_finish_options): Force command line macro
2131 location. Refactor to avoid repeating main debug hook.
2132 (push_command_line_include): Clarify comment.
2133
2134 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
2135
2136 2018-10-30 Martin Sebor <msebor@redhat.com>
2137
2138 PR middle-end/87041
2139 * c-format.c (check_format_types): Avoid diagnosing null pointer
2140 arguments to printf-family of functions.
2141
2142 2018-10-30 Marek Polacek <polacek@redhat.com>
2143
2144 Implement P0892R2, explicit(bool).
2145 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
2146
2147 2018-10-29 David Malcolm <dmalcolm@redhat.com>
2148
2149 * name-hint.h (name_hint::take_deferred): New member function.
2150
2151 2018-10-29 David Malcolm <dmalcolm@redhat.com>
2152
2153 PR c++/56856
2154 * c-common.c (check_function_sentinel): Call fold_for_warn on the
2155 argument.
2156 (check_function_restrict): Rename param "argarray" to
2157 "unfolded_argarray", and make a copy named "argarray", calling
2158 fold_for_warn on each argument.
2159 (check_function_arguments): Add note about responsibility for
2160 folding the arguments.
2161
2162 2018-10-17 Joseph Myers <joseph@codesourcery.com>
2163
2164 * c-common.c (flag_isoc2x): New variable.
2165 * c-common.h (clk_c): Update comment to reference C2X.
2166 (flag_isoc99, flag_isoc11): Update comments to reference future
2167 standard versions in general.
2168 (flag_isoc2x): Declare.
2169 * c-opts.c (set_std_c2x): New function.
2170 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
2171 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
2172 flag_isoc2x to 0.
2173 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
2174
2175 2018-10-17 Joseph Myers <joseph@codesourcery.com>
2176
2177 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
2178 (std=iso9899:2018): Document C17 as published in 2018.
2179
2180 2018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
2181
2182 PR c++/87364
2183 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
2184
2185 2018-10-11 Will Wray <wjwray@gmail.com>
2186
2187 PR c++/87364
2188 * c-pretty-print.h (pp_c_type_cast): Prototype.
2189 (pp_c_integer_constant): Likewise.
2190 * c-pretty-print.c (pp_c_type_cast): No longer static.
2191 (pp_c_integer_constant): Likewise.
2192 (pp_c_enumeration_constant): Fix loop termination when finding
2193 name of constant. No longer returns a value. Call
2194 pp_c_integer_constant.
2195 (c_pretty_printer::constant): Update for changes to
2196 pp_c_enumeration_constant.
2197
2198 2018-10-11 Jakub Jelinek <jakub@redhat.com>
2199
2200 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
2201 for no_unique_address.
2202
2203 2018-10-09 David Malcolm <dmalcolm@redhat.com>
2204
2205 * c-common.c (c_option_controlling_cpp_error): Rename to...
2206 (c_option_controlling_cpp_diagnostic): ...this, and convert
2207 "reason" from int to enum.
2208 (c_cpp_error): Rename to...
2209 (c_cpp_diagnostic): ...this, converting level and reason to enums.
2210 * c-common.h (c_cpp_error): Rename to...
2211 (c_cpp_diagnostic): ...this, converting level and reason to enums.
2212 * c-opts.c (c_common_init_options): Update for renaming.
2213
2214 2018-10-08 Richard Sandiford <richard.sandiford@arm.com>
2215
2216 PR c/87286
2217 * c-common.c (vector_types_compatible_elements_p): Use
2218 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
2219
2220 2018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
2221
2222 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
2223 to generate constructor destructor priority warning.
2224 * c.opt (-Wprio-ctor-dtor): New option.
2225
2226 2018-10-01 Jason Merrill <jason@redhat.com>
2227
2228 * c-lex.c (c_common_has_attribute): Add no_unique_address.
2229
2230 2018-10-01 Eric Botcazou <ebotcazou@adacore.com>
2231
2232 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
2233 (dump_ada_node): Add const keyword.
2234
2235 2018-09-25 Martin Liska <mliska@suse.cz>
2236
2237 * c-common.c (c_common_truthvalue_conversion):
2238 Remove Pascal from documentation.
2239
2240 2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
2241
2242 * c-ada-spec.c: Include diagnostic.h.
2243 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
2244
2245 2018-09-19 Marek Polacek <polacek@redhat.com>
2246
2247 * c.opt (Wclass-conversion): New.
2248
2249 2018-09-17 David Malcolm <dmalcolm@redhat.com>
2250
2251 * c-format.c (range_label_for_format_type_mismatch::get_text):
2252 Update for new param.
2253
2254 2018-09-17 David Malcolm <dmalcolm@redhat.com>
2255
2256 * c-format.c (format_warning_at_char): Update for introduction of
2257 format_string_diagnostic_t.
2258 (format_type_warning): Likewise.
2259
2260 2018-09-17 Martin Jambor <mjambor@suse.cz>
2261
2262 PR c/63886
2263 * c.opt (Wabsolute-value): New.
2264
2265 2018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
2266
2267 * c-common.c (complete_flexible_array_elts): New helper function.
2268 * c-common.h (complete_flexible_array_elts): Declare.
2269
2270 2018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2271
2272 * c-common.c (braced_list_to_string): Remove eval parameter.
2273 Add some more checks. Always create zero-terminated STRING_CST.
2274 * c-common.h (braced_list_to_string): Adjust prototype.
2275
2276 2018-08-27 David Malcolm <dmalcolm@redhat.com>
2277
2278 PR 87091
2279 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
2280 to a tri-state.
2281 (maybe_suggest_missing_token_insertion): Likewise.
2282 (maybe_add_include_fixit): Add param "override_location". If set,
2283 and source-printing is enabled, then override the rich_location's
2284 primary location with that of the insertion point for the fix-it
2285 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
2286 * c-common.h (extern void maybe_add_include_fixit): Add bool
2287 param.
2288 * c-format.c (selftest::test_type_mismatch_range_labels): Update
2289 for conversion of show_caret_p to a tri-state.
2290 * c-warn.c (warn_for_restrict): Likewise.
2291 * known-headers.cc
2292 (suggest_missing_header::~suggest_missing_header): Update call to
2293 maybe_add_include_fixit to suggest overriding the location, as it
2294 is for a note.
2295
2296 2018-08-27 Martin Liska <mliska@suse.cz>
2297
2298 * c-common.c (check_function_restrict): Use new function
2299 fndecl_built_in_p and remove check for FUNCTION_DECL if
2300 possible.
2301 (check_builtin_function_arguments): Likewise.
2302 (reject_gcc_builtin): Likewise.
2303 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
2304
2305 2018-08-26 Marek Polacek <polacek@redhat.com>
2306
2307 PR c++/87029, Implement -Wredundant-move.
2308 * c.opt (Wredundant-move): New option.
2309
2310 2018-08-21 Marek Polacek <polacek@redhat.com>
2311
2312 PR c++/86981, Implement -Wpessimizing-move.
2313 * c.opt (Wpessimizing-move): New option.
2314
2315 2018-08-20 David Malcolm <dmalcolm@redhat.com>
2316
2317 PR other/84889
2318 * c-attribs.c (common_handle_aligned_attribute): Add
2319 auto_diagnostic_group instance.
2320 * c-indentation.c (warn_for_misleading_indentation): Likewise.
2321 * c-opts.c (c_common_post_options): Likewise.
2322 * c-warn.c (warn_logical_not_parentheses): Likewise.
2323 (warn_duplicated_cond_add_or_warn): Likewise.
2324 (warn_for_multistatement_macros): Likewise.
2325
2326 2018-08-20 Nathan Sidwell <nathan@acm.org>
2327
2328 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
2329 access.
2330
2331 2018-08-17 Nathan Sidwell <nathan@acm.org>
2332
2333 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
2334 field.
2335 (laxy_hex_fp_value_count): Make unsigned.
2336 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
2337 manipulate the macro.
2338 (builtin_defin_with_hex_fp_value): Adjust callback name, use
2339 cpp_define_lazily.
2340
2341 2018-08-17 David Malcolm <dmalcolm@redhat.com>
2342
2343 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
2344 (gcc_dump_printf_length_specs): New.
2345 (gcc_dump_printf_flag_pairs): New.
2346 (gcc_dump_printf_flag_specs): New.
2347 (gcc_dump_printf_char_table): New.
2348 (format_types_orig): Add entry for "gcc_dump_printf".
2349 (init_dynamic_diag_info): Set up length_char_specs and
2350 conversion_specs for gcc_dump_printf_format_type.
2351 (handle_format_attribute): Handle gcc_dump_printf_format_type.
2352
2353 2018-08-17 Nathan Sidwell <nathan@acm.org>
2354
2355 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
2356
2357 * c-ada-spec.c: Don't #include "cpp-id-data.h"
2358 * c-cppbuiltin.c: Likewise.
2359
2360 2018-08-17 Martin Liska <mliska@suse.cz>
2361
2362 * c.opt: Remove Warn, Init and Report for options with
2363 Ignore/Deprecated flag. Warning is done automatically for
2364 Deprecated flags.
2365
2366 2018-08-16 David Malcolm <dmalcolm@redhat.com>
2367
2368 PR c++/70693
2369 * c-common.c (selftest::c_family_tests): Call
2370 selftest::c_indentation_c_tests.
2371 * c-common.h (selftest::c_indentation_c_tests): New decl.
2372 * c-indentation.c: Include "selftest.h".
2373 (next_tab_stop): Add "tab_width" param, rather than accessing
2374 cpp_opts.
2375 (get_visual_column): Likewise. Clarify comment. Bulletproof
2376 against reading past the end of the line.
2377 (get_first_nws_vis_column): Add "tab_width" param.
2378 (detect_intervening_unindent): Likewise.
2379 (should_warn_for_misleading_indentation): Read tab width from
2380 cpp_opts and pass around.
2381 (selftest::test_next_tab_stop): New test.
2382 (selftest::assert_get_visual_column_succeeds): New function.
2383 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
2384 (selftest::assert_get_visual_column_fails): New function.
2385 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
2386 (selftest::test_get_visual_column): New test.
2387 (selftest::c_indentation_c_tests): New function.
2388
2389 2018-08-16 Nathan Sidwell <nathan@acm.org>
2390
2391 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
2392 (store_ada_macro): Likewise.
2393 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
2394 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
2395
2396 2018-08-15 David Malcolm <dmalcolm@redhat.com>
2397
2398 * c-format.c: Include "selftest-diagnostic.h" and
2399 "gcc-rich-location.h".
2400 (format_warning_at_char): Pass NULL for new label params of
2401 format_warning_va.
2402 (class indirection_suffix): New class.
2403 (class range_label_for_format_type_mismatch): New class.
2404 (format_type_warning): Move logic for generating "*" suffix to
2405 class indirection_suffix. Create "fmt_label" and "param_label"
2406 to show their types, and pass them to the
2407 format_warning_at_substring calls.
2408 (selftest::test_type_mismatch_range_labels): New test.
2409 (selftest::c_format_c_tests): Call it.
2410
2411 2018-08-13 Martin Sebor <msebor@redhat.com>
2412
2413 PR tree-optimization/71625
2414 * c-common.c (braced_list_to_string): New function.
2415 * c-common.h (braced_list_to_string): Declare it.
2416
2417 2018-08-08 Nathan Sidwell <nathan@acm.org>
2418
2419 * c-common.c (try_to_locate_new_include_inertion_point): Use
2420 linemap_included_from_linemap.
2421 * c-lex.c (fe_file_change): Use linemap_included_from.
2422 * c-ppoutput.c (pp_file_change): Likewise.
2423
2424 2018-08-01 Martin Sebor <msebor@redhat.com>
2425
2426 PR tree-optimization/86650
2427 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
2428 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
2429 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
2430 * c-format.h (T89_G): Update to be "gimple *" rather than
2431 "gcall *".
2432 (local_gcall_ptr_node): Rename...
2433 (local_gimple_ptr_node): ...to this.
2434
2435 2018-07-31 David Malcolm <dmalcolm@redhat.com>
2436
2437 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
2438 table entries for gcc_diag_char_table, and the 'Z' entry from
2439 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
2440 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
2441 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
2442 adding missing "Z" for this table. Remove erroneous "G" and "K"
2443 entries.
2444 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
2445 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
2446 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
2447
2448 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
2449
2450 * c-common.c (speculation_safe_resolve_call): New function.
2451 (speculation_safe_resolve_params): New function.
2452 (speculation_safe_resolve_return): New function.
2453 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
2454 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
2455 __HAVE_SPECULATION_SAFE_VALUE.
2456
2457 2018-07-20 David Malcolm <dmalcolm@redhat.com>
2458
2459 * c-common.c (c_cpp_error): Remove redundant "line_table"
2460 parameter from call to rich_location::set_range.
2461 (maybe_suggest_missing_token_insertion): Likewise.
2462
2463 2018-07-20 Martin Sebor <msebor@redhat.com>
2464
2465 PR middle-end/82063
2466 * c.opt (-Warray-bounds): Remove redundant -Wall.
2467
2468 2018-07-20 Martin Sebor <msebor@redhat.com>
2469
2470 PR middle-end/82063
2471 * c-common.h (c_common_handle_option): Change function argument
2472 to HOST_WIDE_INT.
2473 * c-opts.c (c_common_init_options): Same.
2474 (c_common_handle_option): Same. Remove special handling of
2475 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
2476 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
2477 options to take a HOST_WIDE_INT argument and accept a byte-size
2478 suffix. Initialize.
2479 (-Wvla-larger-than): Same.
2480 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
2481 (-Wno-vla-larger-than): Same.
2482
2483 2018-07-12 Jakub Jelinek <jakub@redhat.com>
2484
2485 * c-attribs.c (c_common_attribute_table): Add
2486 "omp declare target implicit" attribute.
2487
2488 2018-07-12 Richard Biener <rguenther@suse.de>
2489
2490 PR c/86453
2491 * c-attribs.c (handle_packed_attribute): Do not build a variant
2492 type with TYPE_PACKED, instead ignore the attribute if we may
2493 not apply to the original type.
2494
2495 2018-07-10 Jakub Jelinek <jakub@redhat.com>
2496
2497 PR c++/86443
2498 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
2499 to contain TREE_LIST for both the original class iterator and the
2500 "last" helper var.
2501
2502 2018-07-07 Eric Botcazou <ebotcazou@adacore.com>
2503
2504 * c-ada-spec.c (to_ada_name): Remove index parameter.
2505 (pp_ada_tree_identifier): Likewise.
2506 (dump_ada_macros): Adjust call to to_ada_name.
2507 (struct overloaded_name_hash): Delete.
2508 (struct overloaded_name_hasher): Likewise.
2509 (overloaded_names): Likewise.
2510 (compute_overloading_index): Likewise.
2511 (dump_ada_decl_name): Do not call compute_overloading_index and
2512 adjust calls to pp_ada_tree_identifier.
2513 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2514 (dump_ada_import): Add spc parameter and switch to aspect syntax.
2515 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
2516 (dump_ada_enum_type): Remove type and display_convention parameters.
2517 Adjust calls to pp_ada_tree_identifier.
2518 (dump_ada_node): Likewise and for dump_ada_structure.
2519 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
2520 and tidy up.
2521 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
2522 syntax.
2523 (print_constructor): Adjust call to pp_ada_tree_identifier.
2524 (print_destructor): Likewise.
2525 (dump_ada_declaration): Switch to aspect syntax.
2526 (dump_ada_structure): Likewise and tidy up. Replace display_convention
2527 parameter with nested parameter.
2528 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
2529 (dump_ada_specs): Do not delete overloaded_names table.
2530
2531 2018-07-06 Peter Bergner <bergner@linux.ibm.com>
2532
2533 PR target/86324
2534 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
2535 target hook.
2536
2537 2018-07-05 Nathan Sidwell <nathan@acm.org>
2538
2539 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
2540 NO_IMPLICIT_EXTERN_C.
2541
2542 2018-06-28 Martin Liska <mliska@suse.cz>
2543
2544 * cppspec.c: Include opt-suggestions.h.
2545
2546 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2547 Thomas Schwinge <thomas@codesourcery.com>
2548 Cesar Philippidis <cesar@codesourcery.com>
2549
2550 * c-pragma.h (enum pragma_omp_clause): Add
2551 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
2552 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
2553
2554 2018-06-20 Jakub Jelinek <jakub@redhat.com>
2555
2556 PR c++/86210
2557 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
2558 comment.
2559
2560 2018-06-18 Martin Sebor <msebor@redhat.com>
2561
2562 PR middle-end/85602
2563 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
2564 nonstring.
2565
2566 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
2567
2568 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
2569
2570 2018-06-13 Jason Merrill <jason@redhat.com>
2571
2572 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
2573 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
2574 handling.
2575
2576 PR c++/86094 - wrong code with defaulted move ctor.
2577 * c-opts.c (c_common_post_options): Bump the current ABI version to
2578 13. Set warn_abi_version and flag_abi_compat_version to the current
2579 version rather than 0. Fix defaulting flag_abi_compat_version from
2580 warn_abi_version.
2581
2582 2018-06-12 Martin Sebor <msebor@redhat.com>
2583
2584 PR c/85931
2585 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
2586 sizeof source and destination yields the same value.
2587
2588 2018-06-12 Martin Liska <mliska@suse.cz>
2589
2590 * c.opt: Make MPX-related options as Deprecated.
2591
2592 2018-06-08 David Malcolm <dmalcolm@redhat.com>
2593
2594 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
2595 rather than 0.
2596
2597 2018-06-08 Martin Liska <mliska@suse.cz>
2598
2599 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
2600 for MPX (macros, related functions, fields in cgraph_node, ...).
2601 (handle_bnd_legacy): Likewise.
2602 (handle_bnd_instrument): Likewise.
2603 * c.opt: Likewise.
2604
2605 2018-06-06 Jakub Jelinek <jakub@redhat.com>
2606
2607 PR c++/86068
2608 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
2609 __cpp_transactional_memory to 201500 instead of 210500.
2610
2611 2018-06-06 Jason Merrill <jason@redhat.com>
2612
2613 PR c++/85710 - ICE with -Wmemset-elt-size.
2614 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
2615
2616 2018-06-01 Jason Merrill <jason@redhat.com>
2617
2618 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
2619 201703.
2620
2621 2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
2622
2623 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
2624 declaration for a typedef independently of whether the declaration of
2625 the subtype is generated.
2626
2627 2018-05-31 Martin Sebor <msebor@redhat.com>
2628
2629 PR c/82063
2630 * c.opt (-Wno-alloc-size-larger-than): New option.
2631
2632 2018-04-22 David Pagan <dave.pagan@oracle.com>
2633
2634 PR c/55976
2635 * c-opts.c (c_common_post_options): Set default for warn_return_type
2636 for C++/C++ with ObjC extensions only. For C, makes it possible to
2637 differentiate between default (no option), -Wreturn-type, and
2638 -Wno-return-type.
2639
2640 2018-05-29 Jason Merrill <jason@redhat.com>
2641
2642 * c.opt (Winit-list-lifetime): New flag.
2643
2644 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
2645
2646 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
2647 splay_tree_delete_pointers.
2648
2649 2018-05-26 Jakub Jelinek <jakub@redhat.com>
2650
2651 PR bootstrap/85921
2652 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
2653 noinline variable to workaround broken kernel headers.
2654
2655 2018-05-18 Jason Merrill <jason@redhat.com>
2656
2657 * c.opt (Wdeprecated-copy): New flag.
2658
2659 2018-05-17 Martin Liska <mliska@suse.cz>
2660
2661 * c-warn.c (overflow_warning): Do not use
2662 space in between 'G_' and '('.
2663
2664 2018-05-09 Jason Merrill <jason@redhat.com>
2665
2666 * c-common.c (valid_array_size_p): Add complain parameter.
2667 * c-common.h: ...which defaults to true.
2668
2669 2018-05-11 Jakub Jelinek <jakub@redhat.com>
2670
2671 PR c/85696
2672 * c-omp.c (c_omp_predetermined_sharing): Return
2673 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
2674
2675 2018-05-11 Martin Liska <mliska@suse.cz>
2676
2677 PR sanitizer/85556
2678 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
2679 TREE_LIST values.
2680
2681 2018-05-10 Jakub Jelinek <jakub@redhat.com>
2682
2683 PR c++/85662
2684 * c-common.h (fold_offsetof_1): Removed.
2685 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
2686 CTX argument defaulted to ERROR_MARK.
2687 * c-common.c (fold_offsetof_1): Renamed to ...
2688 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
2689 argument, convert the pointer constant to TYPE and use size_binop
2690 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
2691 a pointer type. Adjust recursive calls.
2692
2693 2018-05-10 Eric Botcazou <ebotcazou@adacore.com>
2694
2695 PR c++/85400
2696 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
2697
2698 2018-05-07 Nathan Sidwell <nathan@acm.org>
2699
2700 * c.opt (ffor-scope): Remove functionality, issue warning.
2701
2702 2018-05-03 Nathan Sidwell <nathan@acm.org>
2703
2704 * c.opt (ffriend-injection): Remove functionality, issue warning.
2705
2706 2018-05-01 David Malcolm <dmalcolm@redhat.com>
2707
2708 PR c/84258
2709 * c-format.c (struct format_check_results): Add field
2710 "number_non_char".
2711 (check_format_info): Initialize it, and warn if encountered.
2712 (check_format_arg): Distinguish between wide char and
2713 everything else when detecting arrays of non-char.
2714
2715 2018-04-30 David Malcolm <dmalcolm@redhat.com>
2716
2717 * c-format.c (get_corrected_substring): Update for
2718 location_get_source_line returning a char_span. Use a char_span
2719 when handling the prefix of the correction.
2720 * c-indentation.c (get_visual_column): Update for
2721 location_get_source_line returning a char_span.
2722 (get_first_nws_vis_column): Likewise.
2723
2724 2018-03-29 David Malcolm <dmalcolm@redhat.com>
2725
2726 PR c++/84269
2727 * known-headers.cc (get_stdlib_header_for_name): Add various names
2728 from <assert.h>, <string.h>, and <memory.h>; add more names from
2729 <stdio.h>.
2730
2731 2018-03-27 Jakub Jelinek <jakub@redhat.com>
2732
2733 PR c++/85061
2734 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
2735 get_base_address of the second operand is a VAR_P, rather than the
2736 operand itself, and use gcc_checking_assert instead of gcc_assert.
2737
2738 2018-03-23 Marek Polacek <polacek@redhat.com>
2739
2740 PR c++/85045
2741 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
2742 <case RDIV_EXPR>: Tweak condition.
2743
2744 2018-03-20 Eric Botcazou <ebotcazou@adacore.com>
2745
2746 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
2747
2748 2018-03-16 Jakub Jelinek <jakub@redhat.com>
2749
2750 PR c/84909
2751 * c-warn.c (conversion_warning): Replace "to to" with "to" in
2752 diagnostics.
2753
2754 PR c/84910
2755 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
2756 diagnostics.
2757
2758 2018-03-16 Richard Biener <rguenther@suse.de>
2759
2760 PR c/84873
2761 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
2762 unshare the possibly folded expression.
2763
2764 2018-03-15 Richard Biener <rguenther@suse.de>
2765
2766 PR c/84873
2767 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
2768
2769 2018-03-13 Martin Sebor <msebor@redhat.com>
2770
2771 PR tree-optimization/84725
2772 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
2773 with all three narrow character types, including their qualified forms.
2774
2775 2018-03-12 Martin Sebor <msebor@redhat.com>
2776
2777 PR tree-optimization/83456
2778 * c-common.c (check_function_restrict): Return bool.
2779 Restore checking of bounded built-in functions.
2780 (check_function_arguments): Also return the result
2781 of warn_for_restrict.
2782 * c-common.c (check_function_restrict): Return bool.
2783 * c-warn.c (warn_for_restrict): Return bool.
2784
2785 2018-03-02 Marek Polacek <polacek@redhat.com>
2786
2787 PR c++/84171
2788 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
2789 is erroneous.
2790
2791 2018-03-02 Thomas Schwinge <thomas@codesourcery.com>
2792
2793 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
2794 function".
2795
2796 2018-03-01 Marek Polacek <polacek@redhat.com>
2797
2798 PR c++/84639
2799 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
2800 alignment in computation.
2801
2802 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2803
2804 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
2805 <REAL_TYPE>: Deal specifically with _Float128/__float128.
2806
2807 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2808
2809 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
2810 (is_char_array): Take a type instead of a declaration.
2811 (dump_ada_array_type): Likewise.
2812 (is_simple_enum): Minor tweak.
2813 (dump_ada_enum_type): New function extracted from...
2814 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
2815 <INTEGER_TYPE>: Remove unreachable code.
2816 <RECORD_TYPE>: Likewise. Minor tweaks.
2817 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
2818 <ENUMERAL_TYPE>: New case.
2819 <RECORD_TYPE>: Factor out common code.
2820 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
2821 Minor tweaks. Deal with enumeral types.
2822 (dump_ada_structure): Minor tweaks.
2823
2824 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2825
2826 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
2827 address for incomplete structures.
2828 (dump_forward_type): Do not bail out for incomplete structures.
2829 (dump_ada_declaration): Do not special-case incomplete structures
2830 for subtypes. Dump them as null records for types.
2831
2832 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2833
2834 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
2835 (is_char_array): Fix formatting.
2836 (dump_template_types): Likewise.
2837 (dump_generic_ada_node): Rename into...
2838 (dump_ada_node): ...this.
2839 <POINTER_TYPE>: Remove superfluous space. Use generic address for
2840 incomplete structures and not for empty structures. Do not use it
2841 when forward declarations are needed.
2842 (dump_forward_type): New function.
2843 (dump_nested_types): Remove FORWARD parameter. Do not consider
2844 TREE_VISITED and do not generate a forward declaration. Only dump
2845 original nested types for nested declaration.
2846 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
2847 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
2848 <RECORD_TYPE>: Do not consider TREE_VISITED.
2849 (dump_ada_declaration): Use booleans and fix formatting throughout.
2850 <TYPE_DECL>: Skip incomplete structures and not empty structures.
2851 Call dump_forward_type instead of dump_nested_types for a typedef.
2852 Remove superfluous check and adjust call to dump_nested_types.
2853 <POINTER_TYPE>: Call dump_forward_type and fall through.
2854 (dump_ada_struct_decl): Rename into...
2855 (dump_ada_structure): ...this. Do not special-case empty structures.
2856
2857 2018-02-27 Martin Sebor <msebor@redhat.com>
2858
2859 PR c++/83871
2860 * c.opt (-Wmissing-attributes): New option.
2861
2862 2018-02-21 Martin Liska <mliska@suse.cz>
2863
2864 * c.opt (Wcatch-value=): Add IntegerRange.
2865
2866 2018-02-15 Jason Merrill <jason@redhat.com>
2867
2868 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2869
2870 2018-02-09 Nathan Sidwell <nathan@acm.org>
2871
2872 PR c/84293
2873 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
2874 arg.
2875 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
2876 arg. Adjust.
2877
2878 2018-02-09 Martin Sebor <msebor@redhat.com>
2879
2880 PR lto/84212
2881 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
2882 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
2883 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
2884 (-Wstrict-overflow, -Wsuggest-attribute): Same.
2885 (-Wuninitialized): Same.
2886
2887 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2888
2889 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
2890 keyword for components.
2891
2892 2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
2893
2894 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
2895
2896 2018-02-02 Julia Koval <julia.koval@intel.com>
2897
2898 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2899
2900 2018-01-29 Marek Polacek <polacek@redhat.com>
2901
2902 PR c/83966
2903 * c-format.c (check_function_format): Check current_function_decl.
2904
2905 2018-01-27 Jakub Jelinek <jakub@redhat.com>
2906
2907 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2908 argument.
2909 (LAZY_HEX_FP_VALUES_CNT): Define.
2910 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2911 values rather than just 12.
2912 (builtin_define_with_hex_fp_value): Likewise.
2913
2914 2018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2915
2916 PR other/70268
2917 * c.opt (-fmacro-prefix-map): New option.
2918 * c-opts.c (c_common_handle_option): Handle it.
2919 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2920 * c-ppoutput.c (init_pp_output): Likewise.
2921
2922 2018-01-17 David Malcolm <dmalcolm@redhat.com>
2923
2924 PR c++/83814
2925 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2926
2927 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2928
2929 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2930 Skip 'f' and 'F' characters if it is true.
2931 (store_ada_macro): Minor tweak.
2932 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2933 <CPP_WSTRING>: Likewise.
2934 <CPP_STRING>: Output '&' in the buffer if not the first string.
2935 <CPP_NUMBER>: Adjust calls to dump_number.
2936
2937 2018-01-10 David Malcolm <dmalcolm@redhat.com>
2938
2939 PR c++/43486
2940 * c-common.c: Include "selftest.h".
2941 (get_atomic_generic_size): Perform the test for integral type
2942 before the range test for any integer constant, fixing indentation
2943 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2944 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2945 (selftest::test_fold_for_warn): New function.
2946 (selftest::c_common_c_tests): New function.
2947 (selftest::c_family_tests): Call it, and
2948 selftest::c_pretty_print_c_tests.
2949 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2950 * c-format.c (check_format_arg): Convert VAR_P check to a
2951 fold_for_warn.
2952 * c-pretty-print.c: Include "selftest.h".
2953 (pp_c_cast_expression): Don't print casts for location wrappers.
2954 (selftest::assert_c_pretty_printer_output): New function.
2955 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2956 (selftest::test_location_wrappers): New function.
2957 (selftest::c_pretty_print_c_tests): New function.
2958 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2959
2960 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2961 Alan Hayward <alan.hayward@arm.com>
2962 David Sherwood <david.sherwood@arm.com>
2963
2964 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2965
2966 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2967 Alan Hayward <alan.hayward@arm.com>
2968 David Sherwood <david.sherwood@arm.com>
2969
2970 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2971 as polynomial.
2972
2973 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2974 Alan Hayward <alan.hayward@arm.com>
2975 David Sherwood <david.sherwood@arm.com>
2976
2977 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2978 (convert_vector_to_array_for_subscript): Handle polynomial
2979 TYPE_VECTOR_SUBPARTS.
2980 (c_common_type_for_mode): Check valid_vector_subparts_p.
2981 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2982 VECTOR_CST_NELTS.
2983
2984 2018-01-03 Jakub Jelinek <jakub@redhat.com>
2985
2986 Update copyright years.
2987
2988 2017-12-22 Mike Stump <mikestump@comcast.net>
2989 Eric Botcazou <ebotcazou@adacore.com>
2990
2991 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2992 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2993
2994 2017-12-22 Alexandre Oliva <aoliva@redhat.com>
2995
2996 PR debug/83527
2997 PR debug/83419
2998 * c-semantics.c (only_debug_stmts_after_p): New.
2999 (pop_stmt_list): Clear side effects in debug-only stmt list.
3000 Check for single nondebug stmt followed by debug stmts only.
3001
3002 2017-12-21 Alexandre Oliva <aoliva@redhat.com>
3003
3004 PR debug/83419
3005 * c-semantics.c (pop_stmt_list): Propagate side effects from
3006 single nondebug stmt to container list.
3007
3008 2017-12-19 Jakub Jelinek <jakub@redhat.com>
3009
3010 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
3011 conditions with typical order conditions.
3012
3013 2017-12-18 Marek Polacek <polacek@redhat.com>
3014
3015 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
3016 not in effect.
3017
3018 2017-12-17 Martin Sebor <msebor@redhat.com>
3019
3020 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
3021 an error for attribute warn_if_not_aligned.
3022
3023 2017-12-16 Martin Sebor <msebor@redhat.com>
3024
3025 PR tree-optimization/78918
3026 * c-common.c (check_function_restrict): Avoid checking built-ins.
3027 * c.opt (-Wrestrict): Include in -Wall.
3028
3029 2017-12-15 Jakub Jelinek <jakub@redhat.com>
3030
3031 * c-attribs.c (c_common_attribute_table,
3032 c_common_format_attribute_table): Swap affects_type_identity
3033 and handler fields, adjust comments.
3034
3035 2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
3036
3037 * c.opt (Wcast-function-type): New warning option.
3038 * c-lex.c (get_fileinfo): Avoid warning.
3039 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
3040
3041 2017-12-14 Qing Zhao <qing.zhao@oracle.com>
3042
3043 PR middle_end/79538
3044 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
3045 Adjust the size of buf1 and buf2, add a new buf to avoid
3046 format-overflow warning.
3047
3048 2017-12-12 Alexandre Oliva <aoliva@redhat.com>
3049
3050 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
3051 subsequent statement list.
3052
3053 2017-12-07 Martin Sebor <msebor@redhat.com>
3054
3055 PR c/81544
3056 PR c/81566
3057 * c-attribs.c (attr_aligned_exclusions): New array.
3058 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
3059 (attr_common_exclusions, attr_const_pure_exclusions): Same.
3060 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
3061 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
3062 (attr_warn_unused_result_exclusions): Same.
3063 (handle_hot_attribute, handle_cold_attribute): Simplify.
3064 (handle_const_attribute): Warn on function returning void.
3065 (handle_pure_attribute): Same.
3066 (handle_aligned_attribute): Diagnose conflicting attribute
3067 specifications.
3068 * c-warn.c (diagnose_mismatched_attributes): Simplify.
3069
3070 2017-12-06 David Malcolm <dmalcolm@redhat.com>
3071
3072 PR c/83236
3073 * c-common.c (selftest::c_family_tests): Call
3074 selftest::c_spellcheck_cc_tests.
3075 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
3076 * c-spellcheck.cc: Include "selftest.h".
3077 (name_reserved_for_implementation_p): New function.
3078 (should_suggest_as_macro_p): New function.
3079 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
3080 should_suggest_as_macro_p and call it.
3081 (selftest::test_name_reserved_for_implementation_p): New function.
3082 (selftest::c_spellcheck_cc_tests): New function.
3083 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
3084
3085 2017-12-06 David Malcolm <dmalcolm@redhat.com>
3086
3087 * c-spellcheck.cc: New file, taken from macro-handling code in
3088 spellcheck-tree.c.
3089 * c-spellcheck.h: New file, taken from macro-handling code in
3090 spellcheck-tree.h.
3091
3092 2017-12-01 Jakub Jelinek <jakub@redhat.com>
3093
3094 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
3095 attribute.
3096 (handle_simd_attribute): Don't check for "cilk simd function"
3097 attribute. Reindent, formatting changes.
3098
3099 2017-11-30 Julia Koval <julia.koval@intel.com>
3100
3101 * c-common.h (inv_list): Remove.
3102
3103 2017-11-28 Jakub Jelinek <jakub@redhat.com>
3104
3105 PR sanitizer/81275
3106 * c-common.c (c_switch_covers_all_cases_p_1,
3107 c_switch_covers_all_cases_p): New functions.
3108 * c-common.h (c_switch_covers_all_cases_p): Declare.
3109
3110 2017-11-28 Julia Koval <julia.koval@intel.com>
3111 Sebastian Peryt <sebastian.peryt@intel.com>
3112
3113 * array-notation-common.c: Delete.
3114 * c-cilkplus.c: Ditto.
3115 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
3116 * c-common.def (ARRAY_NOTATION_REF): Remove.
3117 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
3118 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
3119 c_validate_cilk_plus_loop, cilkplus_an_parts,
3120 cilk_ignorable_spawn_rhs_op,
3121 cilk_recognize_spawn): Remove.
3122 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
3123 * c-omp.c: Remove CILK_SIMD check.
3124 * c-pragma.c: Ditto.
3125 * c-pragma.h: Remove CILK related pragmas.
3126 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
3127 ARRAY_NOTATION_REF condition.
3128 (c_pretty_printer::expression): Ditto.
3129 * c.opt (fcilkplus): Remove.
3130 * cilk.c: Delete.
3131
3132 2017-11-21 Marc Glisse <marc.glisse@inria.fr>
3133
3134 * c-pretty-print.c (pp_c_additive_expression,
3135 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
3136
3137 2017-11-21 Jakub Jelinek <jakub@redhat.com>
3138
3139 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
3140
3141 PR c++/83059
3142 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
3143 instead of tree_to_uhwi, formatting fix.
3144
3145 2017-11-20 David Malcolm <dmalcolm@redhat.com>
3146
3147 PR c/81404
3148 * known-headers.cc: New file, based on material from c/c-decl.c.
3149 (suggest_missing_header): Copied as-is.
3150 (get_stdlib_header_for_name): New, based on get_c_name_hint but
3151 heavily edited to add C++ support. Add some knowledge about
3152 <limits.h>, <stdint.h>, and <wchar.h>.
3153 * known-headers.h: Likewise.
3154
3155 2017-11-20 David Malcolm <dmalcolm@redhat.com>
3156
3157 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
3158 (lookup_name_fuzzy): Likewise. Convert return type from
3159 const char * to name_hint. Add location_t param.
3160 * name-hint.h: New header.
3161
3162 2017-11-19 Jakub Jelinek <jakub@redhat.com>
3163
3164 PR c/66618
3165 PR c/69960
3166 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
3167
3168 2017-11-16 Joseph Myers <joseph@codesourcery.com>
3169
3170 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
3171 expected publication date of C17.
3172 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
3173
3174 2017-11-15 Joseph Myers <joseph@codesourcery.com>
3175
3176 PR c/81156
3177 * c-common.c (c_common_reswords): Add __builtin_tgmath.
3178 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
3179
3180 2017-11-10 Martin Sebor <msebor@redhat.com>
3181
3182 PR c/81117
3183 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
3184 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
3185 * c.opt (-Wstringop-truncation): New option.
3186
3187 2017-11-06 Martin Liska <mliska@suse.cz>
3188
3189 PR middle-end/82404
3190 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
3191 FE.
3192 * c.opt: Set default value of warn_return_type.
3193
3194 2017-10-31 David Malcolm <dmalcolm@redhat.com>
3195
3196 * c-common.c (binary_op_error): Update for renaming of
3197 error_at_rich_loc.
3198 (c_parse_error): Likewise.
3199 * c-warn.c (warn_logical_not_parentheses): Likewise for
3200 renaming of inform_at_rich_loc.
3201 (warn_for_restrict): Likewise for renaming of
3202 warning_at_rich_loc_n.
3203
3204 2017-10-30 Joseph Myers <joseph@codesourcery.com>
3205
3206 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
3207 * c-opts.c (set_std_c17): New function.
3208 (c_common_init_options): Use gnu17 as default C version.
3209 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
3210
3211 2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
3212
3213 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
3214 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
3215 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
3216 __FP_FAST_FMA<N>X.
3217
3218 2017-10-23 Marek Polacek <polacek@redhat.com>
3219
3220 PR c/82681
3221 * c-warn.c (warnings_for_convert_and_check): Fix typos.
3222
3223 2017-10-19 Eric Botcazou <ebotcazou@adacore.com>
3224
3225 * c-common.c (check_builtin_function_arguments): Also check arguments
3226 of __builtin_alloca_with_align_and_max.
3227
3228 2017-10-17 David Malcolm <dmalcolm@redhat.com>
3229
3230 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
3231 rather than NULL to format_warning_va.
3232 (check_format_types): Likewise when calling format_type_warning.
3233 Remove code to extract source_ranges and source_range * in favor
3234 of just a location_t.
3235 (format_type_warning): Convert source_range * param to a
3236 location_t.
3237
3238 2017-10-13 Jakub Jelinek <jakub@redhat.com>
3239
3240 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
3241 [LR]SHIFT_EXPR.
3242
3243 2017-10-12 David Malcolm <dmalcolm@redhat.com>
3244
3245 * c-common.c (enum missing_token_insertion_kind): New enum.
3246 (get_missing_token_insertion_kind): New function.
3247 (maybe_suggest_missing_token_insertion): New function.
3248 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
3249
3250 2017-10-11 Nathan Sidwell <nathan@acm.org>
3251
3252 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
3253 (c_common_handle_option): Update incpath_kind names.
3254
3255 2017-10-11 Martin Liska <mliska@suse.cz>
3256
3257 PR sanitizer/82490
3258 * c-attribs.c (handle_no_sanitize_attribute): Report directly
3259 Wattributes warning.
3260
3261 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
3262
3263 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
3264 operating on trees as wide_ints.
3265 * c-common.c (pointer_int_sum): Likewise.
3266 * c-pretty-print.c (pp_c_integer_constant): Likewise.
3267 * c-warn.c (match_case_to_enum_1): Likewise.
3268 (c_do_switch_warnings): Likewise.
3269 (maybe_warn_shift_overflow): Likewise.
3270
3271 2017-10-10 Jakub Jelinek <jakub@redhat.com>
3272
3273 PR c/82437
3274 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
3275 instead of wide_int::from.
3276
3277 2017-10-06 Jakub Jelinek <jakub@redhat.com>
3278
3279 PR c/82437
3280 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
3281 using to_widest use wide_int with the larger of the two precisions.
3282
3283 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
3284
3285 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
3286 functions.
3287
3288 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
3289
3290 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
3291 when combining the original unconverted comparison operands.
3292
3293 2017-09-29 Jakub Jelinek <jakub@redhat.com>
3294
3295 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
3296 attribute.
3297
3298 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
3299
3300 * c-ada-spec.c (to_ada_name): Add index parameter.
3301 (pp_ada_tree_identifier): Likewise.
3302 (dump_ada_macros): Adjust call to to_ada_name.
3303 (struct overloaded_name_hash): New type.
3304 (struct overloaded_name_hasher): Likewise.
3305 (overloaded_names): New hash table.
3306 (compute_overloading_index): New function.
3307 (dump_ada_decl_name): Call it and pass the result to
3308 pp_ada_tree_identifier.
3309 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
3310 (dump_ada_function_declaration): Likewise.
3311 (dump_generic_ada_node): Likewise.
3312 (print_constructor): Likewise.
3313 (print_destructor): Likewise.
3314 (dump_ada_specs): Delete overloaded_names table.
3315
3316 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
3317
3318 * c-ada-spec.c (max_ada_macros): Move around.
3319 (store_ada_macro_index): Likewise.
3320 (source_file): Rename into...
3321 (macro_source_file): ...this.
3322 (count_ada_macro): Move around.
3323 (store_ada_macro): Likewise.
3324 (compare_macro): Likewise.
3325 (print_ada_macros): Merge in...
3326 (dump_ada_macros): ...this.
3327 (source_file_base): Rename into...
3328 (current_source_file): ...this.
3329 (print_comment): Move around.
3330 (dump_ada_nodes): Call dump_ada_declaration directly.
3331 (struct with): Change type of limited field to bool.
3332 (append_withs): Change type of limited_access parameter to bool.
3333 (pp_ada_tree_identifie): Likewise.
3334 (dump_ada_decl_nam): Likewise.
3335 (dump_generic_ada_node): Likewise. Do not print the return type.
3336 (to_ada_name): Change type of space_found parameter to bool.
3337 (dump_ada_function_declaration): Return void and change type of
3338 parameters to bool. Also print the return type for a function.
3339 (print_ada_methods): Rename into...
3340 (dump_ada_methods): ...this.
3341 (print_ada_declaration): Rename into ...
3342 (dump_ada_declaration): ...this. Do not print the return type.
3343 (print_ada_struct_decl): Rename into...
3344 (dump_ada_struct_decl): ...this.
3345
3346 2017-09-29 Jakub Jelinek <jakub@redhat.com>
3347
3348 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
3349 rather than DECL_INITIAL.
3350 (common_handle_aligned_attribute): Likewise.
3351
3352 2017-09-20 Alexandre Oliva <aoliva@redhat.com>
3353
3354 * c.opt (gen-decls): Add RejectNegative.
3355
3356 2017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
3357 Jakub Jelinek <jakub@redhat.com>
3358
3359 Add support for -std=c++2a.
3360 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
3361 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
3362 * c-opts.c (set_std_cxx2a): New.
3363 (c_common_handle_option): Set options when -std=c++2a is enabled.
3364 (c_common_post_options): Adjust comments.
3365 (set_std_cxx14, set_std_cxx17): Likewise.
3366
3367 2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
3368
3369 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
3370 message for non-uniform endianness and issue a warning in C++.
3371
3372 2017-09-15 Jakub Jelinek <jakub@redhat.com>
3373
3374 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
3375 (Wc++17-compat): Change from undocumented alias to option.
3376 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
3377 change C++1z to C++17 in description.
3378 (std=c++1z, std=gnu++1z): Change from option to undocumented
3379 deprecated alias.
3380 (std=c++17, std=gnu++17): Change from undocumented alias to option.
3381 Adjust description.
3382 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
3383 * c-opts.c (set_std_cxx1z): Rename to ...
3384 (set_std_cxx17): ... this.
3385 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
3386 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
3387 caller.
3388 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
3389 comments.
3390
3391 2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
3392
3393 * c-attribs.c (common_handle_aligned_attribute): Don't warn
3394 function alignment if warn_if_not_aligned_p is true.
3395
3396 2017-09-12 Nathan Sidwell <nathan@acm.org>
3397
3398 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
3399 resort_sorted_fields): Move to c/c-decl.c.
3400 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
3401 (struct sorted_fields_type): Move to c/c-lang.h.
3402
3403 2017-09-09 Jonathan Wakely <jwakely@redhat.com>
3404
3405 PR c++/81852
3406 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
3407
3408 2017-09-04 Marek Polacek <polacek@redhat.com>
3409
3410 PR c/81783
3411 * c-warn.c (warn_tautological_bitwise_comparison): New function.
3412 (warn_tautological_cmp): Call it.
3413
3414 2017-09-01 Boris Kolpackov <boris@codesynthesis.com>
3415
3416 * c-opts.c (c_common_finish): Write dependency information even if
3417 there are errors.
3418
3419 2017-09-01 Jakub Jelinek <jakub@redhat.com>
3420
3421 PR c/81887
3422 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
3423 (omp_pragmas_simd): ... here.
3424 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
3425 create new clauses list containing just simd clause.
3426
3427 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3428 Alan Hayward <alan.hayward@arm.com>
3429 David Sherwood <david.sherwood@arm.com>
3430
3431 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
3432 into scalar_mode_supported_p call.
3433 (handle_mode_attribute): Update call to scalar_mode_supported_p.
3434
3435 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3436 Alan Hayward <alan.hayward@arm.com>
3437 David Sherwood <david.sherwood@arm.com>
3438
3439 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
3440 for the mode iterator.
3441
3442 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3443 Alan Hayward <alan.hayward@arm.com>
3444 David Sherwood <david.sherwood@arm.com>
3445
3446 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
3447 * c-common.c (c_build_vec_perm_expr): Likewise.
3448
3449 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3450 Alan Hayward <alan.hayward@arm.com>
3451 David Sherwood <david.sherwood@arm.com>
3452
3453 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
3454
3455 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3456 Alan Hayward <alan.hayward@arm.com>
3457 David Sherwood <david.sherwood@arm.com>
3458
3459 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
3460 before calling targetm.addr_space.valid_pointer_mode.
3461
3462 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3463 Alan Hayward <alan.hayward@arm.com>
3464 David Sherwood <david.sherwood@arm.com>
3465
3466 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
3467
3468 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3469 Alan Hayward <alan.hayward@arm.com>
3470 David Sherwood <david.sherwood@arm.com>
3471
3472 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
3473 iterators.
3474 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3475
3476 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3477 Alan Hayward <alan.hayward@arm.com>
3478 David Sherwood <david.sherwood@arm.com>
3479
3480 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
3481 case statements.
3482
3483 2017-08-29 Martin Liska <mliska@suse.cz>
3484
3485 PR other/39851
3486 * c-common.c (parse_optimize_options): Add argument to function
3487 call.
3488 * c-pragma.c (handle_pragma_diagnostic): Likewise.
3489
3490 2017-08-24 David Malcolm <dmalcolm@redhat.com>
3491
3492 * c-lex.c (interpret_float): Use token location
3493 when building an EXCESS_PRECISION_EXPR.
3494
3495 2017-08-21 David Malcolm <dmalcolm@redhat.com>
3496
3497 * c-common.c (check_function_arguments): Add "arglogs" param; pass
3498 it to check_function_format.
3499 * c-common.h (check_function_arguments): Add vec<location_t> *
3500 param.
3501 (check_function_format): Likewise.
3502 * c-format.c (struct format_check_context): Add field "arglocs".
3503 (check_function_format): Add param "arglocs"; pass it to
3504 check_format_info.
3505 (check_format_info): Add param "arglocs"; use it to initialize
3506 new field of format_ctx.
3507 (check_format_arg): Pass format_ctx->arglocs to new param of
3508 check_format_info_main.
3509 (class argument_parser): New field "arglocs".
3510 (argument_parser::argument_parser): Add "arglocs_" param and use
3511 it to initialize new field.
3512 (argument_parser::check_argument_type): Pass new arglocs field to
3513 check_format_types.
3514 (check_format_info_main): Add param "arglocs", and use it when
3515 constructing arg_parser.
3516 (check_format_types): Add param "arglocs"; use it if non-NULL when
3517 !EXPR_HAS_LOCATION (cur_param) to get at location information.
3518
3519 2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
3520
3521 PR c/53037
3522 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
3523 (c_common_attribute_table): Add warn_if_not_aligned.
3524 (handle_aligned_attribute): Renamed to ...
3525 (common_handle_aligned_attribute): Remove argument, name, and add
3526 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
3527 (handle_aligned_attribute): New.
3528 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
3529
3530 2017-08-14 Martin Sebor <msebor@redhat.com>
3531
3532 PR c/81117
3533 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
3534 (handle_nonstring_attribute): New function.
3535
3536 2017-08-14 Martin Sebor <msebor@redhat.com>
3537
3538 PR c/81117
3539 * c-format.h (T89_G): New macro.
3540 * c-format.c (local_gcall_ptr_node): New variable.
3541 (init_dynamic_diag_info): Initialize it.
3542
3543 2017-08-11 Martin Liska <mliska@suse.cz>
3544
3545 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
3546 TARGET_SUPPORTS_ALIASES.
3547
3548 2017-08-10 David Malcolm <dmalcolm@redhat.com>
3549
3550 * c-common.c (c_parse_error): Add rich_location * param, using it
3551 rather implicitly using input_location.
3552 * c-common.h (c_parse_error): Add rich_location * param.
3553
3554 2017-08-09 Marek Polacek <polacek@redhat.com>
3555
3556 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
3557 (c_common_truthvalue_conversion): Likewise.
3558 * c-omp.c (c_finish_omp_atomic): Likewise.
3559 * c-common.h (build_binary_op): Update declaration.
3560
3561 2017-08-08 Martin Liska <mliska@suse.cz>
3562
3563 * c-ada-spec.c: Include header files.
3564 * c-ubsan.c: Likewise.
3565 * c-warn.c: Likewise.
3566
3567 2017-08-07 Jakub Jelinek <jakub@redhat.com>
3568
3569 PR c/69389
3570 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
3571
3572 2017-08-07 Eric Botcazou <ebotcazou@adacore.com>
3573
3574 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
3575 (print_ada_methods): Likewise.
3576 (print_ada_declaration): Likewise.
3577
3578 2017-08-07 Martin Liska <mliska@suse.cz>
3579
3580 * array-notation-common.c: Add new includes.
3581 * c-format.c( handle_format_attribute): Canonicalize a format
3582 function name.
3583 * c-lex.c (c_common_has_attribute): Canonicalize name of an
3584 attribute.
3585 * c-pretty-print.c: Add new include.
3586
3587 2017-08-05 Eric Botcazou <ebotcazou@adacore.com>
3588
3589 * c-ada-spec.c (has_static_fields): Look only into variables.
3590 (print_constructor): Add TYPE parameter and use it for the name.
3591 (print_destructor): Likewise.
3592 (print_ada_declaration): Adjust to new constructor/destructor names.
3593 Adjust calls to print_constructor and print_destructor.
3594 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
3595 Look only into variables in the final loop.
3596
3597 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
3598
3599 * c-ada-spec.c (has_static_fields): Look only into fields.
3600 (dump_generic_ada_node): Small tweak.
3601 (dump_nested_types): Look only into fields.
3602 (print_ada_declaration): Look only into methods. Small tweak.
3603 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
3604
3605 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
3606
3607 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
3608 (dump_ada_function_declaration): Likewise.
3609 (dump_generic_ada_node): Likewise.
3610 (print_ada_declaration): Add support for const-qualified variables.
3611
3612 2017-07-31 Martin Liska <mliska@suse.cz>
3613
3614 PR sanitize/81530
3615 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
3616 Guard condition with flag_sanitize_p also with current_function_decl
3617 non-null equality.
3618 (ubsan_maybe_instrument_reference_or_call): Likewise.
3619
3620 2017-07-30 Uros Bizjak <ubizjak@gmail.com>
3621
3622 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
3623
3624 2017-07-29 Eric Botcazou <ebotcazou@adacore.com>
3625
3626 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
3627 for enumeral types.
3628 (print_ada_declaration): Add missing guard for record types.
3629
3630 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3631
3632 PR c/45784
3633 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
3634 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
3635 new COMPOUND_EXPRs around the rhs of the comparison.
3636
3637 2017-07-27 Marek Polacek <polacek@redhat.com>
3638
3639 PR c/81417
3640 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
3641 the types.
3642
3643 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3644
3645 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
3646 (handle_noipa_attribute): New function.
3647
3648 2017-07-07 Torsten Duwe <duwe@suse.de>
3649
3650 * c-attribs.c (c_common_attribute_table): Add entry for
3651 "patchable_function_entry".
3652
3653 2017-07-20 Nathan Sidwell <nathan@acm.org>
3654
3655 Remove TYPE_METHODS.
3656 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
3657 dump_ada_template, print_ada_methods,
3658 print_ada_declaration): Member fns are on TYPE_FIELDS.
3659
3660 2017-07-18 Nathan Sidwell <nathan@acm.org>
3661
3662 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
3663
3664 2017-07-14 David Malcolm <dmalcolm@redhat.com>
3665
3666 * c-common.c (try_to_locate_new_include_insertion_point): New
3667 function.
3668 (per_file_includes_t): New typedef.
3669 (added_includes_t): New typedef.
3670 (added_includes): New variable.
3671 (maybe_add_include_fixit): New function.
3672 * c-common.h (maybe_add_include_fixit): New decl.
3673
3674 2017-07-10 Martin Sebor <msebor@redhat.com>
3675
3676 PR other/81345
3677 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
3678
3679 2017-07-06 David Malcolm <dmalcolm@redhat.com>
3680
3681 * c-common.c (selftest::c_family_tests): New.
3682 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
3683 (selftest::c_family_tests): New decl.
3684
3685 2017-07-04 Marek Polacek <polacek@redhat.com>
3686
3687 PR c/81231
3688 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
3689 types.
3690
3691 2017-07-04 Marek Polacek <polacek@redhat.com>
3692
3693 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
3694
3695 2017-06-28 Martin Liska <mliska@suse.cz>
3696
3697 PR ipa/81128
3698 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
3699 to a function declaration.
3700
3701 2017-06-28 Martin Liska <mliska@suse.cz>
3702
3703 PR driver/79659
3704 * c.opt: Add IntegerRange to various options.
3705
3706 2017-06-26 Marek Polacek <polacek@redhat.com>
3707
3708 PR c/80116
3709 * c-common.h (warn_for_multistatement_macros): Declare.
3710 * c-warn.c: Include "c-family/c-indentation.h".
3711 (warn_for_multistatement_macros): New function.
3712 * c.opt (Wmultistatement-macros): New option.
3713 * c-indentation.c (guard_tinfo_to_string): No longer static.
3714 Change the parameter type to "enum rid". Handle RID_SWITCH.
3715 * c-indentation.h (guard_tinfo_to_string): Declare.
3716
3717 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
3718
3719 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
3720
3721 2017-06-15 Martin Sebor <msebor@redhat.com>
3722
3723 PR c++/80560
3724 * c.opt (-Wclass-memaccess): New option.
3725
3726 2017-06-14 Boris Kolpackov <boris@codesynthesis.com>
3727
3728 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
3729
3730 2017-06-13 Marek Polacek <polacek@redhat.com>
3731
3732 PR objc/80949
3733 * c-warn.c (do_warn_duplicated_branches): Return if any of the
3734 branches is null.
3735
3736 2017-06-13 Martin Liska <mliska@suse.cz>
3737
3738 PR sanitize/78204
3739 * c-attribs.c (add_no_sanitize_value): New function.
3740 (handle_no_sanitize_attribute): Likewise.
3741 (handle_no_sanitize_address_attribute): Use the function.
3742 (handle_no_sanitize_thread_attribute): New function.
3743 (handle_no_address_safety_analysis_attribute): Use
3744 add_no_sanitize_value.
3745 (handle_no_sanitize_undefined_attribute): Likewise.
3746 * c-common.h: Declare new functions.
3747 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
3748 (ubsan_instrument_shift): Likewise.
3749 (ubsan_instrument_bounds): Likewise.
3750 (ubsan_maybe_instrument_array_ref): Likewise.
3751 (ubsan_maybe_instrument_reference_or_call): Likewise.
3752
3753 2017-06-11 Jason Merrill <jason@redhat.com>
3754
3755 * c-ada-spec.c, c-pragma.c: Use id_equal.
3756
3757 2017-06-04 Marek Polacek <polacek@redhat.com>
3758
3759 PR c/80919
3760 * c-format.c (matching_type_p): Return false if any of the types
3761 requires structural equality.
3762
3763 2017-06-02 Martin Sebor <msebor@redhat.com>
3764
3765 PR c/80892
3766 * c-warn.c (conversion_warning): Use -Wconversion for integer
3767 conversion and -Wfloat-conversion for floating one.
3768
3769 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3770
3771 * c.opt (Wsizeof-pointer-div): New warning option.
3772
3773 2017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
3774
3775 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
3776 (Wcatch-value=1): Enable by -Wall.
3777
3778 2017-05-30 David Malcolm <dmalcolm@redhat.com>
3779
3780 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
3781 format_chars.
3782 * c.opt (fdiagnostics-show-template-tree): New option.
3783 (felide-type): New option.
3784
3785 2017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
3786
3787 * c.opt (Wcatch-value=): New C++ warning flag.
3788
3789 2017-05-24 Nathan Sidwell <nathan@acm.org>
3790
3791 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
3792 const casts to avoid warning.
3793
3794 2017-05-24 Martin Sebor <msebor@redhat.com>
3795
3796 PR c/80731
3797 * c-common.h (unsafe_conversion_p): Add a function argument.
3798 * c-common.c (unsafe_conversion_p): Same.
3799 Add type names and values to diagnostics.
3800 (scalar_to_vector): Adjust.
3801 * c-warn.c (constant_expression_error): Add a function argument.
3802 Add type names and values to diagnostics.
3803 (conversion_warning): Add a function argument.
3804 Add type names and values to diagnostics.
3805 (warnings_for_convert_and_check): Same.
3806
3807 2017-05-19 Jason Merrill <jason@redhat.com>
3808
3809 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
3810 enumerators.
3811
3812 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3813
3814 * c-format.c (locus): Move out of function scope,
3815 add GTY attribute.
3816
3817 2017-05-19 Nathan Sidwell <nathan@acm.org>
3818
3819 * c-opts.c (class_dump_file, class_dump_flags): Delete.
3820 (c_common_parse_file): Remove class dump handling.
3821 (get_dump_info): Likewise.
3822
3823 2017-05-19 Richard Biener <rguenther@suse.de>
3824
3825 PR c++/80593
3826 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
3827 to alias-set zero memory.
3828
3829 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
3830
3831 * c-format.c (local_tree_type_node): Add GTY attribute.
3832
3833 2017-05-18 Marek Polacek <polacek@redhat.com>
3834
3835 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
3836 (c_common_fixed_point_type_for_size): Likewise.
3837 (c_common_type_for_mode): Likewise.
3838 (shorten_compare): Likewise.
3839 (c_promoting_integer_type_p): Use false/true instead of 0/1.
3840 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
3841
3842 2017-05-18 Marek Polacek <polacek@redhat.com>
3843
3844 * c-common.c (self_promoting_args_p): Change the return type to bool.
3845 Use false/true instead of 0/1.
3846 * c-common.h (self_promoting_args_p): Update.
3847
3848 2017-05-17 Marek Polacek <polacek@redhat.com>
3849
3850 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
3851 * c-warn.c: Likewise.
3852
3853 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
3854
3855 Implement new C++ intrinsics __is_assignable and __is_constructible.
3856 * c-common.c (__is_assignable, __is_constructible): New.
3857 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
3858
3859 2017-05-17 Martin Liska <mliska@suse.cz>
3860
3861 * c-common.h: Introduce dump_flags_t type and
3862 use it instead of int type.
3863 * c-gimplify.c (c_genericize): Likewise.
3864 * c-opts.c: Likewise.
3865
3866 2017-05-17 Marek Polacek <polacek@redhat.com>
3867
3868 * c-common.c (c_save_expr): Remove.
3869 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
3870 * c-common.h (c_save_expr): Remove declaration.
3871
3872 2017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
3873
3874 PR c/35441
3875 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
3876 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
3877 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
3878 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
3879 RDIV_EXPR.
3880 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
3881
3882 2017-05-09 Marek Polacek <polacek@redhat.com>
3883
3884 PR c/80525
3885 * c-warn.c (unwrap_c_maybe_const): New.
3886 (warn_logical_operator): Call it.
3887
3888 2017-05-09 Nathan Sidwell <nathan@acm.org>
3889
3890 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
3891 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
3892
3893 2017-05-08 Martin Sebor <msebor@redhat.com>
3894
3895 PR translation/80280
3896 * c-format.h (struct format_flag_spec): Add new member.
3897 (T89_T): New macro.
3898 * c-format.c (local_tree_type_node): New global.
3899 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3900 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3901 (strfmon_flag_specs): Likewise.
3902 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3903 with distinct quoting properties.
3904 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3905 (flag_chars_t::validate): Add argument and handle bad quoting.
3906 (check_format_info_main): Handle quoting problems.
3907 (init_dynamic_diag_info): Simplify.
3908
3909 2017-05-08 Jason Merrill <jason@redhat.com>
3910
3911 * c-opts.c (c_common_post_options): Update defaults for
3912 flag_abi_version and flag_abi_compat_version.
3913
3914 2017-05-05 David Malcolm <dmalcolm@redhat.com>
3915
3916 * c-common.c (c_cpp_error): Replace report_diagnostic
3917 with diagnostic_report_diagnostic.
3918
3919 2017-05-04 Martin Sebor <msebor@redhat.com>
3920
3921 PR translation/80280
3922 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3923 (handle_weakref_attribute): Same.
3924
3925 2017-05-03 Nathan Sidwell <nathan@acm.org>
3926
3927 Canonicalize canonical type hashing
3928 * c-common.c (complete_array_type): Use type_hash_canon.
3929
3930 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3931
3932 PR c++/80038
3933 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3934 prototype.
3935 (cilk_install_body_pedigree_operations): Likewise.
3936 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3937 detatched.
3938 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3939 (cilk_install_body_pedigree_operations): Likewise.
3940 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3941 unwrapping.
3942
3943 2017-04-27 Jakub Jelinek <jakub@redhat.com>
3944
3945 PR c++/80534
3946 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3947 flag on non-aggregate element types.
3948
3949 2017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3950
3951 * c-common.c (c_type_hasher, type_hash_table): Remove.
3952 (c_common_get_alias_set): Remove unreachable code.
3953 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3954
3955 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3956
3957 * c.opt (Wextra-semi): New C++ warning flag.
3958
3959 2017-04-20 Jakub Jelinek <jakub@redhat.com>
3960
3961 PR middle-end/80423
3962 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3963
3964 2017-04-18 Jakub Jelinek <jakub@redhat.com>
3965
3966 PR middle-end/79788
3967 PR middle-end/80375
3968 * c-common.c (c_common_type_for_mode): Don't handle
3969 widest_*_literal_type_node here.
3970 c_common_signed_or_unsigned_type): Likewise.
3971 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3972 to *intTI_type_node or *intDI_type_node depending on whether
3973 TImode is supported by the target or not.
3974
3975 2017-04-10 Martin Liska <mliska@suse.cz>
3976
3977 PR sanitizer/80350
3978 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3979 doing an UBSAN check.
3980
3981 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
3982
3983 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3984
3985 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3986
3987 PR c++/79572
3988 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3989 tree *.
3990 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3991 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3992 REFERENCE_TYPE.
3993
3994 2017-03-31 David Malcolm <dmalcolm@redhat.com>
3995
3996 PR documentation/78732
3997 * c.opt (Wendif-labels): Fix description to refer to
3998 #else rather than #elif.
3999
4000 2017-03-31 Jakub Jelinek <jakub@redhat.com>
4001
4002 PR libstdc++/80251
4003 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
4004 * c-common.c (c_common_reswords): Add __is_aggregate trait.
4005
4006 2017-03-27 Jakub Jelinek <jakub@redhat.com>
4007
4008 PR middle-end/80162
4009 * c-common.c (c_common_mark_addressable_vec): Don't set
4010 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
4011
4012 2017-03-21 Martin Sebor <msebor@redhat.com>
4013
4014 PR c++/79548
4015 * c-common.c (set_underlying_type): Mark type used only when
4016 original del is declared unused.
4017
4018 2017-03-10 David Malcolm <dmalcolm@redhat.com>
4019
4020 PR translation/79848
4021 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
4022 "%qs".
4023
4024 2017-03-10 David Malcolm <dmalcolm@redhat.com>
4025
4026 PR c/79921
4027 * c-indentation.c (warn_for_misleading_indentation): Remove parens
4028 from inform's message, so that xgettext can locate it.
4029
4030 2017-03-09 Marek Polacek <polacek@redhat.com>
4031
4032 PR c++/79962
4033 PR c++/79984
4034 * c-attribs.c (handle_nonnull_attribute): Save the result of default
4035 conversion to the attribute list.
4036
4037 2017-03-09 Martin Liska <mliska@suse.cz>
4038
4039 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
4040
4041 2017-03-03 Jason Merrill <jason@redhat.com>
4042
4043 * c.opt (Wnoexcept-type): New.
4044
4045 2017-03-02 Richard Biener <rguenther@suse.de>
4046
4047 PR c/79756
4048 * c-common.c (c_common_mark_addressable_vec): Look through
4049 C_MAYBE_CONST_EXPR.
4050
4051 2017-02-28 Martin Liska <mliska@suse.cz>
4052
4053 * c.opt: Replace space with tabular for options of <number>
4054 type.
4055
4056 2017-02-28 Martin Liska <mliska@suse.cz>
4057
4058 * c.opt: Fix --help=option -Q for options which are of
4059 an enum type.
4060
4061 2017-02-24 Jakub Jelinek <jakub@redhat.com>
4062
4063 PR c++/79588
4064 * c-common.c (check_function_restrict): New function.
4065 (check_function_arguments): Add FNDECL argument. Call
4066 check_function_restrict if -Wrestrict.
4067 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
4068 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
4069 * c-common.h (check_function_arguments): Add FNDECL argument.
4070 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
4071
4072 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
4073
4074 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
4075 treatment of parameters with pointer-to-tagged type and tidy up.
4076 (print_ada_methods): Remove the special treatment of C++ static member
4077 functions.
4078
4079 2017-02-22 Martin Liska <mliska@suse.cz>
4080
4081 * c.opt: Replace inequality signs with square brackets
4082 for -Wnornalized.
4083
4084 2017-02-21 Jakub Jelinek <jakub@redhat.com>
4085
4086 PR c++/79641
4087 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
4088 preserve quals.
4089
4090 2017-02-17 Joseph Myers <joseph@codesourcery.com>
4091
4092 * c-cppbuiltin.c (builtin_define_float_constants): Define
4093 __DECIMAL_DIG__ to the value for long double.
4094
4095 2017-02-15 Marek Polacek <polacek@redhat.com>
4096
4097 PR c/79515
4098 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
4099 conversion has occured.
4100
4101 2017-01-24 David Malcolm <dmalcolm@redhat.com>
4102
4103 * c-common.c (c_common_reswords): Add "__RTL".
4104 * c-common.h (enum rid): Add RID_RTL.
4105
4106 2017-01-20 Marek Polacek <polacek@redhat.com>
4107
4108 PR c/64279
4109 * c-common.h (do_warn_duplicated_branches_r): Declare.
4110 * c-gimplify.c (c_genericize): Walk the function tree calling
4111 do_warn_duplicated_branches_r.
4112 * c-warn.c (expr_from_macro_expansion_r): New.
4113 (do_warn_duplicated_branches): New.
4114 (do_warn_duplicated_branches_r): New.
4115 * c.opt (Wduplicated-branches): New option.
4116
4117 2017-01-17 David Malcolm <dmalcolm@redhat.com>
4118
4119 PR c++/71497
4120 * c-indentation.c (warn_for_misleading_indentation): Use the past
4121 subjunctive in the note.
4122
4123 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
4124
4125 PR c/79116
4126 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
4127 start type to integer_type.
4128
4129 2017-01-16 Jakub Jelinek <jakub@redhat.com>
4130
4131 PR driver/49726
4132 * c.opt (gen-decls): Add Driver flag.
4133
4134 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
4135
4136 Revert:
4137 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
4138
4139 PR c++/71737
4140 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
4141
4142 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
4143
4144 PR c++/71737
4145 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
4146
4147 2017-01-12 Martin Sebor <msebor@redhat.com>
4148
4149 (-Wformat-overflow): ...to this.
4150
4151 2017-01-11 Martin Sebor <msebor@redhat.com>
4152
4153 PR c/78768
4154 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
4155 Also enable for LTO.
4156
4157 2017-01-10 Jason Merrill <jason@redhat.com>
4158
4159 Implement P0195R2, C++17 variadic using.
4160 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
4161
4162 2017-01-09 Jakub Jelinek <jakub@redhat.com>
4163
4164 PR translation/79019
4165 PR translation/79020
4166 * c.opt (Wnormalized=): Fix typo in description.
4167
4168 2017-01-08 Martin Sebor <msebor@redhat.com>
4169
4170 PR middle-end/77708
4171 * c.opt (-Wformat-truncation): New option.
4172
4173 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
4174
4175 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
4176 value to unsigned short to fit in 4 hex digits without
4177 warnings.
4178
4179 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
4180
4181 * c.opt (fsso-struct): Add 'native' value.
4182
4183 2017-01-05 Martin Liska <mliska@suse.cz>
4184
4185 PR pch/78970
4186 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
4187 header.
4188
4189 2017-01-04 Marek Polacek <polacek@redhat.com>
4190
4191 PR c++/64767
4192 * c.opt (Wpointer-compare): New option.
4193
4194 2017-01-04 Jakub Jelinek <jakub@redhat.com>
4195
4196 PR driver/78957
4197 * c.opt (fsso-struct=): Add RejectNegative.
4198
4199 2017-01-01 Jakub Jelinek <jakub@redhat.com>
4200
4201 Update copyright years.
4202
4203 2016-12-29 Martin Liska <mliska@suse.cz>
4204
4205 PR c/78933
4206 * c.opt (strong-eval-order): Add RejectNegative keyword.
4207
4208 2016-12-22 Jason Merrill <jason@redhat.com>
4209
4210 Implement P0522R0, matching of template template arguments.
4211 * c-cppbuiltin.c (c_cpp_builtins): Define
4212 __cpp_template_template_args.
4213
4214 2016-12-21 Jakub Jelinek <jakub@redhat.com>
4215
4216 PR bootstrap/78817
4217 * c-common.c (struct nonnull_arg_ctx): New type.
4218 (check_function_nonnull): Return bool instead of void. Use
4219 nonnull_arg_ctx as context rather than just location_t.
4220 (check_nonnull_arg): Adjust for the new context type, set
4221 warned_p to true if a warning has been diagnosed.
4222 (check_function_arguments): Return bool instead of void.
4223 * c-common.h (check_function_arguments): Adjust prototype.
4224
4225 2016-12-21 Jason Merrill <jason@redhat.com>
4226
4227 * c.opt (-fnew-ttp-matching): New flag.
4228 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
4229
4230 2016-12-14 Martin Jambor <mjambor@suse.cz>
4231
4232 * c-omp.c: Include omp-general.h instead of omp-low.h.
4233 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
4234 name.
4235
4236 2016-12-14 Martin Sebor <msebor@redhat.com>
4237
4238 PR c/17308
4239 * c-common.c (check_nonnull_arg): Disable when optimization
4240 is enabled.
4241
4242 2016-12-12 Marek Polacek <polacek@redhat.com>
4243
4244 PR c++/78647
4245 * c-common.c (attribute_fallthrough_p): Return false for
4246 error_mark_node.
4247
4248 2016-12-08 Martin Sebor <msebor@redhat.com>
4249
4250 PR c/78284
4251 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
4252
4253 2016-12-08 Martin Sebor <msebor@redhat.com>
4254
4255 PR c/78165
4256 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
4257 suffix.
4258
4259 2016-12-07 Martin Sebor <msebor@redhat.com>
4260
4261 PR c/53562
4262 PR middle-end/77784
4263 PR middle-end/78149
4264 PR middle-end/78138
4265 * c.opt (-Wstringop-overflow): New option.
4266
4267 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
4268
4269 * c-attribs.c (asan odr indicator): New attribute.
4270 (handle_asan_odr_indicator_attribute): New function.
4271
4272 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4273
4274 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
4275 ptrdiff_type_node;
4276
4277 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
4278
4279 * c-common.c (excess_precision_mode_join): New.
4280 (c_ts18661_flt_eval_method): New.
4281 (c_c11_flt_eval_method): Likewise.
4282 (c_flt_eval_method): Likewise.
4283 * c-common.h (excess_precision_mode_join): New.
4284 (c_flt_eval_method): Likewise.
4285 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
4286 (cpp_iec_559_value): Call it.
4287 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
4288 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
4289 __FLT_EVAL_METHOD_TS_18661_3__.
4290
4291 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
4292
4293 * c-opts.c (c_common_post_options): Add logic to handle the default
4294 case for -fpermitted-flt-eval-methods.
4295
4296 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
4297
4298 * c.opt (Wexpansion-to-defined): New.
4299
4300 2016-11-23 Jakub Jelinek <jakub@redhat.com>
4301
4302 PR target/78451
4303 * c-pragma.c (handle_pragma_target): Don't replace
4304 current_target_pragma, but chainon the new args to the current one.
4305
4306 2016-11-22 Nathan Sidwell <nathan@acm.org>
4307
4308 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
4309 indentation and formatting.
4310
4311 2016-11-21 Martin Sebor <msebor@redhat.com>
4312
4313 * c.opt (-fprintf-return-value): Enable by default.
4314
4315 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
4316
4317 PR c++/71973
4318 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
4319 * c-common.c (c_common_nodes_and_builtins): Initialize
4320 const_tm_ptr_type_node.
4321
4322 2016-11-16 Marek Polacek <polacek@redhat.com>
4323
4324 PR c/78285
4325 * c-common.c (c_add_case_label): Turn error_at calls into inform.
4326
4327 2016-11-14 Jakub Jelinek <jakub@redhat.com>
4328
4329 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
4330
4331 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
4332 Richard Biener <rguenther@suse.de>
4333
4334 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
4335 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
4336 * c.opt (fgimple): New option.
4337
4338 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
4339
4340 PR c/35503
4341 * c-common.h (warn_for_restrict): Declare.
4342 * c-warn.c: Include gcc-rich-location.h.
4343 (warn_for_restrict): New function.
4344 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
4345 (gcc_cdiag_char_table): Likewise.
4346 (gcc_cxxdiag_char_table): Likewise.
4347 * c.opt (Wrestrict): New option.
4348
4349 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
4350
4351 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
4352 for nested types only if the type is a record or union and dump SLOC.
4353
4354 2016-11-09 Jason Merrill <jason@redhat.com>
4355
4356 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
4357
4358 2016-11-09 Jakub Jelinek <jakub@redhat.com>
4359
4360 * c-ubsan.c (ubsan_instrument_shift): Handle split
4361 -fsanitize=shift-base and -fsanitize=shift-exponent.
4362
4363 2016-11-07 Jason Merrill <jason@redhat.com>
4364
4365 * c.opt (Wc++1z-compat): New.
4366 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
4367
4368 2016-11-07 Martin Liska <mliska@suse.cz>
4369
4370 * c-warn.c (warn_for_unused_label): Save all labels used
4371 in goto or in &label.
4372
4373 2016-11-03 Jason Merrill <jason@redhat.com>
4374
4375 * c-cppbuiltin.c (c_cpp_builtins): Correct
4376 __cpp_inheriting_constructors.
4377
4378 2016-11-01 Jason Merrill <jason@redhat.com>
4379
4380 * c-cppbuiltin.c (c_cpp_builtins): Update
4381 __cpp_inheriting_constructors.
4382
4383 * c.opt (-fnew-inheriting-ctors): New.
4384 * c-opts.c: Default to on for ABI 11+.
4385
4386 2016-10-31 Jakub Jelinek <jakub@redhat.com>
4387
4388 PR c++/77948
4389 * c.opt (fext-numeric-literals): Add Var and Init.
4390 * c-opts.c (c_common_handle_option): Don't clear
4391 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
4392 (c_common_post_options): Clear it here if not set
4393 explicitly.
4394
4395 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
4396
4397 PR debug/77773
4398 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
4399 if NULL.
4400
4401 2016-10-25 Jakub Jelinek <jakub@redhat.com>
4402
4403 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
4404 * c-common.c (c_common_reswords): Add __builtin_launder.
4405
4406 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
4407
4408 * c-common.c (c_common_truthvalue_conversion): Warn for
4409 multiplications in boolean context. Fix the quoting of '<<' and '<'
4410 in the shift warning.
4411
4412 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
4413
4414 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
4415
4416 2016-10-20 Jason Merrill <jason@redhat.com>
4417
4418 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
4419
4420 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4421
4422 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
4423 integer shift ops in boolean context.
4424
4425 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
4426
4427 * c.opt (Walloca): New.
4428 (Walloca-larger-than=): New.
4429 (Wvla-larger-than=): New.
4430
4431 2016-10-17 Marek Polacek <polacek@redhat.com>
4432
4433 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
4434 Return immediately when finding a match.
4435 (warn_tautological_cmp): Remove a boolean variable that is no longer
4436 needed.
4437
4438 2016-10-17 Marek Polacek <polacek@redhat.com>
4439
4440 * c-attribs.c: New file.
4441 * c-common.c: Move attributes handling to c-attribs.c.
4442 (get_nonnull_operand): No longer static.
4443 * c-common.h: Move the declarations from c-attribs.c to its own section.
4444
4445 2016-10-14 Jason Merrill <jason@redhat.com>
4446
4447 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
4448 and __cpp_deduction_guides.
4449
4450 2016-10-13 Jason Merrill <jason@redhat.com>
4451
4452 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
4453
4454 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
4455
4456 * c-cppbuiltin.c: Include memmodel.h.
4457 * c-opts.c: Likewise.
4458 * c-pragma.c: Likewise.
4459 * c-warn.c: Likewise.
4460
4461 2016-10-12 Jakub Jelinek <jakub@redhat.com>
4462
4463 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
4464 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
4465 * c-opts.c (sanitize_cpp_opts): Initialize
4466 cpp_opts->cpp_warn_implicit_fallthrough.
4467
4468 2016-10-11 Marek Polacek <polacek@redhat.com>
4469
4470 * c-common.c (warning_candidate_p): Change the return type to bool
4471 and return true/false instead of 1/0.
4472 (vector_mode_valid_p): Likewise.
4473
4474 2016-10-11 Marek Polacek <polacek@redhat.com>
4475
4476 * c-common.c (fold_for_warn): No longer static.
4477 (bool_promoted_to_int_p): Likewise.
4478 (c_common_get_narrower): Likewise.
4479 (constant_expression_warning): Move to c-warn.c.
4480 (constant_expression_error): Likewise.
4481 (overflow_warning): Likewise.
4482 (warn_logical_operator): Likewise.
4483 (find_array_ref_with_const_idx_r): Likewise.
4484 (warn_tautological_cmp): Likewise.
4485 (expr_has_boolean_operands_p): Likewise.
4486 (warn_logical_not_parentheses): Likewise.
4487 (warn_if_unused_value): Likewise.
4488 (strict_aliasing_warning): Likewise.
4489 (sizeof_pointer_memaccess_warning): Likewise.
4490 (check_main_parameter_types): Likewise.
4491 (conversion_warning): Likewise.
4492 (warnings_for_convert_and_check): Likewise.
4493 (match_case_to_enum_1): Likewise.
4494 (match_case_to_enum): Likewise.
4495 (c_do_switch_warnings): Likewise.
4496 (warn_for_omitted_condop): Likewise.
4497 (readonly_error): Likewise.
4498 (lvalue_error): Likewise.
4499 (invalid_indirection_error): Likewise.
4500 (warn_array_subscript_with_type_char): Likewise.
4501 (warn_about_parentheses): Likewise.
4502 (warn_for_unused_label): Likewise.
4503 (warn_for_div_by_zero): Likewise.
4504 (warn_for_memset): Likewise.
4505 (warn_for_sign_compare): Likewise.
4506 (do_warn_double_promotion): Likewise.
4507 (do_warn_unused_parameter): Likewise.
4508 (record_locally_defined_typedef): Likewise.
4509 (maybe_record_typedef_use): Likewise.
4510 (maybe_warn_unused_local_typedefs): Likewise.
4511 (maybe_warn_bool_compare): Likewise.
4512 (maybe_warn_shift_overflow): Likewise.
4513 (warn_duplicated_cond_add_or_warn): Likewise.
4514 (diagnose_mismatched_attributes): Likewise.
4515 * c-common.h: Move the declarations from c-warn.c to its own section.
4516 * c-warn.c: New file.
4517
4518 2016-10-08 Jason Merrill <jason@redhat.com>
4519
4520 * c-common.c (c_common_truthvalue_conversion): Don't distribute
4521 into COND_EXPR in C++.
4522
4523 2016-10-08 Jakub Jelinek <jakub@redhat.com>
4524
4525 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
4526 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
4527 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
4528
4529 2016-10-07 Jakub Jelinek <jakub@redhat.com>
4530
4531 Implement LWG2296 helper intrinsic
4532 * c-common.h (enum rid): Add RID_ADDRESSOF.
4533 * c-common.c (c_common_reswords): Add __builtin_addressof.
4534
4535 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
4536
4537 PR c++/77700
4538 * c-common.c (c_common_truthvalue_conversion): Warn also for
4539 suspicious enum values in boolean context.
4540
4541 2016-10-06 Jakub Jelinek <jakub@redhat.com>
4542
4543 Implement P0258R2 - helper for C++17
4544 std::has_unique_object_representations trait
4545 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
4546 * c-common.c (c_common_reswords): Add
4547 __has_unique_object_representations.
4548
4549 2016-10-05 Jakub Jelinek <jakub@redhat.com>
4550
4551 PR sanitizer/66343
4552 * c-ubsan.c (ubsan_instrument_return): Don't call
4553 initialize_sanitizer_builtins here.
4554
4555 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4556
4557 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
4558 conditional expression in boolean context when only one arm is
4559 non-boolean.
4560
4561 2016-10-05 Jakub Jelinek <jakub@redhat.com>
4562
4563 PR sanitizer/77823
4564 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
4565 is not integral.
4566
4567 * c-common.c (c_common_reswords): Update comment for C++11.
4568
4569 2016-10-04 Jason Merrill <jason@redhat.com>
4570
4571 * c-common.c (make_tree_vector_from_ctor): New.
4572 * c-common.h: Declare it.
4573
4574 2016-10-04 Jakub Jelinek <jakub@redhat.com>
4575
4576 * c-cppbuiltin.c (c_cpp_builtins): Don't define
4577 __LIBGCC_JCR_SECTION_NAME__.
4578
4579 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
4580
4581 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
4582 left shift in boolean context.
4583
4584 2016-09-29 Jakub Jelinek <jakub@redhat.com>
4585
4586 Implement P0001R1 - C++17 removal of register storage class specifier
4587 * c.opt (Wregister): New warning.
4588 * c-opts.c (c_common_post_options): Enable -Wregister by
4589 default for C++17.
4590
4591 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
4592
4593 * c-opts.c (c_common_post_options): Remove special case for
4594 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
4595 in C++.
4596
4597 2016-09-27 Jakub Jelinek <jakub@redhat.com>
4598
4599 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
4600 -std=c++1z.
4601
4602 * c-ada-spec.c (print_ada_declaration): Remove break after return.
4603
4604 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
4605
4606 * c-common.c: Include memmodel.h.
4607
4608 2016-09-26 Marek Polacek <polacek@redhat.com>
4609
4610 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
4611
4612 2016-09-26 Marek Polacek <polacek@redhat.com>
4613
4614 PR c/7652
4615 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
4616 (handle_fallthrough_attribute): New function.
4617 (attribute_fallthrough_p): New function.
4618 * c-common.h (attribute_fallthrough_p): Declare.
4619
4620 2016-09-24 Marek Polacek <polacek@redhat.com>
4621
4622 PR c/77490
4623 * c.opt (Wbool-operation): New.
4624
4625 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
4626
4627 * c-common.c (c_common_truthvalue_conversion): Inhibit
4628 Wint-in-bool-context warning with from_macro_definition_at.
4629 Mention the expression will always evaluate to true.
4630
4631 2016-09-21 Martin Sebor <msebor@redhat.com>
4632
4633 PR bootstrap/77676
4634 * c.opt (fprintf-return-value): Temporarily initialize to zero
4635 to unblock bootstrap failures.
4636
4637 2016-09-21 Jakub Jelinek <jakub@redhat.com>
4638
4639 PR c++/77651
4640 * c.opt (Waligned-new=): Add RejectNegative.
4641 (faligned-new=): Likewise. Spelling fix - change
4642 aligned_new_threshhold to aligned_new_threshold.
4643 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
4644 to aligned_new_threshold.
4645
4646 2016-09-20 Martin Sebor <msebor@redhat.com>
4647
4648 PR middle-end/49905
4649 * c.opt: Add -Wformat-length and -fprintf-return-value.
4650
4651 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4652
4653 PR c++/77434
4654 * c.opt (Wint-in-bool-context): New warning.
4655 * c-common.c (c_common_truthvalue_conversion): Warn on integer
4656 constants in boolean context.
4657
4658 2016-09-19 Joseph Myers <joseph@codesourcery.com>
4659
4660 * c-common.c (max_align_t_align): Also consider alignment of
4661 float128_type_node.
4662
4663 2016-09-15 Jason Merrill <jason@redhat.com>
4664
4665 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
4666 DECL_EXTERNAL.
4667
4668 2016-09-14 Jason Merrill <jason@redhat.com>
4669
4670 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4671 limit FIELD_DECL, either.
4672
4673 2016-09-14 Marek Polacek <polacek@redhat.com>
4674
4675 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
4676 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
4677 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
4678
4679 2016-09-13 David Malcolm <dmalcolm@redhat.com>
4680
4681 * c-common.c (warn_logical_not_parentheses): Replace
4682 rich_location::add_fixit_insert calls with add_fixit_insert_before
4683 and add_fixit_insert_after, eliminating the "next_loc" calculation.
4684
4685 2016-09-13 Jason Merrill <jason@redhat.com>
4686 Tom de Vries <tom@codesourcery.com>
4687
4688 PR c++/77427
4689 * c-common.c (set_underlying_type): Don't treat array as builtin type.
4690
4691 2016-09-13 Jason Merrill <jason@redhat.com>
4692
4693 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4694 limit types at all.
4695
4696 2016-09-12 Jason Merrill <jason@redhat.com>
4697
4698 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
4699 bit/byte confusion, allow large alignment for types.
4700
4701 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
4702
4703 PR c++/77496
4704 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
4705
4706 2016-09-12 David Malcolm <dmalcolm@redhat.com>
4707
4708 PR c/72858
4709 * c-format.c (argument_parser::check_argument_type): Add params
4710 "type_start" and "conversion_char". Use the former to generate
4711 offset_to_type_start and pass it and conversion_char to
4712 check_format_types.
4713 (check_format_info_main): Capture the start of the type
4714 information as "type_start", and pass it an format_char
4715 to arg_parser.check_argument_type.
4716 (check_format_types): Provide an example in the leading comment.
4717 Add params "offset_to_type_start" and "conversion_char"; pass
4718 them to format_type_warning calls.
4719 (test_get_modifier_for_format_len): Likewise.
4720 (matching_type_p): New function.
4721 (get_format_for_type): Add param "conversion_char" and move
4722 implementation into...
4723 (get_format_for_type_1): ...new function, called twice.
4724 Use new function matching_type_p rather than checking for
4725 TYPE_CANONICAL equality.
4726 (get_corrected_substring): New function.
4727 (format_type_warning): Provide an example in the leading comment.
4728 Add params "offset_to_type_start" and "conversion_char". Replace
4729 call to get_format_for_type with call to get_corrected_substring
4730 and move rejection of hints for widths/precisions there.
4731 (assert_format_for_type_streq): Add param "conversion_char".
4732 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
4733 (test_get_format_for_type_printf): Add conversion chars to the
4734 tests, adding coverage for various combinations of integer
4735 vs double conversions, and for preserving octal and hexadecimal
4736 conversions.
4737 (test_get_format_for_type_scanf): Add conversion chars to the
4738 tests.
4739
4740 2016-09-10 Tom de Vries <tom@codesourcery.com>
4741
4742 PR C/71602
4743 * c-common.c (build_va_arg): Handle more strict
4744 targetm.canonical_va_list_type. Replace first argument type error with
4745 assert.
4746
4747 2016-09-09 Martin Sebor <msebor@redhat.com>
4748
4749 PR c/77520
4750 PR c/77521
4751 * c-format.c (argument_parser::find_format_char_info): Use %qc
4752 format directive unconditionally.
4753
4754 2016-09-09 Jason Merrill <jason@redhat.com>
4755
4756 Implement C++17 new of over-aligned types.
4757 * c.opt: Add -faligned-new and -Waligned-new.
4758 * c-common.c (max_align_t_align): Split out from...
4759 (cxx_fundamental_alignment_p): ...here.
4760 * c-common.h: Declare it.
4761 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
4762
4763 2016-09-09 Joseph Myers <joseph@codesourcery.com>
4764
4765 * c-cppbuiltin.c (builtin_define_type_width): New function.
4766 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
4767 macros.
4768
4769 2016-09-07 David Malcolm <dmalcolm@redhat.com>
4770
4771 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
4772 a POINTER_TYPE.
4773 (substring_loc::get_location): Move to substring-locations.c,
4774 keeping implementation as...
4775 (c_get_substring_location): New function, from the above, reworked
4776 to use accessors rather than member lookup.
4777 * c-common.h (class substring_loc): Move to substring-locations.h,
4778 replacing with a forward decl.
4779 (c_get_substring_location): New decl.
4780 * c-format.c: Include "substring-locations.h".
4781 (format_warning_va): Move to substring-locations.c.
4782 (format_warning_at_substring): Likewise.
4783
4784 2016-09-06 Martin Sebor <msebor@redhat.com>
4785
4786 PR c/77336
4787 * c-format.c (check_function_format): Avoid issuing warnings for
4788 functions unless they call format functions with non-constant
4789 format strings.
4790
4791 2016-09-06 Richard Biener <rguenther@suse.de>
4792
4793 PR c/77450
4794 * c-common.c (c_common_mark_addressable_vec): Handle
4795 COMPOUND_LITERAL_EXPR.
4796
4797 2016-09-05 Marek Polacek <polacek@redhat.com>
4798
4799 PR c/77423
4800 * c-common.c (bool_promoted_to_int_p): New function.
4801 (expr_has_boolean_operands_p): New function.
4802 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
4803 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
4804
4805 2016-09-04 Tom de Vries <tom@codesourcery.com>
4806
4807 revert:
4808 2016-08-29 Tom de Vries <tom@codesourcery.com>
4809
4810 * c-common.c (build_va_arg): Replace first argument type error
4811 with assert.
4812
4813 2016-09-02 Jakub Jelinek <jakub@redhat.com>
4814
4815 PR c/65467
4816 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
4817 (c_finish_omp_for): Reject _Atomic qualified iterators.
4818
4819 2016-09-01 Martin Sebor <msebor@redhat.com>
4820
4821 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
4822 size to guarantee it fits the output of the formatted function
4823 regardless of its arguments.
4824
4825 2016-09-01 Marek Polacek <polacek@redhat.com>
4826
4827 PR c/7652
4828 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
4829 FALLTHRU comments.
4830
4831 2016-08-29 Marek Polacek <polacek@redhat.com>
4832
4833 PR c/77292
4834 * c-common.c (warn_logical_not_parentheses): Don't warn for
4835 a comparison or a logical operator.
4836
4837 2016-08-29 Tom de Vries <tom@codesourcery.com>
4838
4839 * c-common.c (build_va_arg): Fix type comparison assert.
4840
4841 2016-08-29 Tom de Vries <tom@codesourcery.com>
4842
4843 * c-common.c (build_va_arg): Replace first argument type error
4844 with assert.
4845
4846 2016-08-29 Tom de Vries <tom@codesourcery.com>
4847
4848 PR c/77398
4849 * c-common.c (build_va_arg): Add first argument error. Build va_arg
4850 with error_mark_node as va_list instead of with illegal va_list.
4851
4852 2016-08-25 Marek Polacek <polacek@redhat.com>
4853 David Malcolm <dmalcolm@redhat.com>
4854
4855 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
4856 * c-common.h (warn_logical_not_parentheses): Update declaration.
4857
4858 2016-08-22 Marek Polacek <polacek@redhat.com>
4859
4860 PR c++/77321
4861 * c-common.c (warn_for_memset): Check type for null.
4862
4863 2016-08-22 Joseph Myers <joseph@codesourcery.com>
4864
4865 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
4866 _FloatNx types for suffixes for built-in functions.
4867
4868 2016-08-19 Joseph Myers <joseph@codesourcery.com>
4869
4870 PR c/32187
4871 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
4872 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
4873 (RID_FLOAT128X): New enum rid values.
4874 (CASE_RID_FLOATN_NX): New macro.
4875 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
4876 keywords.
4877 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
4878 corresponding complex types.
4879 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
4880 _FloatNx and corresponding complex types.
4881 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
4882 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
4883 and _FloatNx types for the widest type for determining
4884 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
4885 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
4886 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
4887 and _FloatNx types.
4888 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
4889 constants.
4890 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
4891 _FloatNx types.
4892
4893 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4894
4895 * c-opts.c (c_diagnostic_finalizer): Update for change to
4896 diagnostic_show_locus.
4897
4898 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4899
4900 * c-common.c: Include "spellcheck.h".
4901 (cb_get_suggestion): New function.
4902 * c-common.h (cb_get_suggestion): New decl.
4903 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4904 cb_get_suggestion.
4905
4906 2016-08-18 Marek Polacek <polacek@redhat.com>
4907
4908 PR c/71514
4909 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4910 and pointer-to-VLA.
4911
4912 2016-08-16 David Malcolm <dmalcolm@redhat.com>
4913
4914 PR c/72857
4915 * c-common.c (substring_loc::get_range): Rename to...
4916 (substring_loc::get_location): ...this, converting param from a
4917 source_range * to a location_t *. Call
4918 get_source_location_for_substring rather than
4919 get_source_range_for_substring, and pass in m_caret_idx.
4920 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4921 (substring_loc::get_range): Replace with...
4922 (substring_loc::get_location): ...this.
4923 (substring_loc::set_caret_index): New method.
4924 (substring_loc): Add field m_caret_idx.
4925 * c-format.c (format_warning_va): Update for above changes.
4926 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4927 clashing with type name.
4928 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4929 (check_argument_type): Likewise.
4930 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4931 Use a copy when emitting warnings, setting the caret index from TYPE.
4932
4933 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
4934 Arnaud Charlet <charlet@adacore.com>
4935
4936 * c-ada-spec.c (dump_number): New function.
4937 (handle_escape_character): Likewise.
4938 (print_ada_macros): Add handling of constant integers and strings.
4939
4940 2016-08-12 Marek Polacek <polacek@redhat.com>
4941
4942 PR c/7652
4943 * c-common.c (scalar_to_vector): Adjust fall through comment.
4944 * c-opts.c (c_common_handle_option): Likewise.
4945 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4946 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4947 fall through comment.
4948 * cilk.c (extract_free_variables): Add FALLTHRU.
4949
4950 2016-08-10 Jason Merrill <jason@redhat.com>
4951
4952 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4953
4954 2016-08-09 Jason Merrill <jason@redhat.com>
4955
4956 * c-common.c (c_common_attribute_table): vector_size affects type
4957 identity.
4958
4959 2016-08-09 Marek Polacek <polacek@redhat.com>
4960
4961 PR c/7652
4962 * c-ada-spec.c (dump_generic_ada_node): Add return.
4963
4964 2016-08-09 Jason Merrill <jason@redhat.com>
4965
4966 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4967 C++17 constexpr lambdas.
4968
4969 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4970
4971 PR c/64955
4972 * c-common.h (selftest::c_format_c_tests): New declaration.
4973 (selftest::run_c_tests): New declaration.
4974 * c-format.c: Include "selftest.h.
4975 (format_warning_va): Add param "corrected_substring" and use
4976 it to add a replacement fix-it hint.
4977 (format_warning_at_substring): Likewise.
4978 (format_warning_at_char): Update for new param of
4979 format_warning_va.
4980 (argument_parser::check_argument_type): Pass "fki" to
4981 check_format_types.
4982 (check_format_types): Add param "fki" and pass it to
4983 format_type_warning.
4984 (deref_n_times): New function.
4985 (get_modifier_for_format_len): New function.
4986 (selftest::test_get_modifier_for_format_len): New function.
4987 (get_format_for_type): New function.
4988 (format_type_warning): Add param "fki" and use it to attempt
4989 to provide hints for argument types when calling
4990 format_warning_at_substring.
4991 (selftest::get_info): New function.
4992 (selftest::assert_format_for_type_streq): New function.
4993 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4994 (selftest::test_get_format_for_type_printf): New function.
4995 (selftest::test_get_format_for_type_scanf): New function.
4996 (selftest::c_format_c_tests): New function.
4997
4998 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4999
5000 PR c/52952
5001 * c-format.c: Include "diagnostic.h".
5002 (location_column_from_byte_offset): Delete.
5003 (location_from_offset): Delete.
5004 (format_warning_va): New function.
5005 (format_warning_at_substring): New function.
5006 (format_warning_at_char): New function.
5007 (check_format_arg): Capture location of format_tree and pass to
5008 check_format_info_main.
5009 (argument_parser): Add fields "start_of_this_format" and
5010 "format_string_cst".
5011 (flag_chars_t::validate): Add param "format_string_cst". Convert
5012 warning_at call using location_from_offset to call to
5013 format_warning_at_char.
5014 (argument_parser::argument_parser): Add param "format_string_cst_"
5015 and use use it to initialize field "format_string_cst".
5016 Initialize new field "start_of_this_format".
5017 (argument_parser::read_format_flags): Convert warning_at call
5018 using location_from_offset to a call to format_warning_at_char.
5019 (argument_parser::read_any_format_left_precision): Likewise.
5020 (argument_parser::read_any_format_precision): Likewise.
5021 (argument_parser::read_any_other_modifier): Likewise.
5022 (argument_parser::find_format_char_info): Likewise, in three places.
5023 (argument_parser::parse_any_scan_set): Likewise, in one place.
5024 (argument_parser::handle_conversions): Likewise, in two places.
5025 (argument_parser::check_argument_type): Add param "fmt_param_loc"
5026 and use it to make a substring_loc. Pass the latter to
5027 check_format_types.
5028 (check_format_info_main): Add params "fmt_param_loc" and
5029 "format_string_cst". Convert warning_at calls using
5030 location_from_offset to calls to format_warning_at_char. Pass the
5031 new params to the arg_parser ctor. Pass "format_string_cst" to
5032 flag_chars.validate. Pass "fmt_param_loc" to
5033 arg_parser.check_argument_type.
5034 (check_format_types): Convert first param from a location_t
5035 to a const substring_loc & and rename to "fmt_loc". Attempt
5036 to extract the range of the relevant parameter and pass it
5037 to format_type_warning.
5038 (format_type_warning): Convert first param from a location_t
5039 to a const substring_loc & and rename to "fmt_loc". Add
5040 params "param_range" and "type". Replace calls to warning_at
5041 with calls to format_warning_at_substring.
5042
5043 2016-08-08 David Malcolm <dmalcolm@redhat.com>
5044
5045 * c-format.c (class flag_chars_t): New class.
5046 (struct length_modifier): New struct.
5047 (class argument_parser): New class.
5048 (flag_chars_t::flag_chars_t): New ctor.
5049 (flag_chars_t::has_char_p): New method.
5050 (flag_chars_t::add_char): New method.
5051 (flag_chars_t::validate): New method.
5052 (flag_chars_t::get_alloc_flag): New method.
5053 (flag_chars_t::assignment_suppression_p): New method.
5054 (argument_parser::argument_parser): New ctor.
5055 (argument_parser::read_any_dollar): New method.
5056 (argument_parser::read_format_flags): New method.
5057 (argument_parser::read_any_format_width): New method.
5058 (argument_parser::read_any_format_left_precision): New method.
5059 (argument_parser::read_any_format_precision): New method.
5060 (argument_parser::handle_alloc_chars): New method.
5061 (argument_parser::read_any_length_modifier): New method.
5062 (argument_parser::read_any_other_modifier): New method.
5063 (argument_parser::find_format_char_info): New method.
5064 (argument_parser::validate_flag_pairs): New method.
5065 (argument_parser::give_y2k_warnings): New method.
5066 (argument_parser::parse_any_scan_set): New method.
5067 (argument_parser::handle_conversions): New method.
5068 (argument_parser::check_argument_type): New method.
5069 (check_format_info_main): Introduce classes argument_parser
5070 and flag_chars_t, moving the code within the loop into methods
5071 of these classes. Make various locals "const".
5072
5073 2016-08-05 David Malcolm <dmalcolm@redhat.com>
5074
5075 * c-common.c: Include "substring-locations.h".
5076 (get_cpp_ttype_from_string_type): New function.
5077 (g_string_concat_db): New global.
5078 (substring_loc::get_range): New method.
5079 * c-common.h (g_string_concat_db): New declaration.
5080 (class substring_loc): New class.
5081 * c-lex.c (lex_string): When concatenating strings, capture the
5082 locations of all tokens using a new obstack, and record the
5083 concatenation locations within g_string_concat_db.
5084 * c-opts.c (c_common_init_options): Construct g_string_concat_db
5085 on the ggc-heap.
5086
5087 2016-07-29 Marek Polacek <polacek@redhat.com>
5088
5089 PR c/71926
5090 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
5091 parentheses warning.
5092
5093 PR c/71574
5094 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
5095
5096 2016-07-28 Martin Liska <mliska@suse.cz>
5097
5098 PR gcov-profile/68025
5099 * c-common.c (handle_no_profile_instrument_function_attribute):
5100
5101 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
5102
5103 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
5104 BITS_PER_UNIT_LOG.
5105
5106 2016-07-25 Jason Merrill <jason@redhat.com>
5107
5108 PR c++/65970
5109 * c.opt (fconstexpr-loop-limit): New.
5110
5111 2016-07-22 Martin Sebor <msebor@redhat.com>
5112
5113 PR c++/71675
5114 * c-common.c (resolve_overloaded_builtin): Avoid converting
5115 __atomic_compare_exchange_n return type to that of what its
5116 first argument points to.
5117
5118 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
5119
5120 * c-common.c: Use HOST_WIDE_INT_M1U instead of
5121 ~(unsigned HOST_WIDE_INT) 0.
5122
5123 2016-07-22 Martin Liska <mliska@suse.cz>
5124
5125 PR gcov-profile/69028
5126 PR gcov-profile/62047
5127 * cilk.c (create_cilk_helper_decl): Set location of a new decl
5128 to the current_function_decl.
5129
5130 2016-07-21 Jason Merrill <jason@redhat.com>
5131
5132 PR c++/65168
5133 * c-common.c (c_common_truthvalue_conversion): Check
5134 c_inhibit_evaluation_warnings for warning about address of
5135 reference.
5136
5137 2016-07-20 David Malcolm <dmalcolm@redhat.com>
5138
5139 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
5140 const char *.
5141
5142 2016-07-15 Jason Merrill <jason@redhat.com>
5143
5144 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
5145
5146 2016-07-15 Jakub Jelinek <jakub@redhat.com>
5147
5148 PR c/71858
5149 * c-common.h (enum lookup_name_fuzzy_kind): Add
5150 FUZZY_LOOKUP_FUNCTION_NAME.
5151
5152 2016-07-08 Jason Merrill <jason@redhat.com>
5153
5154 P0145: Refining Expression Order for C++.
5155 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
5156 * c-opts.c: Adjust.
5157
5158 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
5159
5160 PR c++/71214
5161 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
5162
5163 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
5164
5165 * c-pragma.h (enum pragma_kind): Rename
5166 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
5167 users.
5168
5169 2016-06-29 Richard Biener <rguenther@suse.de>
5170
5171 PR middle-end/71002
5172 * c-common.c (c_common_get_alias_set): Remove union type punning case.
5173
5174 2016-06-24 Jason Merrill <jason@redhat.com>
5175
5176 P0145R2: Refining Expression Order for C++.
5177 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
5178 MODIFY_EXPR.
5179
5180 2016-06-24 Jakub Jelinek <jakub@redhat.com>
5181
5182 * c-common.c (check_builtin_function_arguments): Require last
5183 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
5184 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
5185 if the last argument is pointer to enumerated or boolean type.
5186
5187 2016-06-22 David Malcolm <dmalcolm@redhat.com>
5188
5189 PR c/70339
5190 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
5191 (lookup_name_fuzzy): New prototype.
5192
5193 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
5194
5195 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
5196
5197 2016-06-14 Jason Merrill <jason@redhat.com>
5198
5199 P0145R2: Refining Expression Order for C++.
5200 * c.opt (fargs-in-order): New.
5201 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
5202
5203 2016-06-13 Jakub Jelinek <jakub@redhat.com>
5204
5205 PR sanitizer/71498
5206 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
5207 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
5208
5209 PR preprocessor/71183
5210 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
5211 to cb_get_source_date_epoch.
5212
5213 2016-06-10 Jakub Jelinek <jakub@redhat.com>
5214
5215 PR c/68657
5216 * c.opt (Wpsabi): Add Warning flag.
5217
5218 2016-06-10 Martin Sebor <msebor@redhat.com>
5219
5220 PR c/71392
5221 * c-common.c (handle_nonnull_attribute): Accept
5222 the nonnull attribute in type-generic builtins.
5223
5224 2016-06-09 Martin Sebor <msebor@redhat.com>
5225
5226 PR c/70883
5227 * c-common.c (builtin_function_validate_nargs): Make text of error
5228 message consistent with others like it.
5229
5230 2016-06-08 Martin Sebor <msebor@redhat.com>
5231 Jakub Jelinek <jakub@redhat.com>
5232
5233 PR c++/70507
5234 PR c/68120
5235 * c-common.c (check_builtin_function_arguments): Handle
5236 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
5237
5238 2016-06-08 Richard Biener <rguenther@suse.de>
5239
5240 * c-common.c (parse_optimize_options): Improve diagnostic messages.
5241
5242 2016-06-07 Richard Biener <rguenther@suse.de>
5243
5244 PR c/61564
5245 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
5246 options and warn about others.
5247
5248 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
5249
5250 * c-common.c (get_source_date_epoch): Rename to
5251 cb_get_source_date_epoch.
5252 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
5253 message when the parsing fails. Use error_at instead of fatal_error.
5254 * c-common.h (get_source_date_epoch): Rename to
5255 cb_get_source_date_epoch.
5256 * c-common.h (cb_get_source_date_epoch): Prototype.
5257 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
5258 * c-common.h (c_omp_region_type): Remove trailing comma.
5259 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
5260 * c-lex.c (c_lex_with_flags): Remove initialization of
5261 pfile->source_date_epoch.
5262
5263 2016-05-30 Jakub Jelinek <jakub@redhat.com>
5264
5265 PR c++/71349
5266 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
5267 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
5268 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
5269 instead of C_OMP_CLAUSE_SPLIT_FOR.
5270
5271 2016-05-24 Richard Biener <rguenther@suse.de>
5272
5273 PR middle-end/70434
5274 PR c/69504
5275 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
5276 (convert_vector_to_array_for_subscript): ... this.
5277 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
5278 VIEW_CONVERT_EXPR to an array type. Rename to ...
5279 (convert_vector_to_array_for_subscript): ... this.
5280
5281 2016-05-12 Marek Polacek <polacek@redhat.com>
5282
5283 PR c/70756
5284 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
5285 size_in_bytes and pass LOC to it.
5286
5287 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
5288
5289 PR c/43651
5290 * c.opt (Wduplicate-decl-specifier): New option.
5291
5292 2016-05-11 Marek Polacek <polacek@redhat.com>
5293
5294 PR c++/71024
5295 * c-common.c (diagnose_mismatched_attributes): New function.
5296 * c-common.h (diagnose_mismatched_attributes): Declare.
5297
5298 2016-05-04 Marek Polacek <polacek@redhat.com>
5299
5300 * c.opt (Wdangling-else): New option.
5301
5302 2016-05-03 Marek Polacek <polacek@redhat.com>
5303
5304 PR c/70859
5305 * c-common.c (builtin_function_validate_nargs): Add location
5306 parameter. Use it.
5307 (check_builtin_function_arguments): Add location and arguments
5308 parameters. Use them.
5309 * c-common.h (check_builtin_function_arguments): Update declaration.
5310
5311 2016-05-03 Richard Biener <rguenther@suse.de>
5312
5313 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
5314 allow call args to gimplify to SSA names.
5315
5316 2016-05-03 Marek Polacek <polacek@redhat.com>
5317
5318 * c-common.h (enum c_omp_region_type): Remove stray comma.
5319
5320 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
5321
5322 * c-common.h (enum c_omp_region_type): Define.
5323
5324 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
5325
5326 * c-common.c (shorten_compare): Use wi::to_wide.
5327
5328 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
5329
5330 PR middle-end/70626
5331 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
5332 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
5333 reduction clauses in acc parallel loops.
5334
5335 2016-04-29 Marek Polacek <polacek@redhat.com>
5336
5337 PR c/70852
5338 * c-common.c (warn_for_memset): Check domain before accessing it.
5339
5340 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
5341
5342 PR/69089
5343 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
5344 "aligned" attribute.
5345
5346 2016-04-28 Jason Merrill <jason@redhat.com>
5347
5348 * c-lex.c (c_common_has_attribute): Handle nodiscard.
5349
5350 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
5351 Matthias Klose <doko@debian.org>
5352
5353 * c-common.c (get_source_date_epoch): New function, gets the environment
5354 variable SOURCE_DATE_EPOCH and parses it as long long with error
5355 handling.
5356 * c-common.h (get_source_date_epoch): Prototype.
5357 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
5358
5359 2015-04-27 Ryan Burn <contact@rnburn.com>
5360
5361 PR c++/69024
5362 PR c++/68997
5363 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
5364 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
5365 external linkage.
5366 (cilk_detect_and_unwrap): Corresponding changes.
5367 (extract_free_variables): Don't extract free variables from
5368 AGGR_INIT_EXPR slot.
5369 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
5370 (cilk_recognize_spawn): Likewise.
5371
5372 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
5373
5374 * c.opt (Wmemset-elt-size): New option.
5375 * c-common.c (warn_for_memset): New function.
5376 * c-common.h (warn_for_memset): Declare.
5377
5378 2016-04-25 Jason Merrill <jason@redhat.com>
5379
5380 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
5381 No longer static.
5382 * c-common.h: Declare it.
5383 * c-lex.c (c_common_has_attribute): Add maybe_unused.
5384
5385 2016-04-22 Jason Merrill <jason@redhat.com>
5386
5387 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
5388
5389 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
5390
5391 PR c++/69363
5392 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
5393 * c-common.h (c_finish_cilk_clauses): Remove declaration.
5394
5395 2016-04-18 Michael Matz <matz@suse.de>
5396
5397 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
5398 and SET_DECL_ALIGN.
5399
5400 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
5401
5402 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
5403 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
5404 to incomplete types.
5405 (dump_nested_type): Remove redundant tests and tidy up.
5406 (print_ada_declaration): Also set TREE_VISITED on the declaration of
5407 a type which is the typedef of an original type.
5408
5409 2016-04-15 Marek Polacek <polacek@redhat.com>
5410
5411 PR c/70651
5412 * c-common.c (build_va_arg): Change two asserts into errors and return
5413 error_mark_node.
5414
5415 2016-04-13 Marek Polacek <polacek@redhat.com>
5416
5417 PR c++/70639
5418 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
5419 for switch statements, too.
5420
5421 2016-03-28 Jason Merrill <jason@redhat.com>
5422
5423 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
5424
5425 2016-03-23 Marek Polacek <polacek@redhat.com>
5426
5427 PR c++/69884
5428 * c.opt (Wignored-attributes): New option.
5429
5430 2016-03-22 David Malcolm <dmalcolm@redhat.com>
5431
5432 PR c/69993
5433 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
5434 diagnostic text, reversing the order of the warning and note so
5435 that they appear in source order.
5436
5437 2016-03-17 Marek Polacek <polacek@redhat.com>
5438
5439 PR c/69407
5440 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
5441 operations.
5442
5443 2016-03-14 Jason Merrill <jason@redhat.com>
5444
5445 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
5446
5447 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
5448
5449 2016-03-09 Richard Biener <rguenther@suse.de>
5450
5451 PR c/70143
5452 * c-common.c (strict_aliasing_warning): Add back
5453 alias_sets_conflict_p check.
5454
5455 2016-03-08 Jason Merrill <jason@redhat.com>
5456
5457 * c-opts.c (set_std_cxx1z): Don't enable concepts.
5458
5459 2016-03-04 David Malcolm <dmalcolm@redhat.com>
5460
5461 PR c/68187
5462 * c-indentation.c (get_visual_column): Move code to determine next
5463 tab stop to...
5464 (next_tab_stop): ...this new function.
5465 (line_contains_hash_if): Delete function.
5466 (detect_preprocessor_logic): Delete function.
5467 (get_first_nws_vis_column): New function.
5468 (detect_intervening_unindent): New function.
5469 (should_warn_for_misleading_indentation): Replace call to
5470 detect_preprocessor_logic with a call to
5471 detect_intervening_unindent.
5472
5473 2016-03-04 David Malcolm <dmalcolm@redhat.com>
5474
5475 PR c/68187
5476 * c-indentation.c (should_warn_for_misleading_indentation): When
5477 suppressing warnings about cases where the guard and body are on
5478 the same column, only use the first non-whitespace column in place
5479 of the guard token column when dealing with "else" clauses.
5480 When rejecting aligned BODY and NEXT, loosen the requirement
5481 from equality with the first non-whitespace of guard to simply
5482 that they not be indented relative to it.
5483
5484 2016-03-04 Richard Biener <rguenther@suse.de>
5485
5486 PR c++/70054
5487 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
5488 instead of alias_sets_conflict_p.
5489
5490 2016-03-01 Marek Polacek <polacek@redhat.com>
5491
5492 PR c++/69795
5493 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
5494 any DECL.
5495
5496 2016-02-22 Martin Sebor <msebor@redhat.com>
5497
5498 PR middle-end/69780
5499 * c-common.c (check_builtin_function_arguments): Validate and
5500 reject invalid arguments to __builtin_alloca_with_align.
5501
5502 2016-02-20 Mark Wielaard <mjw@redhat.com>
5503
5504 PR c/28901
5505 * c.opt (Wunused-const-variable): Turn into Alias for...
5506 (Wunused-const-variable=): New option.
5507
5508 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5509
5510 PR c++/69865
5511 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
5512 here...
5513 (c_common_init_options): ...to here.
5514 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
5515
5516 2016-02-19 Jakub Jelinek <jakub@redhat.com>
5517
5518 PR c++/69826
5519 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
5520 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
5521 flag_preprocess_only.
5522
5523 2016-02-16 Jakub Jelinek <jakub@redhat.com>
5524
5525 PR c/69835
5526 * c.opt (Wnonnull-compare): Enable for -Wall.
5527
5528 2016-02-15 Jakub Jelinek <jakub@redhat.com>
5529
5530 PR c++/69797
5531 * c-common.c (sync_resolve_size): Diagnose too few arguments
5532 even when params is non-NULL empty vector.
5533
5534 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
5535
5536 PR target/60410
5537 * c.opt (fshort-double): Remove.
5538
5539 2016-02-05 Martin Sebor <msebor@redhat.com>
5540
5541 PR c++/69662
5542 * c.opt (Warning options): Update -Wplacement-new to take
5543 an optional argument.
5544
5545 2016-02-01 Jakub Jelinek <jakub@redhat.com>
5546
5547 PR preprocessor/69543
5548 PR c/69558
5549 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
5550 instead of loc to control_warning_option.
5551
5552 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5553
5554 * c.opt (fopenacc-dim=): New option.
5555
5556 2016-01-27 Ryan Burn <contact@rnburn.com>
5557
5558 PR cilkplus/69267
5559 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
5560 gimplify_arg. Removed superfluous post_p argument.
5561 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
5562 superfluous post_p argument.
5563 * c-gimplify.c (c_gimplify_expr): Likewise.
5564
5565 2016-01-26 David Malcolm <dmalcolm@redhat.com>
5566
5567 PR other/69006
5568 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
5569 pp_newline_and_flush with pp_flush.
5570
5571 2016-01-20 Martin Sebor <msebor@redhat.com>
5572
5573 PR c/69405
5574 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
5575 an incompatible argument when the argument isn't a valid tree node.
5576
5577 2016-01-18 Jason Merrill <jason@redhat.com>
5578
5579 PR c++/68767
5580 * c-common.c (check_function_arguments_recurse): Fold the whole
5581 COND_EXPR, not just the condition.
5582
5583 2016-01-18 Tom de Vries <tom@codesourcery.com>
5584
5585 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
5586 classify as loop clause.
5587
5588 2016-01-15 Jakub Jelinek <jakub@redhat.com>
5589
5590 PR bootstrap/68271
5591 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
5592 C++ FE no longer has limit on number of pragmas.
5593
5594 2015-01-14 Ryan Burn <contact@rnburn.com>
5595
5596 PR c++/69048
5597 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
5598 to add missing cleanup point.
5599
5600 2016-01-14 David Malcolm <dmalcolm@redhat.com>
5601
5602 PR c++/68819
5603 * c-indentation.c (get_visual_column): Add location_t param.
5604 Handle the column number being zero by effectively disabling the
5605 warning, with an "inform".
5606 (should_warn_for_misleading_indentation): Add location_t argument
5607 for all uses of get_visual_column.
5608
5609 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
5610
5611 PR c++/69029
5612 * c-indentation.c (should_warn_for_misleading_indentation):
5613 Don't warn about do-while statements.
5614
5615 2016-01-07 Martin Sebor <msebor@redhat.com>
5616
5617 PR c/68966
5618 * c-common.c (sync_resolve_size): Reject first argument when it's
5619 a pointer to _Bool.
5620
5621 2016-01-05 David Malcolm <dmalcolm@redhat.com>
5622
5623 PR c/69122
5624 * c-indentation.c (get_visual_column): Remove default argument.
5625 (should_warn_for_misleading_indentation): For the multiline case,
5626 update call to get_visual_column for next_stmt_exploc so that it
5627 captures the location of the first non-whitespace character in the
5628 relevant line. Don't issue warnings if there is non-whitespace
5629 before the next statement.
5630
5631 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5632
5633 Update copyright years.
5634
5635 2015-12-21 David Malcolm <dmalcolm@redhat.com>
5636
5637 * c-common.c (binary_op_error): Convert first param from
5638 location_t to rich_location * and use it when emitting an error.
5639 * c-common.h (binary_op_error): Convert first param from
5640 location_t to rich_location *.
5641
5642 2015-12-16 David Malcolm <dmalcolm@redhat.com>
5643
5644 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
5645 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
5646
5647 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5648
5649 * c-common.c (c_common_attribute_table): Handle "omp declare target
5650 link" attribute.
5651
5652 2015-12-14 Jakub Jelinek <jakub@redhat.com>
5653
5654 PR c/68833
5655 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
5656
5657 2014-12-12 Tobias Burnus <burnus@net-b.de>
5658
5659 PR fortran/68815
5660 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
5661 specifiers (%d, %i,%u and %c).
5662
5663 2015-12-10 David Malcolm <dmalcolm@redhat.com>
5664
5665 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
5666
5667 2015-12-08 Jakub Jelinek <jakub@redhat.com>
5668
5669 PR c/48088
5670 PR c/68657
5671 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
5672 * c-pragma.c (handle_pragma_diagnostic): Adjust
5673 control_warning_option caller.
5674
5675 2015-12-07 David Malcolm <dmalcolm@redhat.com>
5676
5677 * c-common.c (c_cpp_error): Update for change to
5678 rich_location::set_range.
5679
5680 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
5681
5682 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
5683 shifting 1 out of the sign bit.
5684
5685 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
5686
5687 * c-common.c (c_common_attribute_table[]): Update max arguments
5688 count for "simd" attribute.
5689 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
5690
5691 2015-12-03 Jakub Jelinek <jakub@redhat.com>
5692
5693 PR preprocessor/57580
5694 * c-ppoutput.c (print): Change printed field to bool.
5695 Move src_file last for smaller padding.
5696 (init_pp_output): Set print.printed to false instead of 0.
5697 (scan_translation_unit): Fix up formatting. Set print.printed
5698 to true after printing something other than newline.
5699 (scan_translation_unit_trad): Set print.printed to true instead of 1.
5700 (maybe_print_line_1): Set print.printed to false instead of 0.
5701 (print_line_1): Likewise.
5702 (do_line_change): Set print.printed to true instead of 1.
5703 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
5704 dump_macro): Set print.printed to false after printing newline.
5705
5706 2015-12-02 Jason Merrill <jason@redhat.com>
5707
5708 * c-common.c (fold_for_warn): New.
5709 (warn_logical_operator, warn_tautological_cmp)
5710 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
5711
5712 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
5713 (c_fully_fold_internal, decl_constant_value_for_optimization):
5714 Move to c/c-fold.c.
5715 * c-common.h: Don't declare decl_constant_value_for_optimization.
5716
5717 2015-12-02 Joseph Myers <joseph@codesourcery.com>
5718
5719 PR c/68162
5720 * c-common.h (c_build_qualified_type): Add extra default
5721 arguments.
5722
5723 2015-12-01 Julian Brown <julian@codesourcery.com>
5724 Cesar Philippidis <cesar@codesourcery.com>
5725 James Norris <James_Norris@mentor.com>
5726
5727 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
5728 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
5729 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
5730
5731 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
5732
5733 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
5734 (decl_sloc_common): Delete and move bulk of processing to...
5735 (decl_sloc): ...here.
5736 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
5737 (dump_ada_double_name): Remove S parameter and compute the suffix.
5738 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
5739 element type and deal with an anonymous one.
5740 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
5741 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
5742 and remove reference to QUAL_UNION_TYPE.
5743 (dump_nested_types): Make 2 passes on the fields and move bulk to...
5744 (dump_nested_type): ...here. New function extracted from above.
5745 Generate a full declaration for anonymous element type of arrays.
5746 (print_ada_declaration): Really skip anonymous declarations. Remove
5747 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
5748 Clean up processing of declarations of array types and objects.
5749 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
5750 Remove obsolete code and tidy up.
5751
5752 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
5753
5754 PR c/67581
5755 * c-common.c (handle_transparent_union_attribute): Update
5756 also type variants.
5757
5758 2015-11-27 Martin Liska <mliska@suse.cz>
5759
5760 PR c++/68312
5761 * array-notation-common.c (cilkplus_extract_an_triplets):
5762 Release vector of vectors.
5763 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
5764
5765 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
5766
5767 PR c++/68527
5768 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
5769 (print_ada_struct_decl): Likewise.
5770
5771 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
5772
5773 PR c++/68001
5774 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
5775 * cilk.c (recognize_spawn): Determine location in a more precise
5776 way.
5777
5778 2015-11-19 Jason Merrill <jason@redhat.com>
5779
5780 * c-common.c (shorten_compare): But look through macros from
5781 system headers.
5782
5783 2015-11-18 Jason Merrill <jason@redhat.com>
5784
5785 * c-common.c (shorten_compare): Don't -Wtype-limits if the
5786 non-constant operand comes from a macro.
5787
5788 2015-11-17 Jason Merrill <jason@redhat.com>
5789
5790 PR bootstrap/68346
5791 * c-common.c (warn_tautological_cmp): Fold before checking for
5792 constants.
5793
5794 2015-11-16 Marek Polacek <polacek@redhat.com>
5795
5796 PR c++/68362
5797 * c-common.c (check_case_bounds): Fold low and high cases.
5798
5799 2015-11-16 Marek Polacek <polacek@redhat.com>
5800
5801 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
5802 * c-common.c (c_common_get_alias_set): Likewise.
5803 (handle_visibility_attribute): Likewise.
5804
5805 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
5806
5807 * c-common.c (handle_simd_attribute): New.
5808 (struct attribute_spec): Add entry for "simd".
5809 (handle_simd_attribute): New.
5810
5811 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
5812
5813 * c-lex.c (interpret_float): Use fold_convert.
5814
5815 2015-11-13 David Malcolm <dmalcolm@redhat.com>
5816
5817 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
5818 and store it on the result.
5819 * c-opts.c (c_common_init_options): Set
5820 global_dc->colorize_source_p.
5821
5822 2015-11-12 James Norris <jnorris@codesourcery.com>
5823 Joseph Myers <joseph@codesourcery.com>
5824
5825 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
5826 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
5827 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
5828 PRAGMA_OACC_CLAUSE_LINK.
5829
5830 2015-11-11 Marek Polacek <polacek@redhat.com>
5831
5832 PR c/68107
5833 PR c++/68266
5834 * c-common.c (valid_array_size_p): New function.
5835 * c-common.h (valid_array_size_p): Declare.
5836
5837 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
5838
5839 PR bootstrap/68271
5840 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
5841
5842 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
5843
5844 * array-notation-common.c: Remove unused header files.
5845 * c-ada-spec.c: Likewise.
5846 * c-cilkplus.c: Likewise.
5847 * c-common.c: Likewise.
5848 * c-cppbuiltin.c: Likewise.
5849 * c-dump.c: Likewise.
5850 * c-format.c: Likewise.
5851 * c-gimplify.c: Likewise.
5852 * c-indentation.c: Likewise.
5853 * c-lex.c: Likewise.
5854 * c-omp.c: Likewise.
5855 * c-opts.c: Likewise.
5856 * c-pch.c: Likewise.
5857 * c-ppoutput.c: Likewise.
5858 * c-pragma.c: Likewise.
5859 * c-pretty-print.c: Likewise.
5860 * c-semantics.c: Likewise.
5861 * c-ubsan.c: Likewise.
5862 * cilk.c: Likewise.
5863 * stub-objc.c: Likewise.
5864
5865 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
5866 Cesar Philippidis <cesar@codesourcery.com>
5867 James Norris <jnorris@codesourcery.com>
5868 Julian Brown <julian@codesourcery.com>
5869 Nathan Sidwell <nathan@codesourcery.com>
5870
5871 * c-pragma.c (oacc_pragmas): Add "routine".
5872 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
5873
5874 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
5875
5876 * c-common.c (c_common_attributes): Add scalar_storage_order.
5877 (handle_scalar_storage_order_attribute): New function.
5878 * c-pragma.c (global_sso): New variable.
5879 (maybe_apply_pragma_scalar_storage_order): New function.
5880 (handle_pragma_scalar_storage_order): Likewise.
5881 (init_pragma): Register scalar_storage_order.
5882 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
5883 * c.opt (Wscalar-storage-order): New warning.
5884 (fsso-struct=): New option.
5885
5886 2015-11-08 Martin Sebor <msebor@redhat.com>
5887
5888 * c.opt (Wplacement-new): Add a period to the end of a sentence.
5889
5890 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
5891
5892 * c-common.c: Don't undef DEF_BUILTIN.
5893
5894 2015-11-06 David Malcolm <dmalcolm@redhat.com>
5895
5896 * c-common.c (c_cpp_error): Convert parameter from location_t to
5897 rich_location *. Eliminate the "column_override" parameter and
5898 the call to diagnostic_override_column.
5899 Update the "done_lexing" clause to set range 0
5900 on the rich_location, rather than overwriting a location_t.
5901 * c-common.h (c_cpp_error): Convert parameter from location_t to
5902 rich_location *. Eliminate the "column_override" parameter.
5903
5904 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5905 Thomas Schwinge <thomas@codesourcery.com>
5906 James Norris <jnorris@codesourcery.com>
5907
5908 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5909 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5910 clauses with parallel and kernels and loops.
5911 * c-pragma.h (enum pragma_omp_clause): Add entries for
5912 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5913 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5914 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5915 INDEPENDENT,SEQ}.
5916 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5917
5918 2015-11-05 Martin Sebor <msebor@redhat.com>
5919
5920 PR c++/67942
5921 * c.opt (-Wplacement-new): New option.
5922
5923 2015-11-05 Jakub Jelinek <jakub@redhat.com>
5924
5925 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5926 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5927 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5928 save_expr or create_tmp_var* if TEST is true.
5929 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5930 Don't call add_stmt here.
5931 (struct c_omp_check_loop_iv_data): New type.
5932 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5933 c_omp_check_loop_iv_exprs): New functions.
5934 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5935 distribute.
5936 (c_omp_declare_simd_clauses_to_numbers): Change
5937 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5938 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5939 from numbers to PARM_DECLs.
5940
5941 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5942
5943 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5944 flag_checking.
5945
5946 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
5947
5948 PR c++-common/67882
5949 * c-common.h (fold_offsetof_1): Add argument.
5950 * c-common.c (fold_offsetof_1): Diagnose more invalid
5951 offsetof expressions that reference elements past the end of
5952 an array.
5953
5954 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5955 Chung-Lin Tang <cltang@codesourcery.com>
5956
5957 * c-pragma.c (oacc_pragmas): Add "atomic".
5958 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5959
5960 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5961
5962 * c-common.c (handle_target_clones_attribute): New.
5963 (c_common_attribute_table): Add handle_target_clones_attribute.
5964 (handle_always_inline_attribute): Add check on target_clones attribute.
5965 (handle_target_attribute): Ditto.
5966
5967 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
5968
5969 * array-notation-common.c: Reorder #include's and remove duplicates.
5970 * c-ada-spec.c: Likewise.
5971 * c-cilkplus.c: Likewise.
5972 * c-common.c: Likewise.
5973 * c-cppbuiltin.c: Likewise.
5974 * c-dump.c: Likewise.
5975 * c-format.c: Likewise.
5976 * c-gimplify.c: Likewise.
5977 * c-indentation.c: Likewise.
5978 * c-lex.c: Likewise.
5979 * c-omp.c: Likewise.
5980 * c-opts.c: Likewise.
5981 * c-pch.c: Likewise.
5982 * c-ppoutput.c: Likewise.
5983 * c-pragma.c: Likewise.
5984 * c-pretty-print.c: Likewise.
5985 * c-semantics.c: Likewise.
5986 * c-ubsan.c: Likewise.
5987 * cilk.c: Likewise.
5988 * stub-objc.c: Likewise.
5989
5990 2015-10-28 Jason Merrill <jason@redhat.com>
5991
5992 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5993
5994 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5995 James Norris <jnorris@codesourcery.com>
5996 Cesar Philippidis <cesar@codesourcery.com>
5997
5998 PR c/64765
5999 PR c/64880
6000 * c-common.h (c_oacc_split_loop_clauses): Declare function.
6001 * c-omp.c (c_oacc_split_loop_clauses): New function.
6002
6003 2015-10-21 Martin Sebor <msebor@redhat.com>
6004
6005 PR driver/68043
6006 * c.opt: End each sentence that describes an option with a period.
6007
6008 2015-10-20 Marek Polacek <polacek@redhat.com>
6009
6010 * array-notation-common.c (is_cilkplus_vector_p): Define.
6011 * c-common.h (is_cilkplus_vector_p): Declare.
6012
6013 2015-10-20 Marek Polacek <polacek@redhat.com>
6014
6015 * c.opt (std=gnu++11): Do not describe as experimental.
6016 (std=gnu++14): Likewise.
6017
6018 2015-10-19 Jason Merrill <jason@redhat.com>
6019
6020 * c-cppbuiltin.c (c_cpp_builtins): Define
6021 __cpp_nontype_template_args.
6022
6023 2015-10-19 Jason Merrill <jason@redhat.com>
6024
6025 * c-cppbuiltin.c (c_cpp_builtins): Define
6026 __cpp_enumerator_attributes, __cpp_fold_expressions,
6027 __cpp_unicode_characters.
6028
6029 2015-10-13 Jakub Jelinek <jakub@redhat.com>
6030 Aldy Hernandez <aldyh@redhat.com>
6031
6032 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
6033 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
6034 (c_define_builtins): Likewise.
6035 * c-common.h (enum c_omp_clause_split): Add
6036 C_OMP_CLAUSE_SPLIT_TASKLOOP.
6037 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
6038 (c_finish_omp_for): Add ORIG_DECLV argument.
6039 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
6040 201511 instead of 201307.
6041 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
6042 OMP_CRITICAL_CLAUSES to it.
6043 (c_finish_omp_ordered): Add CLAUSES argument, set
6044 OMP_ORDERED_CLAUSES to it.
6045 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
6046 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
6047 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
6048 constructs and new OpenMP 4.5 clauses. Clear
6049 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
6050 verification code.
6051 * c-pragma.c (omp_pragmas_simd): Add taskloop.
6052 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
6053 (enum pragma_omp_clause): Add
6054 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
6055 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
6056
6057 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
6058
6059 * c-lex.c (interpret_float): Use real_equal instead of
6060 REAL_VALUES_EQUAL.
6061
6062 2015-10-04 Jason Merrill <jason@redhat.com>
6063
6064 Implement N4514, C++ Extensions for Transactional Memory.
6065 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
6066 (c_common_attribute_table): Add transaction_safe_dynamic.
6067 transaction_safe now affects type identity.
6068 (handle_tm_attribute): Handle transaction_safe_dynamic.
6069 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
6070 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
6071 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
6072 (D_TRANSMEM): New.
6073 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
6074 * c-pretty-print.c (pp_c_attributes_display): Don't print
6075 transaction_safe in C++.
6076
6077 2015-10-02 Marek Polacek <polacek@redhat.com>
6078
6079 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
6080
6081 2015-10-02 Marek Polacek <polacek@redhat.com>
6082
6083 PR c/64249
6084 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
6085 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
6086 * c.opt (Wduplicated-cond): New option.
6087
6088 2015-10-01 Joseph Myers <joseph@codesourcery.com>
6089
6090 * c.opt (std=c11): Do not describe as experimental.
6091 (std=gnu11): Likewise.
6092 (std=iso9899:2011): Likewise.
6093
6094 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6095
6096 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
6097 (DEF_FUNCTION_TYPE_VAR_11): Delete.
6098
6099 2015-09-25 Marek Polacek <polacek@redhat.com>
6100
6101 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
6102 (ubsan_instrument_shift): Likewise.
6103
6104 2015-09-25 Marek Polacek <polacek@redhat.com>
6105
6106 PR sanitizer/64906
6107 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
6108
6109 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
6110
6111 * c-indentation.c (should_warn_for_misleading_indentation):
6112 Compare next_stmt_vis_column with guard_line_first_nws instead
6113 of with guard_line_vis_column.
6114
6115 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
6116
6117 PR c/49654
6118 PR c/49655
6119 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
6120 options and options not valid for the current language.
6121
6122 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
6123
6124 * c-indentation.c (should_warn_for_misleading_indentation):
6125 Float out and consolidate the calls to get_visual_column that
6126 are passed guard_exploc as an argument. Compare
6127 next_stmt_vis_column with guard_line_first_nws instead of with
6128 body_line_first_nws.
6129
6130 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
6131
6132 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
6133 Wnamespaces): New C++ warnings.
6134
6135 2015-09-22 Jason Merrill <jason@redhat.com>
6136
6137 * c-common.h (abi_compat_version_crosses): New.
6138 (warn_abi_version): Declare.
6139 * c-common.c: Define it.
6140 * c-opts.c (c_common_post_options): Handle it.
6141 flag_abi_compat_version defaults to 8.
6142
6143 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
6144
6145 Complete the implementation of N4230, Nested namespace definition.
6146 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
6147 __cpp_nested_namespace_definitions.
6148
6149 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
6150
6151 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
6152
6153 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
6154
6155 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
6156 when warning.
6157 * c-pragma.h (pragma_lex): Add optional loc argument.
6158
6159 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
6160
6161 * c-format.c (check_format_arg): Adjust to use common block size in all
6162 object pools.
6163
6164 2015-09-15 David Malcolm <dmalcolm@redhat.com>
6165
6166 * c-format.c (location_from_offset): Update for change in
6167 signature of location_get_source_line.
6168 * c-indentation.c (get_visual_column): Likewise.
6169 (line_contains_hash_if): Likewise.
6170
6171 2015-09-14 Marek Polacek <polacek@redhat.com>
6172
6173 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
6174 setting various warnings.
6175
6176 2015-09-14 Marek Polacek <polacek@redhat.com>
6177
6178 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
6179 a negative value.
6180
6181 2015-09-11 Mark Wielaard <mjw@redhat.com>
6182
6183 PR c/28901
6184 * c.opt (Wunused-variable): Option from common.opt.
6185 (Wunused-const-variable): New option.
6186
6187 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
6188
6189 PR c++/53184
6190 * c.opt ([Wsubobject-linkage]): Add.
6191
6192 2015-09-03 Martin Sebor <msebor@redhat.com>
6193
6194 PR c/66516
6195 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
6196 functions.
6197 * c-common.c (reject_gcc_builtin): Define.
6198
6199 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
6200
6201 PR middle-end/60586
6202 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
6203 prototype.
6204 * c-gimplify.c (c_gimplify_expr): Added a call to the function
6205 cilk_gimplify_call_params_in_spawned_fn.
6206 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
6207 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
6208 unwrapping.
6209
6210 2015-08-25 Marek Polacek <polacek@redhat.com>
6211
6212 PR middle-end/67330
6213 * c-common.c (handle_weak_attribute): Don't check whether the
6214 visibility can be changed here.
6215
6216 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
6217
6218 * c-lex.c (c_lex_with_flags): Use explicit locations.
6219
6220 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
6221
6222 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
6223 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
6224
6225 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6226
6227 PR middle-end/36757
6228 * c-common.c (check_builtin_function_arguments): Add check
6229 for BUILT_IN_SIGNBIT argument.
6230
6231 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
6232
6233 PR c++/67160
6234 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
6235 in c++1z mode.
6236
6237 2015-08-17 Marek Polacek <polacek@redhat.com>
6238
6239 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
6240 with whitespaces before qualifier names.
6241
6242 2015-08-12 Marek Polacek <polacek@redhat.com>
6243
6244 PR c++/55095
6245 * c-common.c (maybe_warn_shift_overflow): Properly handle
6246 left-shifting 1 into the sign bit.
6247
6248 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6249
6250 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
6251
6252 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
6253 Braden Obrzut <admin@maniacsvault.net>
6254 Jason Merrill <jason@redhat.com>
6255
6256 Add C++ Concepts TS support.
6257 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
6258 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
6259 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
6260 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
6261 * c-opts.c (set_std_cxx1z): Set flag_concepts.
6262 * c.opt (fconcepts): New.
6263
6264 2015-08-02 Martin Sebor <msebor@redhat.com>
6265
6266 * c.opt (-Wframe-address): New warning option.
6267
6268 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6269
6270 * c-indentation.c (should_warn_for_misleading_indentation):
6271 Improve heuristics.
6272
6273 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6274
6275 * c-indentation.c (get_visual_column): Add parameter first_nws,
6276 use it. Update comment documenting the function.
6277 (is_first_nonwhitespace_on_line): Remove.
6278 (should_warn_for_misleading_indentation): Replace usage of
6279 of is_first_nonwhitespace_on_line with get_visual_column.
6280
6281 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
6282
6283 * c-indentation.h (struct token_indent_info): Define.
6284 (get_token_indent_info): Define.
6285 (warn_for_misleading_information): Declare.
6286 * c-common.h (warn_for_misleading_information): Remove.
6287 * c-identation.c (warn_for_misleading_indentation):
6288 Change declaration to take three token_indent_infos. Adjust
6289 accordingly.
6290 * c-identation.c (should_warn_for_misleading_indentation):
6291 Likewise. Bail out early if the body is a compound statement.
6292 (guard_tinfo_to_string): Define.
6293
6294 2015-07-30 Jason Merrill <jason@redhat.com>
6295
6296 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
6297 '*' for reference decay.
6298
6299 2015-07-30 Marek Polacek <polacek@redhat.com>
6300
6301 * c-common.c (warn_tautological_cmp): Bail for float types.
6302
6303 2015-07-27 Marek Polacek <polacek@redhat.com>
6304
6305 PR bootstrap/67030
6306 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
6307
6308 2015-07-27 Marek Polacek <polacek@redhat.com>
6309
6310 PR c++/66555
6311 PR c/54979
6312 * c-common.c (find_array_ref_with_const_idx_r): New function.
6313 (warn_tautological_cmp): New function.
6314 * c-common.h (warn_tautological_cmp): Declare.
6315 * c.opt (Wtautological-compare): New option.
6316
6317 2015-07-23 Marek Polacek <polacek@redhat.com>
6318
6319 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
6320 (ubsan_instrument_shift): Likewise.
6321
6322 2015-07-23 Marek Polacek <polacek@redhat.com>
6323
6324 PR sanitizer/66908
6325 * c-ubsan.c: Include gimplify.h.
6326 (ubsan_instrument_division): Unshare OP0 and OP1.
6327 (ubsan_instrument_shift): Likewise.
6328
6329 2015-07-20 Marek Polacek <polacek@redhat.com>
6330 Richard Sandiford <richard.sandiford@arm.com>
6331
6332 PR c++/55095
6333 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
6334 Use EXPR_LOC_OR_LOC.
6335 (maybe_warn_shift_overflow): New function.
6336 * c-common.h (maybe_warn_shift_overflow): Declare.
6337 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
6338 * c.opt (Wshift-overflow): New option.
6339
6340 2015-07-16 Martin Liska <mliska@suse.cz>
6341
6342 * c-format.c (static void check_format_info_main): Use
6343 object_allocator instead of pool_allocator.
6344 (check_format_arg): Likewise.
6345 (check_format_info_main): Likewise.
6346
6347 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
6348
6349 * c-opts.c: Remove multiline #include comment.
6350
6351 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
6352
6353 * c-common.c: Fix double word typos.
6354
6355 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
6356
6357 * c-ada-spec.h (cpp_operation): Revert latest change.
6358 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
6359 constructors and destructors.
6360
6361 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
6362
6363 * c-common.h: Adjust includes for flags.h changes.
6364 * stub-objc.c: Likewise.
6365
6366 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
6367
6368 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
6369 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
6370
6371 2015-07-08 Jakub Jelinek <jakub@redhat.com>
6372
6373 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
6374 are to be removed, return NULL rather than original clauses list.
6375
6376 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
6377
6378 * array-notation-common.c: Adjust includes.
6379 * c-ada-spec.c: Likewise.
6380 * c-cilkplus.c: Likewise.
6381 * c-common.h: Likewise.
6382 * c-cppbuiltin.c: Likewise.
6383 * c-dump.c: Likewise.
6384 * c-format.c: Likewise.
6385 * c-gimplify.c: Likewise.
6386 * c-indentation.c: Likewise.
6387 * c-lex.c: Likewise.
6388 * c-omp.c: Likewise.
6389 * c-opts.c: Likewise.
6390 * c-pch.c: Likewise.
6391 * c-ppoutput.c: Likewise.
6392 * c-pragma.c: Likewise.
6393 * c-pretty-print.c: Likewise.
6394 * c-semantics.c: Likewise.
6395 * c-ubsan.c: Likewise.
6396 * cilk.c: Likewise.
6397 * stub-objc.c: Likewise.
6398
6399 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
6400
6401 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
6402 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
6403
6404 2015-07-01 Jason Merrill <jason@redhat.com>
6405
6406 * c-common.h (D_CXX11): Rename from D_CXX0X.
6407 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
6408 * c-common.c: Adjust.
6409
6410 * c-opts.c (c_common_post_options): Default to C++14.
6411
6412 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
6413
6414 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
6415
6416 Implement N4197 - Adding u8 character literals
6417 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
6418 CPP_CHAR.
6419 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
6420 CPP_UTF8CHAR_USERDEF tokens.
6421 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
6422 and CPP_UTF8CHAR tokens.
6423 (lex_charconst): Treat CPP_UTF8CHAR token.
6424
6425 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6426
6427 PR fortran/66605
6428 * c-common.c (do_warn_unused_parameter): Move here.
6429 * c-common.h (do_warn_unused_parameter): Declare.
6430
6431 2015-06-29 Marek Polacek <polacek@redhat.com>
6432
6433 PR c/66322
6434 * c-common.c (check_case_bounds): Add bool * parameter. Set
6435 OUTSIDE_RANGE_P.
6436 (c_add_case_label): Add bool * parameter. Pass it down to
6437 check_case_bounds.
6438 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
6439 warning here.
6440 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
6441 declarations.
6442
6443 2015-06-27 Marek Polacek <polacek@redhat.com>
6444
6445 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
6446 or VECTOR_INTEGER_TYPE_P throughout.
6447 * c-gimplify.c: Likewise.
6448
6449 2015-06-26 Marek Polacek <polacek@redhat.com>
6450
6451 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
6452 * c-common.c (c_fully_fold_internal): Likewise.
6453 (c_alignof_expr): Likewise.
6454 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
6455 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
6456 * cilk.c (create_parm_list): Likewise.
6457
6458 2015-06-26 Marek Polacek <polacek@redhat.com>
6459
6460 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
6461
6462 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
6463
6464 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
6465 * c-gimplify.c: Likewise.
6466 * c-pragma.c: Likewise.
6467 * c-ubsan.c: Likewise.
6468 * cilk.c: Likewise.
6469
6470 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
6471
6472 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
6473 ggc_hasher.
6474
6475 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
6476
6477 * cilk.c: Move calls.h after tm.h in the include chain.
6478
6479 2015-06-25 Marek Polacek <polacek@redhat.com>
6480
6481 * array-notation-common.c: Use VAR_P throughout.
6482 * c-ada-spec.c: Likewise.
6483 * c-common.c: Likewise.
6484 * c-format.c: Likewise.
6485 * c-gimplify.c: Likewise.
6486 * c-omp.c: Likewise.
6487 * c-pragma.c: Likewise.
6488 * c-pretty-print.c: Likewise.
6489 * cilk.c: Likewise.
6490
6491 2015-06-25 Marek Polacek <polacek@redhat.com>
6492
6493 * cilk.c (extract_free_variables): Use is_global_var.
6494
6495 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
6496
6497 * c-common.c: Don't include target-def.h.
6498
6499 2015-06-23 Marek Polacek <polacek@redhat.com>
6500
6501 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
6502 when comparing INTEGER_CSTs.
6503
6504 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
6505
6506 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
6507 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
6508 (dump_ada_template): Skip partially specialized types.
6509
6510 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
6511
6512 * c-common.c (scalar_to_vector): Use std::swap instead of manually
6513 swapping.
6514
6515 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
6516
6517 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
6518 * c-ada-spec.c: Likewise.
6519 * c-cilkplus.c: Likewise.
6520 * c-common.c: Likewise.
6521 * c-common.h: Likewise.
6522 * c-cppbuiltin.c: Likewise.
6523 * c-dump.c: Likewise.
6524 * c-format.c: Likewise.
6525 * c-gimplify.c: Likewise.
6526 * c-indentation.c: Likewise.
6527 * c-lex.c: Likewise.
6528 * c-omp.c: Likewise.
6529 * c-opts.c: Likewise.
6530 * c-pch.c: Likewise.
6531 * c-ppoutput.c: Likewise.
6532 * c-pragma.c: Likewise.
6533 * c-pretty-print.c: Likewise.
6534 * c-semantics.c: Likewise.
6535 * c-ubsan.c: Likewise.
6536 * cilk.c: Likewise.
6537 * stub-objc.c: Likewise.
6538
6539 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
6540
6541 PR c++/65168
6542 * c-common.c (c_common_truthvalue_conversion): Warn when
6543 converting an address of a reference to a truth value.
6544
6545 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
6546
6547 * array-notation-common.c : Adjust include files.
6548 * c-ada-spec.c : Likewise.
6549 * c-cilkplus.c : Likewise.
6550 * c-common.c : Likewise.
6551 * c-common.h : Likewise.
6552 * c-cppbuiltin.c : Likewise.
6553 * c-dump.c : Likewise.
6554 * c-format.c : Likewise.
6555 * c-gimplify.c : Likewise.
6556 * c-indentation.c : Likewise.
6557 * c-lex.c : Likewise.
6558 * c-omp.c : Likewise.
6559 * c-opts.c : Likewise.
6560 * c-pch.c : Likewise.
6561 * c-ppoutput.c : Likewise.
6562 * c-pragma.c : Likewise.
6563 * c-pretty-print.c : Likewise.
6564 * c-semantics.c : Likewise.
6565 * c-ubsan.c : Likewise.
6566 * cilk.c : Likewise.
6567 * stub-objc.c : Likewise.
6568
6569 2015-06-08 Marek Polacek <polacek@redhat.com>
6570
6571 PR c/66415
6572 * c-format.c (location_from_offset): Return LOC if LINE is null.
6573
6574 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
6575
6576 * c-common.h (c_parse_final_cleanups): New prototype.
6577 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
6578
6579 2015-06-04 Sriraman Tallam <tmsriram@google.com>
6580
6581 * c-common.c (noplt): New attribute.
6582 (handle_noplt_attribute): New handler.
6583
6584 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
6585
6586 * array-notation-common.c: Adjust includes for restructured coretypes.h.
6587 * c-ada-spec.c: Likewise.
6588 * c-cilkplus.c: Likewise.
6589 * c-common.c: Likewise.
6590 * c-common.h: Likewise.
6591 * c-cppbuiltin.c: Likewise.
6592 * c-dump.c: Likewise.
6593 * c-format.c: Likewise.
6594 * c-gimplify.c: Likewise.
6595 * c-indentation.c: Likewise.
6596 * c-lex.c: Likewise.
6597 * c-omp.c: Likewise.
6598 * c-opts.c: Likewise.
6599 * c-pch.c: Likewise.
6600 * c-ppoutput.c: Likewise.
6601 * c-pragma.c: Likewise.
6602 * c-pretty-print.c: Likewise.
6603 * c-semantics.c: Likewise.
6604 * c-ubsan.c: Likewise.
6605 * cilk.c: Likewise.
6606 * stub-objc.c: Likewise.
6607
6608 2015-06-02 David Malcolm <dmalcolm@redhat.com>
6609
6610 PR c/66220:
6611 * c-indentation.c (should_warn_for_misleading_indentation): Use
6612 expand_location rather than expand_location_to_spelling_point.
6613 Don't warn if the guarding statement is more indented than the
6614 next/body stmts.
6615
6616 2015-06-02 David Malcolm <dmalcolm@redhat.com>
6617
6618 * c-indentation.c (warn_for_misleading_indentation): Bail out
6619 immediately if -Wmisleading-indentation isn't enabled.
6620
6621 2015-06-01 Martin Liska <mliska@suse.cz>
6622
6623 * c-format.c (check_format_arg):Use new type-based pool allocator.
6624 (check_format_info_main) Likewise.
6625
6626 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
6627
6628 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
6629 (has_nontrivial_methods): Likewise.
6630
6631 2015-05-25 Marek Polacek <polacek@redhat.com>
6632
6633 * c-ubsan.c (ubsan_instrument_shift): Use type0.
6634
6635 2015-05-22 Marek Polacek <polacek@redhat.com>
6636
6637 PR c/47043
6638 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
6639
6640 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6641
6642 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
6643 STACK_GROWS_DOWNWARD.
6644
6645 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6646
6647 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
6648 STACK_GROWS_DOWNWARD rather than if it is defined.
6649
6650 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6651
6652 PR c/52952
6653 * c-format.c (location_column_from_byte_offset): New.
6654 (location_from_offset): New.
6655 (struct format_wanted_type): Add offset_loc field.
6656 (check_format_info): Move handling of location for extra arguments
6657 closer to the point of warning.
6658 (check_format_info_main): Pass the result of location_from_offset
6659 to warning_at.
6660 (format_type_warning): Pass the result of location_from_offset
6661 to warning_at.
6662
6663 2015-05-20 Marek Polacek <polacek@redhat.com>
6664
6665 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
6666
6667 2015-05-20 Marek Polacek <polacek@redhat.com>
6668
6669 * c-ada-spec.c (dump_sloc): Use DECL_P.
6670
6671 2015-05-20 Marek Polacek <polacek@redhat.com>
6672
6673 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
6674 * c-common.c: Likewise.
6675
6676 2015-05-19 David Malcolm <dmalcolm@redhat.com>
6677
6678 * c-common.h (fe_file_change): Strengthen param from
6679 const line_map * to const line_map_ordinary *.
6680 (pp_file_change): Likewise.
6681 * c-lex.c (fe_file_change): Likewise.
6682 (cb_define): Use linemap_check_ordinary when invoking
6683 SOURCE_LINE.
6684 (cb_undef): Likewise.
6685 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
6686 invoking cb_file_change.
6687 (c_finish_options): Likewise.
6688 (push_command_line_include): Likewise.
6689 (cb_file_change): Strengthen param "new_map" from
6690 const line_map * to const line_map_ordinary *.
6691 * c-ppoutput.c (cb_define): Likewise for local "map".
6692 (pp_file_change): Likewise for param "map" and local "from".
6693
6694 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
6695
6696 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
6697
6698 2015-05-18 Tom de Vries <tom@codesourcery.com>
6699
6700 * c-common.c (build_va_arg_1): New function.
6701 (build_va_arg): Add address operator to va_list operand if necessary.
6702
6703 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
6704
6705 PR c/48956
6706 * c-common.c (int_safely_convertible_to_real_p): Define.
6707 (unsafe_conversion_p): Check conversions involving complex types.
6708 (conversion_warning): Add new warning message for conversions which
6709 discard imaginary component.
6710 * c-common.h: (enum conversion_safety): Add new enumerator for such
6711 conversions.
6712
6713 2015-05-14 Marek Polacek <polacek@redhat.com>
6714
6715 PR c/66066
6716 PR c/66127
6717 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
6718 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
6719 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
6720 use it. If FOR_INT_CONST, require that all evaluated operands be
6721 INTEGER_CSTs.
6722
6723 2015-05-12 David Malcolm <dmalcolm@redhat.com>
6724
6725 * c-common.h (warn_for_misleading_indentation): New prototype.
6726 * c-indentation.c: New file.
6727 * c.opt (Wmisleading-indentation): New option.
6728
6729 2015-05-12 Tom de Vries <tom@codesourcery.com>
6730
6731 PR tree-optimization/66010
6732 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
6733
6734 2015-05-09 Jason Merrill <jason@redhat.com>
6735
6736 * c-opts.c (c_common_post_options): Also clear
6737 cpp_opts->cpp_warn_cxx11_compat.
6738
6739 * c-common.h (enum cxx_dialect): Add cxx_unset.
6740 * c-common.c (cxx_dialect): Initialize to cxx_unset.
6741 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
6742
6743 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
6744 (std=gnu++0x): Mark as Undocumented.
6745 (std=gnu++1y): Add deprecated message.
6746
6747 2015-05-08 Jason Merrill <jason@redhat.com>
6748
6749 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
6750 * c-opts.c: Adjust.
6751
6752 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
6753
6754 2015-05-08 Marek Polacek <polacek@redhat.com>
6755
6756 PR c/64918
6757 * c.opt (Woverride-init-side-effects): New option.
6758
6759 2015-05-07 Marek Polacek <polacek@redhat.com>
6760
6761 PR c/65179
6762 * c-common.c (c_fully_fold_internal): Warn when left shifting a
6763 negative value.
6764 * c.opt (Wshift-negative-value): New option.
6765 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
6766 when -Wextra and C99/C++11 mode.
6767
6768 2015-05-07 Marek Polacek <polacek@redhat.com>
6769 Martin Uecker <uecker@eecs.berkeley.edu>
6770
6771 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
6772 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
6773
6774 2015-05-05 Jason Merrill <jason@redhat.com>
6775
6776 * c.opt (Wterminate): New.
6777
6778 2015-04-30 Marek Polacek <polacek@redhat.com>
6779
6780 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
6781 require that the non-constant be of a boolean type.
6782
6783 2015-04-29 Josh Triplett <josh@joshtriplett.org>
6784
6785 * c-common.c (handle_section_attribute): Refactor to reduce
6786 nesting and distinguish between error cases.
6787
6788 2015-04-29 Marek Polacek <polacek@redhat.com>
6789
6790 PR c/64610
6791 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
6792 with 0/1.
6793
6794 2015-04-29 Jakub Jelinek <jakub@redhat.com>
6795
6796 * c-common.h (omp_clause_mask): Unconditionally define as a class.
6797 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
6798 HOST_BITS_PER_WIDE_INT.
6799
6800 2015-04-28 Tom de Vries <tom@codesourcery.com>
6801
6802 PR tree-optimization/65887
6803 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
6804
6805 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
6806 Pierre-Marie de Rodat <derodat@adacore.com>
6807
6808 * c-ada-spec.c (in_function): Delete.
6809 (dump_generic_ada_node): Do not change in_function and remove the
6810 redundant code dealing with it.
6811 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
6812 (print_ada_methods): Output the static member functions in a nested
6813 package after the regular methods as well as associated renamings.
6814
6815 2015-04-24 Marek Polacek <polacek@redhat.com>
6816
6817 PR c/65830
6818 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
6819 and OPT_Wshift_count_overflow.
6820
6821 PR c/63357
6822 * c-common.c (warn_logical_operator): Warn if the operands have the
6823 same expressions.
6824
6825 2015-04-24 Marek Polacek <polacek@redhat.com>
6826
6827 PR c/61534
6828 * c-common.c (warn_logical_operator): Bail if either operand comes
6829 from a macro expansion.
6830
6831 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6832
6833 PR target/55143
6834 * c-common.c (c_default_pointer_mode): Add definition.
6835 * c-common.h (c_default_pointer_mode): Add declaration.
6836
6837 2015-03-11 Jakub Jelinek <jakub@redhat.com>
6838
6839 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
6840 on record_builtin_type argument.
6841
6842 2015-03-10 Jakub Jelinek <jakub@redhat.com>
6843
6844 PR c/65120
6845 * c-common.c (warn_logical_not_parentheses): Don't warn for
6846 !x == 0 or !x != 0.
6847
6848 2015-03-07 Marek Polacek <polacek@redhat.com>
6849
6850 PR sanitizer/65280
6851 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
6852 before trying to figure out whether we have a flexible array member.
6853
6854 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
6855 Jonathan Wakely <jwakely.gcc@gmail.com>
6856
6857 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
6858
6859 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
6860
6861 PR ada/65319
6862 * c-ada-spec.c (print_destructor): Remove obsolete code.
6863
6864 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
6865
6866 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
6867 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
6868 DECL_TEMPLATE_RESULT emulations.
6869 (dump_ada_template)): Add guard for TYPE_METHODS.
6870
6871 2015-02-27 Marek Polacek <polacek@redhat.com>
6872
6873 PR c/65040
6874 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
6875
6876 2015-02-27 Kai Tietz <ktietz@redhat.com>
6877
6878 PR c/35330
6879 * c-pragma.c (handle_pragma_weak): Do not try to create
6880 weak/alias of declarations not being function, or variable
6881 declarations.
6882
6883 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
6884
6885 PR libgomp/64625
6886 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6887 Remove macros.
6888 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
6889
6890 2015-02-16 Marek Polacek <polacek@redhat.com>
6891
6892 PR c/65066
6893 * c-format.c (check_format_types): Handle null param.
6894
6895 2015-02-13 Marek Polacek <polacek@redhat.com>
6896
6897 PR c/65040
6898 * c-format.c (check_format_types): Don't warn about different
6899 signedness if the original value is in the range of WANTED_TYPE.
6900
6901 2015-02-12 Jason Merrill <jason@redhat.com>
6902
6903 PR c++/64956
6904 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6905 to the current highest version.
6906 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6907
6908 2015-02-04 Jakub Jelinek <jakub@redhat.com>
6909
6910 PR c/64824
6911 PR c/64868
6912 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6913 instead of RDIV_EXPR. Use build_binary_op instead of
6914 build2_loc.
6915
6916 2015-01-30 Joseph Myers <joseph@codesourcery.com>
6917
6918 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6919 to pass input_location as first argument.
6920
6921 2015-01-23 Tom de Vries <tom@codesourcery.com>
6922
6923 PR libgomp/64672
6924 * c.opt (fopenacc): Mark as LTO option.
6925
6926 2015-01-23 Tom de Vries <tom@codesourcery.com>
6927
6928 PR libgomp/64707
6929 * c.opt (fopenmp): Mark as LTO option.
6930
6931 2015-01-21 Jakub Jelinek <jakub@redhat.com>
6932
6933 PR c/63307
6934 * cilk.c (fill_decls_vec): Only put decls into vector v.
6935 (compare_decls): Fix up formatting.
6936
6937 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6938
6939 PR c/63307
6940 * cilk.c: Include vec.h.
6941 (struct cilk_decls): New structure.
6942 (wrapper_parm_cb): Split this function to...
6943 (fill_decls_vec): ...this...
6944 (create_parm_list): ...and this.
6945 (compare_decls): New function.
6946 (for_local_cb): Remove.
6947 (wrapper_local_cb): Ditto.
6948 (build_wrapper_type): For now first traverse and fill vector of
6949 declarations then sort it and then deal with sorted vector.
6950 (cilk_outline): Ditto.
6951 (declare_one_free_variable): Ditto.
6952
6953 2015-01-21 Jason Merrill <jason@redhat.com>
6954
6955 PR c++/64629
6956 * c-format.c (check_format_arg): Call decl_constant_value.
6957
6958 2015-01-19 Martin Liska <mliska@suse.cz>
6959
6960 * c-common.c (handle_noicf_attribute): New function.
6961
6962 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6963 Bernd Schmidt <bernds@codesourcery.com>
6964 James Norris <jnorris@codesourcery.com>
6965 Cesar Philippidis <cesar@codesourcery.com>
6966 Ilmir Usmanov <i.usmanov@samsung.com>
6967 Jakub Jelinek <jakub@redhat.com>
6968
6969 * c.opt (fopenacc): New option.
6970 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6971 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6972 New macros.
6973 * c-common.h (c_finish_oacc_wait): New prototype.
6974 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6975 (c_finish_oacc_wait): New function.
6976 * c-pragma.c (oacc_pragmas): New variable.
6977 (c_pp_lookup_pragma, init_pragma): Handle it.
6978 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6979 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6980 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6981 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6982 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6983 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6984 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6985 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6986 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6987 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6988 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6989 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6990 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6991 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6992 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6993 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6994 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6995 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6996 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6997 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6998 PRAGMA_OACC_CLAUSE_WORKER.
6999
7000 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
7001
7002 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
7003 for the new option fstack-protector_explicit.
7004 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
7005 (handle_stack_protect_attribute): New function.
7006
7007 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
7008
7009 * c.opt: New option -Warray-bounds=.
7010
7011 2015-01-09 Michael Collison <michael.collison@linaro.org>
7012
7013 * array-notation-common.c: Include hash-set.h, machmode.h,
7014 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7015 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
7016 * c-ada-spec.c: Ditto.
7017 * c-cilkplus.c: Ditto.
7018 * c-common.c: Include input.h due to flattening of tree.h.
7019 Define macro GCC_C_COMMON_C.
7020 * c-common.h: Flatten tree.h header files into c-common.h.
7021 Remove include of tree-core.h.
7022 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
7023 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7024 fold-const.h, wide-int.h, and inchash.h due to
7025 flattening of tree.h.
7026 * c-dump.c: Ditto.
7027 * c-format.c: Flatten tree.h header files into c-common.h.
7028 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
7029 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7030 fold-const.h, wide-int.h, and inchash.h due to
7031 flattening of tree.h.
7032 * c-dump.c: Include hash-set.h, machmode.h,
7033 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7034 fold-const.h, wide-int.h, and inchash.h due to
7035 flattening of tree.h.
7036 * c-format.c: Include hash-set.h, machmode.h,
7037 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7038 fold-const.h, wide-int.h, inchash.h and real.h due to
7039 flattening of tree.h.
7040 * c-gimplify.c: Include hash-set.h, machmode.h,
7041 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
7042 fold-const.h, wide-int.h, and inchash.h due to
7043 flattening of tree.h.
7044 * cilk.c: Ditto.
7045 * c-lex.c: Ditto.
7046 * c-omp.c: Ditto.
7047 * c-opts.c: Ditto.
7048 * c-pch.c: Ditto.
7049 * c-ppoutput.c: Ditto.
7050 * c-pragma.c: Ditto.
7051 * c-pretty-print.c: Ditto.
7052 * c-semantics.c: Ditto.
7053 * c-ubsan.c: Ditto.
7054 * stub-objc.c: Ditto.
7055
7056 2015-01-08 Jason Merrill <jason@redhat.com>
7057
7058 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
7059 do_ubsan_in_current_function.
7060 (ubsan_maybe_instrument_reference_or_call): Likewise.
7061 * c-ubsan.h: Declare it.
7062
7063 2015-01-08 Mike Stump <mikestump@comcast.net>
7064
7065 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
7066
7067 2015-01-07 Marek Polacek <polacek@redhat.com>
7068
7069 PR c/64440
7070 * c-common.c (c_fully_fold_internal): Warn for division and modulo
7071 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
7072
7073 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
7074
7075 PR c++/31397
7076 * c.opt (Wsuggest-override): New option.
7077
7078 2015-01-05 Jakub Jelinek <jakub@redhat.com>
7079
7080 Update copyright years.
7081
7082 2015-01-05 Marek Polacek <polacek@redhat.com>
7083
7084 PR c/64423
7085 * c-common.c (warn_array_subscript_with_type_char): Add location_t
7086 parameter. Use it.
7087 * c-common.h (warn_array_subscript_with_type_char): Update
7088 declaration.
7089
7090 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
7091
7092 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
7093 Control macro with flag_sized_deallocation.
7094
7095 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
7096
7097 * c.opt (Wdiscarded-array-qualifiers): New option.
7098
7099 2014-12-19 Jakub Jelinek <jakub@redhat.com>
7100
7101 PR preprocessor/63831
7102 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
7103 and __has_cpp_attribute here.
7104 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
7105 c_common_has_attribute.
7106 * c-common.h (c_common_has_attribute): New prototype.
7107 * c-lex.c (init_c_lex): Set cb->has_attribute to
7108 c_common_has_attribute instead of cb_has_attribute.
7109 (get_token_no_padding): New function.
7110 (cb_has_attribute): Renamed to ...
7111 (c_common_has_attribute): ... this. No longer static. Use
7112 get_token_no_padding, require ()s, don't build TREE_LIST
7113 unnecessarily, fix up formatting, adjust diagnostics, call
7114 init_attributes.
7115
7116 2014-12-15 Jason Merrill <jason@redhat.com>
7117
7118 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
7119 (-Wsized-deallocation): New.
7120 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
7121 to on in C++14 and up.
7122
7123 2014-12-11 Jason Merrill <jason@redhat.com>
7124
7125 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
7126
7127 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
7128 we aren't complaining about VLAs.
7129
7130 2014-12-06 Marek Polacek <polacek@redhat.com>
7131
7132 PR tree-optimization/64183
7133 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
7134 shift-expression if it is integer_type_node. Use types_compatible_p.
7135
7136 2014-11-29 Jakub Jelinek <jakub@redhat.com>
7137
7138 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
7139 last argument from create_tmp_var_raw and create_tmp_var calls.
7140 * cilk.c (gimplify_cilk_spawn): Likewise.
7141 * c-omp.c (c_finish_omp_atomic): Likewise.
7142
7143 2014-11-28 Marek Polacek <polacek@redhat.com>
7144
7145 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
7146 instead of unsigned_type_node.
7147
7148 2014-11-28 Marek Polacek <polacek@redhat.com>
7149
7150 PR c/63862
7151 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
7152 to op1_utype.
7153 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
7154 expression to unsigned_type_node.
7155
7156 2014-11-20 Mark Wielaard <mjw@redhat.com>
7157
7158 PR debug/38757
7159 * c-opts.c (set_std_c89): Set lang_hooks.name.
7160 (set_std_c99): Likewise.
7161 (set_std_c11): Likewise.
7162 (set_std_cxx98): Likewise.
7163 (set_std_cxx11): Likewise.
7164 (set_std_cxx14): Likewise.
7165 (set_std_cxx1z): Likewise.
7166
7167 2014-11-21 Jakub Jelinek <jakub@redhat.com>
7168
7169 PR target/63764
7170 * c-common.h (convert_vector_to_pointer_for_subscript): Change
7171 return type to bool.
7172 * c-common.c: Include gimple-expr.h.
7173 (convert_vector_to_pointer_for_subscript): Change return type to
7174 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
7175 and copy it into a TARGET_EXPR and use that instead of *vecp
7176 directly.
7177
7178 2014-11-19 David Malcolm <dmalcolm@redhat.com>
7179
7180 Merger of git branch "gimple-classes-v2-option-3".
7181 * ChangeLog.gimple-classes: New.
7182 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
7183 from being just a vec<gimple> to a vec<gbind *>.
7184
7185 2014-11-18 Jakub Jelinek <jakub@redhat.com>
7186
7187 PR sanitizer/63813
7188 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
7189 argument to ptype, set type to TREE_TYPE (ptype). Don't call
7190 get_pointer_alignment for non-pointers. Use ptype, or if it is
7191 reference type, corresponding pointer type, as type of kind
7192 argument.
7193 (ubsan_maybe_instrument_reference,
7194 ubsan_maybe_instrument_member_call): Adjust callers.
7195
7196 2014-11-15 Marek Polacek <polacek@redhat.com>
7197
7198 PR middle-end/63884
7199 * array-notation-common.c (is_sec_implicit_index_fn): Return false
7200 for NULL fndecl.
7201 (extract_array_notation_exprs): Return for NULL node.
7202
7203 2014-11-12 Joseph Myers <joseph@codesourcery.com>
7204
7205 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
7206 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
7207
7208 2014-11-12 Jakub Jelinek <jakub@redhat.com>
7209
7210 PR c/59708
7211 * c-common.c (check_builtin_function_arguments): Handle
7212 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
7213
7214 2014-11-10 Andi Kleen <ak@linux.intel.com>
7215
7216 PR c/60804
7217 * c-common.h (check_no_cilk): Declare.
7218 * cilk.c (get_error_location): New function.
7219 (check_no_cilk): Dito.
7220
7221 2014-11-10 Andi Kleen <ak@linux.intel.com>
7222
7223 * cilk.c (recognize_spawn): Use expression location
7224 for error message.
7225
7226 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
7227
7228 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
7229
7230 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
7231
7232 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
7233 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
7234 (__cpp_range_based_for, __cpp_initializer_lists,
7235 __cpp_delegating_constructors, __cpp_nsdmi,
7236 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
7237 for C++11; (__cpp_attribute_deprecated): Remove in favor of
7238 __has_cpp_attribute.
7239 * c-lex.c (cb_has_attribute): New callback CPP function;
7240 (init_c_lex): Set has_attribute callback.
7241
7242 2014-11-04 Richard Biener <rguenther@suse.de>
7243
7244 * c-common.c (shorten_compare): Do not shorten mixed
7245 DFP and non-DFP compares.
7246
7247 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
7248
7249 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
7250 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
7251 Commentary and rearrangement of tests.
7252 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
7253 Commentary and rearrangement of tests.
7254 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
7255 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
7256
7257 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
7258
7259 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
7260 enum from machine_mode.
7261
7262 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
7263
7264 * c-common.c: Adjust include files.
7265 * c-gimplify.c: Ditto.
7266 * cilk.c: Ditto.
7267 * c-pragma.c: Ditto.
7268 * c-ubsan.c: Ditto.
7269
7270 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
7271
7272 * c-gimplify.c: Adjust include files.
7273
7274 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
7275
7276 PR c++/53061
7277 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
7278 c_common_initialize_diagnostics.
7279 * c-common.h: Likewise.
7280
7281 2014-10-24 Marek Polacek <polacek@redhat.com>
7282
7283 PR c/56980
7284 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
7285 print "struct"/"union"/"enum" for typedefed names.
7286
7287 2014-10-23 Marek Polacek <polacek@redhat.com>
7288
7289 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
7290 in unsigned type.
7291
7292 2014-10-22 Jakub Jelinek <jakub@redhat.com>
7293 Yury Gribov <y.gribov@samsung.com>
7294
7295 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7296 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
7297 instead of flag_sanitize_recover as bool flag.
7298
7299 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
7300
7301 * cilk.c: Revert previous change.
7302
7303 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
7304
7305 PR c/63307
7306 * cilk.c: Include vec.h.
7307 (struct cilk_decls): New structure.
7308 (wrapper_parm_cb): Split this function to...
7309 (fill_decls_vec): ...this...
7310 (create_parm_list): ...and this.
7311 (compare_decls): New function.
7312 (for_local_cb): Remove.
7313 (wrapper_local_cb): Ditto.
7314 (build_wrapper_type): For now first traverse and fill vector of
7315 declarations then sort it and then deal with sorted vector.
7316 (cilk_outline): Ditto.
7317 (declare_one_free_variable): Ditto.
7318
7319 2014-10-17 Marek Polacek <polacek@redhat.com>
7320
7321 * c-opts.c (c_common_post_options): Set warn_implicit_int.
7322 * c.opt (Wimplicit-int): Initialize to -1.
7323
7324 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
7325
7326 * c-pragma.c: Adjust include files.
7327 * c-semantics.c: Likewise.
7328
7329 2014-10-16 DJ Delorie <dj@redhat.com>
7330
7331 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
7332 multiples of bytes.
7333
7334 2014-10-14 Jason Merrill <jason@redhat.com>
7335
7336 PR c++/63455
7337 * c-common.h (CPP_PREPARSED_EXPR): New.
7338 (N_CP_TTYPES): Adjust.
7339
7340 2014-10-15 Marek Polacek <polacek@redhat.com>
7341
7342 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
7343
7344 2014-10-14 DJ Delorie <dj@redhat.com>
7345
7346 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
7347 types, not just __int128.
7348 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
7349 types, not just __int128.
7350 (cpp_atomic_builtins): Round pointer sizes up.
7351 (type_suffix): Use type precision, not specific types.
7352 * c-common.c (c_common_reswords): Remove __int128 special case.
7353 (c_common_type_for_size): Check for all __intN types, not just
7354 __int128.
7355 (c_common_type_for_mode): Likewise.
7356 (c_common_signed_or_unsigned_type): Likewise.
7357 (c_build_bitfield_integer_type): Likewise.
7358 (c_common_nodes_and_builtins): Likewise.
7359 (keyword_begins_type_specifier): Likewise.
7360 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
7361 __intN variants.
7362
7363 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
7364
7365 * c-common.c: Use hash_table instead of hashtab.
7366
7367 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
7368
7369 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
7370 C++11 section.
7371
7372 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
7373
7374 PR c++/54427
7375 PR c++/57198
7376 PR c++/58845
7377 * c-common.c (warn_logical_operator): Punt for vectors.
7378
7379 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
7380
7381 Implement SD-6: SG10 Feature Test Recommendations
7382 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
7383 macros and the __has_header macro.
7384
7385 2014-09-30 Jason Merrill <jason@redhat.com>
7386
7387 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
7388 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
7389 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
7390
7391 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
7392 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
7393
7394 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
7395 * c-common.c (c_common_reswords): Remove __is_convertible_to.
7396
7397 2014-09-24 Marek Polacek <polacek@redhat.com>
7398
7399 PR c/61405
7400 PR c/53874
7401 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
7402
7403 2014-09-23 Andi Kleen <ak@linux.intel.com>
7404
7405 * c-common.c (handle_no_reorder_attribute): New function.
7406 (c_common_attribute_table): Add no_reorder attribute.
7407
7408 2014-09-22 Joseph Myers <joseph@codesourcery.com>
7409
7410 * c-cppbuiltin.c (c_cpp_builtins): Define
7411 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
7412 modes.
7413
7414 2014-09-18 Joseph Myers <joseph@codesourcery.com>
7415
7416 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
7417 for supported floating-point modes.
7418
7419 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7420
7421 * c.opt (Wpsabi): Use LangEnabledBy.
7422 * c-opts.c (c_common_handle_option): Do not handle here.
7423
7424 2014-09-12 Joseph Myers <joseph@codesourcery.com>
7425
7426 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
7427 macros for floating-point modes.
7428
7429 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
7430
7431 PR target/58757
7432 * c-cppbuiltin.c (builtin_define_float_constants): Correct
7433 __*_DENORM_MIN__ without denormals.
7434
7435 2014-09-10 Jakub Jelinek <jakub@redhat.com>
7436
7437 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7438 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7439 ubsan_create_data callers.
7440 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
7441 index is constant or BIT_AND_EXPR with constant mask and is
7442 small enough for the bound.
7443 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
7444 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
7445
7446 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7447
7448 * c.opt: Add CppReason to various flags.
7449 (Wdate-time): Re-sort.
7450 * c-common.c: Include c-common.h earlier.
7451 (struct reason_option_codes_t): Delete.
7452 (c_option_controlling_cpp_error): Prefix global type and struct
7453 with cpp_.
7454
7455 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7456
7457 * c.opt (Wnormalized): New.
7458 (Wnormalized=): Use Enum and Reject Negative.
7459 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
7460
7461 2014-09-08 Joseph Myers <joseph@codesourcery.com>
7462
7463 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
7464 digits of floating-point modes if -fbuilding-libgcc.
7465
7466 2014-09-05 Joseph Myers <joseph@codesourcery.com>
7467
7468 * c-cppbuiltin.c (c_cpp_builtins): Also define
7469 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
7470 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
7471 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
7472 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
7473 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
7474 __LIBGCC_STACK_GROWS_DOWNWARD__,
7475 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
7476 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
7477 __LIBGCC_DWARF_FRAME_REGISTERS__,
7478 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
7479 __LIBGCC_STACK_POINTER_REGNUM__ and
7480 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
7481 (builtin_define_with_value): Handle backslash-escaping in string
7482 macro values.
7483
7484 2014-09-05 Richard Biener <rguenther@suse.de>
7485
7486 PR middle-end/63148
7487 * c-format.c (check_format_arg): Properly handle
7488 effectively signed POINTER_PLUS_EXPR offset.
7489
7490 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7491
7492 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
7493 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
7494 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
7495 and Init.
7496 * c-opts.c (c_common_handle_option): Do not handle here.
7497 (sanitize_cpp_opts): Likewise.
7498 * c-common.c (struct reason_option_codes_t): Handle
7499 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
7500
7501 2014-09-03 Marek Polacek <polacek@redhat.com>
7502
7503 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
7504
7505 2014-09-02 Jakub Jelinek <jakub@redhat.com>
7506 Balaji V. Iyer <balaji.v.iyer@intel.com>
7507 Igor Zamyatin <igor.zamyatin@intel.com>
7508
7509 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
7510 * c-common.c (c_common_reswords): Added _Cilk_for.
7511 * c-common.h (enum rid): Added RID_CILK_FOR.
7512 (cilk_for_number_of_iterations): Add declaration.
7513 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
7514 CILK_FOR.
7515 * c-pragma.c (init_pragma): Register "grainsize" pragma.
7516 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
7517
7518 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7519
7520 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
7521 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
7522 Wundef): Use CPP, Var and Init.
7523 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
7524
7525 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7526
7527 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
7528 * c-opts.c (c_common_handle_option): Do not handle here.
7529
7530 2014-08-25 Jason Merrill <jason@redhat.com>
7531
7532 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
7533 -std=c++14 and -std=gnu++14, rather than the reverse.
7534 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
7535 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
7536 * c-common.h (cxx_dialect): Remove cxx1y.
7537
7538 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
7539
7540 * c-common.h (enum cxx_dialect): Add cxx14.
7541 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
7542 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
7543 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
7544
7545 2014-08-22 Jason Merrill <jason@redhat.com>
7546
7547 * c.opt (std=gnu++17): Fix alias.
7548
7549 2014-08-22 Marek Polacek <polacek@redhat.com>
7550
7551 PR c++/62199
7552 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
7553 check for vector types. Drop LHS argument.
7554 * c-common.h (warn_logical_not_parentheses): Adjust.
7555
7556 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7557
7558 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
7559 (Wmultichar): Likewise.
7560 (Wdate-time): Use C-family languages instead of Common. Use CPP
7561 and Var.
7562 * c-opts.c (c_common_handle_option): Do not handle the above
7563 options here.
7564 (sanitize_cpp_opts): Likewise.
7565
7566 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
7567
7568 PR fortran/44054
7569 * c-opts.c: Include tree-diagnostics.h.
7570 (c_diagnostic_finalizer): New.
7571 (c_common_initialize_diagnostics): Use it.
7572
7573 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7574
7575 PR preprocessor/51303
7576 * c-common.c (struct reason_option_codes_t option_codes):
7577 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
7578
7579 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7580
7581 PR c/60975
7582 PR c/53063
7583 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
7584 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
7585 (c_common_post_options): Call init_global_opts_from_cpp.
7586 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
7587
7588 2014-08-19 Marek Polacek <polacek@redhat.com>
7589
7590 PR c++/62153
7591 * c-common.c (maybe_warn_bool_compare): New function.
7592 * c-common.h (maybe_warn_bool_compare): Declare.
7593 * c.opt (Wbool-compare): New option.
7594
7595 2014-08-19 Marek Polacek <polacek@redhat.com>
7596
7597 * c.opt (Wc99-c11-compat): New option.
7598
7599 2014-08-19 Marek Polacek <polacek@redhat.com>
7600
7601 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
7602 to warn_c90_c99_compat.
7603 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
7604 to -1.
7605
7606 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
7607 Steven Bosscher <steven@gcc.gnu.org>
7608
7609 PR c/52952
7610 * c-format.c: Add extra_arg_loc and format_string_loc to struct
7611 format_check_results.
7612 (check_function_format): Use true and add comment for boolean
7613 argument.
7614 (finish_dollar_format_checking): Use explicit location when warning.
7615 (check_format_info): Likewise.
7616 (check_format_arg): Set extra_arg_loc and format_string_loc.
7617 (check_format_info_main): Use explicit location when warning.
7618 (check_format_types): Pass explicit location.
7619 (format_type_warning): Likewise.
7620
7621 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7622
7623 PR fortran/44054
7624 * c-format.c: Handle Fortran flags.
7625
7626 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
7627
7628 PR other/61962
7629 * array-notation-common.c (find_rank): Added handling for other
7630 types of references.
7631
7632 2014-08-10 Marek Polacek <polacek@redhat.com>
7633
7634 PR c/51849
7635 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
7636 * c.opt (Wc90-c99-compat): Add option.
7637
7638 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
7639
7640 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
7641
7642 2014-08-03 Marek Polacek <polacek@redhat.com>
7643
7644 * c-common.c (check_case_value): Add location_t parameter. Use it.
7645 (c_add_case_label): Pass loc to check_case_value.
7646
7647 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7648
7649 * cilk.c: Use hash_map instead of pointer_map.
7650
7651 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7652
7653 * c-gimplify.c: Use hash_set instead of pointer_set.
7654
7655 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
7656
7657 PR middle-end/61455
7658 * array-notation-common.c (extract_array_notation_exprs): Handling
7659 of DECL_EXPR added.
7660
7661 2014-08-01 Jakub Jelinek <jakub@redhat.com>
7662
7663 * c-common.h (min_align_of_type): Removed prototype.
7664 * c-common.c (min_align_of_type): Removed.
7665 * c-ubsan.h (ubsan_maybe_instrument_reference,
7666 ubsan_maybe_instrument_member_call): New prototypes.
7667 * c-ubsan.c: Include stor-layout.h and builtins.h.
7668 (ubsan_maybe_instrument_reference_or_call,
7669 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
7670 functions.
7671
7672 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
7673
7674 PR c++/60517
7675 * c.opt (-Wreturn-local-addr): Move to common.opt.
7676
7677 2014-07-30 Jason Merrill <jason@redhat.com>
7678
7679 PR c++/61659
7680 PR c++/61687
7681 Revert:
7682 * c.opt (-fuse-all-virtuals): New.
7683
7684 2014-07-30 Tom Tromey <tromey@redhat.com>
7685
7686 PR c/59855
7687 * c.opt (Wdesignated-init): New option.
7688 * c-common.c (c_common_attribute_table): Add "designated_init".
7689 (handle_designated_init): New function.
7690
7691 2014-07-24 Marek Polacek <polacek@redhat.com>
7692
7693 PR c/57653
7694 * c-opts.c (c_finish_options): If -imacros is in effect, return.
7695
7696 2014-07-16 Dodji Seketeli <dodji@redhat.com>
7697
7698 PR preprocessor/60723 - missing system-ness marks for macro tokens
7699 * c-ppoutput.c (struct print::prev_was_system_token): New data
7700 member.
7701 (init_pp_output): Initialize it.
7702 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
7703 (do_line_change): Return a flag saying if a line marker was
7704 emitted or not.
7705 (scan_translation_unit): Detect if the system-ness of the token we
7706 are about to emit is different from the one of the previously
7707 emitted token. If so, emit a line marker. Avoid emitting useless
7708 adjacent line markers. Avoid emitting line markers for tokens
7709 originating from the expansion of built-in macros.
7710 (scan_translation_unit_directives_only): Adjust.
7711
7712 2014-07-15 Marek Polacek <polacek@redhat.com>
7713
7714 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
7715 TYPE_MAX_VALUE is NULL.
7716
7717 2014-07-14 Jakub Jelinek <jakub@redhat.com>
7718
7719 PR middle-end/61294
7720 * c.opt (Wmemset-transposed-args): New warning.
7721
7722 2014-07-10 Jason Merrill <jason@redhat.com>
7723
7724 PR c++/61659
7725 PR c++/61687
7726 * c.opt (-fuse-all-virtuals): New.
7727
7728 2014-07-09 Richard Biener <rguenther@suse.de>
7729
7730 PR c-family/61741
7731 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7732 using unsigned arithmetic if overflow does not wrap instead of
7733 if overflow is undefined.
7734
7735 2014-07-06 Marek Polacek <polacek@redhat.com>
7736
7737 PR c/6940
7738 * c.opt (Wsizeof-array-argument): New option.
7739
7740 2014-07-03 Jakub Jelinek <jakub@redhat.com>
7741
7742 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
7743 comments->count <= 1, as comments->entries might be NULL.
7744
7745 2014-07-01 Marek Polacek <polacek@redhat.com>
7746
7747 * c.opt (Wint-conversion): New option.
7748
7749 2014-07-01 Marek Polacek <polacek@redhat.com>
7750
7751 PR c/58286
7752 * c.opt (Wincompatible-pointer-types): New option.
7753
7754 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
7755
7756 PR c++/51400
7757 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
7758 Do not discard TYPE_QUALS of type.
7759
7760 2014-06-26 Jason Merrill <jason@redhat.com>
7761
7762 * c-common.h (enum cxx_dialect): Add cxx1z.
7763 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
7764 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
7765
7766 2014-06-26 Teresa Johnson <tejohnson@google.com>
7767
7768 * c-common.h (get_dump_info): Declare.
7769 * c-gimplify.c (c_genericize): Use saved dump files.
7770 * c-opts.c (c_common_parse_file): Begin and end dumps
7771 once around parsing invocation.
7772 (get_dump_info): New function.
7773
7774 2014-06-23 Marek Polacek <polacek@redhat.com>
7775 Andrew MacLeod <amacleod@redhat.com>
7776
7777 PR c/61553
7778 * c-common.c (get_atomic_generic_size): Don't segfault if the
7779 type doesn't have a size.
7780
7781 2014-06-20 Marek Polacek <polacek@redhat.com>
7782
7783 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
7784 (ubsan_walk_array_refs_r): New function.
7785 (c_genericize): Instrument array bounds.
7786 * c-ubsan.c: Include "internal-fn.h".
7787 (ubsan_instrument_division): Mark instrumented arrays as having
7788 side effects. Adjust ubsan_type_descriptor call.
7789 (ubsan_instrument_shift): Likewise.
7790 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
7791 (ubsan_instrument_bounds): New function.
7792 (ubsan_array_ref_instrumented_p): New function.
7793 (ubsan_maybe_instrument_array_ref): New function.
7794 * c-ubsan.h (ubsan_instrument_bounds): Declare.
7795 (ubsan_array_ref_instrumented_p): Declare.
7796 (ubsan_maybe_instrument_array_ref): Declare.
7797
7798 2014-06-20 Hale Wang <hale.wang@arm.com>
7799
7800 PR lto/61123
7801 * c.opt (fshort-enums): Add to LTO.
7802 * c.opt (fshort-wchar): Likewise.
7803
7804 2014-06-16 Marek Polacek <polacek@redhat.com>
7805
7806 PR c/60439
7807 * c.opt (Wswitch-bool): Add Var.
7808
7809 2014-06-12 Jakub Jelinek <jakub@redhat.com>
7810
7811 PR middle-end/61486
7812 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
7813 #pragma omp target teams or
7814 #pragma omp {,target }teams distribute simd.
7815
7816 2014-06-12 Jason Merrill <jason@redhat.com>
7817
7818 * c.opt (Wabi=, fabi-compat-version): New.
7819 * c-opts.c (c_common_handle_option): Handle -Wabi=.
7820 (c_common_post_options): Handle flag_abi_compat_version default.
7821 Disallow -fabi-compat-version=1.
7822 * c-common.h (abi_version_crosses): New.
7823
7824 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
7825
7826 * c-common.c (handle_section_attribute): Update handling for
7827 section names that are no longer trees.
7828
7829 2014-06-10 Jakub Jelinek <jakub@redhat.com>
7830
7831 PR fortran/60928
7832 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
7833 (omp_pragmas): ... back here.
7834
7835 2014-06-05 Marek Polacek <polacek@redhat.com>
7836
7837 PR c/49706
7838 * c-common.c (warn_logical_not_parentheses): New function.
7839 * c-common.h (warn_logical_not_parentheses): Declare.
7840 * c.opt (Wlogical-not-parentheses): New option.
7841
7842 2014-06-04 Marek Polacek <polacek@redhat.com>
7843
7844 PR c/30020
7845 * c-common.c (check_case_bounds): Add location parameter.
7846 Use it.
7847 (c_add_case_label): Pass loc to check_case_bounds.
7848
7849 2014-06-03 Marek Polacek <polacek@redhat.com>
7850
7851 PR c/60439
7852 * c.opt (Wswitch-bool): New option.
7853
7854 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
7855
7856 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
7857 Remove prototypes.
7858 (record_types_used_by_current_var_decl): Move prototype to where
7859 it belongs.
7860
7861 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
7862 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
7863 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
7864
7865 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7866
7867 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
7868 * c-common.c (c_common_nodes_and_builtins): Don't initialize
7869 void_zero_node.
7870 * c-pretty-print.c (pp_c_void_constant): New function.
7871 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
7872 (c_pretty_printer::expression): Handle VOID_CST.
7873 * cilk.c (extract_free_variables): Likewise.
7874 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
7875 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
7876
7877 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
7878
7879 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
7880 * c-pragma.c (push_alignment): Adjust.
7881 (handle_pragma_push_options): Likewise.
7882
7883 2014-05-09 Marek Polacek <polacek@redhat.com>
7884
7885 PR c/50459
7886 * c-common.c (check_user_alignment): Return -1 if alignment is error
7887 node.
7888 (handle_aligned_attribute): Don't call default_conversion on
7889 FUNCTION_DECLs.
7890 (handle_vector_size_attribute): Likewise.
7891 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
7892 (handle_sentinel_attribute): Call default_conversion and allow even
7893 integral types as an argument.
7894
7895 2014-05-08 Marek Polacek <polacek@redhat.com>
7896
7897 PR c/61053
7898 * c-common.c (min_align_of_type): New function factored out from...
7899 (c_sizeof_or_alignof_type): ...here.
7900 * c-common.h (min_align_of_type): Declare.
7901
7902 2014-05-08 Marek Polacek <polacek@redhat.com>
7903
7904 PR c/61077
7905 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7906 parameter type of main.
7907
7908 2014-05-07 DJ Delorie <dj@redhat.com>
7909
7910 * c-cppbuiltin.c (print_bits_of_hex): New.
7911 (builtin_define_type_minmax): Print values using hex so as not to
7912 require a pre-computed list of string values.
7913
7914 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7915 Mike Stump <mikestump@comcast.net>
7916 Richard Sandiford <rdsandiford@googlemail.com>
7917
7918 * c-ada-spec.c: Include wide-int.h.
7919 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7920 (dump_generic_ada_node): Use wide-int interfaces.
7921 * c-common.c: Include wide-int-print.h.
7922 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7923 (pointer_int_sum): Use wide-int interfaces.
7924 (c_common_nodes_and_builtins): Use make_int_cst.
7925 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7926 (handle_alloc_size_attribute): Use wide-int interfaces.
7927 (get_nonnull_operand): Likewise.
7928 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7929 * c-lex.c: Include wide-int.h.
7930 (narrowest_unsigned_type): Take a widest_int rather than two
7931 HOST_WIDE_INTs.
7932 (narrowest_signed_type): Likewise.
7933 (interpret_integer): Update accordingly. Use wide-int interfaces.
7934 (lex_charconst): Use wide-int interfaces.
7935 * c-pretty-print.c: Include wide-int.h.
7936 (pp_c_integer_constant): Use wide-int interfaces.
7937 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7938 INT_CST_LT_UNSIGNED.
7939
7940 2014-05-06 Richard Biener <rguenther@suse.de>
7941
7942 * c-opts.c (c_common_post_options): For -freestanding,
7943 -fno-hosted and -fno-builtin disable pattern recognition
7944 if not enabled explicitely.
7945
7946 2014-05-02 Marek Polacek <polacek@redhat.com>
7947
7948 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7949
7950 2014-05-01 Marek Polacek <polacek@redhat.com>
7951
7952 PR c/43245
7953 * c.opt (Wdiscarded-qualifiers): Add.
7954
7955 2014-04-30 Marek Polacek <polacek@redhat.com>
7956
7957 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7958 INT_MIN / -1 sanitization only for integer types.
7959
7960 2014-04-25 Marek Polacek <polacek@redhat.com>
7961
7962 PR c/18079
7963 * c-common.c (handle_noinline_attribute): Warn if the attribute
7964 conflicts with always_inline attribute.
7965 (handle_always_inline_attribute): Warn if the attribute conflicts
7966 with noinline attribute.
7967
7968 2014-04-25 Marek Polacek <polacek@redhat.com>
7969
7970 PR c/60156
7971 * c-common.c (check_main_parameter_types): Warn about variadic main.
7972
7973 2014-04-24 Mike Stump <mikestump@comcast.net>
7974
7975 * c.opt (Wshadow-ivar): Default to on.
7976
7977 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7978
7979 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7980
7981 2014-04-23 Marek Polacek <polacek@redhat.com>
7982
7983 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7984
7985 2014-04-22 Jakub Jelinek <jakub@redhat.com>
7986
7987 PR sanitizer/60275
7988 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7989 if flag_sanitize_undefined_trap_on_error.
7990 (ubsan_instrument_division, ubsan_instrument_shift,
7991 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7992 if !flag_sanitize_recover.
7993
7994 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
7995
7996 PR libstdc++/43622
7997 * c-common.c (registered_builtin_types): Make non-static.
7998 * c-common.h (registered_builtin_types): Declare.
7999
8000 2014-04-14 Richard Biener <rguenther@suse.de>
8001 Marc Glisse <marc.glisse@inria.fr>
8002
8003 PR c/60819
8004 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
8005 apply may-alias the scalar pointer type when applicable.
8006
8007 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
8008
8009 PR middle-end/60467
8010 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
8011 as possible argument for Cilk_spawn.
8012
8013 2014-04-11 Tobias Burnus <burnus@net-b.de>
8014
8015 PR c/60194
8016 * c.opt (Wformat-signedness): Add
8017 * c-format.c(check_format_types): Use it.
8018
8019 2014-04-11 Jason Merrill <jason@redhat.com>
8020
8021 PR c++/57926
8022 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
8023 default_conversion for an array argument.
8024
8025 2014-04-08 Marek Polacek <polacek@redhat.com>
8026
8027 PR sanitizer/60745
8028 * c-ubsan.c: Include asan.h.
8029 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
8030
8031 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
8032
8033 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
8034
8035 2014-04-02 Marek Polacek <polacek@redhat.com>
8036
8037 * c-common.h (c_expand_expr): Remove declaration.
8038
8039 2014-03-28 Jakub Jelinek <jakub@redhat.com>
8040
8041 PR c++/60689
8042 * c-common.c (add_atomic_size_parameter): When creating new
8043 params vector, push the size argument first.
8044
8045 2014-03-26 Jakub Jelinek <jakub@redhat.com>
8046
8047 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
8048 ubsan_instrument_vla, ubsan_instrument_return): Adjust
8049 ubsan_create_data callers.
8050
8051 2014-03-22 Jakub Jelinek <jakub@redhat.com>
8052
8053 PR debug/60603
8054 * c-opts.c (c_finish_options): Restore cb_file_change call to
8055 <built-in>.
8056
8057 2014-03-13 Jakub Jelinek <jakub@redhat.com>
8058
8059 PR middle-end/36282
8060 * c-pragma.c (apply_pragma_weak): Only look at
8061 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
8062 DECL_ASSEMBLER_NAME_SET_P (decl).
8063 (maybe_apply_pending_pragma_weaks): Exit early if
8064 vec_safe_is_empty (pending_weaks) rather than only when
8065 !pending_weaks.
8066 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
8067 set assembler name back to NULL afterwards.
8068
8069 2014-03-11 Jason Merrill <jason@redhat.com>
8070
8071 * c.opt: Add -std=gnu++14.
8072
8073 2014-03-11 Ian Bolton <ian.bolton@arm.com>
8074
8075 * c-opts.c (c_common_post_options): Don't override
8076 -ffp-contract=fast if unsafe-math-optimizations is on.
8077
8078 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
8079
8080 * c.opt: Enable LTO FE for fshort-double.
8081
8082 2014-03-07 Jason Merrill <jason@redhat.com>
8083
8084 * c.opt: Add -std=c++14.
8085
8086 2014-03-06 Marek Polacek <polacek@redhat.com>
8087
8088 PR c/60197
8089 * cilk.c (contains_cilk_spawn_stmt): New function.
8090 (contains_cilk_spawn_stmt_walker): Likewise.
8091 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
8092 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
8093
8094 2014-03-03 Jakub Jelinek <jakub@redhat.com>
8095
8096 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
8097 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
8098 even when flag_preprocess_only.
8099
8100 2014-02-26 Jason Merrill <jason@redhat.com>
8101
8102 PR c++/59231
8103 PR c++/11586
8104 * c-common.c (shorten_compare): Don't check
8105 c_inhibit_evaluation_warnings.
8106
8107 2014-02-19 Jakub Jelinek <jakub@redhat.com>
8108
8109 PR c/37743
8110 * c-common.c (c_common_nodes_and_builtins): When initializing
8111 c_uint{16,32,64}_type_node, also set corresponding
8112 uint{16,32,64}_type_node to the same value.
8113
8114 PR c++/60267
8115 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
8116 for PRAGMA_IVDEP if flag_preprocess_only.
8117
8118 2014-02-12 Jakub Jelinek <jakub@redhat.com>
8119
8120 PR c/60101
8121 * c-common.c (merge_tlist): If copy is true, call new_tlist,
8122 if false, add ADD itself, rather than vice versa.
8123 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
8124 copy. For SAVE_EXPR, only call merge_tlist once.
8125
8126 2014-02-08 Jakub Jelinek <jakub@redhat.com>
8127
8128 PR middle-end/60092
8129 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
8130 and tree_to_uhwi.
8131 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
8132 functions.
8133 (c_common_attribute_table): Add alloc_align and assume_aligned
8134 attributes.
8135
8136 2014-02-06 Marek Polacek <polacek@redhat.com>
8137
8138 PR c/60087
8139 * c-common.c (warn_for_sign_compare): Call warning_at with location
8140 instead of warning.
8141
8142 2014-02-05 Marek Polacek <polacek@redhat.com>
8143
8144 PR c/53123
8145 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
8146 statement.
8147
8148 2014-02-04 Marek Polacek <polacek@redhat.com>
8149
8150 PR c/60036
8151 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
8152 SAVE_EXPR.
8153
8154 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
8155
8156 PR c++/53017
8157 PR c++/59211
8158 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
8159 handle_vector_size_attribute, handle_nonnull_attribute): Call
8160 default_conversion on the attribute argument.
8161 (handle_nonnull_attribute): Increment the argument number.
8162
8163 2014-01-31 Marek Polacek <polacek@redhat.com>
8164
8165 PR c/59963
8166 * c-common.c (add_atomic_size_parameter): Pass vNULL to
8167 build_function_call_vec.
8168 (resolve_overloaded_builtin): Likewise.
8169 * c-common.h (build_function_call_vec): Adjust declaration.
8170
8171 2014-01-30 Marek Polacek <polacek@redhat.com>
8172
8173 PR c/59940
8174 * c-common.h (unsafe_conversion_p): Adjust declaration.
8175 (warnings_for_convert_and_check): Likewise.
8176 (convert_and_check): Likewise.
8177 * c-common.c (unsafe_conversion_p): Add location parameter. Call
8178 expansion_point_location_if_in_system_header on it.
8179 (warnings_for_convert_and_check): Add location parameter. Call
8180 expansion_point_location_if_in_system_header on it. Use it.
8181 (convert_and_check): Add location parameter. Use it.
8182 (conversion_warning): Likewise.
8183 (c_add_case_label): Adjust convert_and_check calls.
8184 (scalar_to_vector): Adjust unsafe_conversion_p calls.
8185
8186 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
8187
8188 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
8189 flag_cilkplus.
8190 * c-pragma.c (init_pragma): Likewise.
8191 * c.opt: Likewise.
8192
8193 2014-01-23 Marek Polacek <polacek@redhat.com>
8194
8195 PR c/59846
8196 * c-common.c (shorten_compare): Add location_t parameter.
8197 * c-common.h (shorten_binary_op): Adjust declaration.
8198
8199 2014-01-23 Marek Polacek <polacek@redhat.com>
8200
8201 PR c/58346
8202 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
8203 * c-common.h: Declare it.
8204
8205 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
8206
8207 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
8208 * c-ada-spec.c (dump_ads): Likewise.
8209 (cpp_check): Likewise.
8210 (dump_ada_specs): Likewise.
8211
8212 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
8213
8214 PR c++/49718
8215 * c-common.c (handle_no_instrument_function_attribute): Allow
8216 no_instrument_function attribute in class member
8217 definition/declaration.
8218
8219 2014-01-15 Jakub Jelinek <jakub@redhat.com>
8220
8221 PR c/58943
8222 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
8223 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
8224 being COMPOUND_EXPR.
8225 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
8226 operand a SAVE_EXPR and second MODIFY_EXPR.
8227
8228 2014-01-09 Jakub Jelinek <jakub@redhat.com>
8229
8230 PR target/58115
8231 * c-pch.c (c_common_write_pch): Call
8232 prepare_target_option_nodes_for_pch.
8233
8234 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8235
8236 Update copyright years
8237
8238 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8239
8240 * array-notation-common.c, c-cilkplus.c: Use the standard form for
8241 the copyright notice.
8242
8243 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
8244
8245 * c-ada-spec.c (print_constructor): New function.
8246 (print_destructor): Retrieve the origin of the destructor.
8247 (print_ada_declaration): Revamp handling of constructors/destructors.
8248
8249 2013-12-23 Stuart Hastings <stuart@apple.com>
8250 Bill Maddox <maddox@google.com>
8251 Jason Merrill <jason@redhat.com>
8252
8253 * c.opt: Add -fdeclone-ctor-dtor.
8254 * c-opts.c (c_common_post_options): Default to on iff -Os.
8255
8256 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
8257
8258 * c-common.c (c_common_attribute_table): Added "cilk simd function"
8259 attribute.
8260 * c-pragma.h (enum pragma_cilk_clause): Remove.
8261 (enum pragma_omp_clause): Added the following fields:
8262 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
8263 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
8264 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
8265 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
8266 PRAGMA_CILK_CLAUSE_UNIFORM.
8267
8268
8269 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
8270
8271 * cilk.c (cilk_outline): Made this function non-static.
8272 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
8273 (create_cilk_wrapper): Added a new parameter: a function pointer.
8274 (c_install_body_w_frame_cleanup): Remove
8275 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
8276 * c-common.h (cilk_outline): New prototype.
8277 (gimplify_cilk_spawn): Removed two parameters.
8278 (cilk_install_body_with_frame_cleanup): New prototype.
8279 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
8280 CILK_SPAWN_STMT case.
8281
8282 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
8283
8284 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
8285
8286 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
8287 (int_array_type_node): Remove.
8288 * c-common.c (c_common_nodes_and_builtins): Don't build it.
8289
8290 2013-12-05 Marek Polacek <polacek@redhat.com>
8291
8292 PR c/52023
8293 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
8294 [ADJUST_FIELD_ALIGN].
8295
8296 2013-12-04 Joseph Myers <joseph@codesourcery.com>
8297
8298 PR c/52023
8299 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
8300 and check field alignment if set.
8301 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
8302 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
8303
8304 2013-12-04 Jakub Jelinek <jakub@redhat.com>
8305 Marek Polacek <polacek@redhat.com>
8306
8307 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
8308 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
8309
8310 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
8311
8312 PR c/59309
8313 * cilk.c (gimplify_cilk_spawn): Properly handle function without
8314 arguments.
8315
8316 2013-11-29 Jakub Jelinek <jakub@redhat.com>
8317
8318 PR c/59280
8319 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
8320 goto invalid. If it is error_mark_node, don't issue further
8321 diagnostics.
8322
8323 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
8324
8325 * c.opt (Wopenmp-simd): New.
8326
8327 2013-11-22 Jakub Jelinek <jakub@redhat.com>
8328
8329 * c-ubsan.h (ubsan_instrument_return): New prototype.
8330 * c-ubsan.c (ubsan_instrument_return): New function.
8331
8332 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
8333
8334 * c-common.c: Add required include files from gimple.h.
8335 * c-gimplify.c: Likewise.
8336 * cilk.c: Likewise.
8337
8338 2013-11-22 David Malcolm <dmalcolm@redhat.com>
8339
8340 * c-common.c (unsafe_conversion_p): Remove use of
8341 EXPR_LOC_OR_HERE macro.
8342 (conversion_warning): Likewise.
8343 (warnings_for_convert_and_check): Likewise.
8344 (warn_for_collisions_1): Likewise.
8345 (shorten_compare): Likewise, and remove use of in_system_header
8346 macro, using the location from the former.
8347 * c-lex.c (dump_one_header): Remove use of input_filename macro.
8348 (cb_def_pragma): Remove use of in_system_header macro.
8349 (lex_string): Likewise.
8350 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
8351
8352 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
8353 Mike Stump <mikestump@comcast.net>
8354 Richard Sandiford <rdsandiford@googlemail.com>
8355
8356 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
8357 instead of TREE_INT_CST_LOW, in cases where there is a protecting
8358 tree_fits_shwi_p or tree_fits_uhwi_p.
8359 (dump_generic_ada_node): Likewise.
8360 * c-format.c (check_format_arg): Likewise.
8361 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8362
8363 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
8364
8365 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
8366
8367 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
8368
8369 PR c/53001
8370 * c-common.c (unsafe_conversion_p): Make this function
8371 return an enumeration with more detail.
8372 (conversion_warning): Use the new return type of
8373 unsafe_conversion_p to separately warn either about conversions
8374 that lower floating point number precision or about the other
8375 kinds of conversions.
8376 * c-common.h (enum conversion_safety): New enumeration.
8377 (unsafe_conversion_p): switching return type to
8378 conversion_safety enumeration.
8379 * c.opt: Adding new warning -Wfloat-conversion and
8380 enabling it with -Wconversion.
8381
8382 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
8383
8384 * c-opts.c: Include plugin.h.
8385 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
8386
8387 2013-11-19 Marek Polacek <polacek@redhat.com>
8388
8389 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
8390 call.
8391 (ubsan_instrument_shift): Likewise.
8392 (ubsan_instrument_vla): Likewise.
8393
8394 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8395
8396 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
8397 cast to unsigned type.
8398
8399 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8400
8401 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
8402 tree_low_cst.
8403 (complete_array_type): Update comment to refer to tree_to_[su]hwi
8404 rather than tree_low_cst.
8405
8406 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8407
8408 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
8409 tree_to_uhwi throughout.
8410
8411 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8412
8413 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
8414 tree_low_cst (..., 0) with tree_to_shwi throughout.
8415
8416 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8417
8418 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
8419 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
8420
8421 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8422
8423 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
8424 host_integerp (..., 0) with tree_fits_shwi_p throughout.
8425
8426 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
8427
8428 * c-cilkplus.c: New file.
8429 * c-common.c (readonly_error): Add location argument.
8430 * c-common.h (readonly_error): Same.
8431 (c_finish_cilk_clauses): Protoize.
8432 (c_check_cilk_loop): Same.
8433 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
8434 Do not fail on error_mark_node.
8435 Abstract increment canonicalization to here...
8436 (c_omp_for_incr_canonicalize_ptr): New.
8437 c-pragma.c (init_pragma): Register "simd" pragma.
8438 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
8439 (enum pragma_cilk_clause): New.
8440
8441 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
8442
8443 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
8444 wchar_type and host_integerp checks.
8445
8446 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
8447
8448 * c-common.c: Likewise.
8449 * c-gimplify.c: Likewise.
8450 * cilk.c: Likewise.
8451
8452 2013-11-14 Diego Novillo <dnovillo@google.com>
8453
8454 * c-common.c: Include fold-const.h.
8455 Include stor-layout.h.
8456 Include calls.h.
8457 Include stringpool.h.
8458 Include attribs.h.
8459 Include varasm.h.
8460 Include trans-mem.h.
8461 * c-cppbuiltin.c: Include stor-layout.h.
8462 Include stringpool.h.
8463 * c-format.c: Include stringpool.h.
8464 * c-lex.c: Include stringpool.h.
8465 Include stor-layout.h.
8466 * c-pragma.c: Include stringpool.h.
8467 Include attribs.h.
8468 Include varasm.h.
8469 Include gcc-symtab.h.
8470 * c-pretty-print.c: Include stor-layout.h.
8471 Include attribs.h.
8472 * cilk.c: Include stringpool.h.
8473 Include calls.h.
8474
8475 2013-11-13 Joseph Myers <joseph@codesourcery.com>
8476
8477 * c-common.h (enum rid): Add RID_AUTO_TYPE.
8478 * c-common.c (c_common_reswords): Add __auto_type.
8479 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
8480
8481 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
8482
8483 * c-common.c: Include gimplify.h.
8484 * c-gimplify.c: Likewise.
8485 * cilk.c: Likewise.
8486 * c-omp.c: Include gimple-expr.h instead of gimple.h.
8487 * c-ubsan.c: Don't include gimple.h.
8488
8489 2013-11-12 Joseph Myers <joseph@codesourcery.com>
8490
8491 * c-common.c (c_common_reswords): Add _Thread_local.
8492
8493 2013-11-09 Joseph Myers <joseph@codesourcery.com>
8494
8495 * c-common.c (atomic_size_supported_p): New function.
8496 (resolve_overloaded_atomic_exchange)
8497 (resolve_overloaded_atomic_compare_exchange)
8498 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
8499 Use it instead of comparing size with a local list of sizes.
8500
8501 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
8502 Joseph Myers <joseph@codesourcery.com>
8503
8504 * c-common.h (enum rid): Add RID_ATOMIC.
8505 * c-common.c (c_common_reswords): Add _Atomic.
8506 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
8507 (keyword_is_type_qualifier): Accept RID_ATOMIC.
8508 * c-format.c (check_format_types): Check for extra _Atomic
8509 qualifiers in format argument.
8510 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
8511 (pp_c_type_qualifier_list): Mention _Atomic in comment.
8512
8513 2013-11-06 Tobias Burnus <burnus@net-b.de>
8514
8515 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
8516
8517 2013-11-06 Joseph Myers <joseph@codesourcery.com>
8518
8519 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
8520 standards modes.
8521 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
8522 to mean lack of IEEE 754 support.
8523
8524 2013-11-05 Tobias Burnus <burnus@net-b.de>
8525
8526 * c.opt (-Wdate-time): New option
8527 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
8528
8529 2013-11-05 Joseph Myers <joseph@codesourcery.com>
8530
8531 * c-cppbuiltin.c (cpp_iec_559_value): Test
8532 flag_excess_precision_cmdline not flag_excess_precision.
8533
8534 2013-11-05 Tobias Burnus <burnus@net-b.de>
8535
8536 * c.opt (fopenmp-simd): New option.
8537 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
8538 (omp_pragmas): ... this new struct.
8539 (c_pp_lookup_pragma): Also walk omp_pragmas.
8540 (init_pragma): Init pragmas for -fopenmp-simd.
8541
8542 2013-11-04 Marek Polacek <polacek@redhat.com>
8543
8544 PR c++/58979
8545 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
8546
8547 2013-11-04 Joseph Myers <joseph@codesourcery.com>
8548
8549 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
8550 New functions.
8551 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
8552
8553 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
8554
8555 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
8556 (dump_ada_specs): Adjust prototype of second callback.
8557 * c-ada-spec.c (cpp_check): New global variable.
8558 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
8559 (print_generic_ada_decl): Likewise.
8560 (has_static_fields): Change return type to bool and add guard.
8561 (has_nontrivial_methods): New predicate.
8562 (is_tagged_type): Change return type to bool.
8563 (separate_class_package): Call has_nontrivial_methods.
8564 (pp_ada_tree_identifier): Minor tweaks.
8565 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
8566 (dump_ada_array_domains): Likewise.
8567 (dump_ada_array_type): Likewise.
8568 (dump_template_types): Remove cpp_check parameter and do not pass it to
8569 dump_generic_ada_node.
8570 (dump_ada_template): Likewise.
8571 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
8572 recursively.
8573 (print_ada_methods): Change return type to integer. Remove cpp_check
8574 parameter and do not pass it down.
8575 (dump_nested_types): Remove cpp_check parameter and do not pass it to
8576 dump_generic_ada_node.
8577 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
8578 accessing methods.
8579 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
8580 down. Use has_nontrivial_methods to recognize C++ classes. Use return
8581 value of print_ada_methods.
8582 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
8583 Set cpp_check to it before invoking dump_ada_nodes.
8584 (dump_ada_specs): Likewise.
8585
8586 2013-11-03 Marek Polacek <polacek@redhat.com>
8587
8588 * c-ubsan.c: Don't include hash-table.h.
8589 (ubsan_instrument_vla): New function.
8590 * c-ubsan.h: Declare it.
8591
8592 2013-10-31 David Malcolm <dmalcolm@redhat.com>
8593
8594 Automated part of renaming of symtab_node_base to symtab_node.
8595
8596 Patch autogenerated by rename_symtab.py from
8597 https://github.com/davidmalcolm/gcc-refactoring-scripts
8598 revision 58bb219cc090b2f4516a9297d868c245495ee622
8599
8600 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
8601 symtab_node_base to symtab_node.
8602
8603 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
8604
8605 Implement C++14 digit separators.
8606 * c-lex.c (interpret_float): Remove digit separators from scratch string
8607 before building real literal.
8608
8609 2013-10-30 Jakub Jelinek <jakub@redhat.com>
8610
8611 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
8612
8613 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
8614
8615 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
8616 fields.
8617 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
8618 enabled.
8619 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
8620 (insert_cilk_frame): New prototype.
8621 (cilk_init_builtins): Likewise.
8622 (gimplify_cilk_spawn): Likewise.
8623 (c_cilk_install_body_w_frame_cleanup): Likewise.
8624 (cilk_detect_spawn_and_unwrap): Likewise.
8625 (cilk_set_spawn_marker): Likewise.
8626 (build_cilk_sync): Likewise.
8627 (build_cilk_spawn): Likewise.
8628 * cilk.c: New file.
8629
8630 2013-10-29 David Malcolm <dmalcolm@redhat.com>
8631
8632 Patch autogenerated by refactor_symtab.py from
8633 https://github.com/davidmalcolm/gcc-refactoring-scripts
8634 revision 58bb219cc090b2f4516a9297d868c245495ee622
8635
8636 * c-gimplify.c (c_genericize): Update for conversion of symtab types
8637 to a true class hierarchy.
8638 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
8639
8640 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
8641
8642 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
8643
8644 2013-10-26 Jeff Law <law@redhat.com>
8645
8646 * c-common.c (c_define_builtins): Remove mudflap support.
8647 * c.opt: Ignore and warn for mudflap options.
8648
8649 2013-10-24 Tobias Burnus <burnus@net-b.de>
8650
8651 PR other/33426
8652 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
8653 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
8654
8655 2013-10-23 Jason Merrill <jason@redhat.com>
8656
8657 * c-format.c (gcc_cxxdiag_char_table): Add %X.
8658
8659 2013-10-11 Jakub Jelinek <jakub@redhat.com>
8660
8661 * c-common.h (omp_clause_mask::operator !=): New method.
8662 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
8663 instead of if (mask & something) tests everywhere.
8664
8665 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
8666 201307 instead of 201107.
8667 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
8668 (c_common_attribute_table): Add "omp declare target" and
8669 "omp declare simd" attributes.
8670 (handle_omp_declare_target_attribute,
8671 handle_omp_declare_simd_attribute): New functions.
8672 * c-omp.c: Include c-pragma.h.
8673 (c_finish_omp_taskgroup): New function.
8674 (c_finish_omp_atomic): Add swapped argument, if true,
8675 build the operation first with rhs, lhs arguments and use NOP_EXPR
8676 build_modify_expr.
8677 (c_finish_omp_for): Add code argument, pass it down to make_code.
8678 (c_omp_split_clauses): New function.
8679 (c_split_parallel_clauses): Removed.
8680 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
8681 c_omp_declare_simd_clauses_to_decls): New functions.
8682 * c-common.h (omp_clause_mask): New type.
8683 (OMP_CLAUSE_MASK_1): Define.
8684 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
8685 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
8686 omp_clause_mask::operator |, omp_clause_mask::operator &,
8687 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
8688 omp_clause_mask::operator ==): New methods.
8689 (enum c_omp_clause_split): New.
8690 (c_finish_omp_taskgroup): New prototype.
8691 (c_finish_omp_atomic): Add swapped argument.
8692 (c_finish_omp_for): Add code argument.
8693 (c_omp_split_clauses): New prototype.
8694 (c_split_parallel_clauses): Removed.
8695 (c_omp_declare_simd_clauses_to_numbers,
8696 c_omp_declare_simd_clauses_to_decls): New prototypes.
8697 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
8698 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
8699 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
8700 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
8701 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
8702 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
8703 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
8704 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
8705 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
8706 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
8707 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
8708 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
8709 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
8710 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
8711 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
8712 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
8713 PRAGMA_OMP_CLAUSE_UNIFORM.
8714
8715 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
8716
8717 PR tree-optimization/20318
8718 * c-common.c (handle_returns_nonnull_attribute): New function.
8719 (c_common_attribute_table): Add returns_nonnull.
8720
8721 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
8722
8723 PR c++/19476
8724 * c.opt (fcheck-new): Move to common.opt.
8725
8726 2013-09-25 Marek Polacek <polacek@redhat.com>
8727 Jakub Jelinek <jakub@redhat.com>
8728
8729 PR sanitizer/58413
8730 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
8731 an expression if we can prove it is correct.
8732 (ubsan_instrument_division): Likewise. Remove unnecessary
8733 check.
8734
8735 2013-09-18 Marek Polacek <polacek@redhat.com>
8736
8737 PR sanitizer/58411
8738 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
8739 Declare it.
8740 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
8741
8742 2013-09-14 Iain Sandoe <iain@codesourcery.com>
8743
8744 PR target/48094
8745 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
8746 fobjc-gc, freplace-objc-classes): Accept for LTO.
8747
8748 2013-09-13 Jacek Caban <jacek@codeweavers.com>
8749
8750 * c-target.def: New hook
8751
8752 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8753
8754 PR c++/43452
8755 * c.opt (Wdelete-incomplete): Add.
8756
8757 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
8758
8759 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
8760 (vector_types_compatible_elements_p): New function.
8761 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
8762 declaration.
8763 (vector_types_compatible_elements_p): Declare.
8764
8765 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8766
8767 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
8768 a virtual member function.
8769 (pp_simple_type_specifier): Remove.
8770 (pp_c_type_specifier): Likewise.
8771 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
8772 Rename from pp_c_type_specifier. Adjust.
8773 (c_pretty_printer::c_pretty_printer): Do not assign to
8774 simple_type_specifier.
8775
8776 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8777
8778 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
8779 member function.
8780 (c_pretty_printer::storage_class_specifier): Likewise.
8781 (c_pretty_printer::initializer): Likewise.
8782 (pp_declaration): Remove.
8783 (pp_declaration_specifiers): Likewise.
8784 (pp_abstract_declarator): Likewise.
8785 (pp_declarator): Likewise.
8786 (pp_type_id): Likewise.
8787 (pp_statement): Likewise.
8788 (pp_constant): Likewise.
8789 (pp_id_expression): Likewise.
8790 (pp_primary_expression): Likewise.
8791 (pp_unary_expression): Likewise.
8792 (pp_multiplicative_expression): Likewise.
8793 (pp_conditional_expression): Likewise.
8794 (pp_assignment_expression): Likewise.
8795 (pp_expression): Likewise.
8796 (pp_c_type_id): Likewise.
8797 (pp_c_storage_class_specifier): Likewise.
8798 * c-pretty-print.c (pp_c_type_cast): Tidy.
8799 (pp_c_pointer): Likewise.
8800 (pp_c_type_specifier): Likewise.
8801 (pp_c_parameter_type_list): Likewise.
8802 (pp_c_function_definition): Likewise.
8803 (pp_c_init_declarator): Likewise.
8804 (pp_c_initializer_list): Likewise.
8805 (pp_c_constructor_elts): Likewise.
8806 (c_pretty_printer::direct_abstract_declarator): Likewise.
8807 (c_pretty_printer::declaration_specifiers): Likewise.
8808 (c_pretty_printer::primary_expression): Likewise.
8809 (c_pretty_printer::postfix_expression): Likewise.
8810 (c_pretty_printer::type_id): Rename from pp_c_type_id.
8811 (c_pretty_printer::storage_class_specifier): Rename from
8812 pp_c_storage_class_specifier.
8813 (c_pretty_printer::initializer): Rename from pp_c_initializer.
8814 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
8815 storage_class_specifier, initializer, offset_list, flags.
8816
8817 2013-08-30 Marek Polacek <polacek@redhat.com>
8818
8819 * c-ubsan.c: New file.
8820 * c-ubsan.h: New file.
8821
8822 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8823
8824 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
8825 member function.
8826 (c_pretty_printer::declaration_specifiers): Likewise.
8827 (c_pretty_printer::declarator): Likewise.
8828 (c_pretty_printer::abstract_declarator): Likewise.
8829 (c_pretty_printer::direct_abstract_declarator): Likewise.
8830 (c_pretty_printer::direct_declarator): Likewise.
8831 (c_pretty_printer::function_specifier): Likewise.
8832 (pp_declaration): Adjust.
8833 (pp_declaration_specifiers): Likewise.
8834 (pp_abstract_declarator): Likewise.
8835 (pp_direct_declarator): Likewise.
8836 (pp_function_specifier): Likewise.
8837 (pp_direct_abstract_declarator): Remove as unused.
8838 (pp_c_declaration): Remove.
8839 (pp_c_declaration_specifiers): Likewise.
8840 (pp_c_declarator): Likewise.
8841 (pp_c_direct_declarator): Likewise.
8842 (pp_c_function_specifier): Likewise.
8843 (pp_c_direct_abstract_declarator): Likewise.
8844 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
8845 from pp_c_abstract_declarator. Adjust.
8846 (c_pretty_printer::direct_abstract_declarator): Rename from
8847 pp_c_direct_abstract_declarator. Adjust.
8848 (c_pretty_printer::function_specifier): Rename from
8849 pp_c_function_specifier. Adjust.
8850 (c_pretty_printer::declaration_specifiers): Rename from
8851 pp_c_declaration_specifiers. Adjust.
8852 (c_pretty_printer::direct_declarator): Rename from
8853 pp_c_direct_declarator. Adjust.
8854 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
8855 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
8856 (c_pretty_printer::c_pretty_printer): Do not assign to
8857 declaration, declaration_specifiers, declarator,
8858 direct_declarator, direct_abstract_declarator, function_specifier.
8859
8860 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
8861
8862 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
8863 virtual member function.
8864 (c_pretty_printer::multiplicative_expression): Likewise.
8865 (c_pretty_printer::conditional_expression): Likewise.
8866 (c_pretty_printer::assignment_expression): Likewise.
8867 (c_pretty_printer::expression): Likewise.
8868 (pp_unary_expression): Adjust.
8869 (pp_multiplicative_expression): Likewise.
8870 (pp_assignment_expression): Likewise.
8871 (pp_conditional_expression): Likewise.
8872 (pp_expression): Likewise.
8873 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
8874 from pp_c_unary_expression. Adjust.
8875 (c_pretty_printer::multiplicative_expression): Rename from
8876 pp_c_multiplicative_expression. Adjust.
8877 (c_pretty_printer::conditional_expression): Rename from
8878 pp_c_conditional_expression. Adjust.
8879 (c_pretty_printer::assignment_expression): Rename from
8880 pp_c_assignment_expression. Adjust.
8881 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
8882 (c_pretty_printer::c_pretty_printer): Do not assign to
8883 unary_expression, multiplicative_expression,
8884 conditional_expression, expression.
8885
8886 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8887
8888 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
8889 virtual member function.
8890 (pp_postfix_expression): Adjust.
8891 (pp_c_postfix_expression): Remove.
8892 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
8893 from pp_c_postfix_expression. Adjust.
8894 (c_pretty_printer::c_pretty_printer): Do not assign to
8895 postfix_expression.
8896
8897 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8898
8899 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8900 virtua member function.
8901 (pp_primary_expression): Adjust.
8902 (pp_c_primary_expression): Remove.
8903 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8904 from pp_c_primary_expression. Adjust.
8905 (pp_c_initializer_list): Use pp_primary_expression.
8906 (c_pretty_printer::c_pretty_printer): Do not assign to
8907 primary_expression.
8908
8909 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8910
8911 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8912 * c-pretty-print.c (M_): Remove.
8913 (c_pretty_printer::translate_string): Define.
8914 (pp_c_type_specifier): Use it.
8915 (pp_c_primary_expression): Likewise.
8916 (pp_c_expression): Likewise.
8917
8918 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8919
8920 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8921 virtual function.
8922 (pp_c_id_expression): Remove.
8923 (pp_id_expression): Adjust.
8924 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8925 pp_c_id_expression. Adjust.
8926 (pp_c_postfix_expression): Use pp_id_expression.
8927 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8928
8929 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8930
8931 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8932 member function.
8933 (pp_constant): Adjust.
8934 (pp_c_constant): Remove.
8935 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8936 pp_c_constant. Adjust.
8937 (pp_c_constant)
8938 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8939 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8940
8941 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8942
8943 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8944 (c_pretty_printer::c_pretty_printer): Declare.
8945 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8946 c_pretty_printer_init. Adjust.
8947 (print_c_tree): Do not call c_pretty_printer_init.
8948 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8949
8950 2013-08-09 Arnaud Charlet <charlet@adacore.com>
8951
8952 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8953
8954 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8955
8956 PR c++/58080
8957 * c-common.c (pointer_int_sum): Add bool parameter.
8958 * c-common.h (pointer_int_sum): Adjust declaration.
8959
8960 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8961
8962 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8963 c_pretty_printer variable.
8964
8965 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8966
8967 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8968 (pp_base): Remove.
8969 (pp_c_base): Likewise. Adjust users.
8970 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8971 (pp_c_whitespace): Do not call pp_base.
8972 (pp_c_left_paren): Likewise.
8973 (pp_c_right_paren): Likewise.
8974 (pp_c_left_brace): Likewise.
8975 (pp_c_right_brace): Likewise.
8976 (pp_c_left_bracket): Likewise.
8977 (pp_c_right_bracket): Likewise.
8978 (pp_c_dot): Likewise.
8979 (pp_c_ampersand): Likewise.
8980 (pp_c_star): Likewise.
8981 (pp_c_arrow): Likewise.
8982 (pp_c_semicolon): Likewise.
8983 (pp_c_complement): Likewise.
8984 (pp_c_exclamation): Likewise.
8985 (pp_c_direct_declarator): Likewise.
8986 (pp_c_ws_string): Likewise.
8987 (pp_c_identifier): Likewise.
8988 (pp_c_statement): Likewise.
8989 (print_c_tree): Likewise.
8990
8991 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8992
8993 PR c++/58072
8994 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8995 provide useful error strings.
8996
8997 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8998
8999 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
9000 printer functions instead of pp_string or operators and punctuators.
9001 (dump_generic_ada_node): Likewise.
9002 * c-pretty-print.c (pp_c_type_specifier): Likewise.
9003 (pp_c_relational_expression): Likewise.
9004 (pp_c_logical_or_expression): Likewise.
9005
9006 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
9007
9008 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
9009 functions instead of pp_character.
9010 (pp_ada_tree_identifier): Likewise.
9011 (dump_ada_double_name): Likewise.
9012 (dump_ada_function_declaration): Likewise.
9013 (dump_ada_array_domains): Likewise.
9014 (dump_template_types): Likewise.
9015 (dump_generic_ada_node): Likewise.
9016 (print_ada_declaration): Likewise.
9017 (print_ada_struct_decl): Likewise.
9018 * c-pretty-print.c (pp_c_integer_constant): Likewise.
9019
9020 2013-07-23 Tom Tromey <tromey@redhat.com>
9021
9022 * c-common.h (enum rid) <RID_GENERIC>: New constant.
9023 * c-common.c (c_common_reswords): Add _Generic.
9024
9025 2013-07-21 OndÅ\99ej Bílka <neleai@seznam.cz>
9026
9027 * c-common.c: Fix typos.
9028 * c-common.h: Likewise.
9029
9030 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
9031
9032 PR c++/55203
9033 * c-common.c (c_common_attribute_table): Add warn_unused.
9034 (handle_warn_unused_attribute): New.
9035
9036 2013-07-10 Jakub Jelinek <jakub@redhat.com>
9037
9038 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
9039 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
9040
9041 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
9042
9043 PR c++/57869
9044 * c.opt: Add Wconditionally-supported.
9045
9046 2013-07-08 Graham Stott <graham.stott@btinternet.com>
9047
9048 * array-notation-common.c (length_mismatch_in_expr_p): Delete
9049 unused variables l_length and l_node.
9050
9051 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
9052
9053 PR c/57821
9054 * c-common.c (complete_array_type): Delay folding first index
9055 like other indices. When folding, check for index overflow.
9056
9057 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
9058
9059 PR c++/57509
9060 * c-common.h (c_build_vec_perm_expr): New complain argument.
9061 * c-common.c (c_build_vec_perm_expr): Likewise.
9062 Use save_expr also in C++.
9063
9064 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
9065
9066 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
9067 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
9068 * c-opts.c (c_common_post_options): Likewise.
9069
9070 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
9071
9072 * array-notation-common.c (length_mismatch_in_expr): Changed the
9073 parameter type's from a dynamic array to a vec_tree. Also removed
9074 the size parameters.
9075 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
9076 the change above.
9077
9078 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
9079
9080 * c-common.h (struct cilkplus_an_parts): New structure.
9081 (struct cilkplus_an_loop_parts): Likewise.
9082 (cilkplus_extract_an_triplets): New prototype.
9083 (fix_sec_implicit_args): Likewise.
9084 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
9085 (fix_sec_implicit_args): Likewise.
9086
9087 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
9088
9089 * array-notation-common.c (find_inv_trees): Removed an unwanted
9090 typecasting.
9091 * c-common.h (struct inv_list::additional_tcodes): Changed type from
9092 enum rid to enum tree_code.
9093
9094 2013-06-11 Jan Hubicka <jh@suse.cz>
9095
9096 * c-common.c (handle_alias_ifunc_attribute): Do not set
9097 DECL_EXTERNAL for weakref variables.
9098 * c-pragma.c (handle_pragma_weak): Make sure aliases
9099 are not declared as external.
9100
9101 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
9102
9103 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
9104 function from c/c-array-notation.c.
9105 (is_cilkplus_reduce_builtin): Likewise.
9106 (find_rank): Likewise.
9107 (extract_array_notation_exprs): Likewise.
9108 (replace_array_notations): Likewise.
9109 (find_inv_trees): Likewise.
9110 (replace_inv_trees): Likewise.
9111 (contains_array_notation_expr): Likewise.
9112 (find_correct_array_notation_type): Likewise.
9113 * c-common.h (struct inv_list): Moved this struct from the file
9114 c/c-array-notation.c and added a new field called additional tcodes.
9115 (length_mismatch_in_expr_p): New prototype.
9116 (is_cilkplus_reduce_builtin): Likewise.
9117 (find_rank): Likewise.
9118 (extract_array_notation_exprs): Likewise.
9119 (replace_array_notation): Likewise.
9120 (find_inv_trees): Likewise.
9121 (replace_inv_trees): Likewise.
9122 (find_correct_array_notation_type): Likewise.
9123
9124 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
9125
9126 * c-common.c (c_define_builtins): When cilkplus is enabled, the
9127 function array_notation_init_builtins is called.
9128 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
9129 * c-common.def (ARRAY_NOTATION_REF): New tree.
9130 * c-common.h (build_array_notation_expr): New function declaration.
9131 (build_array_notation_ref): Likewise.
9132 (extract_sec_implicit_index_arg): New extern declaration.
9133 (is_sec_implicit_index_fn): Likewise.
9134 (ARRAY_NOTATION_CHECK): New define.
9135 (ARRAY_NOTATION_ARRAY): Likewise.
9136 (ARRAY_NOTATION_START): Likewise.
9137 (ARRAY_NOTATION_LENGTH): Likewise.
9138 (ARRAY_NOTATION_STRIDE): Likewise.
9139 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
9140 ARRAY_NOTATION_REF.
9141 (pp_c_expression): Likewise.
9142 * c.opt (flag_enable_cilkplus): New flag.
9143 * array-notation-common.c: New file.
9144
9145 2013-05-14 Jakub Jelinek <jakub@redhat.com>
9146
9147 PR c++/57274
9148 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
9149
9150 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
9151
9152 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
9153 vectors.
9154
9155 2013-05-07 Han Shen <shenhan@google.com>
9156
9157 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
9158
9159 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
9160
9161 * c-common.c (check_user_alignment): Emit error for negative values.
9162
9163 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9164
9165 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
9166
9167 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9168
9169 * c-cppbuiltin.c (c_cpp_builtins): Do not define
9170 __GXX_EXPERIMENTAL_CXX1Y__.
9171
9172 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9173 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
9174
9175 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
9176 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
9177 to simply use OPT_Wpointer_arith.
9178 (c_sizeof_or_alignof_type): Likewise.
9179
9180 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
9181
9182 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
9183
9184 2013-04-12 Jakub Jelinek <jakub@redhat.com>
9185
9186 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
9187 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
9188 specifiers.
9189
9190 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
9191
9192 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
9193
9194 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
9195
9196 * c-common.c (pointer_int_sum): Remove dead code.
9197
9198 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
9199
9200 PR middle-end/56524
9201 * c-common.c (handle_optimize_attribute): Don't call
9202 save_optabs_if_changed.
9203
9204 2013-03-05 Jakub Jelinek <jakub@redhat.com>
9205
9206 PR middle-end/56461
9207 * c-pch.c (pch_init): Free target_validity at the end.
9208
9209 2013-03-04 Jakub Jelinek <jakub@redhat.com>
9210
9211 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
9212
9213 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
9214 Jakub Jelinek <jakub@redhat.com>
9215
9216 PR sanitizer/56454
9217 * c-common.c (handle_no_sanitize_address_attribute): New function.
9218 (c_common_attribute_table): Add no_sanitize_address attribute.
9219 (handle_no_address_safety_analysis_attribute): Add
9220 no_sanitize_address attribute, not no_address_safety_analysis
9221 attribute.
9222
9223 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
9224
9225 PR target/52555
9226 * c-common.c (handle_optimize_attribute): Call
9227 save_optabs_if_changed.
9228
9229 2013-02-18 Jakub Jelinek <jakub@redhat.com>
9230 Steven Bosscher <steven@gcc.gnu.org>
9231
9232 PR pch/54117
9233 * c-opts.c (c_common_post_options): If debug info is enabled
9234 and non-dwarf*, refuse to load PCH files and when writing PCH
9235 file warn.
9236
9237 2013-02-05 Jakub Jelinek <jakub@redhat.com>
9238
9239 PR middle-end/56167
9240 * c-common.c (handle_error_attribute): Fix condition.
9241
9242 2013-01-30 Jakub Jelinek <jakub@redhat.com>
9243
9244 PR c++/55742
9245 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
9246
9247 2013-01-18 Jason Merrill <jason@redhat.com>
9248
9249 PR target/54908
9250 * c.opt (-fextern-tls-init): New.
9251 * c-opts.c (c_common_post_options): Handle it.
9252
9253 2013-01-09 Jakub Jelinek <jakub@redhat.com>
9254
9255 PR c/48418
9256 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
9257 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
9258 and is either negative or bigger or equal to type precision
9259 of the first operand.
9260
9261 2012-12-03 Marek Polacek <polacek@redhat.com>
9262
9263 PR c/55570
9264 * c-common.c (check_user_alignment): Swap order of tests,
9265 check TREE_CODE first.
9266
9267 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
9268
9269 PR c++/52654
9270 * c-common.h (overflow_type): New enum.
9271 (build_userdef_literal): Add overflow_type argument.
9272 (tree_userdef_literal): Add overflow_type.
9273 (USERDEF_LITERAL_OVERFLOW): New access macro.
9274 * c-common.c (build_userdef_literal): Add overflow_type
9275 argument.
9276 * c-lex.c (c_lex_with_flags): Add overflow_type to
9277 build_userdef_literal calls.
9278 (interpret_integer, interpret_float): Add overflow_type argument.
9279
9280 2012-11-28 Richard Biener <rguenther@suse.de>
9281
9282 PR c/35634
9283 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
9284 here and use a type with proper overflow behavior for types that would
9285 need to be promoted for the arithmetic.
9286
9287 2012-11-23 Jakub Jelinek <jakub@redhat.com>
9288
9289 PR sanitizer/55435
9290 * c-common.c (handle_no_address_safety_analysis_attribute): New
9291 function.
9292 (c_common_attribute_table): Add no_address_safety_analysis.
9293
9294 2012-11-16 Simon Baldwin <simonb@google.com>
9295
9296 * c.opt: Add f[no-]canonical-system-headers.
9297 * c-opts.c (c_common_handle_option): Handle
9298 OPT_fcanonical_system_headers.
9299
9300 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
9301
9302 PR c++/54413
9303 * c-opts.c (c_common_handle_option): Set new flags.
9304 * c.opt: Describe new flags.
9305
9306 2012-11-09 Jason Merrill <jason@redhat.com>
9307
9308 * c.opt (Wabi-tag): New.
9309
9310 2012-11-09 Andi Kleen <ak@linux.intel.com>
9311
9312 PR 55139
9313 * c-common.c (get_atomic_generic_size): Mask with
9314 MEMMODEL_MASK
9315
9316 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9317
9318 PR c/53063
9319 * c.opt (Wformat): Make it Alias Wformat=1.
9320 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
9321 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
9322 LangEnabledBy.
9323 (Wformat=): RejectNegative. Use LangEnabledBy.
9324 (Wnonnull): Use LangEnabledBy.
9325 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
9326 * c-format.c (set_Wformat): Delete.
9327 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
9328 (maybe_read_dollar_number): Likewise.
9329 (avoid_dollar_number): Likewise.
9330 (finish_dollar_format_checking): Likewise.
9331 (check_format_info): Likewise.
9332 (check_format_info_main): Likewise.
9333 (check_format_types): Likewise.
9334 (format_type_warning): Likewise.
9335 * c-common.c (int): Likewise.
9336 (check_function_sentinel): Likewise.
9337 * c-common.h (warn_format,set_Wformat): Do not declare here.
9338
9339 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9340
9341 PR c/53063
9342 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
9343 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
9344 Use LangEnabledBy.
9345 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
9346 common.opt.
9347 (Wvariadic-macros): Init(1).
9348 * c-opts.c (c_common_handle_option): Do not handle them
9349 explicitly.
9350 (c_common_post_options): Likewise.
9351 (sanitize_cpp_opts): warn_unused_macros is now
9352 cpp_warn_unused_macros.
9353 (push_command_line_include): Likewise.
9354 * c-common.c (warn_unknown_pragmas): Do not define.
9355 * c-common.h (warn_unknown_pragmas): Do not declare.
9356
9357 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
9358
9359 PR c/51294
9360 * c-common.c (conversion_warning): Handle conditional expressions.
9361
9362 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
9363
9364 PR c++/54930
9365 * c.opt (Wreturn_local_addr): Define new option.
9366
9367 2012-10-25 Jason Merrill <jason@redhat.com>
9368
9369 * c.opt (Wvirtual-move-assign): New.
9370
9371 * c.opt (Winherited-variadic-ctor): New.
9372
9373 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
9374
9375 PR c++/54427
9376 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
9377
9378 2012-10-23 Joseph Myers <joseph@codesourcery.com>
9379
9380 * c-common.h (pch_cpp_save_state): Declare.
9381 * c-target.def (c_preinclude): New hook.
9382 * c-opts.c (done_preinclude): New.
9383 (push_command_line_include): Handle default preincluded header.
9384 (cb_file_change): Call pch_cpp_save_state when calling
9385 push_command_line_include.
9386 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
9387 (pch_cpp_save_state): New.
9388 (pch_init): Call pch_cpp_save_state conditionally, instead of
9389 calling cpp_save_state.
9390
9391 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9392
9393 PR c/53063
9394 PR c/40989
9395 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
9396 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
9397 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
9398 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
9399 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
9400 * c-opts.c (c_common_handle_option): Remove explicit handling from
9401 here.
9402 (c_common_post_options): Likewise.
9403
9404 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
9405
9406 * c-ada-spec.c (LOCATION_COL): Delete.
9407 (compare_location): New function.
9408 (compare_node): Use it.
9409 (compare_comment): Likewise.
9410
9411 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
9412
9413 PR c/53063
9414 PR c/40989
9415 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
9416 * c-opts.c (c_common_handle_option): Do not set them here. Add
9417 comment.
9418 (c_common_post_options): Likewise.
9419
9420 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
9421
9422 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
9423 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
9424 Remove POINTER_TYPE handling, add large unsigned handling and use
9425 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
9426
9427 2012-10-12 Jakub Jelinek <jakub@redhat.com>
9428
9429 PR c/54381
9430 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
9431 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
9432 locs and array of 3 trees instead of just single loc and single
9433 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
9434 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
9435 For *cmp* builtins that take two sources strings report warnings
9436 about first and second source, not about destination and source.
9437
9438 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
9439
9440 PR c++/53055
9441 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
9442
9443 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
9444
9445 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
9446 declaring something coming from another file.
9447
9448 2012-10-10 Arnaud Charlet <charlet@adacore.com>
9449
9450 PR ada/54845
9451 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
9452
9453 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
9454
9455 PR c++/54194
9456 * c-common.c (warn_about_parentheses): Add location_t parameter;
9457 use EXPR_LOC_OR_LOC.
9458 * c-common.h: Update declaration.
9459
9460 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
9461
9462 PR c++/54427
9463 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
9464 more operations. Make error messages optional.
9465 * c-common.h (enum stv_conv): Moved from c-typeck.c.
9466 (scalar_to_vector): Declare.
9467
9468 2012-10-08 Jason Merrill <jason@redhat.com>
9469
9470 * c-common.c (c_common_reswords): Add thread_local.
9471
9472 2012-10-08 Dodji Seketeli <dodji@redhat.com>
9473
9474 PR c++/53528 C++11 attribute support
9475 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
9476 new functions.
9477 * c-common.c (check_cxx_fundamental_alignment_constraints): New
9478 static function.
9479 (handle_aligned_attribute): In choose strictest alignment
9480 among many. Use new check_cxx_fundamental_alignment_constraints.
9481 (handle_transparent_union_attribute): In c++11 attribute syntax,
9482 don't look through typedefs.
9483
9484 2012-10-04 Arnaud Charlet <charlet@adacore.com>
9485
9486 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
9487 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
9488 out of dumpfile.h.
9489
9490 2012-09-25 Dehao Chen <dehao@google.com>
9491
9492 PR middle-end/54645
9493 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
9494 map when read in the pch.
9495
9496 2012-09-18 Arnaud Charlet <charlet@adacore.com>
9497
9498 * c-ada-spec.c: Style fixes.
9499
9500 2012-09-18 Thomas Quinot <quinot@adacore.com>
9501
9502 * c.opt (-fada-spec-parent): Define new command line switch.
9503 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
9504 is specified, generate binding spec as a child of the specified unit.
9505
9506 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
9507 Manuel López-Ibáñez <manu@gcc.gnu.org>
9508
9509 PR c++/53210
9510 * c.opt ([Winit-self]): Enabled by -Wall in C++.
9511
9512 2012-08-23 Arnaud Charlet <charlet@adacore.com>
9513
9514 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
9515 for pointers, and add missing Convention C pragma.
9516 (print_ada_struct_decl): Add missing aliased keyword.
9517 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
9518
9519 2012-08-17 Jakub Jelinek <jakub@redhat.com>
9520
9521 * c-common.c (sizeof_pointer_memaccess_warning): New function.
9522 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
9523 * c-opts.c (c_common_handle_option): Enable it for -Wall.
9524 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
9525 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
9526
9527 2012-08-10 Richard Guenther <rguenther@suse.de>
9528
9529 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
9530
9531 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
9532
9533 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
9534 instead of separate pp_newline and pp_flush.
9535 (print_c_tree): Likewise.
9536
9537 2012-07-26 Richard Henderson <rth@redhat.com>
9538
9539 * c-common.c (handle_hot_attribute): Allow labels.
9540 (handle_cold_attribute): Likewise.
9541
9542 2012-07-20 Jakub Jelinek <jakub@redhat.com>
9543
9544 PR c++/28656
9545 * c-common.c (check_function_nonnull): Handle multiple nonnull
9546 attributes properly.
9547
9548 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
9549
9550 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
9551 * c-ada-spec.c: Likewise.
9552 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
9553
9554 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
9555
9556 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
9557 Remove code conditional on it.
9558
9559 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
9560
9561 * c-gimplify.c: Do not include basic-block.h.
9562 * c-common.c: Do not include linfuncs.h.
9563
9564 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
9565
9566 * c-common.h: Include tree.h.
9567
9568 2012-07-02 Jason Merrill <jason@redhat.com>
9569
9570 PR c++/53524
9571 * c-common.c (get_priority): Call default_conversion.
9572
9573 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
9574
9575 * c-pch.c (c_common_write_pch): Remove unused variables.
9576
9577 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
9578
9579 * cppspec.c: Moved from gcc/ to here.
9580
9581 2012-06-27 Kai Tietz <ktietz@redhat.com>
9582
9583 PR preprocessor/37215
9584 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
9585
9586 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
9587
9588 * c-common.h (c_common_print_pch_checksum): Remove.
9589 * c-pch.c: Do not include output.h.
9590 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
9591 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
9592 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
9593 (struct c_pch_header): Remove.
9594 (get_ident): Update gpch version.
9595 (pch_init): Do not print executable_checksum to asm_out_file.
9596 Do not fail if there is no asm_out_file to read back from. Set
9597 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
9598 (c_common_write_pch): Verify that nothing was written to asm_out_file
9599 since pch_init was called. Do not write a c_pch_header, and do not
9600 copy from asm_out_file to the PCH.
9601 (c_common_read_pch): Do not read a c_pch_header, and do not restore
9602 the content of asm_out_file from the PCH.
9603 (c_common_print_pch_checksum): Remove.
9604 * c-opts.c (c_common_init): Print out executable_checksum directly.
9605
9606 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
9607
9608 * c-target.def (objc_declare_unresolved_class_reference,
9609 objc_declare_class_definition): Add new hooks.
9610
9611 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
9612
9613 * c-lex.c: Do not include output.h.
9614 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
9615 Remove uses of ASM_OUTPUT_IDENT.
9616
9617 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
9618
9619 PR c++/51033
9620 * c-common.h (c_build_vec_perm_expr): Move decl here.
9621 * c-common.c (c_build_vec_perm_expr): Move definition
9622 here.
9623
9624 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
9625
9626 * c.opt (fconserve-space): Turn into a no-op.
9627
9628 2012-06-04 Sterling Augustine <saugustine@google.com>
9629
9630 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
9631 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
9632 both the start and end of the function.
9633
9634 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
9635
9636 * c-common.c: Do not include output.h.
9637 * c-pragma.c: Likewise.
9638
9639 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
9640
9641 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
9642 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
9643 (lang_decl_name): Handle namespace decls.
9644
9645 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
9646
9647 * c-ada-spec.c: Do not include output.h.
9648 * c-semantics.c: Likewise.
9649
9650 2012-05-29 Joseph Myers <joseph@codesourcery.com>
9651
9652 * c-common.c: Fix typo.
9653
9654 2012-05-29 Michael Matz <matz@suse.de>
9655
9656 * c-common.h (c_expand_decl): Remove prototype.
9657
9658 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9659
9660 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
9661 * c-opts.c (c_common_handle_option): Remove code handling
9662 warn_missing_braces.
9663
9664 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
9665
9666 PR c++/25137
9667 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
9668 -Wmissing_braces.
9669
9670 2012-05-22 Dodji Seketeli <dodji@redhat.com>
9671
9672 PR c++/53322
9673 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
9674
9675 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
9676
9677 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
9678 * c-opts.c (c_common_handle_option): Do not handle explicitly
9679 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
9680
9681 2012-05-16 Dodji Seketeli <dodji@redhat.com>
9682
9683 PR preprocessor/7263
9684 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
9685 to cpp_classify_number. For diagnostics, use the precise location
9686 instead of the global input_location.
9687
9688 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9689
9690 PR c++/11856
9691 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
9692
9693 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
9694
9695 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
9696
9697 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
9698
9699 PR 53063
9700 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
9701 Wreorder): Use LangEnabledBy.
9702 * c-opts.c (c_common_handle_option): Do not enable them
9703 explicitly. Call lang-specific generated functions.
9704 (c_common_post_options): Do not set them here.
9705
9706 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
9707
9708 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
9709 Wmissing-field-initializers,Wmissing-parameter-type,
9710 Wold-style-declaration,Woverride-init): Use EnabledBy.
9711 * c-opts.c (c_common_post_options): Do not set here explicitly.
9712
9713 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9714
9715 PR 53063
9716 * c-opts.c (c_common_handle_option): Use handle_generated_option
9717 to enable sub-options.
9718
9719 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
9720
9721 PR c++/53158
9722 * c-common.c (warnings_for_convert_and_check): Use warning_at.
9723
9724 2012-05-10 Richard Guenther <rguenther@suse.de>
9725
9726 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
9727 adjust commentary about TYPE_IS_SIZETYPE types.
9728
9729 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9730
9731 PR c++/53261
9732 * c-common.c (warn_logical_operator): Check that argument of
9733 integer_zerop is not NULL.
9734
9735 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
9736
9737 PR c/43772
9738 * c-common.c (warn_logical_operator): Do not warn if either side
9739 is already true or false.
9740
9741 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9742
9743 PR c/51712
9744 * c-common.c (expr_original_type): New.
9745 (shorten_compare): Do not warn for enumeration types.
9746
9747 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9748
9749 * c.opt (fpermissive): Add Var(flag_permissive).
9750
9751 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
9752
9753 PR c++/51033
9754 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
9755 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
9756
9757 2012-04-30 Dodji Seketeli <dodji@redhat.com>
9758
9759 Add -Wvarargs option
9760 * c.opt (Wvarargs): Define new option.
9761
9762 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9763
9764 * c-common.c (check_function_arguments): Replace
9765 Wmissing-format-attribute with Wsuggest-attribute=format.
9766
9767 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9768
9769 * c.opt (Wsuggest-attribute=format): New. Alias of
9770 Wmissing-format-attribute.
9771 * c-format.c (decode_format_type): Replace
9772 Wmissing-format-attribute with Wsuggest-attribute=format.
9773 (check_function_format): Likewise.
9774
9775 2012-04-27 Ollie Wild <aaw@google.com>
9776
9777 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
9778 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
9779 * c.opt: Add Wliteral-suffix.
9780
9781 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9782
9783 PR c/44774
9784 * c.opt (Wpedantic): New.
9785 (pedantic): Alias Wpedantic.
9786 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
9787 (c_common_post_options): Likewise.
9788 (sanitize_cpp_opts): Likewise.
9789 * c-lex.c (interpret_float): Likewise.
9790 * c-format.c (check_format_types): Likewise.
9791 * c-common.c (pointer_int_sum): Likewise.
9792 (c_sizeof_or_alignof_type): Likewise.
9793 (c_add_case_label): Likewise.
9794 (c_do_switch_warnings): Likewise.
9795 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9796
9797 2012-04-15 Jason Merrill <jason@redhat.com>
9798
9799 PR c++/52818
9800 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
9801 (C_STD_NAME): Distinguish between C++98 and C++11.
9802
9803 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
9804
9805 PR target/52624
9806 * c-common.h (uint16_type_node): Rename into...
9807 (c_uint16_type_node): ...this.
9808 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
9809 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
9810
9811 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
9812
9813 * c-common.c (warn_if_unused_value): Move definition to here.
9814 * c-common.h (warn_if_unused_value): Move declaration to here.
9815
9816 2012-03-23 William Bader <williambader@hotmail.com>
9817
9818 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
9819
9820 2012-03-20 Jason Merrill <jason@redhat.com>
9821
9822 * c-common.h (enum cxx_dialect): Add cxx1y.
9823 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
9824 test.
9825 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
9826 * c-opts.c (c_common_post_options): Likewise.
9827 (set_std_cxx1y): New.
9828 (c_common_handle_option): Call it.
9829 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
9830
9831 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
9832
9833 PR c++/14710
9834 * c.opt ([Wuseless-cast]): Add.
9835
9836 2012-03-16 Richard Guenther <rguenther@suse.de>
9837
9838 * c-pretty-print.c (pp_c_initializer_list): Adjust.
9839
9840 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9841
9842 PR c++/44783
9843 * c.opt (ftemplate-backtrace-limit) Add.
9844
9845 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9846
9847 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
9848 handling.
9849 * c-pragma.c (handle_pragma_extern_prefix): Remove.
9850 (init_pragma): Don't register extern_prefix.
9851
9852 2012-03-12 Richard Guenther <rguenther@suse.de>
9853
9854 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
9855 (builtin_type_for_size): Likewise.
9856
9857 2012-02-13 Jakub Jelinek <jakub@redhat.com>
9858
9859 PR c++/52215
9860 * c-common.c (sync_resolve_params): Don't decide whether to convert
9861 or not based on TYPE_SIZE comparison, convert whenever arg_type
9862 is unsigned INTEGER_TYPE.
9863
9864 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
9865
9866 PR c/52118
9867 * c.opt ([Wunused-local-typedefs]): Fix description.
9868
9869 2012-01-24 Mike Stump <mikestump@comcast.net>
9870
9871 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
9872 exactly.
9873
9874 2012-01-18 Richard Guenther <rguenther@suse.de>
9875
9876 * c-opts.c (c_common_post_options): Reset LTO flags if
9877 we are about to generate a PCH.
9878
9879 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
9880
9881 PR c++/51777
9882 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
9883 use pp_unsigned_wide_integer.
9884
9885 2012-01-10 Richard Guenther <rguenther@suse.de>
9886
9887 PR middle-end/51806
9888 * c-opts.c (c_common_handle_option): Move -Werror handling
9889 to language independent code.
9890
9891 2012-01-05 Richard Guenther <rguenther@suse.de>
9892
9893 PR middle-end/51764
9894 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
9895 from common.opt.
9896
9897 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9898
9899 PR c++/51316
9900 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9901 of array types with an unknown bound.
9902
9903 2011-12-20 Joseph Myers <joseph@codesourcery.com>
9904
9905 * c-common.c (flag_isoc99): Update comment to refer to C11.
9906 (flag_isoc1x): Change to flag_isoc11.
9907 * c-common.h (flag_isoc99): Update comment to refer to C11.
9908 (flag_isoc1x): Change to flag_isoc11.
9909 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9910 C11.
9911 * c-opts.c (set_std_c1x): Change to set_std_c11.
9912 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9913 Call set_std_c11.
9914 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9915 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9916 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9917 standard.
9918 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9919 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9920 (std=gnu1x): Make alias of std=gnu11.
9921
9922 2011-12-19 Jason Merrill <jason@redhat.com>
9923
9924 PR c++/51228
9925 * c-common.c (handle_transparent_union_attribute): Check the first
9926 field if the type is complete.
9927
9928 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9929
9930 PR libstdc++/51365
9931 * c-common.c (RID_IS_FINAL): Add.
9932 * c-common.h (RID_IS_FINAL): Add.
9933
9934 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9935
9936 * c.opt (fgnu-runtime): Provide full description.
9937 (fnext-runtime): Likewise.
9938 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9939
9940 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
9941
9942 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9943 predefines in one place. Add LOCK_FREE predefines.
9944 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9945 new func.
9946
9947 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
9948
9949 PR c/51256
9950 * c-common.c (get_atomic_generic_size): Check for various error
9951 conditions
9952 (resolve_overloaded_atomic_exchange,
9953 resolve_overloaded_atomic_compare_exchange,
9954 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9955 error_mark_node for error conditions.
9956
9957 2011-11-08 Richard Guenther <rguenther@suse.de>
9958
9959 PR middle-end/51010
9960 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
9961
9962 2011-11-07 Richard Henderson <rth@redhat.com>
9963 Aldy Hernandez <aldyh@redhat.com>
9964 Torvald Riegel <triegel@redhat.com>
9965
9966 Merged from transactional-memory.
9967
9968 * c-common.c (handle_tm_wrap_attribute,
9969 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9970 (struct c_common_reswords): Added __transaction* keywords.
9971 (struct c_common_attribute_table): Added transaction* and tm_regparm
9972 attributes.
9973 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9974 masks.
9975 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9976 find_tm_attribute): Declare.
9977
9978 2011-11-07 Jason Merrill <jason@redhat.com>
9979
9980 PR c++/35688
9981 * c-common.c, c-common.h: Revert yesterday's changes.
9982
9983 2011-11-06 Jason Merrill <jason@redhat.com>
9984
9985 PR c++/35688
9986 * c-common.c (decl_has_visibility_attr): Split out from...
9987 (c_determine_visibility): ...here.
9988 * c-common.h: Declare it.
9989
9990 2011-11-06 Joseph Myers <joseph@codesourcery.com>
9991
9992 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9993 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9994 type.
9995 (check_user_alignment): New. Split out of
9996 handle_aligned_attribute. Disallow integer constants with
9997 noninteger types. Conditionally allow zero.
9998 (handle_aligned_attribute): Use check_user_alignment.
9999 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
10000
10001 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
10002 Richard Henderson <rth@redhat.com>
10003
10004 Merged from cxx-mem-model.
10005
10006 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
10007 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
10008 parameters that are the same type size.
10009 (get_atomic_generic_size): New. Find size of generic
10010 atomic function parameters and do typechecking.
10011 (add_atomic_size_parameter): New. Insert size into parameter list.
10012 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
10013 either __atomic_exchange_n or external library call.
10014 (resolve_overloaded_atomic_compare_exchange): Restructure
10015 __atomic_compare_exchange to either _n variant or external library call.
10016 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
10017 __atomic_load_n or an external library call.
10018 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
10019 __atomic_store_n or an external library call.
10020 (resolve_overloaded_builtin): Handle new __atomic builtins.
10021
10022 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
10023
10024 PR c++/50608
10025 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
10026 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
10027 <INDIRECT_REF>: Return the argument.
10028 <ARRAY_REF>: Remove special code for negative offset.
10029 Call fold_build_pointer_plus instead of size_binop.
10030 (fold_offsetof): Remove STOP_REF argument and adjust.
10031 * c-common.h (fold_offsetof_1): Declare.
10032 (fold_offsetof): Remove STOP_REF argument.
10033
10034 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
10035
10036 PR c++/50810
10037 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
10038 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
10039 Wnarrowing for C++0x and C++98.
10040 * c.opt ([Wnarrowing]): Update.
10041
10042 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
10043
10044 PR c++/44277
10045 * c.opt: Add Wzero-as-null-pointer-constant.
10046
10047 2011-10-31 Jason Merrill <jason@redhat.com>
10048
10049 * c.opt (-fdeduce-init-list): Off by default.
10050
10051 PR c++/50920
10052 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
10053 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
10054 and -Wc++11-compat.
10055 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
10056
10057 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
10058
10059 PR c++/30066
10060 * c.opt (fvisibility-inlines-hidden): Description change.
10061
10062 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
10063
10064 Implement C++11 user-defined literals.
10065 * c-common.c (build_userdef_literal): New.
10066 * c-common.def: New tree code.
10067 * c-common.h (tree_userdef_literal): New tree struct and accessors.
10068 * c-lex.c (interpret_float): Add suffix parm.
10069 (c_lex_with_flags): Build literal tokens.
10070
10071 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
10072
10073 PR c++/50841
10074 Revert:
10075 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
10076
10077 PR c++/50810
10078 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
10079 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
10080 Wnarrowing for C++0x and C++98.
10081 * c.opt ([Wnarrowing]): Update.
10082
10083 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
10084
10085 PR c++/50810
10086 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
10087 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
10088 Wnarrowing for C++0x and C++98.
10089 * c.opt ([Wnarrowing]): Update.
10090
10091 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
10092
10093 PR c++/45385
10094 * c-common.c (conversion_warning): Remove code looking for
10095 artificial operands.
10096
10097 2011-10-18 Dodji Seketeli <dodji@redhat.com>
10098
10099 PR bootstrap/50760
10100 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
10101 !NO_IMPLICIT_EXTERN_C.
10102
10103 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
10104
10105 * c-common.c (c_common_reswords): Add __bases,
10106 __direct_bases.
10107 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
10108
10109 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
10110
10111 PR c++/50757
10112 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
10113
10114 2011-10-15 Tom Tromey <tromey@redhat.com>
10115 Dodji Seketeli <dodji@redhat.com>
10116
10117 * c.opt (fdebug-cpp): New option.
10118 * c-opts.c (c_common_handle_option): Handle the option.
10119 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
10120 output stream in parameter. Factorized from ...
10121 (maybe_print_line): ... this. Dump location debug information when
10122 -fdebug-cpp is in effect.
10123 (print_line_1): New static function. Takes an output stream in
10124 parameter. Factorized from ...
10125 (print_line): ... here. Dump location information when -fdebug-cpp
10126 is in effect.
10127 (scan_translation_unit): Dump location information when
10128 -fdebug-cpp is in effect.
10129
10130 2011-10-15 Tom Tromey <tromey@redhat.com>
10131 Dodji Seketeli <dodji@redhat.com>
10132
10133 * c.opt (ftrack-macro-expansion): New option. Handle it with and
10134 without argument.
10135 * c-opts.c (c_common_handle_option)<case
10136 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
10137 cases. Handle -ftrack-macro-expansion with and without argument.
10138
10139 2011-10-15 Tom Tromey <tromey@redhat.com>
10140 Dodji Seketeli <dodji@redhat.com>
10141
10142 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
10143 (print_line, cb_define, do_line_change): Adjust to avoid touching
10144 the internals of struct line_map. Use the public API instead.
10145 * c-pch.c (c_common_read_pch): Likewise.
10146 * c-lex.c (fe_file_change): Likewise.
10147
10148 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
10149
10150 PR c++/17212
10151 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
10152
10153 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
10154
10155 PR c++/33067
10156 * c-pretty-print.c (pp_c_floating_constant): Output
10157 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
10158
10159 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
10160
10161 * c-common.c (def_builtin_1): Delete old interface with two
10162 parallel arrays to hold standard builtin declarations, and replace
10163 it with a function based interface that can support creating
10164 builtins on the fly in the future. Change all uses, and poison
10165 the old names. Make sure 0 is not a legitimate builtin index.
10166 * c-omp.c (c_finish_omp_barrier): Ditto.
10167 (c_finish_omp_taskwait): Ditto.
10168 (c_finish_omp_flush): Ditto.
10169
10170 2011-10-11 Tristan Gingold <gingold@adacore.com>
10171
10172 * c.opt: (fallow-parameterless-variadic-functions): New.
10173
10174 2011-09-08 Dodji Seketeli <dodji@redhat.com>
10175
10176 PR c++/33255 - Support -Wunused-local-typedefs warning
10177 * c-common.h (struct c_language_function::local_typedefs): New
10178 field.
10179 (record_locally_defined_typedef, maybe_record_typedef_use)
10180 (maybe_warn_unused_local_typedefs): Declare new functions.
10181 * c-common.c (record_locally_defined_typedef)
10182 (maybe_record_typedef_use)
10183 (maybe_warn_unused_local_typedefs): Define new functions.
10184 * c.opt: Declare new -Wunused-local-typedefs flag.
10185
10186 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
10187
10188 PR middle-end/50266
10189 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
10190 computations.
10191
10192 2011-09-05 Richard Guenther <rguenther@suse.de>
10193
10194 * c-common.c (complete_array_type): Use ssize_int (-1) instead
10195 of integer_minus_one_node for empty array upper bounds.
10196
10197 2011-08-28 Dodji Seketeli <dodji@redhat.com>
10198
10199 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
10200 it's the first time it's being called on this main TU.
10201
10202 2011-08-24 Richard Guenther <rguenther@suse.de>
10203
10204 PR c/49396
10205 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
10206
10207 2011-08-22 Gabriel Charette <gchare@google.com>
10208
10209 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
10210 defined in cpp_init_builtins and c_cpp_builtins.
10211
10212 2011-08-19 Joseph Myers <joseph@codesourcery.com>
10213
10214 * c-common.c (c_common_reswords): Add __builtin_complex.
10215 * c-common.h (RID_BUILTIN_COMPLEX): New.
10216
10217 2011-08-18 Joseph Myers <joseph@codesourcery.com>
10218
10219 * c-common.c (c_common_reswords): Add _Noreturn.
10220 (keyword_is_function_specifier): Handle RID_NORETURN.
10221 * c-common.h (RID_NORETURN): New.
10222
10223 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10224
10225 * c-common.c (unsafe_conversion_p): New function. Check if it is
10226 unsafe to convert an expression to the type.
10227 (conversion_warning): Adjust, use unsafe_conversion_p.
10228 * c-common.h (unsafe_conversion_p): New function declaration.
10229
10230 2011-08-02 Jakub Jelinek <jakub@redhat.com>
10231
10232 * c-common.h (c_finish_omp_atomic): Adjust prototype.
10233 (c_finish_omp_taskyield): New prototype.
10234 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
10235 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
10236 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
10237 or RHS1 have side-effects, evaluate those too in the right spot,
10238 if it is a decl and LHS is also a decl, error out if they
10239 aren't the same.
10240 (c_finish_omp_taskyield): New function.
10241 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
10242 * c-pragma.c (omp_pragmas): Add taskyield.
10243 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
10244 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
10245 PRAGMA_OMP_CLAUSE_MERGEABLE.
10246
10247 2011-07-25 Dodji Seketeli <dodji@redhat.com>
10248
10249 * c-common.h (set_underlying_type): Remove parm name from
10250 declaration.
10251
10252 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
10253
10254 * c-pretty-print.h: Search c-common.h in c-family.
10255
10256 2011-07-22 Jason Merrill <jason@redhat.com>
10257
10258 PR c++/49793
10259 * c.opt (Wnarrowing): New.
10260
10261 PR c++/30112
10262 * c-common.h: Declare c_linkage_bindings.
10263 * c-pragma.c (handle_pragma_redefine_extname): Use it.
10264
10265 PR c++/49813
10266 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
10267 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
10268 as flag_isoc99 for 'restrict'.
10269 (pp_c_specifier_qualifier_list): Likewise for _Complex.
10270
10271 2011-07-21 Ian Lance Taylor <iant@google.com>
10272
10273 PR middle-end/49705
10274 * c-common.c (c_disable_warnings): New static function.
10275 (c_enable_warnings): New static function.
10276 (c_fully_fold_internal): Change local unused_p to bool. Call
10277 c_disable_warnings and c_enable_warnings rather than change
10278 c_inhibit_evaluation_warnings.
10279
10280 2011-07-20 Jason Merrill <jason@redhat.com>
10281
10282 PR c++/6709 (DR 743)
10283 PR c++/42603 (DR 950)
10284 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
10285 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
10286 (CPP_DECLTYPE): New.
10287 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
10288
10289 2011-07-19 Richard Guenther <rguenther@suse.de>
10290
10291 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
10292 * c-omp.c (c_finish_omp_for): Likewise.
10293
10294 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
10295
10296 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
10297 body on the next line.
10298
10299 2011-07-08 Jason Merrill <jason@redhat.com>
10300
10301 PR c++/45437
10302 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
10303
10304 PR c++/49673
10305 * c-common.c (c_apply_type_quals_to_decl): Don't check
10306 TYPE_NEEDS_CONSTRUCTING.
10307
10308 2011-07-06 Richard Guenther <rguenther@suse.de>
10309
10310 * c-common.c (c_common_nodes_and_builtins):
10311 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
10312
10313 2011-07-05 Richard Guenther <rguenther@suse.de>
10314
10315 * c-common.c (c_common_nodes_and_builtins): Build all common
10316 tree nodes first.
10317
10318 2011-06-27 Jakub Jelinek <jakub@redhat.com>
10319
10320 * c-common.h (c_tree_chain_next): New static inline function.
10321
10322 * c-common.c (check_builtin_function_arguments): Handle
10323 BUILT_IN_ASSUME_ALIGNED.
10324
10325 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
10326
10327 * c-common.c: Add sync_ or SYNC__ to builtin names.
10328 * c-omp.c: Add sync_ or SYNC__ to builtin names.
10329
10330 2011-06-20 Pierre Vittet <piervit@pvittet.com>
10331
10332 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
10333 handler.
10334 (gen_pragma_handler): New union.
10335 (internal_pragma_handler): New type.
10336 (c_register_pragma_with_data)
10337 (c_register_pragma_with_expansion_and_data): New functions.
10338
10339 * c-pragma.c (registered_pragmas, c_register_pragma_1)
10340 (c_register_pragma, c_register_pragma_with_expansion)
10341 (c_invoke_pragma_handler): Changed to work with
10342 internal_pragma_handler.
10343 (c_register_pragma_with_data)
10344 (c_register_pragma_with_expansion_and_data): New functions.
10345
10346 2011-06-14 Joseph Myers <joseph@codesourcery.com>
10347
10348 * c-common.c: Include common/common-target.h.
10349 (handle_section_attribute): Use
10350 targetm_common.have_named_sections.
10351 * c-cppbuiltin.c: Include common/common-target.h.
10352 (c_cpp_builtins): Use targetm_common.except_unwind_info.
10353
10354 2011-06-10 Richard Guenther <rguenther@suse.de>
10355
10356 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
10357 to print a IDENTIFIER_NODE.
10358
10359 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
10360 Joseph Myers <joseph@codesourcery.com>
10361
10362 * c.opt (fbuilding-libgcc): New option.
10363 * c-cppbuiltin.c (c_cpp_builtins): Define
10364 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
10365
10366 2011-06-07 Jason Merrill <jason@redhat.com>
10367
10368 * c-common.c (max_tinst_depth): Lower default to 900.
10369
10370 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
10371
10372 2011-06-07 Richard Guenther <rguenther@suse.de>
10373
10374 * c-common.c (c_common_nodes_and_builtins): Do not set
10375 size_type_node or call set_sizetype.
10376
10377 2011-06-07 Dodji Seketeli <dodji@redhat.com>
10378
10379 PR debug/49130
10380 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
10381 type when using pointer comparison to compare types.
10382
10383 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
10384
10385 * c.opt: Add -Wdelete-non-virtual-dtor.
10386 * c-opts.c (c_common_handle_option): Include it in -Wall.
10387
10388 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
10389
10390 PR bootstrap/49190
10391
10392 Revert:
10393 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10394
10395 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
10396 not tree_common.
10397
10398 2011-05-27 Jakub Jelinek <jakub@redhat.com>
10399
10400 PR c++/49165
10401 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
10402 C++ don't call c_common_truthvalue_conversion on void type arms.
10403
10404 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
10405
10406 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
10407 (stmt_list_stack): Define.
10408 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
10409 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
10410
10411 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10412
10413 * c-common.c (warning_candidate_p): Check for BLOCKs.
10414
10415 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10416
10417 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
10418 not tree_common.
10419
10420 2011-05-25 Jakub Jelinek <jakub@redhat.com>
10421
10422 * c-common.c (def_fn_type): Remove extra va_end.
10423
10424 2011-05-23 Jason Merrill <jason@redhat.com>
10425
10426 PR c++/48106
10427 * c-common.c (c_common_get_narrower): New.
10428 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
10429
10430 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
10431
10432 * c-common.h (check_function_arguments): Tweak prototype of
10433 check_function_arguments.
10434 * c-common.c (check_function_arguments): Likewise. Adjust
10435 calls to check_function_nonnull, check_function_format, and
10436 check_function_sentinel.
10437 (check_function_sentinel): Take a FUNCTION_TYPE rather than
10438 separate attributes and typelist arguments. Use
10439 FOREACH_FUNCTION_ARGS to iterate over argument types.
10440
10441 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
10442
10443 * c-common.c (c_common_reswords): Reorder.
10444 * c-common.h (rid): Likewise.
10445
10446 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
10447
10448 * c-common.c (def_fn_type): Don't call build_function_type, call
10449 build_function_type_array or build_varargs_function_type_array
10450 instead.
10451 (c_common_nodes_and_builtins): Likewise.
10452
10453 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
10454
10455 * c-common.c (c_add_case_label): Omit the loc argument to
10456 build_case_label.
10457 * c-common.h (build_case_label): Remove.
10458 * c-semantics.c (build_case_label): Remove.
10459
10460 2011-05-05 Joseph Myers <joseph@codesourcery.com>
10461
10462 * c-objc.h (objc_start_method_definition): Update prototype.
10463 * stub-objc.c (objc_start_method_definition): Add extra parameter.
10464
10465 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
10466
10467 * c-common.c (check_main_parameter_types): Reindent. Don't use
10468 TYPE_ARG_TYPES directly.
10469 (handle_nonnull_attribute): Likewise.
10470 (sync_resolve_params): Likewise.
10471 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
10472 to check_format_string.
10473 (handle_format_attribute): Likewise.
10474 (check_format_string): Take a function type to examine instead of
10475 a type list. Use a function_arg_iterator to step through argument
10476 types.
10477
10478 2011-05-04 Richard Guenther <rguenther@suse.de>
10479
10480 * c-common.c (fix_string_type): Use size_int for index type bounds.
10481 (start_fname_decls): Do not pass NULL to build_int_cst.
10482 (c_init_attributes): Likewise.
10483 * c-lex.c (c_lex_with_flags): Likewise.
10484
10485 2011-04-27 Jason Merrill <jason@redhat.com>
10486
10487 * c-common.c (make_tree_vector_from_list): New.
10488 * c-common.h: Declare it.
10489
10490 2011-04-26 Richard Guenther <rguenther@suse.de>
10491
10492 PR preprocessor/48248
10493 * c-ppoutput.c (maybe_print_line): Always optimize newlines
10494 for output size with -P.
10495
10496 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
10497
10498 * c-common.c (struct c_common_resword): Add __underlying_type.
10499 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
10500
10501 2011-04-20 Jim Meyering <meyering@redhat.com>
10502
10503 * c-format.c (init_dollar_format_checking): Remove useless
10504 if-before-free.
10505
10506 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
10507
10508 * c-objc.h (objc_get_interface_ivars): Removed.
10509 (objc_detect_field_duplicates): New.
10510 * stub-objc.c: Likewise.
10511
10512 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
10513
10514 * stub-objc.c (objc_declare_protocols): Renamed to
10515 objc_declare_protocol.
10516 * c-objc.h: Likewise.
10517
10518 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
10519
10520 * stub-objc.c (objc_declare_class): Updated argument name.
10521
10522 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
10523
10524 * c-common.h (c_common_init_ts): Declare.
10525 * c-common.c (c_common_init_ts): Define.
10526
10527 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
10528
10529 * c-objc.h (objc_build_message_expr): Updated prototype.
10530 * stub-objc.c (objc_build_message_expr): Likewise.
10531
10532 2011-04-12 Martin Jambor <mjambor@suse.cz>
10533
10534 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
10535 of cgraph_node.
10536
10537 2011-04-11 Richard Guenther <rguenther@suse.de>
10538
10539 * c-common.c (complete_array_type): Build a range type of
10540 proper type.
10541
10542 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
10543
10544 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
10545 (handle_type_generic_attribute): Likewise.
10546
10547 2011-04-07 Jason Merrill <jason@redhat.com>
10548
10549 PR c++/48450
10550 * c-common.c (c_common_truthvalue_conversion): Don't ignore
10551 conversion from C++0x scoped enum.
10552
10553 2011-04-06 Joseph Myers <joseph@codesourcery.com>
10554
10555 * c-target-def.h: New file.
10556 * c-target.def: New file.
10557 * c-target.h: New file.
10558 * c-common.c (targetcm): Don't define here.
10559 * c-common.h (default_handle_c_option): Declare.
10560 * c-format.c: Include c-target.h instead of target.h.
10561 * c-opts.c: Include c-target.h instead of target.h. Explicitly
10562 include tm.h.
10563 (default_handle_c_option): Move from targhooks.c.
10564
10565 2011-03-29 Jakub Jelinek <jakub@redhat.com>
10566
10567 PR preprocessor/48248
10568 * c-ppoutput.c (print): Add src_file field.
10569 (init_pp_output): Initialize it.
10570 (maybe_print_line): Don't optimize by adding up to 8 newlines
10571 if map->to_file and print.src_file are different file.
10572 (print_line): Update print.src_file.
10573
10574 2011-03-25 Kai Tietz <ktietz@redhat.com>
10575
10576 * c-ada-spec.c (compare_comment): Use filename_cmp
10577 instead of strcmp for filename.
10578
10579 2011-03-25 Jeff Law <law@redhat.com>
10580
10581 * c-common.c (def_fn_type): Add missing va_end.
10582
10583 2011-03-25 Jason Merrill <jason@redhat.com>
10584
10585 * c.opt: Add -std=c++03.
10586
10587 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
10588
10589 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
10590
10591 2011-03-17 Kai Tietz <ktietz@redhat.com>
10592
10593 PR target/12171
10594 * c-pretty-print.c (pp_c_specifier_qualifier_list):
10595 Display allowed attributes for function pointer types.
10596 (pp_c_attributes_display): New function to display
10597 attributes having affects_type_identity flag set to true.
10598 * c-pretty-print.h (pp_c_attributes_display): New prototype.
10599
10600 * c-common.c (c_common_attribute_table):
10601 Add new element.
10602 (c_common_format_attribute_table): Likewise.
10603
10604 2011-03-18 Jason Merrill <jason@redhat.com>
10605
10606 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
10607 * c-common.h: Don't declare it here.
10608 * c-common.c: Or define it here.
10609 * c-opts.c (c_common_handle_option): Or set it here.
10610
10611 PR c++/35315
10612 * c-common.c (handle_transparent_union_attribute): Don't
10613 make a duplicate type in C++.
10614
10615 2011-03-15 Jason Merrill <jason@redhat.com>
10616
10617 * c-common.c (max_constexpr_depth): New.
10618 * c-common.h: Declare it.
10619 * c-opts.c (c_common_handle_option): Set it.
10620 * c.opt (fconstexpr-depth): New option.
10621
10622 2011-03-11 Jason Merrill <jason@redhat.com>
10623
10624 * c-common.c (attribute_takes_identifier_p): Add missing const.
10625
10626 PR c++/46803
10627 * c-common.c (attribute_takes_identifier_p): Assume that an
10628 unknown attribute takes an identifier.
10629
10630 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
10631
10632 PR c/47786
10633 * c-common.c (c_type_hash): Call list_length instead of iterating
10634 through DECL_CHAIN. Rename 'i' to 'n_elements'.
10635
10636 2011-02-19 Jakub Jelinek <jakub@redhat.com>
10637
10638 PR c/47809
10639 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
10640
10641 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
10642
10643 * c.opt (fobjc-abi-version=) New.
10644 (fobjc-nilcheck): New.
10645
10646 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
10647
10648 PR c++/46890
10649 * c-common.h (keyword_is_decl_specifier): Declare.
10650 * c-common.c (keyword_is_decl_specifier): Define.
10651 (keyword_is_function_specifier): New function.
10652
10653 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10654
10655 PR c/47473
10656 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
10657 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
10658 REAL_TYPE.
10659
10660 2011-01-26 Arnaud Charlet <charlet@adacore.com>
10661
10662 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
10663
10664 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10665
10666 PR pch/47430
10667 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
10668 after init_c_lex if pch_file is set.
10669
10670 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
10671
10672 PR c++/43601
10673 * c.opt (-fkeep-inline-dllexport): New switch.
10674
10675 2011-01-12 Richard Guenther <rguenther@suse.de>
10676
10677 PR middle-end/32511
10678 * c-common.c (handle_weak_attribute): Warn instead of error
10679 on declaring an inline function weak.
10680
10681 2011-01-05 Tom Tromey <tromey@redhat.com>
10682
10683 * c-common.h (lvalue_error): Update.
10684 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
10685 not error.
10686
10687 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
10688
10689 PR objc/47075
10690 * c-objc.h (objc_finish_message_expr): Added argument to
10691 prototype.
10692
10693 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
10694
10695 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
10696 Use prototype_p.
10697
10698 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
10699
10700 * c-objc.h (objc_maybe_warn_exceptions): New.
10701 * stub-objc.c (objc_maybe_warn_exceptions): New.
10702
10703 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
10704
10705 * c-common.h (readonly_error): Declare.
10706 * c-common.c (readonly_error): Define.
10707
10708 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
10709
10710 * c-common.h (invalid_indirection_error): Declare.
10711 * c-common.c (invalid_indirection_error): Define.
10712
10713 2010-12-03 Richard Guenther <rguenther@suse.de>
10714
10715 PR c/46745
10716 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
10717 (pp_c_unary_expression): Likewise.
10718 (pp_c_expression): Likewise.
10719
10720 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
10721
10722 * c-common.h (objc_finish_function): New.
10723 (objc_non_volatilized_type): Removed.
10724 (objc_type_quals_match): Removed.
10725 * stub-objc.c (objc_finish_function): New.
10726 (objc_non_volatilized_type): Removed.
10727 (objc_type_quals_match): Removed.
10728
10729 2010-11-30 Joseph Myers <joseph@codesourcery.com>
10730
10731 * c-common.h (parse_optimize_options): Declare.
10732 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
10733 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
10734
10735 2010-11-29 Joseph Myers <joseph@codesourcery.com>
10736
10737 * c-opts.c (check_deps_environment_vars): Use getenv instead of
10738 GET_ENVIRONMENT.
10739 * c-pch.c (O_BINARY): Don't define here.
10740 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
10741
10742 2010-11-25 Joseph Myers <joseph@codesourcery.com>
10743
10744 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
10745 targetm.except_unwind_info.
10746
10747 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10748
10749 * c-opts.c (c_common_handle_option): Pass location to
10750 set_struct_debug_option.
10751
10752 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10753
10754 * c-common.c (visibility_options): Move from ../opts.c.
10755 * c-common.h (struct visibility_flags, visibility_options):
10756 Declare here.
10757 * c-opts.c (finish_options): Rename to c_finish_options.
10758 (c_common_init): Update call to finish_options.
10759
10760 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
10761
10762 PR objc/34033
10763 * c-lex.c (lex_string): Check that each string in an Objective-C
10764 string concat sequence starts with either one or zero '@', and
10765 that there are no spurious '@' signs at the end.
10766
10767 2010-11-20 Joseph Myers <joseph@codesourcery.com>
10768
10769 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
10770 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
10771 HANDLE_PRAGMA_VISIBILITY.
10772 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
10773 HANDLE_PRAGMA_VISIBILITY): Don't define.
10774 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
10775
10776 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
10777
10778 PR c++/16189
10779 PR c++/36888
10780 PR c++/45331
10781 * c-common.h (keyword_begins_type_specifier): Declare.
10782 (keyword_is_storage_class_specifier): Declare.
10783 (keyword_is_type_qualifier): Declare.
10784 * c-common.c (keyword_begins_type_specifier): New function.
10785 (keyword_is_storage_class_specifier): New function.
10786 (keyword_is_type_qualifier): Declare.
10787
10788 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10789
10790 PR c/46547
10791 * c-common.c (in_late_binary_op): Define.
10792 (c_common_truthvalue_conversion): Check in_late_binary_op before
10793 calling c_save_expr.
10794 * c-common.h (in_late_binary_op): Declare.
10795
10796 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10797
10798 * c-opts.c (c_common_handle_option): Update calls to
10799 set_struct_debug_option.
10800
10801 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
10802
10803 * c-common.h (objc_declare_protocols): Added additional argument.
10804 * stub-objc.c (objc_declare_protocol): Same change.
10805
10806 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
10807
10808 PR c/33193
10809 * c-common.h (build_real_imag_expr): Declare.
10810 * c-semantics.c (build_real_imag_expr): Define.
10811
10812 2010-11-17 Joseph Myers <joseph@codesourcery.com>
10813
10814 * c-opts.c (c_common_parse_file): Take no arguments.
10815 * c-common.h (c_common_parse_file): Update prototype.
10816
10817 2010-11-16 Jakub Jelinek <jakub@redhat.com>
10818
10819 PR c++/46401
10820 * c-common.c (warning_candidate_p): Don't track non-const calls
10821 or STRING_CSTs.
10822
10823 2010-11-15 Ian Lance Taylor <iant@google.com>
10824
10825 * c-lex.c (init_c_lex): Set macro debug callbacks if
10826 flag_dump_go_spec is set.
10827
10828 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
10829
10830 * c-common.h (objc_build_incr_expr_for_property_ref): New.
10831 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
10832
10833 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
10834
10835 PR preprocessor/45038
10836 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
10837 dialects.
10838
10839 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10840
10841 * c-common.h (c_family_lang_mask): Declare.
10842 * c-opts.c (c_family_lang_mask): Make extern.
10843 * c-pragma.c (handle_pragma_diagnostic): Use
10844 control_warning_option.
10845
10846 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10847
10848 * c-common.c (parse_optimize_options): Update call to
10849 decode_options.
10850 * c-common.h (c_common_handle_option): Update prototype.
10851 * c-opts.c (c_common_handle_option): Take location_t parameter and
10852 pass it to other functions.
10853
10854 2010-11-11 Joseph Myers <joseph@codesourcery.com>
10855
10856 * c-opts.c (warning_as_error_callback): Remove.
10857 (c_common_initialize_diagnostics): Don't call
10858 register_warning_as_error_callback.
10859 (c_common_handle_option): Handle -Werror=normalized= here.
10860
10861 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10862
10863 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
10864 in diagnostic.
10865 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
10866 letter.
10867 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
10868 Remove trailing '.' from diagnostics.
10869 * c.opt (Wwrite-strings_: Avoid '`' in help text.
10870
10871 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10872
10873 * c-common.c (parse_optimize_options): Pass global_dc to
10874 decode_options.
10875 * c-opts.c (c_common_handle_option): Pass &global_options to
10876 set_Wstrict_aliasing.
10877 * c.opt (v): Don't mark Common or document here.
10878
10879 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
10880
10881 PR target/44981
10882 * c-format.c (format_type): New type gcc_objc_string_format_type.
10883 (valid_stringptr_type_p): New.
10884 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
10885 (check_format_string): Pass expected type, use
10886 valid_stringptr_type_p (), check that the format string types are
10887 consistent with the format specification.
10888 (decode_format_attr): Warn if NSString is used outside objective-c.
10889 (format_types_orig): Add NSString.
10890 (format_name): New.
10891 (format_flags): New.
10892 (check_format_arg): Handle format strings requiring an external parser.
10893 first_target_format_type: New variable.
10894 (handle_format_attribute): Set up first_target_format_type, pass the
10895 expected format arg string type to check_format_string().
10896 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
10897 * stub-objc.c (objc_string_ref_type_p): New.
10898 (objc_check_format_arg): New.
10899
10900 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10901
10902 Fixed using the Objective-C 2.0 dot-syntax with class names.
10903 * c-common.h (objc_build_class_component_ref): New.
10904 * stub-objc.c (objc_build_class_component_ref): New.
10905
10906 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10907
10908 * c.opt (Wproperty-assign-default): New option.
10909
10910 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10911
10912 Implemented -fobjc-std=objc1 flag.
10913 * c.opt (fobjc-std=objc1): New option.
10914
10915 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10916
10917 Implemented format and noreturn attributes for Objective-C methods.
10918 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10919 attribute for Objective-C methods.
10920
10921 2010-10-31 Jason Merrill <jason@redhat.com>
10922
10923 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10924 EXPR_LOC_OR_HERE.
10925
10926 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10927
10928 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10929 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10930 (objc_add_property_declaration): Removed arguments for copies and
10931 ivar.
10932 (objc_build_getter_call): Renamed to
10933 objc_maybe_build_component_ref.
10934 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10935 (objc_is_property_ref): New.
10936 * c-common.c (c_common_reswords): Removed copies and ivar.
10937 * stub-objc.c (objc_add_property_declaration): Removed arguments
10938 for copies and ivar.
10939 (objc_build_getter_call): Renamed to
10940 objc_maybe_build_component_ref.
10941 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10942 (objc_is_property_ref): New.
10943
10944 2010-10-29 Arnaud Charlet <charlet@adacore.com>
10945 Matthew Gingell <gingell@adacore.com>
10946
10947 * c-ada-spec.c (separate_class_package): New function.
10948 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10949 name of their enclosing package.
10950 (print_ada_declaration): Use separate_class_package.
10951
10952 2010-10-27 Jason Merrill <jason@redhat.com>
10953
10954 * c-common.c (c_common_reswords): Add __is_literal_type.
10955 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10956
10957 * c-common.c (check_case_value): Remove special C++ code.
10958
10959 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10960
10961 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10962 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10963 and RID_LAST_PATTR.
10964 (objc_add_property_declaration): Added additional arguments.
10965 (objc_property_attribute_kind): Removed.
10966 (objc_set_property_attr): Removed.
10967 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10968 copy and nonatomic.
10969 * stub-objc.c (objc_add_property_declaration): Added additional
10970 arguments.
10971 (objc_set_property_attr): Removed.
10972
10973 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10974
10975 * c-common.h (objc_add_property_variable): Renamed to
10976 objc_add_property_declaration. Added location argument.
10977 * stub-objc.c (objc_add_property_variable): Same change.
10978
10979 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10980
10981 * c-common.h (objc_maybe_printable_name): New.
10982 * stub-objc.c (objc_maybe_printable_name): New.
10983
10984 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10985 Andrew Pinski <pinskia@gmail.com>
10986
10987 * c-common.h (c_common_mark_addressable_vec): Declare.
10988 * c-common.c (c_common_mark_addressable_vec): New function.
10989
10990 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10991
10992 * c-common.h (objc_set_method_type): Removed.
10993 (objc_add_method_declaration): Added boolean argument.
10994 (objc_start_method_definition): Same change.
10995 (objc_build_method_signature): Same change.
10996 * stub-objc.c (objc_set_method_type): Removed.
10997 (objc_add_method_declaration): Added boolean argument.
10998 (objc_start_method_definition): Same change.
10999 (objc_build_method_signature): Same change.
11000
11001 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
11002
11003 * c-common.h (finish_file): Removed.
11004 (objc_write_global_declarations): New.
11005 * c-opts.c (c_common_parse_file): Do not call finish_file.
11006 * stub-objc.c (objc_write_global_declarations): New.
11007
11008 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
11009
11010 Implemented parsing @synthesize and @dynamic for
11011 Objective-C/Objective-C++.
11012 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
11013 (objc_add_synthesize_declaration): New.
11014 (objc_add_dynamic_declaration): New.
11015 * c-common.c (c_common_reswords): Add synthesize and dynamic.
11016 * stub-objc.c (objc_add_synthesize_declaration): New.
11017 (objc_add_dynamic_declaration): New.
11018
11019 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
11020
11021 PR target/46041
11022 * c-cppbuiltin.c (mode_has_fma): Move function here from
11023 builtins.c. Don't use the fma optab, instead just use the
11024 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
11025 using -save-temps.
11026
11027 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
11028
11029 Merge from 'apple/trunk' branch on FSF servers.
11030
11031 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
11032
11033 Radar 4330422
11034 * c-common.h (objc_non_volatilized_type): New declaration
11035 * stub-objc.c (objc_non_volatilized_type): New stub.
11036
11037 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
11038
11039 Merge from 'apple/trunk' branch on FSF servers.
11040
11041 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
11042
11043 Radar 4133425
11044 * c-common.h (objc_diagnose_private_ivar): New decl.
11045 * stub-objc.c (objc_diagnose_private_ivar): New stub.
11046
11047 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
11048
11049 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
11050 * c-common.h (enum rid): Add RID_AT_PACKAGE.
11051 (objc_ivar_visibility_kind): New enum.
11052 (objc_set_visibility): Adjust prototype to use visibility enum.
11053 * stub-objc.c (objc_set_visibility): Adjust stub to use
11054 visibility enum.
11055
11056 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
11057
11058 * c-cppbuiltin.c (builtin_define_float_constants): Emit
11059 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
11060 has the appropriate fma builtins.
11061 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
11062
11063 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
11064
11065 merge from FSF apple 'trunk' branch.
11066 2006 Fariborz Jahanian <fjahanian@apple.com>
11067
11068 Radars 4436866, 4505126, 4506903, 4517826
11069 * c-common.c (c_common_resword): Define @property and its attributes.
11070 * c-common.h: Define property attribute enum entries.
11071 (OBJC_IS_PATTR_KEYWORD): New.
11072 (objc_property_attribute_kind): New enum.
11073 Declare objc_set_property_attr (), objc_add_property_variable (),
11074 objc_build_getter_call () and objc_build_setter_call ().
11075 * stub-objc.c (objc_set_property_attr): New stub.
11076 (objc_add_property_variable): Likewise.
11077 (objc_build_getter_call): Likewise.
11078 (objc_build_setter_call) Likewise.
11079
11080 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
11081
11082 merge from FSF apple 'trunk' branch.
11083 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
11084
11085 Radar 3803157 (method attributes)
11086 * c-common.c (handle_deprecated_attribute): Recognize
11087 objc methods as valid declarations.
11088 * c-common.h: Declare objc_method_decl ().
11089 * stub-objc.c (objc_method_decl): New stub.
11090
11091 2010-10-08 Joseph Myers <joseph@codesourcery.com>
11092
11093 * c-common.c (parse_optimize_options): Call
11094 decode_cmdline_options_to_array_default_mask before
11095 decode_options. Update arguments to decode_options.
11096 * c-common.h (c_common_init_options_struct): Declare.
11097 * c-opts.c (c_common_init_options_struct): New. Split out from
11098 c_common_init_options.
11099
11100 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
11101
11102 Implemented fast enumeration for Objective-C.
11103 * c-common.h (objc_finish_foreach_loop): New.
11104 * stub-objc.c (objc_finish_foreach_loop): New.
11105
11106 2010-10-05 Joseph Myers <joseph@codesourcery.com>
11107
11108 * c-common.h (struct diagnostic_context): Don't declare here.
11109 (c_common_initialize_diagnostics): Declare using
11110 diagnostic_context typedef.
11111 * c-opts.c (c_common_handle_option): Pass global_dc to
11112 handle_generated_option.
11113
11114 2010-10-04 Joseph Myers <joseph@codesourcery.com>
11115
11116 * c-opts.c (c_common_handle_option): Pass &global_options_set to
11117 handle_generated_option.
11118
11119 2010-10-03 Ian Lance Taylor <iant@google.com>
11120
11121 * c.opt (-fplan9-extensions): New option.
11122
11123 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11124
11125 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
11126 Remove.
11127 (c_cpp_builtins): Call functions from cppbuiltin.c instead
11128 of duplicating code.
11129
11130 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
11131
11132 * c-common.c: Add two new entries for @optional
11133 and @required keywords.
11134
11135 merge from FSF 'apple/trunk' branch.
11136 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
11137
11138 Radar 4386773
11139 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
11140 objective-c keywords.
11141 (objc_set_method_opt): New declaration.
11142 * stub-objc.c (objc_set_method_opt): New stub.
11143
11144 2010-09-30 Joseph Myers <joseph@codesourcery.com>
11145
11146 * c-common.c (handle_optimize_attribute): Pass &global_options to
11147 cl_optimization_save and cl_optimization_restore.
11148 * c-opts.c (c_common_handle_option): Pass &global_options to
11149 handle_generated_option.
11150 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
11151 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
11152 &global_options to cl_optimization_restore.
11153
11154 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
11155
11156 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
11157 Objective-C/Objective-C++ keywords.
11158
11159 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
11160
11161 Merge from 'apple/trunk' branch on FSF servers.
11162
11163 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
11164
11165 Radar 4281748
11166 * c-common.h (objc_check_global_decl): New declaration.
11167 * stub-objc.c (objc_check_global_decl): New stub.
11168
11169 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11170
11171 * c.opt: Don't use VarExists.
11172
11173 2010-09-29 Joseph Myers <joseph@codesourcery.com>
11174
11175 * c-common.c (c_cpp_error): Update names of diagnostic_context
11176 members.
11177 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
11178 cl_optimization members.
11179 * c-opts.c (warning_as_error_callback, c_common_handle_option,
11180 sanitize_cpp_opts, finish_options): Update names of cpp_options
11181 members.
11182
11183 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
11184
11185 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
11186 (objc_is_reserved_word): Removed.
11187 * c-common.c: Updated comments.
11188 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
11189 objc_is_reserved_word.
11190 * stub-objc.c (objc_is_reserved_word): Removed.
11191
11192 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
11193
11194 * c-common.h (objc_add_method_declaration): Adjust prototype to
11195 include attributes.
11196 (objc_start_method_definition): Likewise.
11197 (objc_build_keyword_decl): Likewise.
11198 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
11199 (objc_start_method_definition): Likewise.
11200 (objc_build_keyword_decl): Likewise.
11201
11202 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
11203
11204 * c-common.h (objc_start_class_interface): Adjust prototype.
11205 (objc_start_category_interface): Likewise.
11206 (objc_start_protocol): Likewise.
11207 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
11208 (objc_start_class_interface): Likewise.
11209 (objc_start_category_interface): Likewise.
11210
11211 2010-09-27 Ian Lance Taylor <iant@google.com>
11212
11213 * c-common.c (c_common_attribute_table): Add no_split_stack.
11214 (handle_no_split_stack_attribute): New static function.
11215
11216 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
11217
11218 Merge from 'apple/trunk' branch on FSF servers.
11219
11220 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
11221
11222 Radar 4229905
11223 * c-common.h (objc_have_common_type): New declaration.
11224 * stub-objc.c (objc_have_common_type): New stub.
11225
11226 2005-06-22 Ziemowit Laski <zlaski@apple.com>
11227
11228 Radar 4154928
11229 * c-common.h (objc_common_type): New prototype.
11230 * stub-objc.c (objc_common_type): New stub.
11231
11232 2010-09-24 Jan Hubicka <jh@suse.cz>
11233
11234 * c-common.c (handle_leaf_attribute): New function.
11235 (struct attribute_spec c_common_att): Add leaf.
11236
11237 2010-09-22 Joseph Myers <joseph@codesourcery.com>
11238
11239 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
11240 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
11241 -dump, -dump=, -imacros, -imacros=, -include, -include=,
11242 -include-barrier, -include-directory, -include-directory=,
11243 -include-directory-after, -include-directory-after=,
11244 -include-prefix, -include-prefix=, -include-with-prefix,
11245 -include-with-prefix=, -include-with-prefix-after,
11246 -include-with-prefix-after=, -include-with-prefix-before,
11247 -include-with-prefix-before=, -no-integrated-cpp,
11248 -no-line-commands, -no-standard-includes, -no-warnings, -output,
11249 -output=, -pedantic, -pedantic-errors, -preprocess,
11250 -print-missing-file-dependencies, -trace-includes, -traditional,
11251 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
11252 -user-dependencies, -verbose, -write-dependencies,
11253 -write-user-dependencies, no-integrated-cpp, traditional): New.
11254
11255 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
11256
11257 PR objc/23710
11258 * c-common.h (objc_start_method_definition): Return bool instead
11259 of void.
11260 * stub-objc.c (objc_start_method_definition): Return bool instead
11261 of void.
11262
11263 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
11264
11265 PR objc/25965
11266 * c-common.h (objc_get_interface_ivars): New declaration.
11267 * stub-objc.c (objc_get_interface_ivars): New stub.
11268
11269 2010-09-15 Ian Lance Taylor <iant@google.com>
11270
11271 * c-common.c (parse_optimize_options): Do not capitalize warning
11272 messages. Remove period at end of warning message.
11273
11274 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
11275
11276 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
11277 (handle_alias_attribute): ... here.
11278 (handle_ifunc_attribute): New.
11279
11280 2010-09-06 Mark Mitchell <mark@codesourcery.com>
11281
11282 * c-common.h (do_warn_double_promotion): Declare.
11283 * c-common.c (do_warn_double_promotion): Define.
11284
11285 2010-09-05 Mark Mitchell <mark@codesourcery.com>
11286
11287 * c.opt (Wdouble-promotion): New.
11288
11289 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11290
11291 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
11292 fvtable-thunks, fxref): Mark no longer supported in help text.
11293
11294 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11295
11296 * c.opt (Wimport, fall-virtual, falt-external-templates,
11297 fdefault-inline, fenum-int-equiv, fexternal-templates,
11298 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
11299 fname-mangling-version-, fnew-abi, fnonnull-objects,
11300 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
11301 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
11302 applicable.
11303 (fhandle-exceptions): Mark with Alias and Warn.
11304 * c-opts.c (c_common_handle_option): Don't handle options marked
11305 as ignored.
11306
11307 2010-09-02 Joseph Myers <joseph@codesourcery.com>
11308
11309 * c.opt (Wcomments, Werror-implicit-function-declaration,
11310 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
11311 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
11312 aliases.
11313 * c-common.c (option_codes): Use OPT_Wcomment instead of
11314 OPT_Wcomments.
11315 * c-opts.c (warning_as_error_callback, c_common_handle_option):
11316 Don't handle options marked as aliases.
11317
11318 2010-08-25 Richard Guenther <rguenther@suse.de>
11319
11320 * c-common.c (c_common_get_alias_set): Remove special
11321 handling for pointers.
11322
11323 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
11324
11325 * c-common.c: Use FOR_EACH_VEC_ELT.
11326 * c-gimplify.c: Likewise.
11327 * c-pragma.c: Likewise.
11328
11329 2010-08-16 Joseph Myers <joseph@codesourcery.com>
11330
11331 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
11332 RejectDriver.
11333 (MMDX): Change back to MMD. Mark NoDriverArg instead of
11334 RejectDriver.
11335 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
11336 instead of OPT_MDX and OPT_MMDX.
11337
11338 2010-08-16 Joseph Myers <joseph@codesourcery.com>
11339
11340 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
11341
11342 2010-08-12 Joseph Myers <joseph@codesourcery.com>
11343
11344 * c.opt (MD, MMD): Change to MDX and MMDX.
11345 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
11346
11347 2010-08-11 Joseph Myers <joseph@codesourcery.com>
11348
11349 * c-opts.c (c_common_handle_option): Call handle_generated_option
11350 instead of handle_option.
11351
11352 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
11353
11354 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
11355 (maybe_apply_renaming_pragma): Delete unneeded declarations.
11356
11357 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
11358
11359 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
11360 (pending_redefine_extname): Change type to a VEC.
11361 (add_to_renaming_pragma_list): Update for new type of
11362 pending_redefine_extname.
11363 (maybe_apply_renaming_pragma): Likewise.
11364
11365 2010-08-04 Arnaud Charlet <charlet@adacore.com>
11366
11367 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
11368 visited.
11369 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
11370 decide whether a type has already been declared/seen.
11371 Do not go to the original type.
11372 (dump_nested_types): New parameter forward.
11373 Generate forward declaration if needed and mark type as visited.
11374 (print_ada_declaration): Call dump_nested_types if not already done.
11375 Mark types as visited.
11376
11377 2010-08-03 Joseph Myers <joseph@codesourcery.com>
11378
11379 * c.opt (-print-pch-checksum): Remove option.
11380 * c-opts.c (c_common_handle_option): Don't handle
11381 OPT_print_pch_checksum.
11382
11383 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11384
11385 * c-common.h (c_common_handle_option): Update prototype and return
11386 value type.
11387 * c-opts.c (c_common_handle_option): Update prototype and return
11388 value type. Update calls to handle_option and
11389 enable_warning_as_error.
11390
11391 2010-07-27 Jakub Jelinek <jakub@redhat.com>
11392
11393 PR c/45079
11394 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
11395
11396 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11397
11398 * c-common.h (c_common_missing_argument): Remove.
11399 * c-opts.c (c_common_missing_argument): Remove.
11400 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
11401 idirafter, imacros, include, isysroot, isystem, iquote): Add
11402 MissingArgError.
11403 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
11404
11405 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11406
11407 * c-common.h (c_common_option_lang_mask,
11408 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
11409 New.
11410 (c_common_init_options): Update prototype.
11411 * c-opts.c (c_common_option_lang_mask): New.
11412 (c_common_initialize_diagnostics): Split out of
11413 c_common_init_options.
11414 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
11415 New.
11416 (c_common_init_options): Update prototype. Use decoded options in
11417 search for -lang-asm.
11418
11419 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
11420
11421 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
11422 * c-format.c: Likewise.
11423
11424 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
11425
11426 * c-common.h: Include diagnostic-core.h. Error if already
11427 included.
11428 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
11429
11430 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11431
11432 * c-common.c (IN_GCC_FRONTEND): Do not undef.
11433 Do not include expr.h
11434 (vector_mode_valid_p): Move here.
11435
11436 2010-06-21 DJ Delorie <dj@redhat.com>
11437
11438 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
11439 allow these pragmas anywhere.
11440
11441 2010-06-14 Jakub Jelinek <jakub@redhat.com>
11442
11443 PR bootstrap/44509
11444 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
11445 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
11446 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
11447 ggc_strdup instead of xstrdup.
11448
11449 2010-06-10 Jakub Jelinek <jakub@redhat.com>
11450
11451 * c-cppbuiltin.c: Include cpp-id-data.h.
11452 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
11453 (lazy_hex_fp_value): New function.
11454 (builtin_define_with_hex_fp_value): Provide definitions lazily.
11455
11456 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11457
11458 * c-gimplify.c: Do not include tree-flow.h
11459
11460 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
11461
11462 PR other/44034
11463 * c-common.c: Rename targetm member:
11464 targetm.enum_va_list -> targetm.enum_va_list_p
11465
11466 2010-06-28 Anatoly Sokolov <aesok@post.ru>
11467
11468 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
11469
11470 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
11471
11472 * c-cppbuiltin.c: Do not include except.h.
11473
11474 2010-06-24 Andi Kleen <ak@linux.intel.com>
11475
11476 * c-common.c (warn_for_omitted_condop): New.
11477 * c-common.h (warn_for_omitted_condop): Add prototype.
11478
11479 2010-06-21 Joseph Myers <joseph@codesourcery.com>
11480
11481 * c.opt (lang-objc): Remove.
11482 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
11483
11484 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
11485
11486 * c-opts.c: Include "tm_p.h".
11487
11488 2010-06-20 Joseph Myers <joseph@codesourcery.com>
11489
11490 * c-common.c (parse_optimize_options): Update call to
11491 decode_options.
11492
11493 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
11494
11495 * c-common.c (record_types_used_by_current_var_decl): Adjust for
11496 new type of types_used_by_cur_var_decl.
11497
11498 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
11499
11500 PR bootstrap/44512
11501 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
11502 for C++ standard compliance.
11503
11504 2010-06-16 Jason Merrill <jason@redhat.com>
11505
11506 * c.opt: Add -Wnoexcept.
11507
11508 2010-06-16 Richard Guenther <rguenther@suse.de>
11509
11510 PR c/44555
11511 * c-common.c (c_common_truthvalue_conversion): Remove
11512 premature and wrong optimization concering ADDR_EXPRs.
11513
11514 2010-06-15 Arnaud Charlet <charlet@adacore.com>
11515
11516 * c-ada-spec.c (dump_sloc): Remove column info.
11517 (is_simple_enum): New function.
11518 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
11519 enum types when relevant.
11520
11521 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11522
11523 * c-common.c (conversion_warning): Warn at expression
11524 location.
11525
11526 2010-06-10 Joseph Myers <joseph@codesourcery.com>
11527
11528 * c-opts.c (c_common_handle_option): Don't handle
11529 OPT_fshow_column.
11530
11531 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
11532
11533 * c-pragma.c (push_alignment): Use typed GC allocation.
11534 (handle_pragma_push_options): Likewise.
11535
11536 * c-common.c (parse_optimize_options): Likewise.
11537
11538 * c-common.h (struct sorted_fields_type): Add variable_size GTY
11539 option.
11540
11541 2010-06-07 Joseph Myers <joseph@codesourcery.com>
11542
11543 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
11544 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
11545 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
11546 flag_signed_bitfields, warn_strict_null_sentinel,
11547 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
11548 flag_gen_declaration, flag_no_gnu_keywords,
11549 flag_implement_inlines, flag_implicit_templates,
11550 flag_implicit_inline_templates, flag_optional_diags,
11551 flag_elide_constructors, flag_default_inline, flag_rtti,
11552 flag_conserve_space, flag_access_control, flag_check_new,
11553 flag_new_for_scope, flag_weak, flag_working_directory,
11554 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
11555 flag_enforce_eh_specs, flag_threadsafe_statics,
11556 flag_pretty_templates): Remove.
11557 * c-common.h (flag_preprocess_only, flag_nil_receivers,
11558 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
11559 flag_replace_objc_classes, flag_undef, flag_no_builtin,
11560 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
11561 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
11562 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
11563 flag_no_gnu_keywords, flag_implement_inlines,
11564 flag_implicit_templates, flag_implicit_inline_templates,
11565 flag_optional_diags, flag_elide_constructors, flag_default_inline,
11566 flag_rtti, flag_conserve_space, flag_access_control,
11567 flag_check_new, flag_new_for_scope, flag_weak,
11568 flag_working_directory, flag_use_cxa_atexit,
11569 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
11570 flag_threadsafe_statics, flag_pretty_templates,
11571 warn_strict_null_sentinel): Remove.
11572 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
11573 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
11574 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
11575 fimplicit-inline-templates, fimplicit-templates,
11576 flax-vector-conversions, fms-extensions, fnil-receivers,
11577 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
11578 frtti, fshort-double, fshort-enums, fshort-wchar,
11579 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
11580 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
11581 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
11582 gen-decls, undef): Use Var.
11583 (fdefault-inline, foptional-diags): Document as doing nothing.
11584 * c-opts.c (c_common_handle_option): Remove cases for options now
11585 using Var. Mark ignored options as such.
11586
11587 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
11588
11589 * c-common.c: Moved to here from parent directory.
11590 * c-common.def: Likewise.
11591 * c-common.h: Likewise.
11592 * c-cppbuiltin.c: Likewise.
11593 * c-dump.c: Likewise.
11594 * c-format.c: Likewise.
11595 * c-format.h : Likewise.
11596 * c-gimplify.c: Likewise.
11597 * c-lex.c: Likewise.
11598 * c-omp.c: Likewise.
11599 * c.opt: Likewise.
11600 * c-opts.c: Likewise.
11601 * c-pch.c: Likewise.
11602 * c-ppoutput.c: Likewise.
11603 * c-pragma.c: Likewise.
11604 * c-pragma.h: Likewise.
11605 * c-pretty-print.c: Likewise.
11606 * c-pretty-print.h: Likewise.
11607 * c-semantics.c: Likewise.
11608 * stub-objc.c: Likewise.
11609
11610 * c-common.c: Include gt-c-family-c-common.h.
11611 * c-pragma.c: Include gt-c-family-c-pragma.h.
11612 \f
11613 Copyright (C) 2010-2020 Free Software Foundation, Inc.
11614
11615 Copying and distribution of this file, with or without modification,
11616 are permitted in any medium without royalty provided the copyright
11617 notice and this notice are preserved.