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