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