1 2020-07-27 Nathan Sidwell <nathan@acm.org>
3 * c-common.c (try_to_locate_new_include_insertion_point): Use
4 strcmp, not pointer equality.
6 2020-07-25 Martin Sebor <msebor@redhat.com>
9 * c-common.c (check_nonnull_arg): Print note only when warning was
12 2020-07-22 Tobias Burnus <tobias@codesourcery.com>
14 * c-omp.c (c_finish_omp_critical): Check for no name but
15 nonzero hint provided.
17 2020-07-20 Jason Merrill <jason@redhat.com>
19 * c-cppbuiltin.c (c_cpp_builtins): Update
20 __cpp_nontype_template_args for C++20.
22 2020-07-20 Martin Sebor <msebor@redhat.com>
25 * c.opt: Remove stray text.
27 2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
30 * c-indentation.c (should_warn_for_misleading_indentation): Get
31 global tabstop from the new source.
32 * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
33 is now a common option.
36 2020-07-08 Eric Botcazou <ebotcazou@gcc.gnu.org>
38 * c.opt (Wscalar-storage-order): Add explicit variable.
40 2020-07-07 Nathan Sidwell <nathan@acm.org>
42 * c-opts.c (c_common_post_options): Add 'injecting' arg to
44 (c_finish_options): Add linemap_line_start calls for builtin and cmd
45 maps. Force token position to line_table's highest line.
46 * c-ppoutput.c (print_line_1): Refactor, print line zero.
47 (cb_define): Always increment source line.
49 2020-07-06 Martin Sebor <msebor@redhat.com>
52 * c-common.c (check_function_nonnull): Avoid checking syntesized calls
53 to stub lambda objects with null this pointer.
54 (check_nonnull_arg): Handle C++ nullptr.
56 2020-07-02 Jason Merrill <jason@redhat.com>
57 Jakub Jelinek <jakub@redhat.com>
59 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_consteval.
61 2020-06-30 Jakub Jelinek <jakub@redhat.com>
64 * c-common.c (check_function_arguments_recurse): Don't crash on
65 calls to internal functions.
67 2020-06-28 Martin Sebor <msebor@redhat.com>
70 * c-common.c (struct nonnull_arg_ctx): Add members.
71 (check_function_nonnull): Use nonnull_arg_ctx as argument. Handle
72 C++ member functions specially. Consider the this pointer implicitly
74 (check_nonnull_arg): Use location of argument when available.
75 (check_function_arguments): Use nonnull_arg_ctx as argument.
77 2020-06-27 Jakub Jelinek <jakub@redhat.com>
80 * c-common.c (pointer_int_sum): Use TYPE_OVERFLOW_UNDEFINED instead of
81 !TYPE_UNSIGNED check to see if we can apply distributive law and handle
82 smaller precision intop operands separately.
84 2020-06-26 Marek Polacek <polacek@redhat.com>
86 * c-opts.c (c_common_init_options): Default to gnu++17.
88 2020-06-17 Jonathan Wakely <jwakely@redhat.com>
91 * c-common.c (get_atomic_generic_size): Check cv-qualifiers in
94 2020-06-16 Jakub Jelinek <jakub@redhat.com>
96 * c-common.h (c_omp_check_loop_iv_exprs): Add an int argument.
97 * c-omp.c (struct c_omp_check_loop_iv_data): Add maybe_nonrect and
99 (c_omp_is_loop_iterator): New function.
100 (c_omp_check_loop_iv_r): Use it. Add support for silent scanning
101 if outer loop iterator is present. Perform duplicate checking through
102 hash_set in the function rather than expecting caller to do that.
103 Pass NULL instead of d->ppset to walk_tree_1.
104 (c_omp_check_nonrect_loop_iv): New function.
105 (c_omp_check_loop_iv): Use it. Fill in new members, allow
106 non-rectangular loop forms, diagnose multiple associated loops with
107 the same iterator. Pass NULL instead of &pset to walk_tree_1.
108 (c_omp_check_loop_iv_exprs): Likewise.
110 2020-06-10 Martin Liska <mliska@suse.cz>
112 PR tree-optimization/92860
113 * c-attribs.c (handle_optimize_attribute):
114 Save global options and compare it after parsing of function
116 * c-pragma.c (opt_stack::saved_global_options): New field.
117 (handle_pragma_push_options): Save global_options.
118 (handle_pragma_pop_options): Compare them after pop.
120 2020-06-09 Jakub Jelinek <jakub@redhat.com>
123 * c-pretty-print.c (c_pretty_printer::unary_expression): Handle the
124 case when MEM_REF's first argument has type pointer to incomplete type.
126 2020-06-05 Jason Merrill <jason@redhat.com>
128 * c-pretty-print.c (pp_c_additive_expression): Handle negative
129 operand to POINTER_PLUS_EXPR.
131 2020-06-04 Martin Sebor <msebor@redhat.com>
135 * c-attribs.c (append_access_attrs): Handle attr_access::none.
136 (handle_access_attribute): Same.
138 2020-06-03 Mark Wielaard <mark@klomp.org>
140 * known-headers.cc (get_cp_stdlib_header_for_string_macro_name):
142 * known-headers.h (get_cp_stdlib_header_for_string_macro_name):
143 New function declaration.
145 2020-06-03 Mark Wielaard <mark@klomp.org>
147 * known-headers.cc (get_string_macro_hint): New function.
148 (get_stdlib_header_for_name): Use get_string_macro_hint.
149 (get_c_stdlib_header_for_string_macro_name): New function.
150 * known-headers.h (get_c_stdlib_header_for_string_macro_name):
151 New function declaration.
153 2020-06-03 Tobias Burnus <tobias@codesourcery.com>
155 * c-common.h (c_omp_predetermined_mapping): Declare.
156 * c-omp.c (c_omp_predetermined_mapping): New.
158 2020-05-22 Mark Wielaard <mark@klomp.org>
160 * known-headers.cc (get_stdlib_header_for_name): Add a new
161 stdlib_hint array for stdbool and stdint.
163 2020-05-22 Mark Wielaard <mark@klomp.org>
165 * known-headers.cc (get_stdlib_header_for_name): Return
166 "<stdbool.h>" for "bool", "true" or "false" when STDLIB_C and
169 2020-05-20 Nathan Sidwell <nathan@acm.org>
171 * c-common.c (try_to_locate_new_include_insertion_point): Revert change.
173 * c-common.c (try_to_locate_new_include_insertion_point): Use
174 strcmp to compare filenames.
175 * c-lex.c (init_c_lex): Move declaration to initialization.
176 * c-opts.c (handle_deferred_opts): Move cpp_get_deps call into
179 2020-05-15 Jason Merrill <jason@redhat.com>
181 * c-opts.c (set_std_cxx20): Set flag_coroutines.
183 2020-05-13 Jason Merrill <jason@redhat.com>
185 * c.opt (std=c++20): Make c++2a the alias.
186 (std=gnu++20): Likewise.
187 * c-common.h (cxx_dialect): Change cxx2a to cxx20.
189 * c-cppbuiltin.c: Adjust.
193 2020-05-12 Eric Botcazou <ebotcazou@adacore.com>
195 * c-ada-spec.c (dump_ads): Output pragma Warnings ("U"); on entry.
197 2020-05-08 Nathan Sidwell <nathan@acm.org>
199 Reimplement directives only processing.
200 * c-ppoutput.c (token_streamer): Ne.
201 (directives_only_cb): New. Swallow ...
202 (print_lines_directives_only): ... this.
203 (scan_translation_unit_directives_only): Reimplment using the
206 2020-05-07 Marek Polacek <polacek@redhat.com>
208 * c-format.c (badwords): Add "nonstatic".
210 202-05-07 Jakub Jelinek <jakub@redhat.com>
213 * c-common.c (speculation_safe_value_resolve_params): Return false if
214 error_operand_p (val2).
215 (resolve_overloaded_builtin) <case BUILT_IN_SPECULATION_SAFE_VALUE_N>:
216 Remove extraneous semicolon.
218 2020-05-06 qing zhao <qing.zhao@oracle.com>
221 * c-indentation.c (get_visual_column): Add a hint to use the new
222 -flarge-source-files option.
224 2020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
226 * c-attribs.c (handle_vector_size_attribute): Add attribute
227 nonnull for argument args in order to silence warning of
228 uninitialized variable usage. Since this is local to the
229 compilation unit and thus cannot be checked at call sides by the
230 compiler, added an assert statement in order to verify this.
232 2020-05-01 H.J. Lu <hongjiu.lu@intel.com>
235 * c-attribs.c (handle_patchable_function_entry_attribute): Limit
236 value to USHRT_MAX (65535).
238 2020-04-29 Jakub Jelinek <jakub@redhat.com>
240 * c-format.c (PP_FORMAT_CHAR_TABLE): Add %{ and %}.
242 2020-04-27 Jakub Jelinek <jakub@redhat.com>
245 * c-common.c (resolve_overloaded_builtin): Return error_mark_node for
246 fncode == BUILT_IN_NONE before initialization of first_param.
248 2020-04-23 Marek Polacek <polacek@redhat.com>
251 * c-attribs.c (find_tm_attribute): Use get_attribute_name instead of
254 2020-04-14 Patrick Palka <ppalka@redhat.com>
257 * c-pretty-print.c (pp_c_pointer) <case REFERENCE_TYPE>: Print a double
258 ampersand if it's an rvalue reference type.
260 2020-04-13 Martin Sebor <msebor@redhat.com>
263 * c-pretty-print.c (c_pretty_printer::direct_abstract_declarator): Avoid
264 printing array bound for flexible array members.
266 2020-04-13 Iain Sandoe <iain@sandoe.co.uk>
268 * c-cppbuiltin.c (c_cpp_builtins): Update coroutines builtin
271 2020-04-02 Richard Biener <rguenther@suse.de>
274 * c-opts.c (c_common_post_options): Enable -ffinite-loops
275 for -O2 and C++11 or newer.
277 2020-03-28 Patrick Palka <ppalka@redhat.com>
279 * c.opt: Add -fconcepts-diagnostics-depth.
281 2020-03-27 Martin Sebor <msebor@redhat.com>
284 * c-attribs.c (handle_copy_attribute): Avoid passing expressions
285 to decl_attributes. Make handling of different kinds of entities
288 2020-03-27 Martin Sebor <msebor@redhat.com>
291 * c-attribs.c (handle_access_attribute): Avoid setting TYPE_ATTRIBUTES
294 2020-03-23 Jakub Jelinek <jakub@redhat.com>
297 * c-warn.c (warnings_for_convert_and_check): For expr and/or
298 result being COMPOUND_EXPRs, skip to ultimate rhs.
300 2020-03-20 Richard Sandiford <richard.sandiford@arm.com>
303 * c-common.c (c_common_type_for_mode): Before using a registered
304 built-in type, check that the vectorness of the type matches
305 the vectorness of the mode.
307 2020-03-17 Jakub Jelinek <jakub@redhat.com>
309 * c-common.c (resolve_overloaded_builtin): Fix up duplicated word
310 issue in a diagnostic message.
312 2020-03-15 Lewis Hyatt <lhyatt@gmail.com>
314 * c.opt: Avoid redundancy in the help text.
316 2020-03-02 Marek Polacek <polacek@redhat.com>
318 PR c++/93958 - add missing -std=gnu++20.
319 * c.opt: Add -std=gnu++20.
321 2020-03-01 Martin Sebor <msebor@redhat.com>
324 * c-attribs.c (append_access_attrs): Correctly handle attribute.
325 (handle_access_attribute): Same.
327 2020-02-25 Jakub Jelinek <jakub@redhat.com>
330 * c-pragma.c (handle_pragma_diagnostic): Add missing ? after
331 "did you mean" hint in diagnostics.
333 2020-02-15 Jason Merrill <jason@redhat.com>
335 * c.opt: Add -std=c++20.
337 2020-02-14 Eric Botcazou <ebotcazou@adacore.com>
339 * c-ada-spec.c: Include bitmap.h.
340 (dump_ada_double_name): Rename into...
341 (dump_anonymous_type_name): ...this. Always use the TYPE_UID.
342 (dump_ada_array_type): Adjust to above renaming. Robustify.
343 (dump_nested_types_1): New function copied from... Add dumped_types
344 parameter and pass it down to dump_nested_type.
345 (dump_nested_types): ...this. Remove parent parameter. Just call
346 dump_nested_types_1 on an automatic bitmap.
347 (dump_nested_type): Add dumped_types parameter.
348 <ARRAY_TYPE>: Do not dump it if already present in dumped_types.
349 Adjust recursive calls and adjust to above renaming.
350 (dump_ada_declaration): Adjust call to dump_nested_types.
351 Tidy up and adjust to above renaming.
352 (dump_ada_specs): Initialize and release bitmap obstack.
354 2020-02-10 Martin Sebor <msebor@redhat.com>
357 * c-attribs.c (handle_access_attribute): Correct off-by-one mistakes.
359 2020-02-10 Jakub Jelinek <jakub@redhat.com>
362 * c-format.c (check_plain): Fix up last argument of strncasecmp.
363 Remove useless extra test.
365 2020-02-03 Julian Brown <julian@codesourcery.com>
366 Tobias Burnus <tobias@codesourcery.com>
368 * c-cppbuiltin.c (c_cpp_builtins): Update _OPENACC define to 201711.
370 2020-01-29 Jason Merrill <jason@redhat.com>
373 * c-attribs.c (check_cxx_fundamental_alignment_constraints): Remove.
375 2020-01-23 Jason Merrill <jason@redhat.com>
377 * c-warn.c (conversion_warning): Change -Wsign-conversion handling.
379 2020-01-23 Martin Sebor <msebor@redhat.com>
382 * c-common.c (check_function_arguments): Avoid overlap checking
383 of sprintf functions.
385 2020-01-22 Jason Merrill <jason@redhat.com>
387 PR testsuite/93391 - PR 40752 test fails with unsigned plain char.
389 * c-warn.c (conversion_warning): Check operands only after checking
390 the whole expression. Don't check second operand of + for sign.
392 2020-01-21 Jason Merrill <jason@redhat.com>
393 Manuel López-Ibáñez <manu@gcc.gnu.org>
395 PR c++/40752 - useless -Wconversion with short +=.
396 * c.opt (-Warith-conversion): New.
397 * c-warn.c (conversion_warning): Recurse for operands of
398 operators. Only warn about the whole expression with
401 2020-01-21 Jason Merrill <jason@redhat.com>
403 * c-common.c (unsafe_conversion_p): Don't warn, return UNSAFE_SIGN.
404 * c-warn.c (conversion_warning): Warn about UNSAFE_SIGN.
406 2020-01-20 Nathan Sidwell <nathan@acm.org>
408 PR preprocessor/80005
409 * c-cppbuiltins.c (c_cpp_builtins): Don't define __has_include{,_next}.
411 2020-01-18 Iain Sandoe <iain@sandoe.co.uk>
413 * c-common.c (co_await, co_yield, co_return): New.
414 * c-common.h (RID_CO_AWAIT, RID_CO_YIELD,
415 RID_CO_RETURN): New enumeration values.
416 (D_CXX_COROUTINES): Bit to identify coroutines are active.
417 (D_CXX_COROUTINES_FLAGS): Guard for coroutine keywords.
418 * c-cppbuiltin.c (__cpp_coroutines): New cpp define.
419 * c.opt (fcoroutines): New command-line switch.
421 2020-01-10 David Malcolm <dmalcolm@redhat.com>
423 * c-format.c (local_event_ptr_node): New.
424 (PP_FORMAT_CHAR_TABLE): Add entry for "%@".
425 (init_dynamic_diag_info): Initialize local_event_ptr_node.
426 * c-format.h (T_EVENT_PTR): New define.
428 2020-01-10 Martin Sebor <msebor@redhat.com>
431 * c-attribs.c (append_access_attrs): Validate against the translated
432 access string rather than the human-readable representation.
434 2020-01-01 Jakub Jelinek <jakub@redhat.com>
436 Update copyright years.
438 2019-12-20 Eric Botcazou <ebotcazou@adacore.com>
440 * c-ada-spec.h (decl_sloc): Delete.
441 * c-ada-spec.c (decl_sloc): Make static.
443 2019-12-19 Julian Brown <julian@codesourcery.com>
445 * c-common.h (c_omp_map_clause_name): Add prototype.
446 * c-omp.c (c_omp_map_clause_name): New function.
447 * c-pragma.h (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ATTACH and
448 PRAGMA_OACC_CLAUSE_DETACH.
450 2019-12-19 Julian Brown <julian@codesourcery.com>
451 Maciej W. Rozycki <macro@codesourcery.com>
452 Tobias Burnus <tobias@codesourcery.com>
453 Thomas Schwinge <thomas@codesourcery.com>
455 * c-pragma.h (pragma_omp_clause): Add
456 PRAGMA_OACC_CLAUSE_NO_CREATE.
458 2019-12-17 Martin Sebor <msebor@redhat.com>
461 * c.opt (-Wmismatched-tags, -Wredundant-tags): New options.
463 2019-12-11 David Malcolm <dmalcolm@redhat.com>
465 * c-pretty-print.c (c_pretty_printer::clone): New vfunc
467 * c-pretty-print.h (c_pretty_printer::clone): New vfunc decl.
469 2019-12-09 David Malcolm <dmalcolm@redhat.com>
471 * c-format.c (range_label_for_format_type_mismatch::get_text):
472 Replace label_text ctor called with true with label_text::take.
474 2019-12-09 David Malcolm <dmalcolm@redhat.com>
476 * c-format.c (selftest::test_type_mismatch_range_labels): Remove
477 initial newline from expected outputs.
478 * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
479 call to diagnostic_show_locus.
481 2019-12-06 Jakub Jelinek <jakub@redhat.com>
483 * c-cppbuiltin.c (c_cpp_builtins): Don't define __cpp_consteval for
486 2019-12-05 Marek Polacek <polacek@redhat.com>
487 Jakub Jelinek <jakub@redhat.com>
489 PR c++/91353 - P1331R2: Allow trivial default init in constexpr contexts.
490 * c-cppbuiltin.c (c_cpp_builtins): Adjust the value of __cpp_constexpr.
492 2019-12-05 Marek Polacek <polacek@redhat.com>
494 PR c++/92271 - make __is_same alias for __is_same_as.
495 * c-common.c: Add __is_same, an alias for __is_same_as.
497 2019-12-03 Marek Polacek <polacek@redhat.com>
499 PR c++/91363 - P0960R3: Parenthesized initialization of aggregates.
500 * c-cppbuiltin.c (c_cpp_builtins): Predefine
501 __cpp_aggregate_paren_init=201902 for -std=c++2a.
503 2019-11-30 Jan Hubicka <hubicka@ucw.cz>
505 * c-attribs.c (handle_symver_attribute): New function
506 (c_common_attributes): Add symver.
508 2019-11-30 Richard Sandiford <richard.sandiford@arm.com>
510 * c-common.c (pointer_int_sum): Use verify_type_context to check
511 whether the target allows pointer arithmetic for the types involved.
512 (c_sizeof_or_alignof_type, c_alignof_expr): Use verify_type_context
513 to check whether the target allows sizeof and alignof operations
514 for the types involved.
516 2019-11-27 Jason Merrill <jason@redhat.com>
518 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
520 2019-11-26 Jakub Jelinek <jakub@redhat.com>
523 * c-attribs.c (handle_mode_attribute): Add mode attribute to
526 2019-11-25 Joseph Myers <joseph@codesourcery.com>
529 * c-common.c (c_common_type_for_mode): Handle decimal
530 floating-point types being NULL_TREE.
531 * c-format.c (get_format_for_type_1): Handle specified types being
533 * c-lex.c (interpret_float): Give an error for decimal
534 floating-point constants when decimal floating-point not
537 2019-11-23 Jakub Jelinek <jakub@redhat.com>
540 * c-attribs.c (append_access_attrs): Avoid buffer overflow. Avoid
541 memory leak. Use XNEWVEC macro. Use auto_diagnostic_group to
542 group warning with inform together.
543 (handle_access_attribute): Formatting fix.
545 2019-11-22 Jakub Jelinek <jakub@redhat.com>
548 * c-common.h (identifier_global_tag): Declare.
549 * c-format.c (get_pointer_to_named_type): Renamed to ...
550 (get_named_type): ... this. Use identifier_global_tag instead of
551 identifier_global_value, handle the return value being a TYPE_P.
552 (init_dynamic_diag_info): Adjust get_pointer_to_named_type callers
553 to call get_named_type instead. Formatting fixes.
555 Implement P1902R1, Missing feature-test macros 2017-2019.
556 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_init_captures
557 and __cpp_generic_lambdas for -std=c++2a. Define
558 __cpp_designated_initializers, __cpp_constexpr_in_decltype and
559 __cpp_consteval for -std=c++2a. Remove a FIXME comment about
560 __cpp_concepts for -std=c++2a.
562 2019-11-22 Martin Sebor <msebor@redhat.com>
565 * c-attribs.c (handle_access_attribute): New function.
566 (c_common_attribute_table): Add new attribute.
567 (get_argument_type): New function.
568 (append_access_attrs): New function.
569 (get_nonnull_operand): Rename...
570 (get_attribute_operand): ...to this.
571 * c-common.c (get_nonnull_operand): Rename...
572 (get_attribute_operand): ...to this.
574 2019-11-21 Joseph Myers <joseph@codesourcery.com>
576 * c-attribs.c (handle_fallthrough_attribute): Use pedwarn instead
579 2019-11-19 Joseph Myers <joseph@codesourcery.com>
581 * c-common.c (attribute_fallthrough_p): In C, use pedwarn not
582 warning for standard attributes mixed with fallthrough attributes.
584 2019-11-15 Joseph Myers <joseph@codesourcery.com>
586 * c-attribs.c (handle_fallthrough_attribute): Remove static.
587 * c-common.h (handle_fallthrough_attribute): Declare.
589 2019-11-15 Joseph Myers <joseph@codesourcery.com>
591 * c-attribs.c (handle_deprecated_attribute): Remove static.
592 * c-common.h (handle_deprecated_attribute): Declare.
594 2019-11-14 Joseph Myers <joseph@codesourcery.com>
596 * c-lex.c (lex_charconst): Make CPP_UTF8CHAR constants unsigned
599 2019-11-14 Jakub Jelinek <jakub@redhat.com>
601 * c-omp.c (c_omp_check_context_selector): Add nvidia to the list of
604 * c-omp.c (c_omp_check_context_selector): Handle name lists
605 containing string literals. Don't diagnose atomic_default_mem_order
608 2019-11-13 Joseph Myers <joseph@codesourcery.com>
610 * c-cppbuiltin.c (builtin_define_float_constants): Also define
611 NORM_MAX constants. Update call to get_max_float.
612 (LAZY_HEX_FP_VALUES_CNT): Update value to include NORM_MAX
615 2019-11-13 Eric Botcazou <ebotcazou@adacore.com>
617 * c-ada-spec.c (get_underlying_decl): Do not look through typedefs.
618 (dump_forward_type): Do not generate a declaration for function types.
619 (dump_nested_type) <ARRAY_TYPE>: Do not generate a nested declaration
620 of the component type if it is declared in another file.
622 2019-11-12 Martin Liska <mliska@suse.cz>
624 * c-opts.c (c_common_post_options):
625 Use SET_OPTION_IF_UNSET.
627 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
628 Frederik Harwath <frederik@codesourcery.com>
631 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_SERIAL enumeration
633 * c-pragma.c (oacc_pragmas): Add "serial" entry.
635 2019-11-08 Richard Sandiford <richard.sandiford@arm.com>
637 * c-common.h (gnu_vector_type_p): New function.
638 * c-common.c (c_build_vec_perm_expr): Require __builtin_shuffle
639 vectors to satisfy gnu_vector_type_p.
640 (c_build_vec_convert): Likewise __builtin_convertvector.
641 (convert_vector_to_array_for_subscript): Likewise when applying
642 implicit vector to array conversion.
643 (scalar_to_vector): Likewise when converting vector-scalar
644 operations to vector-vector operations.
646 2019-11-08 Joseph Myers <joseph@codesourcery.com>
648 * c.opt (Wold-style-definition): Initialize to -1.
649 * c-opts.c (c_common_post_options): Set warn_old_style_definition
650 to flag_isoc2x if not set explicitly.
652 2019-11-07 Joseph Myers <joseph@codesourcery.com>
654 * c-attribs.c (parse_tm_stmt_attr): Handle scoped attributes.
656 2019-11-05 Jason Merrill <jason@redhat.com>
658 * c-opts.c (c_common_post_options): -fconcepts-ts implies
661 2019-11-04 Kamlesh Kumar <kamleshbhalui@gmail.com>
663 * c-opts.c (c_common_post_options): Update
666 2019-11-02 Jakub Jelinek <jakub@redhat.com>
668 * c-common.h (c_omp_get_context_selector): Remove.
669 * c-omp.c (c_omp_get_context_selector): Moved to omp-general.c
670 and renamed to omp_get_context_selector.
672 * c-omp.c (c_omp_mark_declare_variant): Use
673 omp_context_selector_set_compare.
675 PR c++/88335 - Implement P1073R3: Immediate functions
676 * c-common.h (enum rid): Add RID_CONSTEVAL.
677 * c-common.c (c_common_reswords): Add consteval.
679 2019-11-01 Martin Sebor <msebor@redhat.com>
685 * c-pretty-print.c (direct_abstract_declarator): Print
686 bound in zero-length arrays.
687 * c.opt (-Wzero-length-bounds): New option.
689 2019-10-30 Nathan Sidwell <nathan@acm.org>
691 * c-cppbuiltin.c (c_cpp_builtins): Add 'L' suffix to feature
694 2019-10-28 Martin Sebor <msebor@redhat.com>
697 * c-common.c (c_common_nodes_and_builtins): Call c_define_builtins
698 even when only preprocessing.
699 * c-common.h (names_builtin_p): Declare new function.
700 * c-lex.c (init_c_lex): Set has_builtin.
701 (c_common_has_builtin): Define a new function.
702 * c-ppoutput.c (init_pp_output): Set has_builtin.
704 2019-10-24 Jakub Jelinek <jakub@redhat.com>
706 * c-common.h (c_omp_context_selector_matches): Remove.
707 * c-omp.c (c_omp_context_selector_matches): Remove.
708 * c-attribs.c (c_common_attribute_table): Add
709 "omp declare target {host,nohost,block}" attributes.
711 2019-10-17 JeanHeyd Meneide <phdofthehouse@gmail.com>
713 * c-lex.c (c_common_has_attribute): Update nodiscard value.
715 2019-10-14 Richard Sandiford <richard.sandiford@arm.com>
717 * c-common.h (user_facing_original_type_p): Declare.
718 * c-common.c: Include c-spellcheck.h.
719 (user_facing_original_type_p): New function.
721 2019-10-12 Jakub Jelinek <jakub@redhat.com>
723 * c-common.h (c_omp_mark_declare_variant,
724 c_omp_context_selector_matches): Declare.
725 * c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
727 (c_omp_get_context_selector): Support second argument NULL.
728 (c_omp_mark_declare_variant, c_omp_context_selector_matches): New
730 * c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
731 attribute, add "omp declare variant base" and
732 "omp declare variant variant" attributes.
734 2019-10-11 Joseph Myers <joseph@codesourcery.com>
736 * c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
737 CppReason(CPP_W_C11_C2X_COMPAT).
739 2019-10-11 Joseph Myers <joseph@codesourcery.com>
741 * c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
742 _Decimal64 and _Decimal128.
744 2019-10-10 Joseph Myers <joseph@codesourcery.com>
746 * c-cppbuiltin.c (c_cpp_builtins): Do not define macros for DFP
747 types if DFP not supported.
749 2019-10-10 Jakub Jelinek <jakub@redhat.com>
751 * c-common.h (c_omp_check_context_selector,
752 c_omp_get_context_selector): Declare.
753 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): Fix spelling
754 in diagnostic message.
755 (c_omp_check_context_selector, c_omp_get_context_selector): New
757 * c-attribs.c (c_common_attribute_table): Add "omp declare variant"
759 (handle_omp_declare_variant_attribute): New function.
761 2019-10-09 Martin Sebor <msebor@redhat.com>
763 PR tree-optimization/90879
764 * c.opt (-Wstring-compare): New option.
766 2019-10-08 Andrew Sutton <asutton@lock3software.com>
767 Jason Merrill <jason@redhat.com>
769 Update the concepts implementation to conform to the C++20
770 specification, improve compile times, and generally clean up
773 * c-cppbuiltin.c (c_cpp_builtins): Use new feature test values for
774 concepts when -std=c++2a. Bump __cpp_concepts to 201907.
775 * c.opt: Add -Wconcepts-ts.
776 * c-opts.c (c_common_post_options): Warn when -fconcepts is used
777 with -std=c++2a. Disable warning for -fconcepts in C++20 mode.
778 (set_std_cxx2a): Enable concepts by default.
780 2019-10-08 Joseph Myers <joseph@codesourcery.com>
782 * c-opts.c (c_common_post_options): Set
783 -fno-fp-int-builtin-inexact for C2X.
785 2019-10-05 Jakub Jelinek <jakub@redhat.com>
787 PR c++/91369 - Implement P0784R7: constexpr new
788 * c-cppbuiltin.c (c_cpp_builtins): Predefine
789 __cpp_constexpr_dynamic_alloc=201907 for -std=c++2a.
791 2019-10-04 Joseph Myers <joseph@codesourcery.com>
794 * c-format.c (C_STD_VER): Handle C2x.
795 (C_STD_NAME): Likewise.
796 (strftime_flag_specs): Add 'O' modifier with 'p' flag.
797 (time_char_table): Use separate entry for 'B' and 'b', with 'O'
798 modifier allowed and 'p' flag.
799 * c-format.h (enum format_std_version): Add STD_C2X.
800 (struct format_char_info): Mention 'p' in comment on flags2.
802 2019-10-01 David Malcolm <dmalcolm@redhat.com>
804 * c-opts.c (c_diagnostic_finalizer): Temporarily clear prefix when
805 calling diagnostic_show_locus, rather than destroying it afterwards.
807 2019-10-01 Jakub Jelinek <jakub@redhat.com>
810 * c-warn.c (check_alignment_of_packed_member): Ignore FIELD_DECLs
811 with NULL DECL_FIELD_OFFSET.
813 2019-10-01 Richard Sandiford <richard.sandiford@arm.com>
815 * c-pretty-print.c (pp_c_specifier_qualifier_list): If a vector type
816 has a type name, use it in preference to the __vector syntax.
818 2019-09-30 Richard Sandiford <richard.sandiford@arm.com>
820 * c-pretty-print.c (pp_c_parameter_type_list): Avoid printing
821 two spaces between a comma and "...".
823 2019-09-27 Jakub Jelinek <jakub@redhat.com>
826 * c-common.h (c_omp_predefined_variable): Declare.
827 * c-omp.c (c_omp_predefined_variable): New function.
828 (c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
829 for predefined variables.
831 2019-09-27 Richard Sandiford <richard.sandiford@arm.com>
833 * c-common.h (build_function_call_vec): Take the original
834 function decl as an optional final parameter.
835 (check_builtin_function_arguments): Take the original function decl.
836 * c-common.c (check_builtin_function_arguments): Likewise.
837 Handle all built-in functions, not just BUILT_IN_NORMAL ones.
838 Use targetm.check_builtin_call to check BUILT_IN_MD functions.
840 2019-09-15 Jason Merrill <jason@redhat.com>
842 * c-warn.c (warn_logical_operator): Strip location wrappers. Don't
843 fold_for_warn in "|| mask" warning.
845 2019-09-10 Martin Liska <mliska@suse.cz>
847 * c.opt: Use newly added WarnRemoved.
849 2019-09-09 Martin Liska <mliska@suse.cz>
851 * c.opt: Update comment of removed
852 options that are preserved only for backward
855 2019-09-06 Martin Liska <mliska@suse.cz>
858 * c-common.c: Remove definition of flag_use_repository.
859 * c-common.h: Likewise.
860 * c-opts.c (c_common_handle_option):
861 Do not handle OPT_frepo option.
862 * c.opt: Mark the option with Deprecated.
864 2019-09-04 Marek Polacek <polacek@redhat.com>
866 * c.opt (fdeduce-init-list): Ignored.
868 2019-09-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
871 * c.opt (Wenum-conversion): New option.
873 2019-09-03 Jozef Lawrynowicz <jozef.l@mittosystems.com>
875 * c-attribs.c (handle_section_attribute): Call the
876 handle_generic_attribute target hook after performing target
877 independent processing.
878 (handle_noinit_attribute): Likewise.
880 2019-09-03 Ian Lance Taylor <iant@golang.org>
882 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Always expand
883 when using -fgo-dump-spec.
885 2019-09-02 Martin Liska <mliska@suse.cz>
888 * c-common.c (fname_as_string): Use cxx_printable_name for
889 __PRETTY_FUNCTION__ same as was used before r265711.
891 2019-08-28 Marek Polacek <polacek@redhat.com>
893 Implement P1152R4: Deprecating some uses of volatile.
895 * c-opts.c (c_common_post_options): Enable -Wvolatile by
896 default for C++2a, unless -Wno-deprecated.
897 * c.opt (Wvolatile): New warning.
899 2019-08-28 Marek Polacek <polacek@redhat.com>
901 PR c++/91360 - Implement C++20 P1143R2: constinit.
902 * c-common.c (c_common_reswords): Add constinit and __constinit.
903 (keyword_is_decl_specifier): Handle RID_CONSTINIT.
904 * c-common.h (enum rid): Add RID_CONSTINIT, RID_FIRST_CXX20, and
907 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_constinit.
908 * c-format.c (cxx_keywords): Add "constinit".
909 * c.opt (Wc++2a-compat, Wc++20-compat): New options.
911 2019-08-27 Jakub Jelinek <jakub@redhat.com>
914 * c-common.c (verify_tree): For LSHIFT_EXPR, RSHIFT_EXPR,
915 COMPONENT_REF and ARRAY_REF in cxx_dialect >= cxx17 mode handle it
916 like COMPOUND_EXPR rather than normal expression.
918 2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
921 * c-lex.c (c_lex_with_flags): Don't call
922 c_common_no_more_pch () from here.
924 2019-08-23 Jakub Jelinek <jakub@redhat.com>
927 * c-common.c (c_ts18661_flt_eval_method): Use flag_excess_precision
928 instead of flag_excess_precision_cmdline.
929 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): Likewise.
930 * c-opts.c (c_common_post_options): Likewise.
932 2019-08-22 Martin Sebor <msebor@redhat.com>
935 * c-common.c (braced_list_to_string): Add argument and overload.
936 Handle flexible length arrays and unions.
938 2019-08-21 Eric Botcazou <ebotcazou@adacore.com>
940 * c-ada-spec.c (dump_ada_function_declaration): Be prepared for broken
941 function declarations where arguments are missing. Rename variables.
943 2019-08-15 Richard Biener <rguenther@suse.de>
945 * c-common.c (c_stddef_cpp_builtins): When the GIMPLE FE is
946 enabled, define __SIZETYPE__.
948 2019-08-14 Christophe Lyon <christophe.lyon@linaro.org>
950 * c-attribs.c (c_common_attribute_table): Add "noinit" entry. Add
951 exclusion with "section" attribute.
952 (attr_noinit_exclusions): New table.
953 (handle_noinit_attribute): New function.
955 2019-08-13 Richard Sandiford <richard.sandiford@arm.com>
958 * c-common.c (resolve_overloaded_builtin): Use
959 copy_decl_built_in_function.
961 2019-08-13 Martin Sebor <msebor@redhat.com>
964 * c-format.c (printf_length_specs): Set FMT_LEN_w for "w".
965 (asm_fprintf_length_spec): Same.
966 * c-format.h (format_lengths): Add FMT_LEN_w.
968 2019-08-10 Jakub Jelinek <jakub@redhat.com>
970 * c-pragma.h (enum pragma_omp_clause): Add
971 PRAGMA_OMP_CLAUSE_DEVICE_TYPE.
973 2019-08-07 Jakub Jelinek <jakub@redhat.com>
975 * c-pragma.h (enum pragma_omp_clause): Add
976 PRAGMA_OMP_CLAUSE_USE_DEVICE_ADDR. Set PRAGMA_OACC_CLAUSE_USE_DEVICE
977 equal to PRAGMA_OMP_CLAUSE_USE_DEVICE_PTR instead of being a separate
980 2019-08-05 Marek Polacek <polacek@redhat.com>
982 PR c++/91338 - Implement P1161R3: Deprecate a[b,c].
983 * c-opts.c (c_common_post_options): Enable -Wcomma-subscript by
984 default for C++2a, unless -Wno-deprecated.
985 * c.opt (Wcomma-subscript): New warning.
987 2019-07-20 Jakub Jelinek <jakub@redhat.com>
989 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_LOOP.
990 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_BIND.
991 * c-pragma.c (omp_pragmas_simd): Add PRAGMA_OMP_LOOP entry.
992 * c-common.h (enum c_omp_clause_split): Add C_OMP_CLAUSE_SPLIT_LOOP.
993 * c-omp.c (c_omp_split_clauses): Add support for 4 new combined
994 constructs with the loop construct.
996 2019-07-13 Jakub Jelinek <jakub@redhat.com>
999 * c-omp.c (c_omp_split_clauses): Fix a pasto in
1000 OMP_CLAUSE_REDUCTION_TASK handling.
1002 2019-07-12 Jakub Jelinek <jakub@redhat.com>
1004 * c-pragma.h (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ORDER.
1005 * c-omp.c (c_omp_split_clauses): Handle splitting of OMP_CLAUSE_ORDER.
1007 2019-07-09 Martin Sebor <msebor@redhat.com>
1010 * c-opts.c (handle_deferred_opts): Change class-key of PODs to struct
1011 and others to class.
1012 * c-pretty-print.h: Same.
1014 2019-07-09 Martin Sebor <msebor@redhat.com>
1017 * c-format.c (check_argument_type): Change class-key from class to
1018 struct and vice versa to match convention and avoid -Wclass-is-pod
1019 and -Wstruct-no-pod.
1020 * c-pretty-print.h: Same.
1022 2019-07-03 Martin Liska <mliska@suse.cz>
1024 * c-common.c (try_to_locate_new_include_insertion_point): Remove
1027 2019-07-03 Jakub Jelinek <jakub@redhat.com>
1029 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_REDUCTION_INSCAN
1030 clauses on OMP_FOR rather than OMP_PARALLEL when OMP_FOR is combined
1033 2019-07-02 qing zhao <qing.zhao@oracle.com>
1035 PR preprocessor/90581
1036 * c-opts.c (c_common_handle_option): Handle -fmax-include-depth.
1037 * c.opt: Add new option -fmax-include-depth.
1039 2019-06-26 Jason Merrill <jason@redhat.com>
1041 PR c++/55442 - memory-hog with highly recursive constexpr.
1042 * c.opt (fconstexpr-loop-limit): New.
1044 2019-06-25 Jakub Jelinek <jakub@redhat.com>
1047 * c-omp.c (c_finish_omp_atomic): Allow tree_invariant_p in addition
1048 to SAVE_EXPR in first operand of a COMPOUND_EXPR.
1050 2019-06-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
1052 * c-common.c (c_common_nodes_and_builtins): Define
1053 alternate "__intN__" name for "__intN" types.
1055 2019-06-24 Jan Hubicka <jh@suse.cz>
1057 * c-common.c (braced_lists_to_strings): Check that
1058 type is array or integer prior checking string flag.
1060 2019-06-21 Matthew Beliveau <mbelivea@redhat.com>
1062 PR c++/90875 - added -Wswitch-outside-range option
1063 * c.opt (Wswitch-outside-range): Added new option.
1064 * c-warn.c (c_do_switch_warnings): Use OPT_Wswitch-outside-range.
1066 2019-06-21 Marek Polacek <polacek@redhat.com>
1068 PR c++/90953 - ICE with -Wmissing-format-attribute.
1069 * c-common.c (check_function_arguments_recurse): Use
1071 (check_missing_format_attribute): Likewise.
1073 2019-06-19 Marek Polacek <polacek@redhat.com>
1075 PR c++/60364 - noreturn after first decl not diagnosed.
1076 * c-attribs.c (handle_noreturn_attribute): No longer static.
1077 * c-common.h (handle_noreturn_attribute, attr_noreturn_exclusions):
1079 * c-format.c (check_function_format): Use get_attribute_name.
1081 2019-06-19 Martin Sebor <msebor@redhat.com>
1083 PR translation/90156
1084 * c-format.c (function_format_info::format_type): Adjust type.
1085 (function_format_info::is_raw): New member.
1086 (decode_format_type): Adjust signature. Handle "raw" diag attributes.
1087 (decode_format_attr): Adjust call to decode_format_type.
1088 Avoid a redundant call to convert_format_name_to_system_name.
1089 Avoid abbreviating the word "arguments" in a diagnostic.
1090 (format_warning_substr): New function.
1091 (avoid_dollar_number): Quote dollar sign in a diagnostic.
1092 (finish_dollar_format_checking): Same.
1093 (check_format_info): Same.
1094 (struct baltoks_t): New.
1095 (c_opers, c_keywords, cxx_keywords, badwords, contrs): New arrays.
1096 (maybe_diag_unbalanced_tokens, check_tokens, check_plain): New
1098 (check_format_info_main): Call check_plain. Use baltoks_t. Call
1099 maybe_diag_unbalanced_tokens.
1100 (handle_format_attribute): Spell out the word "arguments" in
1103 2019-06-11 Matthew Beliveau <mbelivea@redhat.com>
1105 PR c++/90449 - add -Winaccessible-base option.
1106 * c.opt (Winaccessible-base): New option.
1108 2019-06-10 Jakub Jelinek <jakub@redhat.com>
1110 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_SCAN.
1111 * c-pragma.c (omp_pragmas_simd): Add #pragma omp scan.
1112 * c-omp.c (c_omp_split_clauses): Diagnose inscan reductions on
1113 combined/composite constructs where it is not allowed. Copy over
1114 OMP_CLAUSE_REDUCTION_INSCAN.
1116 2019-06-05 Martin Sebor <msebor@redhat.com>
1118 * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation.
1119 (handle_alias_ifunc_attribute): Same.
1120 (handle_copy_attribute): Same.
1121 (handle_weakref_attribute): Same.
1122 (handle_nonnull_attribute): Same.
1123 * c-warn.c (warn_for_sign_compare): Same.
1124 (warn_for_restrict): Same.
1127 2019-06-05 Martin Sebor <msebor@redhat.com>
1129 * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic.
1130 * c.opt (-Wformat-diag): Remove a spurious period.
1132 2019-05-29 Jakub Jelinek <jakub@redhat.com>
1135 * c-common.c (check_builtin_function_arguments)
1136 <case BUILTIN_*_OVERFLOW>: Diagnose pointer to const qualified integer
1139 2019-05-23 Eric Botcazou <ebotcazou@adacore.com>
1141 * c-ada-spec.c (compare_node): Compare the DECL_UIDs as a last resort.
1143 2019-05-22 Martin Liska <mliska@suse.cz>
1146 * c-attribs.c (handle_copy_attribute): Do not copy
1147 target_clones attribute.
1149 2019-05-21 Eric Botcazou <ebotcazou@adacore.com>
1151 * c-ada-spec.h (enum cpp_operation): Add IS_ASSIGNMENT_OPERATOR.
1152 * c-ada-spec.c (print_assignment_operator): New function.
1153 (dump_ada_declaration) <FUNCTION_DECL>: Call it do dump explicit copy
1154 assignment operators declared as methods and filter out the others.
1156 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1159 * c-attribs.c (c_common_attribute_table): Set min_len to -1 for
1160 "omp declare target".
1162 2019-05-16 Martin Sebor <msebor@redhat.com>
1164 * c-attribs.c (handle_no_sanitize_attribute): Quote identifiers,
1165 keywords, operators, and types in diagnostics.
1166 (handle_scalar_storage_order_attribute): Same.
1167 (handle_mode_attribute): Same.
1168 (handle_visibility_attribute): Same.
1169 (handle_assume_aligned_attribute): Same.
1170 (handle_no_split_stack_attribute): Same.
1171 * c-common.c (shorten_compare): Same.
1172 (c_common_truthvalue_conversion): Same.
1173 (cb_get_source_date_epoch): Same.
1174 * c-lex.c (cb_def_pragma): Quote keywords, operators, and types
1176 (interpret_float): Same.
1177 * c-omp.c (c_finish_omp_for): Same.
1178 * c-opts.c (c_common_post_options): Same.
1179 * c-pch.c (c_common_pch_pragma): Same.
1180 * c-pragma.c (pop_alignment): Same.
1181 (handle_pragma_pack): Same.
1182 (apply_pragma_weak): Same.
1183 (handle_pragma_weak): Same.
1184 (handle_pragma_scalar_storage_order): Same.
1185 (handle_pragma_redefine_extname): Same.
1186 (add_to_renaming_pragma_list): Same.
1187 (maybe_apply_renaming_pragma): Same.
1188 (push_visibility): Same.
1189 (handle_pragma_visibility): Same.
1190 (handle_pragma_optimize): Same.
1191 (handle_pragma_message): Same.
1192 * c-warn.c (warn_for_omitted_condop): Same.
1193 (lvalue_error): Same.
1195 2019-05-15 Richard Biener <rguenther@suse.de>
1198 * c-common.c (c_common_mark_addressable_vec): Also mark
1199 a COMPOUND_LITERAL_EXPR_DECL addressable similar to
1202 2019-05-06 Nathan Sidwell <nathan@acm.org>
1204 * c-opts.c (handle_defered_opts): Rename struct deps to struc mkdeps.
1206 2019-04-30 Nathan Sidwell <nathan@acm.org>
1208 * c-common.c (c_common_init_ts): Use MARK_TS_EXP. Mark SIZEOF_EXPR.
1210 2019-04-30 Martin Liska <mliska@suse.cz>
1212 * c-pragma.c (handle_pragma_diagnostic): Provide hints
1213 for unknown options.
1215 2019-04-26 Richard Sandiford <richard.sandiford@arm.com>
1217 * c-warn.c (strict_aliasing_warning): Apply COMPLETE_TYPE_P to
1218 the pointer target rather than the pointer itself.
1220 2019-04-19 Jakub Jelinek <jakub@redhat.com>
1223 * c-common.h (c_add_case_label): Remove orig_type and outside_range_p
1225 (c_do_switch_warnings): Remove outside_range_p argument.
1226 * c-common.c (check_case_bounds): Removed.
1227 (c_add_case_label): Remove orig_type and outside_range_p arguments.
1228 Don't call check_case_bounds. Fold low_value as well as high_value.
1229 * c-warn.c (c_do_switch_warnings): Remove outside_range_p argument.
1230 Check for case labels outside of range of original type here and
1233 2019-04-12 Jakub Jelinek <jakub@redhat.com>
1235 PR translation/90041
1236 * c.opt (-fhandle-exceptions): Use %< and %> around option names
1237 in the Warn diagnostics.
1240 * c-attribs.c (handle_patchable_function_entry_attribute): Add
1241 function comment. Warn if arguments of the attribute are not positive
1244 2019-04-09 Eric Botcazou <ebotcazou@adacore.com>
1246 * c-ada-spec.c (print_destructor): Deal with deleting destructors.
1247 (dump_ada_declaration) <FUNCTION_DECL>: Likewise.
1249 2019-04-07 Eric Botcazou <ebotcazou@adacore.com>
1251 * c-ada-spec.c (is_float128): New predicate extracted from...
1252 (dump_ada_node) <COMPLEX_TYPE>: Use it to recognize __cfloat128.
1253 <REAL_TYPE>: ...here. Call it.
1255 2019-04-05 David Malcolm <dmalcolm@redhat.com>
1258 * c-warn.c (check_address_or_pointer_of_packed_member): Add
1259 auto_diagnostic_group. Guard inform calls by result of
1262 2019-04-05 Marek Polacek <polacek@redhat.com>
1264 PR c++/89973 - -Waddress-of-packed-member ICE with invalid conversion.
1265 * c-warn.c (check_address_or_pointer_of_packed_member): Check the type
1268 2019-04-03 Jason Merrill <jason@redhat.com>
1270 PR c++/86586 - -fcompare-debug=-Wsign-compare.
1271 * c-warn.c (warn_for_sign_compare): Call fold_for_warn.
1273 2019-04-01 Martin Sebor <msebor@redhat.com>
1276 * c-attribs.c (handle_copy_attribute): Handle references and
1277 non-constant expressions.
1279 2019-03-22 Jakub Jelinek <jakub@redhat.com>
1282 * c.opt (-fconstexpr-ops-limit=): New option.
1284 2019-03-21 Jakub Jelinek <jakub@redhat.com>
1286 * c-common.c (per_file_includes_t): Use false as Lazy in hash_set
1289 2019-03-19 Martin Sebor <msebor@redhat.com>
1291 PR tree-optimization/89688
1292 * c-common.c (braced_list_to_string): Make static.
1293 (braced_lists_to_strings): Define new function.
1294 * c-common.h (braced_list_to_string): Remove.
1295 (braced_lists_to_strings): Declare.
1297 2019-03-12 Martin Liska <mliska@suse.cz>
1299 * c-opts.c (c_common_handle_option): Wrap option with %< and %>.
1301 2019-03-11 Martin Liska <mliska@suse.cz>
1303 * c-opts.c (c_common_post_options): Wrap apostrophes
1304 in gcc internal format with %'.
1306 2019-03-11 Martin Liska <mliska@suse.cz>
1308 * c-attribs.c (handle_nocf_check_attribute): Wrap an option name
1309 in a string format message and fix GNU coding style.
1310 * c-common.c (vector_types_convertible_p): Likewise.
1311 (c_build_vec_perm_expr): Likewise.
1312 * c-indentation.c (get_visual_column): Likewise.
1313 * c-opts.c (c_common_handle_option): Likewise.
1314 (c_common_post_options): Likewise.
1315 (sanitize_cpp_opts): Likewise.
1316 * c-pch.c (c_common_pch_pragma): Likewise.
1317 * c-pragma.c (handle_pragma_pack): Likewise.
1319 2019-03-08 Jakub Jelinek <jakub@redhat.com>
1321 PR tree-optimization/89550
1322 * c-common.c (c_common_truthvalue_conversion): Only set
1323 TREE_NO_WARNING if warning_at returned true.
1324 * c-warn.c (overflow_warning, warn_logical_operator): Likewise.
1326 2019-02-25 Sandra Loosemore <sandra@codesourcery.com>
1327 Martin Sebor <msebor@gmail.com>
1329 * c.opt (Wmissing-attributes): Clean up doc string.
1331 2019-02-25 Jakub Jelinek <jakub@redhat.com>
1334 * c-format.c (maybe_read_dollar_number): Compute nargnum in
1335 HOST_WIDE_INT type to avoid overflows and change overflow_flag
1338 2019-02-22 Richard Biener <rguenther@suse.de>
1340 * c-pch.c (no_checksum): Remove.
1341 (pch_init): Remove assertion that executable_checksum is not
1343 (c_common_valid_pch): Likewise.
1345 2019-02-18 Martin Sebor <msebor@redhat.com>
1348 * c-common.c (invalid_array_size_error): Handle cst_size_not_constant.
1350 2019-02-16 David Malcolm <dmalcolm@redhat.com>
1353 * c-common.c (shorten_compare): Call fold_for_warn on op0 when
1354 implementing -Wtype-limits.
1356 2019-02-11 Martin Sebor <msebor@redhat.com>
1359 * c-common.c (invalid_array_size_error): New function.
1360 (valid_array_size_p): Call it. Handle size as well as type.
1361 * c-common.h (valid_constant_size_p): New function.
1362 (enum cst_size_error): New type.
1364 2019-01-31 David Malcolm <dmalcolm@redhat.com>
1367 * known-headers.cc (get_stdlib_header_for_name): Add
1368 {FLT|DBL|LDBL}_{MAX|MIN} to "hints" array.
1370 2019-01-31 Jakub Jelinek <jakub@redhat.com>
1373 * c-pretty-print.c (pp_c_enumeration_constant): Print always as
1374 a C cast in pp_c_flag_gnu_v3 mode.
1376 2019-01-29 Jakub Jelinek <jakub@redhat.com>
1379 * c-common.c (c_common_nodes_and_builtins): Build type variants for
1380 builtin_structptr_types types even for C.
1382 2019-01-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
1384 * c-warn.c (check_address_or_pointer_of_packed_member): Handle the case
1385 when rhs is of array type correctly. Fix handling of nested structures.
1386 Fix handling of indirect_ref together with nop_expr and/or addr_expr.
1387 (check_and_warn_address_or_pointer_of_packed_member): Fix handling of
1388 type casts within nested compound expressions.
1390 2019-01-22 Jakub Jelinek <jakub@redhat.com>
1393 * c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
1394 variable after using BIT_FIELD_REF.
1396 2019-01-18 H.J. Lu <hongjiu.lu@intel.com>
1400 * c-common.h (warn_for_address_or_pointer_of_packed_member):
1401 Remove the boolean argument.
1402 * c-warn.c (check_address_of_packed_member): Renamed to ...
1403 (check_address_or_pointer_of_packed_member): This. Also
1404 warn pointer conversion.
1405 (check_and_warn_address_of_packed_member): Renamed to ...
1406 (check_and_warn_address_or_pointer_of_packed_member): This.
1407 Also warn pointer conversion.
1408 (warn_for_address_or_pointer_of_packed_member): Remove the
1409 boolean argument. Don't check pointer conversion here.
1411 2019-01-15 Richard Sandiford <richard.sandiford@arm.com>
1414 * c.opt (Wdeprecated): Move documentation and variable to common.opt.
1416 2019-01-14 Jakub Jelinek <jakub@redhat.com>
1418 * c-cppbuiltin.c (c_cpp_builtin): Define __cpp_guaranteed_copy_elision
1419 and __cpp_nontype_template_parameter_auto. Add a comment that
1420 __cpp_template_auto is deprecated.
1422 2019-01-14 Tom Honermann <tom@honermann.net>
1424 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
1425 * c-common.c (c_common_reswords): Add char8_t.
1426 (fix_string_type): Use char8_t for the type of u8 string literals.
1427 (c_common_get_alias_set): char8_t doesn't alias.
1428 (c_common_nodes_and_builtins): Define char8_t as a builtin type in
1430 (c_stddef_cpp_builtins): Add __CHAR8_TYPE__.
1431 (keyword_begins_type_specifier): Add RID_CHAR8.
1432 * c-common.h (rid): Add RID_CHAR8.
1433 (c_tree_index): Add CTI_CHAR8_TYPE and CTI_CHAR8_ARRAY_TYPE.
1434 Define D_CXX_CHAR8_T and D_CXX_CHAR8_T_FLAGS.
1435 Define char8_type_node and char8_array_type_node.
1436 * c-cppbuiltin.c (cpp_atomic_builtins): Predefine
1437 __GCC_ATOMIC_CHAR8_T_LOCK_FREE.
1438 (c_cpp_builtins): Predefine __cpp_char8_t.
1439 * c-lex.c (lex_string): Use char8_array_type_node as the type of
1441 (lex_charconst): Use char8_type_node as the type of CPP_UTF8CHAR.
1442 * c-opts.c: If not otherwise specified, enable -fchar8_t when
1444 * c.opt: Add the -fchar8_t command line option.
1446 2019-01-14 Martin Sebor <msebor@redhat.com>
1449 * c-attribs.c (positional_argument): Call valid_format_string_type_p
1450 and issue errors if it fails.
1451 * c-common.h (valid_format_string_type_p): Declare.
1452 * c-format.c (valid_stringptr_type_p): Rename...
1453 (valid_format_string_type_p): ...to this and make extern.
1454 (handle_format_arg_attribute): Adjust to new name.
1455 (check_format_string): Same.
1457 2019-01-13 H.J. Lu <hongjiu.lu@intel.com>
1459 * c-warn.c (warn_for_address_or_pointer_of_packed_member):
1460 Replace "may may" with "may" in warning message.
1462 2019-01-07 Jakub Jelinek <jakub@redhat.com>
1465 * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
1466 (c_build_vec_convert): Declare.
1467 * c-common.c (c_build_vec_convert): New function.
1469 2019-01-04 Martin Sebor <msebor@redhat.com>
1472 * c-attribs.c (handle_copy_attribute): Avoid copying attribute leaf.
1473 Handle C++ empty throw specification and C11 _Noreturn.
1474 (has_attribute): Also handle C11 _Noreturn.
1476 2019-01-04 Martin Sebor <msebor@redhat.com>
1479 * c-attribs.c (positional_argument): Also accept enumerated types.
1481 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1483 Update copyright years.
1485 2018-12-20 H.J. Lu <hongjiu.lu@intel.com>
1488 * c-common.h (warn_for_address_or_pointer_of_packed_member): New.
1489 * c-warn.c (check_alignment_of_packed_member): New function.
1490 (check_address_of_packed_member): Likewise.
1491 (check_and_warn_address_of_packed_member): Likewise.
1492 (warn_for_address_or_pointer_of_packed_member): Likewise.
1493 * c.opt: Add -Wno-address-of-packed-member.
1495 2018-12-20 David Malcolm <dmalcolm@redhat.com>
1498 * c-warn.c (get_outermost_macro_expansion): New function.
1499 (spelled_the_same_p): Use it to unwind the macro expansions, and
1500 compare the outermost macro in each nested expansion, rather than
1503 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1506 * c-common.h (warn_tautological_cmp): Convert 1st param from
1507 location_t to const op_location_t &.
1508 * c-warn.c (find_array_ref_with_const_idx_r): Call fold_for_warn
1509 when testing for INTEGER_CST.
1510 (warn_tautological_bitwise_comparison): Convert 1st param from
1511 location_t to const op_location_t &; use it to build a
1512 binary_op_rich_location, and use this.
1513 (spelled_the_same_p): New function.
1514 (warn_tautological_cmp): Convert 1st param from location_t to
1515 const op_location_t &. Warn for macro expansions if
1516 spelled_the_same_p. Use binary_op_rich_location.
1518 2018-12-19 David Malcolm <dmalcolm@redhat.com>
1522 * c-common.c (unsafe_conversion_p): Fold any location wrapper.
1523 (verify_tree): Handle location wrappers.
1524 (c_common_truthvalue_conversion): Strip any location wrapper.
1526 (fold_offsetof): Strip any location wrapper.
1527 (complete_array_type): Likewise for initial_value.
1528 (convert_vector_to_array_for_subscript): Call fold_for_warn on the
1529 index before checking for INTEGER_CST.
1530 * c-pretty-print.c (c_pretty_printer::primary_expression): Don't
1531 print parentheses around location wrappers.
1532 * c-warn.c (warn_logical_operator): Call fold_for_warn on op_right
1533 before checking for INTEGER_CST.
1534 (warn_tautological_bitwise_comparison): Call
1535 tree_strip_any_location_wrapper on lhs, rhs, and bitop's operand
1536 before checking for INTEGER_CST.
1537 (readonly_error): Strip any location wrapper.
1538 (warn_array_subscript_with_type_char): Strip location wrappers
1539 before checking for INTEGER_CST. Use the location of the index if
1542 2018-12-06 Jason Merrill <jason@redhat.com>
1544 PR c++/88136 - -Wdeprecated-copy false positives
1545 * c.opt (Wdeprecated-copy-dtor): New.
1546 (Wdeprecated-copy): Move to -Wextra.
1548 2018-11-29 Martin Sebor <msebor@redhat.com>
1552 * c-attribs.c (common_handle_aligned_attribute): Silently avoid setting
1553 alignments to values less than the target requires.
1554 (has_attribute): For attribute aligned consider both the attribute
1555 and the alignment bits.
1556 * c-common.c (c_init_attributes): Optionally issue a warning for
1559 2018-11-28 Martin Sebor <msebor@redhat.com>
1563 * c-warn.c (sizeof_pointer_memaccess_warning): Bail if source
1564 or destination is an error.
1566 2018-11-28 Jakub Jelinek <jakub@redhat.com>
1569 * c-ubsan.c: Include langhooks.h.
1570 (ubsan_instrument_division): Change gcc_assert that main variants
1571 of op0 and op1 types are equal to gcc_checking_assert that the
1572 main variants are compatible types.
1574 2018-11-27 Eric Botcazou <ebotcazou@adacore.com>
1576 * c-ada-spec.c: Include stringpool.h.
1577 (has_static_fields): Return false for incomplete types.
1578 (is_tagged_type): Likewise.
1579 (has_nontrivial_methods): Likewise.
1580 (dump_ada_node) <INTEGER_TYPE>: Deal specifically with __int128.
1581 (struct overloaded_name_hash): New structure.
1582 (struct overloaded_name_hasher): Likewise.
1583 (overloaded_names): New global variable.
1584 (init_overloaded_names): New static function.
1585 (overloaded_name_p): New predicate.
1586 (dump_ada_declaration) <TYPE_DECL>: Tidy up and set TREE_VISITED
1587 on the TYPE_STUB_DECL of the original type of a typedef, if any.
1588 <FUNCTION_DECL>: Bail out for an unsupported overloaded name.
1589 Remove always-true condition and dump forward types.
1590 (dump_ada_specs): Delete overloaded_names.
1592 2018-11-20 Martin Sebor <msebor@redhat.com>
1594 * c-attribs.c (type_for_vector_size): New function.
1595 (type_valid_for_vector_size): Same.
1596 (handle_vector_size_attribute): Move code to the functions above
1598 (validate_attribute, has_attribute): New functions.
1599 * c-common.h (has_attribute): Declare.
1600 (rid): Add RID_HAS_ATTRIBUTE_EXPRESSION.
1601 * c-common.c (c_common_resword): Same.
1603 2018-11-16 Jason Merrill <jason@redhat.com>
1605 * c-lex.c (c_common_has_attribute): Handle likely/unlikely.
1606 * c-attribs.c (attr_cold_hot_exclusions): Make public.
1608 2018-11-16 Jakub Jelinek <jakub@redhat.com>
1611 * c-common.c (fix_string_type): Reject string literals larger than
1612 TYPE_MAX_VALUE (ssizetype) bytes.
1614 2018-11-15 Martin Sebor <msebor@redhat.com>
1618 * c-attribs.c (positional_argument): New function.
1619 (handle_alloc_size_attribute): Use it and simplify.
1620 (handle_alloc_align_attribute): Same.
1621 (handle_assume_aligned_attribute): Same.
1622 (handle_nonnull_attribute): Same.
1623 * c-common.c (check_function_arguments): Pass fntype to
1624 check_function_format.
1625 * c-common.h (check_function_format): Add an argument.
1626 (PosArgFlags, positional_argument): Declare new type and function.
1627 * c-format.c (decode_format_attr): Add arguments.
1628 (check_format_string, get_constant): Same.
1629 (convert_format_name_to_system_name): Adjust.
1631 2018-11-15 David Malcolm <dmalcolm@redhat.com>
1634 * c-opts.c (c_diagnostic_finalizer): Add diagnostic_t param.
1636 2018-11-14 Jakub Jelinek <jakub@redhat.com>
1638 P1236R1 - Signed integers are two's complement
1639 * c-warn.c (maybe_warn_shift_overflow): Don't warn for c++2a.
1640 * c-ubsan.c (ubsan_instrument_shift): Make signed shifts
1641 with in-range second operand well defined for -std=c++2a.
1644 * c-common.c (parse_optimize_options): Allocate option string from
1645 opts_obstack rather than as GC memory. Move the allocation after
1646 warning for invalid option.
1648 2018-11-13 David Malcolm <dmalcolm@redhat.com>
1650 * c-common.c (c_get_substring_location): Update for renaming of
1651 get_source_location_for_substring to get_location_within_string.
1652 * c-lex.c: Replace "source_location" with "location_t".
1653 * c-opts.c: Likewise.
1654 * c-ppoutput.c: Likewise.
1656 2018-11-13 Martin Sebor <msebor@redhat.com>
1659 * c-attribs.c (handle_copy_attribute): Exclude inlining attributes.
1660 (handle_tls_model_attribute): Improve diagnostics.
1662 2018-11-12 Jason Merrill <jason@redhat.com>
1664 * c-cppbuiltin.c (c_cpp_builtins): Define
1665 __cpp_impl_destroying_delete.
1667 * c-cppbuiltin.c (c_cpp_builtins): Change __cpp_explicit_bool to
1668 __cpp_conditional_explicit.
1670 2018-11-09 Martin Sebor <msebor@redhat.com>
1673 * c-attribs.c (handle_copy_attribute): New function.
1675 2018-11-09 Martin Sebor <msebor@redhat.com>
1678 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT.
1680 2018-11-08 Jakub Jelinek <jakub@redhat.com>
1682 * c-common.h (c_finish_omp_taskgroup): Add CLAUSES argument.
1683 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1684 enum omp_memory_order MEMORY_ORDER.
1685 (c_finish_omp_flush): Add MO argument.
1686 (c_omp_depend_t_p, c_finish_omp_depobj): Declare.
1687 (c_finish_omp_for): Add FINAL_P argument.
1688 * c-omp.c: Include memmodel.h.
1689 (c_finish_omp_taskgroup): Add CLAUSES argument. Set
1690 OMP_TASKGROUP_CLAUSES to it.
1691 (c_finish_omp_atomic): Replace bool SEQ_CST argument with
1692 enum omp_memory_order MEMORY_ORDER. Set OMP_ATOMIC_MEMORY_ORDER
1693 instead of OMP_ATOMIC_SEQ_CST.
1694 (c_omp_depend_t_p, c_finish_omp_depobj): New functions.
1695 (c_finish_omp_flush): Add MO argument, if not MEMMODEL_LAST, emit
1696 __atomic_thread_fence call with the given value.
1697 (check_omp_for_incr_expr): Formatting fixes.
1698 (c_finish_omp_for): Add FINAL_P argument. Allow NE_EXPR
1699 even in OpenMP loops, diagnose if NE_EXPR and incr expression
1700 is not constant expression 1 or -1. Transform NE_EXPR loops
1701 with iterators pointers to VLA into LT_EXPR or GT_EXPR loops.
1702 (c_omp_check_loop_iv_r): Look for orig decl of C++ range for
1704 (c_omp_split_clauses): Add support for combined
1705 #pragma omp parallel master and
1706 #pragma omp {,parallel }master taskloop{, simd} constructs.
1707 Handle OMP_CLAUSE_IN_REDUCTION. Handle OMP_CLAUSE_REDUCTION_TASK.
1708 Handle OMP_CLAUSE_NONTEMPORAL. Handle splitting OMP_CLAUSE_IF
1709 also to OMP_SIMD. Copy OMP_CLAUSE_LASTPRIVATE_CONDITIONAL.
1710 (c_omp_predetermined_sharing): Don't return
1711 OMP_CLAUSE_DEFAULT_SHARED for const qualified decls.
1712 * c-pragma.c (omp_pragmas): Add PRAGMA_OMP_DEPOBJ and
1713 PRAGMA_OMP_REQUIRES.
1714 * c-pragma.h (enum pragma_kind): Likewise.
1715 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_NONTEMPORAL
1716 and PRAGMA_OMP_CLAUSE_{IN,TASK}_REDUCTION.
1718 2018-11-08 David Malcolm <dmalcolm@redhat.com>
1720 * c-format.c (gcc_dump_printf_char_table): Add entry for %f.
1722 2018-11-08 David Malcolm <dmalcolm@redhat.com>
1724 * c-format.c (local_cgraph_node_ptr_node): New variable.
1725 (gcc_dump_printf_char_table): Add entry for %C.
1726 (get_pointer_to_named_type): New function, taken from the handling
1727 code for "gimple *" from...
1728 (init_dynamic_diag_info): ...here. Add handling for
1730 * c-format.h (T_CGRAPH_NODE): New.
1732 2018-10-19 Jason Merrill <jason@redhat.com>
1734 * c-cppbuiltin.c (c_cpp_builtins): Add
1735 __cpp_nontype_template_parameter_class.
1737 2018-10-31 Nathan Sidwell <nathan@acm.org>
1739 * c-opts.c (c_finish_options): Force command line macro
1740 location. Refactor to avoid repeating main debug hook.
1741 (push_command_line_include): Clarify comment.
1743 * c-opts.c (c_finish_options): Adjust cpp_force_token_locations call.
1745 2018-10-30 Martin Sebor <msebor@redhat.com>
1748 * c-format.c (check_format_types): Avoid diagnosing null pointer
1749 arguments to printf-family of functions.
1751 2018-10-30 Marek Polacek <polacek@redhat.com>
1753 Implement P0892R2, explicit(bool).
1754 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_explicit_bool.
1756 2018-10-29 David Malcolm <dmalcolm@redhat.com>
1758 * name-hint.h (name_hint::take_deferred): New member function.
1760 2018-10-29 David Malcolm <dmalcolm@redhat.com>
1763 * c-common.c (check_function_sentinel): Call fold_for_warn on the
1765 (check_function_restrict): Rename param "argarray" to
1766 "unfolded_argarray", and make a copy named "argarray", calling
1767 fold_for_warn on each argument.
1768 (check_function_arguments): Add note about responsibility for
1769 folding the arguments.
1771 2018-10-17 Joseph Myers <joseph@codesourcery.com>
1773 * c-common.c (flag_isoc2x): New variable.
1774 * c-common.h (clk_c): Update comment to reference C2X.
1775 (flag_isoc99, flag_isoc11): Update comments to reference future
1776 standard versions in general.
1777 (flag_isoc2x): Declare.
1778 * c-opts.c (set_std_c2x): New function.
1779 (c_common_handle_option): Handle -std=c2x and -std=gnu2x.
1780 (set_std_c89, set_std_c99, set_std_c11, set_std_c17): Set
1782 * c.opt (Wc11-c2x-compat, std=c2x, std=gnu2x): New options.
1784 2018-10-17 Joseph Myers <joseph@codesourcery.com>
1786 * c.opt (std=c17, std=c18, std=gnu17, std=gnu18, std=iso9899:2017)
1787 (std=iso9899:2018): Document C17 as published in 2018.
1789 2018-10-12 Christophe Lyon <christophe.lyon@linaro.org>
1792 * c-pretty-print.c (c_pretty_printer::constant): Fix typo.
1794 2018-10-11 Will Wray <wjwray@gmail.com>
1797 * c-pretty-print.h (pp_c_type_cast): Prototype.
1798 (pp_c_integer_constant): Likewise.
1799 * c-pretty-print.c (pp_c_type_cast): No longer static.
1800 (pp_c_integer_constant): Likewise.
1801 (pp_c_enumeration_constant): Fix loop termination when finding
1802 name of constant. No longer returns a value. Call
1803 pp_c_integer_constant.
1804 (c_pretty_printer::constant): Update for changes to
1805 pp_c_enumeration_constant.
1807 2018-10-11 Jakub Jelinek <jakub@redhat.com>
1809 * c-lex.c (c_common_has_attribute): Return 201803 instead of 20180312
1810 for no_unique_address.
1812 2018-10-09 David Malcolm <dmalcolm@redhat.com>
1814 * c-common.c (c_option_controlling_cpp_error): Rename to...
1815 (c_option_controlling_cpp_diagnostic): ...this, and convert
1816 "reason" from int to enum.
1817 (c_cpp_error): Rename to...
1818 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1819 * c-common.h (c_cpp_error): Rename to...
1820 (c_cpp_diagnostic): ...this, converting level and reason to enums.
1821 * c-opts.c (c_common_init_options): Update for renaming.
1823 2018-10-08 Richard Sandiford <richard.sandiford@arm.com>
1826 * c-common.c (vector_types_compatible_elements_p): Use
1827 INTEGRAL_TYPE_P instead of checking only for INTEGER_TYPE.
1829 2018-10-04 Vinay Kumar <vinay.kumar@blackfigtech.com>
1831 * c-attribs.c (get_priority): Add a warning flag warn_prio_ctor_dtor
1832 to generate constructor destructor priority warning.
1833 * c.opt (-Wprio-ctor-dtor): New option.
1835 2018-10-01 Jason Merrill <jason@redhat.com>
1837 * c-lex.c (c_common_has_attribute): Add no_unique_address.
1839 2018-10-01 Eric Botcazou <ebotcazou@adacore.com>
1841 * c-ada-spec.c (get_underlying_decl): Get to the main type variant.
1842 (dump_ada_node): Add const keyword.
1844 2018-09-25 Martin Liska <mliska@suse.cz>
1846 * c-common.c (c_common_truthvalue_conversion):
1847 Remove Pascal from documentation.
1849 2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
1851 * c-ada-spec.c: Include diagnostic.h.
1852 (dump_ada_declaration) <RECORD_TYPE>: Issue a warning on packed layout.
1854 2018-09-19 Marek Polacek <polacek@redhat.com>
1856 * c.opt (Wclass-conversion): New.
1858 2018-09-17 David Malcolm <dmalcolm@redhat.com>
1860 * c-format.c (range_label_for_format_type_mismatch::get_text):
1861 Update for new param.
1863 2018-09-17 David Malcolm <dmalcolm@redhat.com>
1865 * c-format.c (format_warning_at_char): Update for introduction of
1866 format_string_diagnostic_t.
1867 (format_type_warning): Likewise.
1869 2018-09-17 Martin Jambor <mjambor@suse.cz>
1872 * c.opt (Wabsolute-value): New.
1874 2018-09-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
1876 * c-common.c (complete_flexible_array_elts): New helper function.
1877 * c-common.h (complete_flexible_array_elts): Declare.
1879 2018-09-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1881 * c-common.c (braced_list_to_string): Remove eval parameter.
1882 Add some more checks. Always create zero-terminated STRING_CST.
1883 * c-common.h (braced_list_to_string): Adjust prototype.
1885 2018-08-27 David Malcolm <dmalcolm@redhat.com>
1888 * c-common.c (c_cpp_error): Update for conversion of show_caret_p
1890 (maybe_suggest_missing_token_insertion): Likewise.
1891 (maybe_add_include_fixit): Add param "override_location". If set,
1892 and source-printing is enabled, then override the rich_location's
1893 primary location with that of the insertion point for the fix-it
1894 hint, marking it with SHOW_LINES_WITHOUT_RANGE.
1895 * c-common.h (extern void maybe_add_include_fixit): Add bool
1897 * c-format.c (selftest::test_type_mismatch_range_labels): Update
1898 for conversion of show_caret_p to a tri-state.
1899 * c-warn.c (warn_for_restrict): Likewise.
1901 (suggest_missing_header::~suggest_missing_header): Update call to
1902 maybe_add_include_fixit to suggest overriding the location, as it
1905 2018-08-27 Martin Liska <mliska@suse.cz>
1907 * c-common.c (check_function_restrict): Use new function
1908 fndecl_built_in_p and remove check for FUNCTION_DECL if
1910 (check_builtin_function_arguments): Likewise.
1911 (reject_gcc_builtin): Likewise.
1912 * c-warn.c (sizeof_pointer_memaccess_warning): Likewise.
1914 2018-08-26 Marek Polacek <polacek@redhat.com>
1916 PR c++/87029, Implement -Wredundant-move.
1917 * c.opt (Wredundant-move): New option.
1919 2018-08-21 Marek Polacek <polacek@redhat.com>
1921 PR c++/86981, Implement -Wpessimizing-move.
1922 * c.opt (Wpessimizing-move): New option.
1924 2018-08-20 David Malcolm <dmalcolm@redhat.com>
1927 * c-attribs.c (common_handle_aligned_attribute): Add
1928 auto_diagnostic_group instance.
1929 * c-indentation.c (warn_for_misleading_indentation): Likewise.
1930 * c-opts.c (c_common_post_options): Likewise.
1931 * c-warn.c (warn_logical_not_parentheses): Likewise.
1932 (warn_duplicated_cond_add_or_warn): Likewise.
1933 (warn_for_multistatement_macros): Likewise.
1935 2018-08-20 Nathan Sidwell <nathan@acm.org>
1937 * c-ada-spec.c (macro_length, dump_ada_macros): Adjust macro parm
1940 2018-08-17 Nathan Sidwell <nathan@acm.org>
1942 * c-cppbuiltin.c (struct lazy_hex_fp_value_struct): Remove macro
1944 (laxy_hex_fp_value_count): Make unsigned.
1945 (lazy_hex_fp_value): Provided with macro & lazy number. Directly
1946 manipulate the macro.
1947 (builtin_defin_with_hex_fp_value): Adjust callback name, use
1950 2018-08-17 David Malcolm <dmalcolm@redhat.com>
1952 * c-format.c (enum format_type): Add gcc_dump_printf_format_type.
1953 (gcc_dump_printf_length_specs): New.
1954 (gcc_dump_printf_flag_pairs): New.
1955 (gcc_dump_printf_flag_specs): New.
1956 (gcc_dump_printf_char_table): New.
1957 (format_types_orig): Add entry for "gcc_dump_printf".
1958 (init_dynamic_diag_info): Set up length_char_specs and
1959 conversion_specs for gcc_dump_printf_format_type.
1960 (handle_format_attribute): Handle gcc_dump_printf_format_type.
1962 2018-08-17 Nathan Sidwell <nathan@acm.org>
1964 * c-ada-spec.c (macro_length, dump_ada_macros): Constify.
1966 * c-ada-spec.c: Don't #include "cpp-id-data.h"
1967 * c-cppbuiltin.c: Likewise.
1969 2018-08-17 Martin Liska <mliska@suse.cz>
1971 * c.opt: Remove Warn, Init and Report for options with
1972 Ignore/Deprecated flag. Warning is done automatically for
1975 2018-08-16 David Malcolm <dmalcolm@redhat.com>
1978 * c-common.c (selftest::c_family_tests): Call
1979 selftest::c_indentation_c_tests.
1980 * c-common.h (selftest::c_indentation_c_tests): New decl.
1981 * c-indentation.c: Include "selftest.h".
1982 (next_tab_stop): Add "tab_width" param, rather than accessing
1984 (get_visual_column): Likewise. Clarify comment. Bulletproof
1985 against reading past the end of the line.
1986 (get_first_nws_vis_column): Add "tab_width" param.
1987 (detect_intervening_unindent): Likewise.
1988 (should_warn_for_misleading_indentation): Read tab width from
1989 cpp_opts and pass around.
1990 (selftest::test_next_tab_stop): New test.
1991 (selftest::assert_get_visual_column_succeeds): New function.
1992 (ASSERT_GET_VISUAL_COLUMN_SUCCEEDS): New macro.
1993 (selftest::assert_get_visual_column_fails): New function.
1994 (ASSERT_GET_VISUAL_COLUMN_FAILS): New macro.
1995 (selftest::test_get_visual_column): New test.
1996 (selftest::c_indentation_c_tests): New function.
1998 2018-08-16 Nathan Sidwell <nathan@acm.org>
2000 * c-ada-spec.c (count_ada_macro): Use cpp_user_macro_p.
2001 (store_ada_macro): Likewise.
2002 * c-ppoutput.c (cb_used_define, dump_macro): Likewise.
2003 * c-spellcheck.cc (should-suggest_as_macro_p): Likewise,
2005 2018-08-15 David Malcolm <dmalcolm@redhat.com>
2007 * c-format.c: Include "selftest-diagnostic.h" and
2008 "gcc-rich-location.h".
2009 (format_warning_at_char): Pass NULL for new label params of
2011 (class indirection_suffix): New class.
2012 (class range_label_for_format_type_mismatch): New class.
2013 (format_type_warning): Move logic for generating "*" suffix to
2014 class indirection_suffix. Create "fmt_label" and "param_label"
2015 to show their types, and pass them to the
2016 format_warning_at_substring calls.
2017 (selftest::test_type_mismatch_range_labels): New test.
2018 (selftest::c_format_c_tests): Call it.
2020 2018-08-13 Martin Sebor <msebor@redhat.com>
2022 PR tree-optimization/71625
2023 * c-common.c (braced_list_to_string): New function.
2024 * c-common.h (braced_list_to_string): Declare it.
2026 2018-08-08 Nathan Sidwell <nathan@acm.org>
2028 * c-common.c (try_to_locate_new_include_inertion_point): Use
2029 linemap_included_from_linemap.
2030 * c-lex.c (fe_file_change): Use linemap_included_from.
2031 * c-ppoutput.c (pp_file_change): Likewise.
2033 2018-08-01 Martin Sebor <msebor@redhat.com>
2035 PR tree-optimization/86650
2036 * c-format.c (gcc_tdiag_char_table): Update comment for "%G".
2037 (gcc_cdiag_char_table, gcc_cxxdiag_char_table): Same.
2038 (init_dynamic_diag_info): Update from "gcall *" to "gimple *".
2039 * c-format.h (T89_G): Update to be "gimple *" rather than
2041 (local_gcall_ptr_node): Rename...
2042 (local_gimple_ptr_node): ...to this.
2044 2018-07-31 David Malcolm <dmalcolm@redhat.com>
2046 * c-format.c (PP_FORMAT_CHAR_TABLE): New macro, based on existing
2047 table entries for gcc_diag_char_table, and the 'Z' entry from
2048 gcc_tdiag_char_table, changing the "chain" entry for 'Z' from
2049 &gcc_tdiag_char_table[0] to &gcc_diag_char_table[0].
2050 (gcc_diag_char_table): Use PP_FORMAT_CHAR_TABLE, implicitly
2051 adding missing "Z" for this table. Remove erroneous "G" and "K"
2053 (gcc_tdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
2054 (gcc_cdiag_char_table): Use PP_FORMAT_CHAR_TABLE.
2055 (gcc_cxxdiag_char_table): Use PP_FORMAT_CHAR_TABLE. Remove "v".
2057 2018-07-31 Richard Earnshaw <rearnsha@arm.com>
2059 * c-common.c (speculation_safe_resolve_call): New function.
2060 (speculation_safe_resolve_params): New function.
2061 (speculation_safe_resolve_return): New function.
2062 (resolve_overloaded_builtin): Handle __builtin_speculation_safe_value.
2063 * c-cppbuiltin.c (c_cpp_builtins): Add pre-define for
2064 __HAVE_SPECULATION_SAFE_VALUE.
2066 2018-07-20 David Malcolm <dmalcolm@redhat.com>
2068 * c-common.c (c_cpp_error): Remove redundant "line_table"
2069 parameter from call to rich_location::set_range.
2070 (maybe_suggest_missing_token_insertion): Likewise.
2072 2018-07-20 Martin Sebor <msebor@redhat.com>
2075 * c.opt (-Warray-bounds): Remove redundant -Wall.
2077 2018-07-20 Martin Sebor <msebor@redhat.com>
2080 * c-common.h (c_common_handle_option): Change function argument
2082 * c-opts.c (c_common_init_options): Same.
2083 (c_common_handle_option): Same. Remove special handling of
2084 OPT_Walloca_larger_than_ and OPT_Wvla_larger_than_.
2085 * c.opt (-Walloc-size-larger-than, -Walloca-larger-than): Change
2086 options to take a HOST_WIDE_INT argument and accept a byte-size
2088 (-Wvla-larger-than): Same.
2089 (-Wno-alloc-size-larger-than, -Wno-alloca-larger-than): New.
2090 (-Wno-vla-larger-than): Same.
2092 2018-07-12 Jakub Jelinek <jakub@redhat.com>
2094 * c-attribs.c (c_common_attribute_table): Add
2095 "omp declare target implicit" attribute.
2097 2018-07-12 Richard Biener <rguenther@suse.de>
2100 * c-attribs.c (handle_packed_attribute): Do not build a variant
2101 type with TYPE_PACKED, instead ignore the attribute if we may
2102 not apply to the original type.
2104 2018-07-10 Jakub Jelinek <jakub@redhat.com>
2107 * c-omp.c (c_omp_check_loop_iv_r, c_omp_check_loop_iv): Allow declv
2108 to contain TREE_LIST for both the original class iterator and the
2111 2018-07-07 Eric Botcazou <ebotcazou@adacore.com>
2113 * c-ada-spec.c (to_ada_name): Remove index parameter.
2114 (pp_ada_tree_identifier): Likewise.
2115 (dump_ada_macros): Adjust call to to_ada_name.
2116 (struct overloaded_name_hash): Delete.
2117 (struct overloaded_name_hasher): Likewise.
2118 (overloaded_names): Likewise.
2119 (compute_overloading_index): Likewise.
2120 (dump_ada_decl_name): Do not call compute_overloading_index and
2121 adjust calls to pp_ada_tree_identifier.
2122 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2123 (dump_ada_import): Add spc parameter and switch to aspect syntax.
2124 (dump_ada_function_declaration): Adjust call to pp_ada_tree_identifier.
2125 (dump_ada_enum_type): Remove type and display_convention parameters.
2126 Adjust calls to pp_ada_tree_identifier.
2127 (dump_ada_node): Likewise and for dump_ada_structure.
2128 (dump_nested_type) <ENUMERAL_TYPE>: Adjust call to dump_ada_enum_type
2130 <RECORD_TYPE>: Adjust call to dump_ada_structure and switch to aspect
2132 (print_constructor): Adjust call to pp_ada_tree_identifier.
2133 (print_destructor): Likewise.
2134 (dump_ada_declaration): Switch to aspect syntax.
2135 (dump_ada_structure): Likewise and tidy up. Replace display_convention
2136 parameter with nested parameter.
2137 (dump_ads): Emit pragma Ada_2012 in lieu of pragma Ada_2005.
2138 (dump_ada_specs): Do not delete overloaded_names table.
2140 2018-07-06 Peter Bergner <bergner@linux.ibm.com>
2143 * c-attribs.c (handle_mode_attribute): Call translate_mode_attribute
2146 2018-07-05 Nathan Sidwell <nathan@acm.org>
2148 * c-lex.c (fe_file_change): Check SYSTEM_IMPLICIT_EXTERN_C not
2149 NO_IMPLICIT_EXTERN_C.
2151 2018-06-28 Martin Liska <mliska@suse.cz>
2153 * cppspec.c: Include opt-suggestions.h.
2155 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2156 Thomas Schwinge <thomas@codesourcery.com>
2157 Cesar Philippidis <cesar@codesourcery.com>
2159 * c-pragma.h (enum pragma_omp_clause): Add
2160 PRAGMA_OACC_CLAUSE_{FINALIZE,IF_PRESENT}. Remove
2161 PRAGMA_OACC_CLAUSE_PRESENT_OR_{COPY,COPYIN,COPYOUT,CREATE}.
2163 2018-06-20 Jakub Jelinek <jakub@redhat.com>
2166 * c-common.c (check_nonnull_arg): Use fold_for_warn. Adjust obsolete
2169 2018-06-18 Martin Sebor <msebor@redhat.com>
2172 * c-warn.c (sizeof_pointer_memaccess_warning): Check for attribute
2175 2018-06-16 Kugan Vivekanandarajah <kuganv@linaro.org>
2177 * c-common.c (c_common_truthvalue_conversion): Handle ABSU_EXPR.
2179 2018-06-13 Jason Merrill <jason@redhat.com>
2181 * c-opts.c (c_common_post_options): Warn about useless -Wabi.
2182 (c_common_handle_option) [OPT_Wabi_]: Remove flag_abi_compat_version
2185 PR c++/86094 - wrong code with defaulted move ctor.
2186 * c-opts.c (c_common_post_options): Bump the current ABI version to
2187 13. Set warn_abi_version and flag_abi_compat_version to the current
2188 version rather than 0. Fix defaulting flag_abi_compat_version from
2191 2018-06-12 Martin Sebor <msebor@redhat.com>
2194 * c-warn.c (sizeof_pointer_memaccess_warning): Avoid warning when
2195 sizeof source and destination yields the same value.
2197 2018-06-12 Martin Liska <mliska@suse.cz>
2199 * c.opt: Make MPX-related options as Deprecated.
2201 2018-06-08 David Malcolm <dmalcolm@redhat.com>
2203 * c-pretty-print.c (c_pretty_printer::statement): Use TDF_NONE
2206 2018-06-08 Martin Liska <mliska@suse.cz>
2208 * c-attribs.c (handle_bnd_variable_size_attribute): Remove support
2209 for MPX (macros, related functions, fields in cgraph_node, ...).
2210 (handle_bnd_legacy): Likewise.
2211 (handle_bnd_instrument): Likewise.
2214 2018-06-06 Jakub Jelinek <jakub@redhat.com>
2217 * c-cppbuiltin.c (c_cpp_builtins): Fix a typo, set
2218 __cpp_transactional_memory to 201500 instead of 210500.
2220 2018-06-06 Jason Merrill <jason@redhat.com>
2222 PR c++/85710 - ICE with -Wmemset-elt-size.
2223 * c-warn.c (warn_for_memset): Don't crash on incomplete element type.
2225 2018-06-01 Jason Merrill <jason@redhat.com>
2227 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_deduction_guides to
2230 2018-06-01 Eric Botcazou <ebotcazou@adacore.com>
2232 * c-ada-spec.c (dump_ada_declaration) <TYPE_DECL>: Generate a forward
2233 declaration for a typedef independently of whether the declaration of
2234 the subtype is generated.
2236 2018-05-31 Martin Sebor <msebor@redhat.com>
2239 * c.opt (-Wno-alloc-size-larger-than): New option.
2241 2018-04-22 David Pagan <dave.pagan@oracle.com>
2244 * c-opts.c (c_common_post_options): Set default for warn_return_type
2245 for C++/C++ with ObjC extensions only. For C, makes it possible to
2246 differentiate between default (no option), -Wreturn-type, and
2249 2018-05-29 Jason Merrill <jason@redhat.com>
2251 * c.opt (Winit-list-lifetime): New flag.
2253 2018-05-28 Bernd Edlinger <bernd.edlinger@hotmail.de>
2255 * c-lex.c (get_fileinfo): Use splay_tree_compare_strings and
2256 splay_tree_delete_pointers.
2258 2018-05-26 Jakub Jelinek <jakub@redhat.com>
2261 * c-warn.c (diagnose_mismatched_attributes): Remove unnecessary
2262 noinline variable to workaround broken kernel headers.
2264 2018-05-18 Jason Merrill <jason@redhat.com>
2266 * c.opt (Wdeprecated-copy): New flag.
2268 2018-05-17 Martin Liska <mliska@suse.cz>
2270 * c-warn.c (overflow_warning): Do not use
2271 space in between 'G_' and '('.
2273 2018-05-09 Jason Merrill <jason@redhat.com>
2275 * c-common.c (valid_array_size_p): Add complain parameter.
2276 * c-common.h: ...which defaults to true.
2278 2018-05-11 Jakub Jelinek <jakub@redhat.com>
2281 * c-omp.c (c_omp_predetermined_sharing): Return
2282 OMP_CLAUSE_DEFAULT_SHARED for artificial vars with integral type.
2284 2018-05-11 Martin Liska <mliska@suse.cz>
2287 * c-attribs.c (handle_no_sanitize_attribute): Iterate all
2290 2018-05-10 Jakub Jelinek <jakub@redhat.com>
2293 * c-common.h (fold_offsetof_1): Removed.
2294 (fold_offsetof): Add TYPE argument defaulted to size_type_node and
2295 CTX argument defaulted to ERROR_MARK.
2296 * c-common.c (fold_offsetof_1): Renamed to ...
2297 (fold_offsetof): ... this. Remove wrapper function. Add TYPE
2298 argument, convert the pointer constant to TYPE and use size_binop
2299 with PLUS_EXPR instead of fold_build_pointer_plus if type is not
2300 a pointer type. Adjust recursive calls.
2302 2018-05-10 Eric Botcazou <ebotcazou@adacore.com>
2305 * c-attribs.c (handle_visibility_attribute): Do not set no_add_attrs.
2307 2018-05-07 Nathan Sidwell <nathan@acm.org>
2309 * c.opt (ffor-scope): Remove functionality, issue warning.
2311 2018-05-03 Nathan Sidwell <nathan@acm.org>
2313 * c.opt (ffriend-injection): Remove functionality, issue warning.
2315 2018-05-01 David Malcolm <dmalcolm@redhat.com>
2318 * c-format.c (struct format_check_results): Add field
2320 (check_format_info): Initialize it, and warn if encountered.
2321 (check_format_arg): Distinguish between wide char and
2322 everything else when detecting arrays of non-char.
2324 2018-04-30 David Malcolm <dmalcolm@redhat.com>
2326 * c-format.c (get_corrected_substring): Update for
2327 location_get_source_line returning a char_span. Use a char_span
2328 when handling the prefix of the correction.
2329 * c-indentation.c (get_visual_column): Update for
2330 location_get_source_line returning a char_span.
2331 (get_first_nws_vis_column): Likewise.
2333 2018-03-29 David Malcolm <dmalcolm@redhat.com>
2336 * known-headers.cc (get_stdlib_header_for_name): Add various names
2337 from <assert.h>, <string.h>, and <memory.h>; add more names from
2340 2018-03-27 Jakub Jelinek <jakub@redhat.com>
2343 * c-common.c (fold_offsetof_1) <case COMPOUND_EXPR>: Assert that
2344 get_base_address of the second operand is a VAR_P, rather than the
2345 operand itself, and use gcc_checking_assert instead of gcc_assert.
2347 2018-03-23 Marek Polacek <polacek@redhat.com>
2350 * c-pretty-print.c (c_pretty_printer::multiplicative_expression)
2351 <case RDIV_EXPR>: Tweak condition.
2353 2018-03-20 Eric Botcazou <ebotcazou@adacore.com>
2355 * c-ada-spec.c (pp_ada_tree_identifier): Deal specifically with _Bool.
2357 2018-03-16 Jakub Jelinek <jakub@redhat.com>
2360 * c-warn.c (conversion_warning): Replace "to to" with "to" in
2364 * c-warn.c (diagnose_mismatched_attributes): Remove trailing space from
2367 2018-03-16 Richard Biener <rguenther@suse.de>
2370 * c-gimplify.c (c_gimplify_expr): Revert previous change. Instead
2371 unshare the possibly folded expression.
2373 2018-03-15 Richard Biener <rguenther@suse.de>
2376 * c-gimplify.c (c_gimplify_expr): Do not fold expressions.
2378 2018-03-13 Martin Sebor <msebor@redhat.com>
2380 PR tree-optimization/84725
2381 * c-attribs.c (handle_nonstring_attribute): Allow attribute nonstring
2382 with all three narrow character types, including their qualified forms.
2384 2018-03-12 Martin Sebor <msebor@redhat.com>
2386 PR tree-optimization/83456
2387 * c-common.c (check_function_restrict): Return bool.
2388 Restore checking of bounded built-in functions.
2389 (check_function_arguments): Also return the result
2390 of warn_for_restrict.
2391 * c-common.c (check_function_restrict): Return bool.
2392 * c-warn.c (warn_for_restrict): Return bool.
2394 2018-03-02 Marek Polacek <polacek@redhat.com>
2397 * c-warn.c (warn_for_sign_compare): Bail out if any of the operands
2400 2018-03-02 Thomas Schwinge <thomas@codesourcery.com>
2402 * c-attribs.c (c_common_attribute_table): Remove "cilk simd
2405 2018-03-01 Marek Polacek <polacek@redhat.com>
2408 * c-attribs.c (common_handle_aligned_attribute): Don't use invalid
2409 alignment in computation.
2411 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2413 * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case.
2414 <REAL_TYPE>: Deal specifically with _Float128/__float128.
2416 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2418 * c-ada-spec.c (dump_ada_double_name) <ENUMERAL_TYPE>: New case.
2419 (is_char_array): Take a type instead of a declaration.
2420 (dump_ada_array_type): Likewise.
2421 (is_simple_enum): Minor tweak.
2422 (dump_ada_enum_type): New function extracted from...
2423 (dump_ada_node) <ENUMERAL_TYPE>: ...here. Invoke it.
2424 <INTEGER_TYPE>: Remove unreachable code.
2425 <RECORD_TYPE>: Likewise. Minor tweaks.
2426 (dump_nested_type) <ARRAY_TYPE>: Adjust to above changes.
2427 <ENUMERAL_TYPE>: New case.
2428 <RECORD_TYPE>: Factor out common code.
2429 (dump_ada_declaration) <ARRAY_TYPE>: Adjust to above changes.
2430 Minor tweaks. Deal with enumeral types.
2431 (dump_ada_structure): Minor tweaks.
2433 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2435 * c-ada-spec.c (dump_ada_node) <POINTER_TYPE>: Do not use generic
2436 address for incomplete structures.
2437 (dump_forward_type): Do not bail out for incomplete structures.
2438 (dump_ada_declaration): Do not special-case incomplete structures
2439 for subtypes. Dump them as null records for types.
2441 2018-02-28 Eric Botcazou <ebotcazou@adacore.com>
2443 * c-ada-spec.c (dump_ada_import): Use boolean and fix formatting.
2444 (is_char_array): Fix formatting.
2445 (dump_template_types): Likewise.
2446 (dump_generic_ada_node): Rename into...
2447 (dump_ada_node): ...this.
2448 <POINTER_TYPE>: Remove superfluous space. Use generic address for
2449 incomplete structures and not for empty structures. Do not use it
2450 when forward declarations are needed.
2451 (dump_forward_type): New function.
2452 (dump_nested_types): Remove FORWARD parameter. Do not consider
2453 TREE_VISITED and do not generate a forward declaration. Only dump
2454 original nested types for nested declaration.
2455 (dump_nested_type) <POINTER_TYPE>: Call dump_forward_type.
2456 <ARRAY_TYPE>: Likewise if the component type is an anonymous pointer.
2457 <RECORD_TYPE>: Do not consider TREE_VISITED.
2458 (dump_ada_declaration): Use booleans and fix formatting throughout.
2459 <TYPE_DECL>: Skip incomplete structures and not empty structures.
2460 Call dump_forward_type instead of dump_nested_types for a typedef.
2461 Remove superfluous check and adjust call to dump_nested_types.
2462 <POINTER_TYPE>: Call dump_forward_type and fall through.
2463 (dump_ada_struct_decl): Rename into...
2464 (dump_ada_structure): ...this. Do not special-case empty structures.
2466 2018-02-27 Martin Sebor <msebor@redhat.com>
2469 * c.opt (-Wmissing-attributes): New option.
2471 2018-02-21 Martin Liska <mliska@suse.cz>
2473 * c.opt (Wcatch-value=): Add IntegerRange.
2475 2018-02-15 Jason Merrill <jason@redhat.com>
2477 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
2479 2018-02-09 Nathan Sidwell <nathan@acm.org>
2482 * c-common.h (strict_aliasing_warning): Drop OTYPE arg, insert LOC
2484 * c-warn.c (strict_aliasing_warning): Drop OTYPE arg, require LOC
2487 2018-02-09 Martin Sebor <msebor@redhat.com>
2490 * c.opt (-Wstringop-overflow, -Warray-bounds): Add LTO.
2491 (-Walloc-size-larger-than, -Wformat-truncation=): Same.
2492 (-Wmaybe-uninitialized, -Wnonnull, -Wrestrict): Same.
2493 (-Wstrict-overflow, -Wsuggest-attribute): Same.
2494 (-Wuninitialized): Same.
2496 2018-02-09 Eric Botcazou <ebotcazou@adacore.com>
2498 * c-ada-spec.c (dump_ada_declaration): Do not generate the 'constant'
2499 keyword for components.
2501 2018-02-02 Paolo Carlini <paolo.carlini@oracle.com>
2503 * c-common.h (DECL_UNNAMED_BIT_FIELD): New.
2505 2018-02-02 Julia Koval <julia.koval@intel.com>
2507 * c-common.h (omp_clause_mask): Move to wide_int_bitmask.h.
2509 2018-01-29 Marek Polacek <polacek@redhat.com>
2512 * c-format.c (check_function_format): Check current_function_decl.
2514 2018-01-27 Jakub Jelinek <jakub@redhat.com>
2516 * c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix
2518 (LAZY_HEX_FP_VALUES_CNT): Define.
2519 (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp
2520 values rather than just 12.
2521 (builtin_define_with_hex_fp_value): Likewise.
2523 2018-01-18 Boris Kolpackov <boris@codesynthesis.com>
2526 * c.opt (-fmacro-prefix-map): New option.
2527 * c-opts.c (c_common_handle_option): Handle it.
2528 * c-lex.c (init_c_lex): Set remap_filename cpp callback.
2529 * c-ppoutput.c (init_pp_output): Likewise.
2531 2018-01-17 David Malcolm <dmalcolm@redhat.com>
2534 * c-common.c (fold_for_warn): Move to c/c-fold.c and cp/expr.c.
2536 2018-01-10 Eric Botcazou <ebotcazou@adacore.com>
2538 * c-ada-spec.c (dump_number): Add FLOAT_P parameter.
2539 Skip 'f' and 'F' characters if it is true.
2540 (store_ada_macro): Minor tweak.
2541 (dump_ada_macros) <CPP_COMMENT>: Likewise.
2542 <CPP_WSTRING>: Likewise.
2543 <CPP_STRING>: Output '&' in the buffer if not the first string.
2544 <CPP_NUMBER>: Adjust calls to dump_number.
2546 2018-01-10 David Malcolm <dmalcolm@redhat.com>
2549 * c-common.c: Include "selftest.h".
2550 (get_atomic_generic_size): Perform the test for integral type
2551 before the range test for any integer constant, fixing indentation
2552 of braces. Call fold_for_warn before testing for an INTEGER_CST.
2553 (reject_gcc_builtin): Strip any location wrapper from EXPR.
2554 (selftest::test_fold_for_warn): New function.
2555 (selftest::c_common_c_tests): New function.
2556 (selftest::c_family_tests): Call it, and
2557 selftest::c_pretty_print_c_tests.
2558 * c-common.h (selftest::c_pretty_print_c_tests): New decl.
2559 * c-format.c (check_format_arg): Convert VAR_P check to a
2561 * c-pretty-print.c: Include "selftest.h".
2562 (pp_c_cast_expression): Don't print casts for location wrappers.
2563 (selftest::assert_c_pretty_printer_output): New function.
2564 (ASSERT_C_PRETTY_PRINTER_OUTPUT): New macro.
2565 (selftest::test_location_wrappers): New function.
2566 (selftest::c_pretty_print_c_tests): New function.
2567 * c-warn.c (warn_for_memset): Call fold_for_warn on the arguments.
2569 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2570 Alan Hayward <alan.hayward@arm.com>
2571 David Sherwood <david.sherwood@arm.com>
2573 * c-common.c (c_common_type_for_mode): Handle MODE_VECTOR_BOOL.
2575 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2576 Alan Hayward <alan.hayward@arm.com>
2577 David Sherwood <david.sherwood@arm.com>
2579 * c-ubsan.c (ubsan_instrument_shift): Treat GET_MODE_BITSIZE
2582 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
2583 Alan Hayward <alan.hayward@arm.com>
2584 David Sherwood <david.sherwood@arm.com>
2586 * c-common.c (vector_types_convertible_p, c_build_vec_perm_expr)
2587 (convert_vector_to_array_for_subscript): Handle polynomial
2588 TYPE_VECTOR_SUBPARTS.
2589 (c_common_type_for_mode): Check valid_vector_subparts_p.
2590 * c-pretty-print.c (pp_c_initializer_list): Handle polynomial
2593 2018-01-03 Jakub Jelinek <jakub@redhat.com>
2595 Update copyright years.
2597 2017-12-22 Mike Stump <mikestump@comcast.net>
2598 Eric Botcazou <ebotcazou@adacore.com>
2600 * c-pragma.c (init_pragma): Register pragma GCC unroll.
2601 * c-pragma.h (enum pragma_kind): Add PRAGMA_UNROLL.
2603 2017-12-22 Alexandre Oliva <aoliva@redhat.com>
2607 * c-semantics.c (only_debug_stmts_after_p): New.
2608 (pop_stmt_list): Clear side effects in debug-only stmt list.
2609 Check for single nondebug stmt followed by debug stmts only.
2611 2017-12-21 Alexandre Oliva <aoliva@redhat.com>
2614 * c-semantics.c (pop_stmt_list): Propagate side effects from
2615 single nondebug stmt to container list.
2617 2017-12-19 Jakub Jelinek <jakub@redhat.com>
2619 * known-headers.cc (get_stdlib_header_for_name): Replace Yoda
2620 conditions with typical order conditions.
2622 2017-12-18 Marek Polacek <polacek@redhat.com>
2624 * c-warn.c (warn_logical_operator): Return early if -Wlogical-op is
2627 2017-12-17 Martin Sebor <msebor@redhat.com>
2629 * c-attribs.c (common_handle_aligned_attribute): Avoid issuing
2630 an error for attribute warn_if_not_aligned.
2632 2017-12-16 Martin Sebor <msebor@redhat.com>
2634 PR tree-optimization/78918
2635 * c-common.c (check_function_restrict): Avoid checking built-ins.
2636 * c.opt (-Wrestrict): Include in -Wall.
2638 2017-12-15 Jakub Jelinek <jakub@redhat.com>
2640 * c-attribs.c (c_common_attribute_table,
2641 c_common_format_attribute_table): Swap affects_type_identity
2642 and handler fields, adjust comments.
2644 2017-12-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
2646 * c.opt (Wcast-function-type): New warning option.
2647 * c-lex.c (get_fileinfo): Avoid warning.
2648 * c-ppoutput.c (scan_translation_unit_directives_only): Remove cast.
2650 2017-12-14 Qing Zhao <qing.zhao@oracle.com>
2653 * c-cppbuiltin.c (builtin_define_with_hex_fp_value):
2654 Adjust the size of buf1 and buf2, add a new buf to avoid
2655 format-overflow warning.
2657 2017-12-12 Alexandre Oliva <aoliva@redhat.com>
2659 * c-semantics.c (pop_stmt_list): Move begin stmt marker into
2660 subsequent statement list.
2662 2017-12-07 Martin Sebor <msebor@redhat.com>
2666 * c-attribs.c (attr_aligned_exclusions): New array.
2667 (attr_alloc_exclusions, attr_cold_hot_exclusions): Same.
2668 (attr_common_exclusions, attr_const_pure_exclusions): Same.
2669 (attr_gnu_inline_exclusions, attr_inline_exclusions): Same.
2670 (attr_noreturn_exclusions, attr_returns_twice_exclusions): Same.
2671 (attr_warn_unused_result_exclusions): Same.
2672 (handle_hot_attribute, handle_cold_attribute): Simplify.
2673 (handle_const_attribute): Warn on function returning void.
2674 (handle_pure_attribute): Same.
2675 (handle_aligned_attribute): Diagnose conflicting attribute
2677 * c-warn.c (diagnose_mismatched_attributes): Simplify.
2679 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2682 * c-common.c (selftest::c_family_tests): Call
2683 selftest::c_spellcheck_cc_tests.
2684 * c-common.h (selftest::c_spellcheck_cc_tests): New decl.
2685 * c-spellcheck.cc: Include "selftest.h".
2686 (name_reserved_for_implementation_p): New function.
2687 (should_suggest_as_macro_p): New function.
2688 (find_closest_macro_cpp_cb): Move the check for NT_MACRO to
2689 should_suggest_as_macro_p and call it.
2690 (selftest::test_name_reserved_for_implementation_p): New function.
2691 (selftest::c_spellcheck_cc_tests): New function.
2692 * c-spellcheck.h (name_reserved_for_implementation_p): New decl.
2694 2017-12-06 David Malcolm <dmalcolm@redhat.com>
2696 * c-spellcheck.cc: New file, taken from macro-handling code in
2698 * c-spellcheck.h: New file, taken from macro-handling code in
2701 2017-12-01 Jakub Jelinek <jakub@redhat.com>
2703 * c-attribs.c (c_common_attribute_table): Remove "cilk simd function"
2705 (handle_simd_attribute): Don't check for "cilk simd function"
2706 attribute. Reindent, formatting changes.
2708 2017-11-30 Julia Koval <julia.koval@intel.com>
2710 * c-common.h (inv_list): Remove.
2712 2017-11-28 Jakub Jelinek <jakub@redhat.com>
2715 * c-common.c (c_switch_covers_all_cases_p_1,
2716 c_switch_covers_all_cases_p): New functions.
2717 * c-common.h (c_switch_covers_all_cases_p): Declare.
2719 2017-11-28 Julia Koval <julia.koval@intel.com>
2720 Sebastian Peryt <sebastian.peryt@intel.com>
2722 * array-notation-common.c: Delete.
2723 * c-cilkplus.c: Ditto.
2724 * c-common.c (_Cilk_spawn, _Cilk_sync, _Cilk_for): Remove.
2725 * c-common.def (ARRAY_NOTATION_REF): Remove.
2726 * c-common.h (RID_CILK_SPAWN, build_array_notation_expr,
2727 build_array_notation_ref, C_ORT_CILK, c_check_cilk_loop,
2728 c_validate_cilk_plus_loop, cilkplus_an_parts,
2729 cilk_ignorable_spawn_rhs_op,
2730 cilk_recognize_spawn): Remove.
2731 * c-gimplify.c (CILK_SPAWN_STMT): Remove.
2732 * c-omp.c: Remove CILK_SIMD check.
2733 * c-pragma.c: Ditto.
2734 * c-pragma.h: Remove CILK related pragmas.
2735 * c-pretty-print.c (c_pretty_printer::postfix_expression): Remove
2736 ARRAY_NOTATION_REF condition.
2737 (c_pretty_printer::expression): Ditto.
2738 * c.opt (fcilkplus): Remove.
2741 2017-11-21 Marc Glisse <marc.glisse@inria.fr>
2743 * c-pretty-print.c (pp_c_additive_expression,
2744 c_pretty_printer::expression): Handle POINTER_DIFF_EXPR.
2746 2017-11-21 Jakub Jelinek <jakub@redhat.com>
2748 * c-common.c (get_nonnull_operand): Use tree_to_uhwi.
2751 * c-common.c (get_atomic_generic_size): Use TREE_INT_CST_LOW
2752 instead of tree_to_uhwi, formatting fix.
2754 2017-11-20 David Malcolm <dmalcolm@redhat.com>
2757 * known-headers.cc: New file, based on material from c/c-decl.c.
2758 (suggest_missing_header): Copied as-is.
2759 (get_stdlib_header_for_name): New, based on get_c_name_hint but
2760 heavily edited to add C++ support. Add some knowledge about
2761 <limits.h>, <stdint.h>, and <wchar.h>.
2762 * known-headers.h: Likewise.
2764 2017-11-20 David Malcolm <dmalcolm@redhat.com>
2766 * c-common.h (enum lookup_name_fuzzy_kind): Move to name-hint.h.
2767 (lookup_name_fuzzy): Likewise. Convert return type from
2768 const char * to name_hint. Add location_t param.
2769 * name-hint.h: New header.
2771 2017-11-19 Jakub Jelinek <jakub@redhat.com>
2775 * c-common.h (c_fully_fold): Add LVAL argument defaulted to false.
2777 2017-11-16 Joseph Myers <joseph@codesourcery.com>
2779 * c.opt (-std=c17, std=gnu17, -std=iso9899:2017): Refer to 2018
2780 expected publication date of C17.
2781 (-std=c18, -std=gnu18, -std=iso9899:2018): New option aliases.
2783 2017-11-15 Joseph Myers <joseph@codesourcery.com>
2786 * c-common.c (c_common_reswords): Add __builtin_tgmath.
2787 * c-common.h (enum rid): Add RID_BUILTIN_TGMATH.
2789 2017-11-10 Martin Sebor <msebor@redhat.com>
2792 * c-common.c (catenate_strings): Use memcpy instead of strncpy.
2793 * c-warn.c (sizeof_pointer_memaccess_warning): Handle arrays.
2794 * c.opt (-Wstringop-truncation): New option.
2796 2017-11-06 Martin Liska <mliska@suse.cz>
2799 * c-opts.c (c_common_post_options): Set -Wreturn-type for C++
2801 * c.opt: Set default value of warn_return_type.
2803 2017-10-31 David Malcolm <dmalcolm@redhat.com>
2805 * c-common.c (binary_op_error): Update for renaming of
2807 (c_parse_error): Likewise.
2808 * c-warn.c (warn_logical_not_parentheses): Likewise for
2809 renaming of inform_at_rich_loc.
2810 (warn_for_restrict): Likewise for renaming of
2811 warning_at_rich_loc_n.
2813 2017-10-30 Joseph Myers <joseph@codesourcery.com>
2815 * c.opt (std=c17, std=gnu17, std=iso9899:2017): New options.
2816 * c-opts.c (set_std_c17): New function.
2817 (c_common_init_options): Use gnu17 as default C version.
2818 (c_common_handle_option): Handle -std=c17 and -std=gnu17.
2820 2017-10-27 Michael Meissner <meissner@linux.vnet.ibm.com>
2822 * c-cppbuiltin.c (mode_has_fma): Add support for PowerPC KFmode.
2823 (c_cpp_builtins): If a machine has a fast fma _Float<N> and
2824 _Float<N>X variant, define __FP_FAST_FMA<N> and/or
2827 2017-10-23 Marek Polacek <polacek@redhat.com>
2830 * c-warn.c (warnings_for_convert_and_check): Fix typos.
2832 2017-10-19 Eric Botcazou <ebotcazou@adacore.com>
2834 * c-common.c (check_builtin_function_arguments): Also check arguments
2835 of __builtin_alloca_with_align_and_max.
2837 2017-10-17 David Malcolm <dmalcolm@redhat.com>
2839 * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION
2840 rather than NULL to format_warning_va.
2841 (check_format_types): Likewise when calling format_type_warning.
2842 Remove code to extract source_ranges and source_range * in favor
2843 of just a location_t.
2844 (format_type_warning): Convert source_range * param to a
2847 2017-10-13 Jakub Jelinek <jakub@redhat.com>
2849 * c-gimplify.c (c_gimplify_expr): Handle [LR]ROTATE_EXPR like
2852 2017-10-12 David Malcolm <dmalcolm@redhat.com>
2854 * c-common.c (enum missing_token_insertion_kind): New enum.
2855 (get_missing_token_insertion_kind): New function.
2856 (maybe_suggest_missing_token_insertion): New function.
2857 * c-common.h (maybe_suggest_missing_token_insertion): New decl.
2859 2017-10-11 Nathan Sidwell <nathan@acm.org>
2861 * c-opts.c (add_prefixed_path): Change chain to incpath_kind.
2862 (c_common_handle_option): Update incpath_kind names.
2864 2017-10-11 Martin Liska <mliska@suse.cz>
2867 * c-attribs.c (handle_no_sanitize_attribute): Report directly
2868 Wattributes warning.
2870 2017-10-10 Richard Sandiford <richard.sandiford@linaro.org>
2872 * c-ada-spec.c (dump_generic_ada_node): Use wi::to_wide when
2873 operating on trees as wide_ints.
2874 * c-common.c (pointer_int_sum): Likewise.
2875 * c-pretty-print.c (pp_c_integer_constant): Likewise.
2876 * c-warn.c (match_case_to_enum_1): Likewise.
2877 (c_do_switch_warnings): Likewise.
2878 (maybe_warn_shift_overflow): Likewise.
2880 2017-10-10 Jakub Jelinek <jakub@redhat.com>
2883 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_wide
2884 instead of wide_int::from.
2886 2017-10-06 Jakub Jelinek <jakub@redhat.com>
2889 * c-warn.c (warn_tautological_bitwise_comparison): Instead of
2890 using to_widest use wide_int with the larger of the two precisions.
2892 2017-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
2894 * c-pretty-print.c (pp_c_parameter_type_list): Print ... for variadic
2897 2017-10-02 Richard Sandiford <richard.sandiford@linaro.org>
2899 * c-warn.c (warn_tautological_bitwise_comparison): Use wi::to_widest
2900 when combining the original unconverted comparison operands.
2902 2017-09-29 Jakub Jelinek <jakub@redhat.com>
2904 * c-attribs.c (handle_noipa_attribute): Don't add "stack_protect"
2907 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2909 * c-ada-spec.c (to_ada_name): Add index parameter.
2910 (pp_ada_tree_identifier): Likewise.
2911 (dump_ada_macros): Adjust call to to_ada_name.
2912 (struct overloaded_name_hash): New type.
2913 (struct overloaded_name_hasher): Likewise.
2914 (overloaded_names): New hash table.
2915 (compute_overloading_index): New function.
2916 (dump_ada_decl_name): Call it and pass the result to
2917 pp_ada_tree_identifier.
2918 (dump_ada_double_name): Adjust calls to pp_ada_tree_identifier.
2919 (dump_ada_function_declaration): Likewise.
2920 (dump_generic_ada_node): Likewise.
2921 (print_constructor): Likewise.
2922 (print_destructor): Likewise.
2923 (dump_ada_specs): Delete overloaded_names table.
2925 2017-09-29 Eric Botcazou <ebotcazou@adacore.com>
2927 * c-ada-spec.c (max_ada_macros): Move around.
2928 (store_ada_macro_index): Likewise.
2929 (source_file): Rename into...
2930 (macro_source_file): ...this.
2931 (count_ada_macro): Move around.
2932 (store_ada_macro): Likewise.
2933 (compare_macro): Likewise.
2934 (print_ada_macros): Merge in...
2935 (dump_ada_macros): ...this.
2936 (source_file_base): Rename into...
2937 (current_source_file): ...this.
2938 (print_comment): Move around.
2939 (dump_ada_nodes): Call dump_ada_declaration directly.
2940 (struct with): Change type of limited field to bool.
2941 (append_withs): Change type of limited_access parameter to bool.
2942 (pp_ada_tree_identifie): Likewise.
2943 (dump_ada_decl_nam): Likewise.
2944 (dump_generic_ada_node): Likewise. Do not print the return type.
2945 (to_ada_name): Change type of space_found parameter to bool.
2946 (dump_ada_function_declaration): Return void and change type of
2947 parameters to bool. Also print the return type for a function.
2948 (print_ada_methods): Rename into...
2949 (dump_ada_methods): ...this.
2950 (print_ada_declaration): Rename into ...
2951 (dump_ada_declaration): ...this. Do not print the return type.
2952 (print_ada_struct_decl): Rename into...
2953 (dump_ada_struct_decl): ...this.
2955 2017-09-29 Jakub Jelinek <jakub@redhat.com>
2957 * c-attribs.c (handle_packed_attribute): Test DECL_C_BIT_FIELD
2958 rather than DECL_INITIAL.
2959 (common_handle_aligned_attribute): Likewise.
2961 2017-09-20 Alexandre Oliva <aoliva@redhat.com>
2963 * c.opt (gen-decls): Add RejectNegative.
2965 2017-09-15 Andrew Sutton <andrew.n.sutton@gmail.com>
2966 Jakub Jelinek <jakub@redhat.com>
2968 Add support for -std=c++2a.
2969 * c-common.h (cxx_dialect): Add cxx2a as a dialect.
2970 * opt.c: Add options for -std=c++2a and -std=gnu++2a.
2971 * c-opts.c (set_std_cxx2a): New.
2972 (c_common_handle_option): Set options when -std=c++2a is enabled.
2973 (c_common_post_options): Adjust comments.
2974 (set_std_cxx14, set_std_cxx17): Likewise.
2976 2017-09-15 Eric Botcazou <ebotcazou@adacore.com>
2978 * c-pragma.c (handle_pragma_scalar_storage_order): Expand on error
2979 message for non-uniform endianness and issue a warning in C++.
2981 2017-09-15 Jakub Jelinek <jakub@redhat.com>
2983 * c.opt (Wc++1z-compat): Change from option to undocumented alias.
2984 (Wc++17-compat): Change from undocumented alias to option.
2985 (Wnoexcept-type): Enable by Wc++17-compat instead of Wc++1z-compat,
2986 change C++1z to C++17 in description.
2987 (std=c++1z, std=gnu++1z): Change from option to undocumented
2989 (std=c++17, std=gnu++17): Change from undocumented alias to option.
2991 * c-common.h (enum cxx_dialect): Rename cxx1z to cxx17.
2992 * c-opts.c (set_std_cxx1z): Rename to ...
2993 (set_std_cxx17): ... this.
2994 (c_common_handle_option): Rename OPT_std_c__1z to OPT_std_c__17
2995 and OPT_std_gnu__1z to OPT_std_gnu__17. Adjust set_std_cxx1z
2997 (c_common_post_options): Use cxx17 instead of cxx1z. Adjust
3000 2017-09-12 H.J. Lu <hongjiu.lu@intel.com>
3002 * c-attribs.c (common_handle_aligned_attribute): Don't warn
3003 function alignment if warn_if_not_aligned_p is true.
3005 2017-09-12 Nathan Sidwell <nathan@acm.org>
3007 * c-common.c (field_decl_cmp, resort_data, resort_field_decl_cmp,
3008 resort_sorted_fields): Move to c/c-decl.c.
3009 * c-common.h (field_decl_cmp, resort_sorted_fields): Delete.
3010 (struct sorted_fields_type): Move to c/c-lang.h.
3012 2017-09-09 Jonathan Wakely <jwakely@redhat.com>
3015 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_threadsafe_static_init.
3017 2017-09-04 Marek Polacek <polacek@redhat.com>
3020 * c-warn.c (warn_tautological_bitwise_comparison): New function.
3021 (warn_tautological_cmp): Call it.
3023 2017-09-01 Boris Kolpackov <boris@codesynthesis.com>
3025 * c-opts.c (c_common_finish): Write dependency information even if
3028 2017-09-01 Jakub Jelinek <jakub@redhat.com>
3031 * c-pragma.c (omp_pragmas): Move "ordered" entry from here to ...
3032 (omp_pragmas_simd): ... here.
3033 * c-omp.c (c_finish_omp_ordered): If clauses isn't simd clause alone,
3034 create new clauses list containing just simd clause.
3036 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3037 Alan Hayward <alan.hayward@arm.com>
3038 David Sherwood <david.sherwood@arm.com>
3040 * c-attribs.c (vector_mode_valid_p) Fold GET_MODE_INNER call
3041 into scalar_mode_supported_p call.
3042 (handle_mode_attribute): Update call to scalar_mode_supported_p.
3044 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3045 Alan Hayward <alan.hayward@arm.com>
3046 David Sherwood <david.sherwood@arm.com>
3048 * c-common.c (c_common_fixed_point_type_for_size): Use opt_scalar_mode
3049 for the mode iterator.
3051 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3052 Alan Hayward <alan.hayward@arm.com>
3053 David Sherwood <david.sherwood@arm.com>
3055 * c-lex.c (interpret_fixed): Use SCALAR_TYPE_MODE.
3056 * c-common.c (c_build_vec_perm_expr): Likewise.
3058 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3059 Alan Hayward <alan.hayward@arm.com>
3060 David Sherwood <david.sherwood@arm.com>
3062 * c-common.c (c_common_type_for_mode): Use as_a <scalar_int_mode>.
3064 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3065 Alan Hayward <alan.hayward@arm.com>
3066 David Sherwood <david.sherwood@arm.com>
3068 * c-attribs.c (handle_mode_attribute): Check for a scalar_int_mode
3069 before calling targetm.addr_space.valid_pointer_mode.
3071 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3072 Alan Hayward <alan.hayward@arm.com>
3073 David Sherwood <david.sherwood@arm.com>
3075 * c-cppbuiltin.c (c_cpp_builtins): Use opt_scalar_float_mode.
3077 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3078 Alan Hayward <alan.hayward@arm.com>
3079 David Sherwood <david.sherwood@arm.com>
3081 * c-common.c (c_common_fixed_point_type_for_size): Use new mode
3083 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
3085 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
3086 Alan Hayward <alan.hayward@arm.com>
3087 David Sherwood <david.sherwood@arm.com>
3089 * c-cppbuiltin.c (mode_has_fma): Prefix mode names with E_ in
3092 2017-08-29 Martin Liska <mliska@suse.cz>
3095 * c-common.c (parse_optimize_options): Add argument to function
3097 * c-pragma.c (handle_pragma_diagnostic): Likewise.
3099 2017-08-24 David Malcolm <dmalcolm@redhat.com>
3101 * c-lex.c (interpret_float): Use token location
3102 when building an EXCESS_PRECISION_EXPR.
3104 2017-08-21 David Malcolm <dmalcolm@redhat.com>
3106 * c-common.c (check_function_arguments): Add "arglogs" param; pass
3107 it to check_function_format.
3108 * c-common.h (check_function_arguments): Add vec<location_t> *
3110 (check_function_format): Likewise.
3111 * c-format.c (struct format_check_context): Add field "arglocs".
3112 (check_function_format): Add param "arglocs"; pass it to
3114 (check_format_info): Add param "arglocs"; use it to initialize
3115 new field of format_ctx.
3116 (check_format_arg): Pass format_ctx->arglocs to new param of
3117 check_format_info_main.
3118 (class argument_parser): New field "arglocs".
3119 (argument_parser::argument_parser): Add "arglocs_" param and use
3120 it to initialize new field.
3121 (argument_parser::check_argument_type): Pass new arglocs field to
3123 (check_format_info_main): Add param "arglocs", and use it when
3124 constructing arg_parser.
3125 (check_format_types): Add param "arglocs"; use it if non-NULL when
3126 !EXPR_HAS_LOCATION (cur_param) to get at location information.
3128 2017-08-18 H.J. Lu <hongjiu.lu@intel.com>
3131 * c-attribs.c (handle_warn_if_not_aligned_attribute): New.
3132 (c_common_attribute_table): Add warn_if_not_aligned.
3133 (handle_aligned_attribute): Renamed to ...
3134 (common_handle_aligned_attribute): Remove argument, name, and add
3135 argument, warn_if_not_aligned. Handle warn_if_not_aligned.
3136 (handle_aligned_attribute): New.
3137 * c.opt: Add -Wif-not-aligned and -Wpacked-not-aligned.
3139 2017-08-14 Martin Sebor <msebor@redhat.com>
3142 * c-attribs.c (c_common_attribute_table): Add nonstring entry.
3143 (handle_nonstring_attribute): New function.
3145 2017-08-14 Martin Sebor <msebor@redhat.com>
3148 * c-format.h (T89_G): New macro.
3149 * c-format.c (local_gcall_ptr_node): New variable.
3150 (init_dynamic_diag_info): Initialize it.
3152 2017-08-11 Martin Liska <mliska@suse.cz>
3154 * c-opts.c (c_common_post_options): Replace ASM_OUTPUT_DEF with
3155 TARGET_SUPPORTS_ALIASES.
3157 2017-08-10 David Malcolm <dmalcolm@redhat.com>
3159 * c-common.c (c_parse_error): Add rich_location * param, using it
3160 rather implicitly using input_location.
3161 * c-common.h (c_parse_error): Add rich_location * param.
3163 2017-08-09 Marek Polacek <polacek@redhat.com>
3165 * c-common.c (pointer_int_sum): Use true/false instead of 1/0.
3166 (c_common_truthvalue_conversion): Likewise.
3167 * c-omp.c (c_finish_omp_atomic): Likewise.
3168 * c-common.h (build_binary_op): Update declaration.
3170 2017-08-08 Martin Liska <mliska@suse.cz>
3172 * c-ada-spec.c: Include header files.
3173 * c-ubsan.c: Likewise.
3174 * c-warn.c: Likewise.
3176 2017-08-07 Jakub Jelinek <jakub@redhat.com>
3179 * c-omp.c (c_finish_omp_atomic): Handle atomics on bitfields.
3181 2017-08-07 Eric Botcazou <ebotcazou@adacore.com>
3183 * c-ada-spec.c (has_nontrivial_methods): Test for FUNCTION_DECL.
3184 (print_ada_methods): Likewise.
3185 (print_ada_declaration): Likewise.
3187 2017-08-07 Martin Liska <mliska@suse.cz>
3189 * array-notation-common.c: Add new includes.
3190 * c-format.c( handle_format_attribute): Canonicalize a format
3192 * c-lex.c (c_common_has_attribute): Canonicalize name of an
3194 * c-pretty-print.c: Add new include.
3196 2017-08-05 Eric Botcazou <ebotcazou@adacore.com>
3198 * c-ada-spec.c (has_static_fields): Look only into variables.
3199 (print_constructor): Add TYPE parameter and use it for the name.
3200 (print_destructor): Likewise.
3201 (print_ada_declaration): Adjust to new constructor/destructor names.
3202 Adjust calls to print_constructor and print_destructor.
3203 (print_ada_struct_decl): Do not test TREE_STATIC on FIELD_DECL.
3204 Look only into variables in the final loop.
3206 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
3208 * c-ada-spec.c (has_static_fields): Look only into fields.
3209 (dump_generic_ada_node): Small tweak.
3210 (dump_nested_types): Look only into fields.
3211 (print_ada_declaration): Look only into methods. Small tweak.
3212 (print_ada_struct_decl): Look only into fields. Use DECL_VIRTUAL_P.
3214 2017-08-01 Eric Botcazou <ebotcazou@adacore.com>
3216 * c-ada-spec.c (print_generic_ada_decl): Pass correctly-typed constant.
3217 (dump_ada_function_declaration): Likewise.
3218 (dump_generic_ada_node): Likewise.
3219 (print_ada_declaration): Add support for const-qualified variables.
3221 2017-07-31 Martin Liska <mliska@suse.cz>
3224 * c-ubsan.c (ubsan_maybe_instrument_array_ref):
3225 Guard condition with flag_sanitize_p also with current_function_decl
3227 (ubsan_maybe_instrument_reference_or_call): Likewise.
3229 2017-07-30 Uros Bizjak <ubizjak@gmail.com>
3231 * c-format.c (asm_fprintf_char_table): Add 'z' to format_chars.
3233 2017-07-29 Eric Botcazou <ebotcazou@adacore.com>
3235 * c-ada-spec.c (dump_generic_ada_node): Take into account signedness
3237 (print_ada_declaration): Add missing guard for record types.
3239 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3242 * c-omp.c (c_finish_omp_for): If the condition is wrapped in
3243 rhs of COMPOUND_EXPR(s), skip them and readd their lhs into
3244 new COMPOUND_EXPRs around the rhs of the comparison.
3246 2017-07-27 Marek Polacek <polacek@redhat.com>
3249 * c-warn.c (warn_for_sign_compare): Tweak the warning message. Print
3252 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3254 * c-attribs.c (c_common_attribute_table): Add noipa attribute.
3255 (handle_noipa_attribute): New function.
3257 2017-07-07 Torsten Duwe <duwe@suse.de>
3259 * c-attribs.c (c_common_attribute_table): Add entry for
3260 "patchable_function_entry".
3262 2017-07-20 Nathan Sidwell <nathan@acm.org>
3264 Remove TYPE_METHODS.
3265 * c-ada-spec.c (is_tagged_type, has_nontrivial_methods,
3266 dump_ada_template, print_ada_methods,
3267 print_ada_declaration): Member fns are on TYPE_FIELDS.
3269 2017-07-18 Nathan Sidwell <nathan@acm.org>
3271 * c-warn.c (warn_for_memset): Use TYPE_{MIN,MAX}_VALUE.
3273 2017-07-14 David Malcolm <dmalcolm@redhat.com>
3275 * c-common.c (try_to_locate_new_include_insertion_point): New
3277 (per_file_includes_t): New typedef.
3278 (added_includes_t): New typedef.
3279 (added_includes): New variable.
3280 (maybe_add_include_fixit): New function.
3281 * c-common.h (maybe_add_include_fixit): New decl.
3283 2017-07-10 Martin Sebor <msebor@redhat.com>
3286 * c.opt (-Wstringop-overflow): Set defaults in LangEnabledBy.
3288 2017-07-06 David Malcolm <dmalcolm@redhat.com>
3290 * c-common.c (selftest::c_family_tests): New.
3291 * c-common.h (selftest::run_c_tests): Move decl to c/c-lang.h.
3292 (selftest::c_family_tests): New decl.
3294 2017-07-04 Marek Polacek <polacek@redhat.com>
3297 * c-common.c (sync_resolve_size): Give error for pointers to incomplete
3300 2017-07-04 Marek Polacek <polacek@redhat.com>
3302 * c-warn.c (warn_if_unused_value): Remove WITH_CLEANUP_EXPR handling.
3304 2017-06-28 Martin Liska <mliska@suse.cz>
3307 * c-attribs.c (handle_alias_ifunc_attribute): Append ifunc alias
3308 to a function declaration.
3310 2017-06-28 Martin Liska <mliska@suse.cz>
3313 * c.opt: Add IntegerRange to various options.
3315 2017-06-26 Marek Polacek <polacek@redhat.com>
3318 * c-common.h (warn_for_multistatement_macros): Declare.
3319 * c-warn.c: Include "c-family/c-indentation.h".
3320 (warn_for_multistatement_macros): New function.
3321 * c.opt (Wmultistatement-macros): New option.
3322 * c-indentation.c (guard_tinfo_to_string): No longer static.
3323 Change the parameter type to "enum rid". Handle RID_SWITCH.
3324 * c-indentation.h (guard_tinfo_to_string): Declare.
3326 2017-06-23 Marc Glisse <marc.glisse@inria.fr>
3328 * c-common.c (c_common_nodes_and_builtins): Use builtin_structptr_types.
3330 2017-06-15 Martin Sebor <msebor@redhat.com>
3333 * c.opt (-Wclass-memaccess): New option.
3335 2017-06-14 Boris Kolpackov <boris@codesynthesis.com>
3337 * c-opts.c (c_common_finish): Handle '-' special value to -MF.
3339 2017-06-13 Marek Polacek <polacek@redhat.com>
3342 * c-warn.c (do_warn_duplicated_branches): Return if any of the
3345 2017-06-13 Martin Liska <mliska@suse.cz>
3348 * c-attribs.c (add_no_sanitize_value): New function.
3349 (handle_no_sanitize_attribute): Likewise.
3350 (handle_no_sanitize_address_attribute): Use the function.
3351 (handle_no_sanitize_thread_attribute): New function.
3352 (handle_no_address_safety_analysis_attribute): Use
3353 add_no_sanitize_value.
3354 (handle_no_sanitize_undefined_attribute): Likewise.
3355 * c-common.h: Declare new functions.
3356 * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p.
3357 (ubsan_instrument_shift): Likewise.
3358 (ubsan_instrument_bounds): Likewise.
3359 (ubsan_maybe_instrument_array_ref): Likewise.
3360 (ubsan_maybe_instrument_reference_or_call): Likewise.
3362 2017-06-11 Jason Merrill <jason@redhat.com>
3364 * c-ada-spec.c, c-pragma.c: Use id_equal.
3366 2017-06-04 Marek Polacek <polacek@redhat.com>
3369 * c-format.c (matching_type_p): Return false if any of the types
3370 requires structural equality.
3372 2017-06-02 Martin Sebor <msebor@redhat.com>
3375 * c-warn.c (conversion_warning): Use -Wconversion for integer
3376 conversion and -Wfloat-conversion for floating one.
3378 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3380 * c.opt (Wsizeof-pointer-div): New warning option.
3382 2017-06-01 Volker Reichelt <v.reichelt@netcologne.de>
3384 * c.opt (Wcatch-value): New shortcut for Wcatch-value=1.
3385 (Wcatch-value=1): Enable by -Wall.
3387 2017-05-30 David Malcolm <dmalcolm@redhat.com>
3389 * c-format.c (gcc_cxxdiag_char_table): Add 'H' and 'I' to
3391 * c.opt (fdiagnostics-show-template-tree): New option.
3392 (felide-type): New option.
3394 2017-05-25 Volker Reichelt <v.reichelt@netcologne.de>
3396 * c.opt (Wcatch-value=): New C++ warning flag.
3398 2017-05-24 Nathan Sidwell <nathan@acm.org>
3400 * c=common.c (field_decl_cmp, resort_field_decl_cmp): Adjust T
3401 const casts to avoid warning.
3403 2017-05-24 Martin Sebor <msebor@redhat.com>
3406 * c-common.h (unsafe_conversion_p): Add a function argument.
3407 * c-common.c (unsafe_conversion_p): Same.
3408 Add type names and values to diagnostics.
3409 (scalar_to_vector): Adjust.
3410 * c-warn.c (constant_expression_error): Add a function argument.
3411 Add type names and values to diagnostics.
3412 (conversion_warning): Add a function argument.
3413 Add type names and values to diagnostics.
3414 (warnings_for_convert_and_check): Same.
3416 2017-05-19 Jason Merrill <jason@redhat.com>
3418 * c-warn.c (match_case_to_enum_1): Don't warn about enums with no
3421 2017-05-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
3423 * c-format.c (locus): Move out of function scope,
3426 2017-05-19 Nathan Sidwell <nathan@acm.org>
3428 * c-opts.c (class_dump_file, class_dump_flags): Delete.
3429 (c_common_parse_file): Remove class dump handling.
3430 (get_dump_info): Likewise.
3432 2017-05-19 Richard Biener <rguenther@suse.de>
3435 * c-warn.c (strict_aliasing_warning): Do not warn for accesses
3436 to alias-set zero memory.
3438 2017-05-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
3440 * c-format.c (local_tree_type_node): Add GTY attribute.
3442 2017-05-18 Marek Polacek <polacek@redhat.com>
3444 * c-common.c (c_common_type_for_size): Use NULL_TREE instead of 0.
3445 (c_common_fixed_point_type_for_size): Likewise.
3446 (c_common_type_for_mode): Likewise.
3447 (shorten_compare): Likewise.
3448 (c_promoting_integer_type_p): Use false/true instead of 0/1.
3449 * c-pragma.c (maybe_apply_renaming_pragma): Use NULL_TREE instead of 0.
3451 2017-05-18 Marek Polacek <polacek@redhat.com>
3453 * c-common.c (self_promoting_args_p): Change the return type to bool.
3454 Use false/true instead of 0/1.
3455 * c-common.h (self_promoting_args_p): Update.
3457 2017-05-17 Marek Polacek <polacek@redhat.com>
3459 * c-common.c: Use NULL_TREE instead of 0 where appropriate.
3460 * c-warn.c: Likewise.
3462 2017-05-17 Ville Voutilainen <ville.voutilainen@gmail.com>
3464 Implement new C++ intrinsics __is_assignable and __is_constructible.
3465 * c-common.c (__is_assignable, __is_constructible): New.
3466 * c-common.h (RID_IS_ASSIGNABLE, RID_IS_CONSTRUCTIBLE): Likewise.
3468 2017-05-17 Martin Liska <mliska@suse.cz>
3470 * c-common.h: Introduce dump_flags_t type and
3471 use it instead of int type.
3472 * c-gimplify.c (c_genericize): Likewise.
3473 * c-opts.c: Likewise.
3475 2017-05-17 Marek Polacek <polacek@redhat.com>
3477 * c-common.c (c_save_expr): Remove.
3478 (c_common_truthvalue_conversion): Remove a call to c_save_expr.
3479 * c-common.h (c_save_expr): Remove declaration.
3481 2017-05-09 Volker Reichelt <v.reichelt@netcologne.de>
3484 * c-pretty-print.c (c_pretty_printer::expression): Handle MAX_EXPR,
3485 MIN_EXPR, EXACT_DIV_EXPR, RDIV_EXPR, LROTATE_EXPR, RROTATE_EXPR.
3486 (c_pretty_printer::postfix_expression): Handle MAX_EXPR, MIN_EXPR.
3487 (c_pretty_printer::multiplicative_expression): Handle EXACT_DIV_EXPR,
3489 (pp_c_shift_expression): Handle LROTATE_EXPR, RROTATE_EXPR.
3491 2017-05-09 Marek Polacek <polacek@redhat.com>
3494 * c-warn.c (unwrap_c_maybe_const): New.
3495 (warn_logical_operator): Call it.
3497 2017-05-09 Nathan Sidwell <nathan@acm.org>
3499 * c-common.c (c_register_builtin_type): Use pushdecl lang_hook.
3500 * c-common.h (pushdecl_top_level, pushdecl): Don't declare here.
3502 2017-05-08 Martin Sebor <msebor@redhat.com>
3504 PR translation/80280
3505 * c-format.h (struct format_flag_spec): Add new member.
3507 * c-format.c (local_tree_type_node): New global.
3508 (printf_flag_specs, asm_fprintf_flag_spec): Initialize new data.
3509 (gcc_diag_flag_specs, scanf_flag_specs, strftime_flag_specs): Ditto.
3510 (strfmon_flag_specs): Likewise.
3511 (gcc_diag_char_table, gcc_cdiag_char_table): Split up specifiers
3512 with distinct quoting properties.
3513 (gcc_tdiag_char_table, gcc_cxxdiag_char_table): Same.
3514 (flag_chars_t::validate): Add argument and handle bad quoting.
3515 (check_format_info_main): Handle quoting problems.
3516 (init_dynamic_diag_info): Simplify.
3518 2017-05-08 Jason Merrill <jason@redhat.com>
3520 * c-opts.c (c_common_post_options): Update defaults for
3521 flag_abi_version and flag_abi_compat_version.
3523 2017-05-05 David Malcolm <dmalcolm@redhat.com>
3525 * c-common.c (c_cpp_error): Replace report_diagnostic
3526 with diagnostic_report_diagnostic.
3528 2017-05-04 Martin Sebor <msebor@redhat.com>
3530 PR translation/80280
3531 * c-attribs.c (handle_alias_ifunc_attribute): Quote a %D directive.
3532 (handle_weakref_attribute): Same.
3534 2017-05-03 Nathan Sidwell <nathan@acm.org>
3536 Canonicalize canonical type hashing
3537 * c-common.c (complete_array_type): Use type_hash_canon.
3539 2017-05-01 Xi Ruoyao <ryxi@stu.xidian.edu.cn>
3542 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): Remove
3544 (cilk_install_body_pedigree_operations): Likewise.
3545 * cilk.c (cilk_set_spawn_marker): Mark functions that should be
3547 (cilk_gimplify_call_params_in_spawned_fn): Remove.
3548 (cilk_install_body_pedigree_operations): Likewise.
3549 (gimplify_cilk_spawn): Add EXPR_STMT and CLEANUP_POINT_EXPR
3552 2017-04-27 Jakub Jelinek <jakub@redhat.com>
3555 * c-common.c (complete_array_type): Only hash TYPE_TYPELESS_STORAGE
3556 flag on non-aggregate element types.
3558 2017-04-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
3560 * c-common.c (c_type_hasher, type_hash_table): Remove.
3561 (c_common_get_alias_set): Remove unreachable code.
3562 * c-opts.c (c_common_post_options): Make sure cc1 takes only one file.
3564 2017-04-20 Volker Reichelt <v.reichelt@netcologne.de>
3566 * c.opt (Wextra-semi): New C++ warning flag.
3568 2017-04-20 Jakub Jelinek <jakub@redhat.com>
3571 * c-common.c (complete_array_type): Preserve TYPE_TYPELESS_STORAGE.
3573 2017-04-18 Jakub Jelinek <jakub@redhat.com>
3577 * c-common.c (c_common_type_for_mode): Don't handle
3578 widest_*_literal_type_node here.
3579 c_common_signed_or_unsigned_type): Likewise.
3580 (c_common_nodes_and_builtins): Set widest_*_literal_type_node
3581 to *intTI_type_node or *intDI_type_node depending on whether
3582 TImode is supported by the target or not.
3584 2017-04-10 Martin Liska <mliska@suse.cz>
3587 * c-ubsan.c (ubsan_instrument_shift): Evaluate RHS before
3588 doing an UBSAN check.
3590 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
3592 * c-warn.c (do_warn_double_promotion): Fix typo in comment.
3594 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3597 * c-ubsan.h (ubsan_maybe_instrument_reference): Change argument to
3599 * c-ubsan.c (ubsan_maybe_instrument_reference): Likewise. Handle
3600 not just NOP_EXPR to REFERENCE_TYPE, but also INTEGER_CST with
3603 2017-03-31 David Malcolm <dmalcolm@redhat.com>
3605 PR documentation/78732
3606 * c.opt (Wendif-labels): Fix description to refer to
3607 #else rather than #elif.
3609 2017-03-31 Jakub Jelinek <jakub@redhat.com>
3612 * c-common.h (enum rid): Add RID_IS_AGGREGATE.
3613 * c-common.c (c_common_reswords): Add __is_aggregate trait.
3615 2017-03-27 Jakub Jelinek <jakub@redhat.com>
3618 * c-common.c (c_common_mark_addressable_vec): Don't set
3619 TREE_ADDRESSABLE on DECL_HARD_REGISTER.
3621 2017-03-21 Martin Sebor <msebor@redhat.com>
3624 * c-common.c (set_underlying_type): Mark type used only when
3625 original del is declared unused.
3627 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3629 PR translation/79848
3630 * c-format.c (check_format_string): Simplify uses of "%<%s%>" to
3633 2017-03-10 David Malcolm <dmalcolm@redhat.com>
3636 * c-indentation.c (warn_for_misleading_indentation): Remove parens
3637 from inform's message, so that xgettext can locate it.
3639 2017-03-09 Marek Polacek <polacek@redhat.com>
3643 * c-attribs.c (handle_nonnull_attribute): Save the result of default
3644 conversion to the attribute list.
3646 2017-03-09 Martin Liska <mliska@suse.cz>
3648 * c-ada-spec.c (macro_length): Increment value instead of a pointer.
3650 2017-03-03 Jason Merrill <jason@redhat.com>
3652 * c.opt (Wnoexcept-type): New.
3654 2017-03-02 Richard Biener <rguenther@suse.de>
3657 * c-common.c (c_common_mark_addressable_vec): Look through
3660 2017-02-28 Martin Liska <mliska@suse.cz>
3662 * c.opt: Replace space with tabular for options of <number>
3665 2017-02-28 Martin Liska <mliska@suse.cz>
3667 * c.opt: Fix --help=option -Q for options which are of
3670 2017-02-24 Jakub Jelinek <jakub@redhat.com>
3673 * c-common.c (check_function_restrict): New function.
3674 (check_function_arguments): Add FNDECL argument. Call
3675 check_function_restrict if -Wrestrict.
3676 * c-warn.c (warn_for_restrict): Remove ARGS argument, add ARGARRAY
3677 and NARGS. Use auto_vec for ARG_POSITIONS, simplify.
3678 * c-common.h (check_function_arguments): Add FNDECL argument.
3679 (warn_for_restrict): Remove ARGS argument, add ARGARRAY and NARGS.
3681 2017-02-24 Eric Botcazou <ebotcazou@adacore.com>
3683 * c-ada-spec.c (dump_ada_function_declaration): Add comment about the
3684 treatment of parameters with pointer-to-tagged type and tidy up.
3685 (print_ada_methods): Remove the special treatment of C++ static member
3688 2017-02-22 Martin Liska <mliska@suse.cz>
3690 * c.opt: Replace inequality signs with square brackets
3693 2017-02-21 Jakub Jelinek <jakub@redhat.com>
3696 * c-attribs.c (handle_mode_attribute): Use build_qualified_type to
3699 2017-02-17 Joseph Myers <joseph@codesourcery.com>
3701 * c-cppbuiltin.c (builtin_define_float_constants): Define
3702 __DECIMAL_DIG__ to the value for long double.
3704 2017-02-15 Marek Polacek <polacek@redhat.com>
3707 * c-warn.c (do_warn_double_promotion): Don't warn if an invalid
3708 conversion has occured.
3710 2017-01-24 David Malcolm <dmalcolm@redhat.com>
3712 * c-common.c (c_common_reswords): Add "__RTL".
3713 * c-common.h (enum rid): Add RID_RTL.
3715 2017-01-20 Marek Polacek <polacek@redhat.com>
3718 * c-common.h (do_warn_duplicated_branches_r): Declare.
3719 * c-gimplify.c (c_genericize): Walk the function tree calling
3720 do_warn_duplicated_branches_r.
3721 * c-warn.c (expr_from_macro_expansion_r): New.
3722 (do_warn_duplicated_branches): New.
3723 (do_warn_duplicated_branches_r): New.
3724 * c.opt (Wduplicated-branches): New option.
3726 2017-01-17 David Malcolm <dmalcolm@redhat.com>
3729 * c-indentation.c (warn_for_misleading_indentation): Use the past
3730 subjunctive in the note.
3732 2017-01-17 Aldy Hernandez <aldyh@redhat.com>
3735 * array-notation-common.c (cilkplus_extract_an_triplets): Convert
3736 start type to integer_type.
3738 2017-01-16 Jakub Jelinek <jakub@redhat.com>
3741 * c.opt (gen-decls): Add Driver flag.
3743 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3746 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3749 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3751 2017-01-16 Paolo Carlini <paolo.carlini@oracle.com>
3754 * c-common.c (set_underlying_type): Always set DECL_ORIGINAL_TYPE.
3756 2017-01-12 Martin Sebor <msebor@redhat.com>
3758 (-Wformat-overflow): ...to this.
3760 2017-01-11 Martin Sebor <msebor@redhat.com>
3763 * c.opt (-Walloca-larger-than, -Wformat-length, -Wformat-truncation):
3764 Also enable for LTO.
3766 2017-01-10 Jason Merrill <jason@redhat.com>
3768 Implement P0195R2, C++17 variadic using.
3769 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_variadic_using.
3771 2017-01-09 Jakub Jelinek <jakub@redhat.com>
3773 PR translation/79019
3774 PR translation/79020
3775 * c.opt (Wnormalized=): Fix typo in description.
3777 2017-01-08 Martin Sebor <msebor@redhat.com>
3780 * c.opt (-Wformat-truncation): New option.
3782 2017-01-06 Alexandre Oliva <aoliva@redhat.com>
3784 * c-pretty-print.c (pp_c_tree_decl_identifier): Convert 16-bit
3785 value to unsigned short to fit in 4 hex digits without
3788 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
3790 * c.opt (fsso-struct): Add 'native' value.
3792 2017-01-05 Martin Liska <mliska@suse.cz>
3795 * c-opts.c (c_common_post_options): Reject '-' filename for a precompiled
3798 2017-01-04 Marek Polacek <polacek@redhat.com>
3801 * c.opt (Wpointer-compare): New option.
3803 2017-01-04 Jakub Jelinek <jakub@redhat.com>
3806 * c.opt (fsso-struct=): Add RejectNegative.
3808 2017-01-01 Jakub Jelinek <jakub@redhat.com>
3810 Update copyright years.
3812 2016-12-29 Martin Liska <mliska@suse.cz>
3815 * c.opt (strong-eval-order): Add RejectNegative keyword.
3817 2016-12-22 Jason Merrill <jason@redhat.com>
3819 Implement P0522R0, matching of template template arguments.
3820 * c-cppbuiltin.c (c_cpp_builtins): Define
3821 __cpp_template_template_args.
3823 2016-12-21 Jakub Jelinek <jakub@redhat.com>
3826 * c-common.c (struct nonnull_arg_ctx): New type.
3827 (check_function_nonnull): Return bool instead of void. Use
3828 nonnull_arg_ctx as context rather than just location_t.
3829 (check_nonnull_arg): Adjust for the new context type, set
3830 warned_p to true if a warning has been diagnosed.
3831 (check_function_arguments): Return bool instead of void.
3832 * c-common.h (check_function_arguments): Adjust prototype.
3834 2016-12-21 Jason Merrill <jason@redhat.com>
3836 * c.opt (-fnew-ttp-matching): New flag.
3837 * c-opts.c (c_common_post_options): Default on if -std=c++1z.
3839 2016-12-14 Martin Jambor <mjambor@suse.cz>
3841 * c-omp.c: Include omp-general.h instead of omp-low.h.
3842 (c_finish_oacc_wait): Adjusted call to find_omp_clause to use its new
3845 2016-12-14 Martin Sebor <msebor@redhat.com>
3848 * c-common.c (check_nonnull_arg): Disable when optimization
3851 2016-12-12 Marek Polacek <polacek@redhat.com>
3854 * c-common.c (attribute_fallthrough_p): Return false for
3857 2016-12-08 Martin Sebor <msebor@redhat.com>
3860 * c.opt (-Walloc-zero, -Walloc-size-larger-than): New options.
3862 2016-12-08 Martin Sebor <msebor@redhat.com>
3865 * c-pretty-print (pp_c_integer_constant): Avoid formatting type
3868 2016-12-07 Martin Sebor <msebor@redhat.com>
3874 * c.opt (-Wstringop-overflow): New option.
3876 2016-12-02 Maxim Ostapenko <m.ostapenko@samsung.com>
3878 * c-attribs.c (asan odr indicator): New attribute.
3879 (handle_asan_odr_indicator_attribute): New function.
3881 2016-11-26 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3883 * c-common.c (c_common_nodes_and_builtins): Remove initialization of
3886 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3888 * c-common.c (excess_precision_mode_join): New.
3889 (c_ts18661_flt_eval_method): New.
3890 (c_c11_flt_eval_method): Likewise.
3891 (c_flt_eval_method): Likewise.
3892 * c-common.h (excess_precision_mode_join): New.
3893 (c_flt_eval_method): Likewise.
3894 * c-cppbuiltin.c (c_cpp_flt_eval_method_iec_559): New.
3895 (cpp_iec_559_value): Call it.
3896 (c_cpp_builtins): Modify logic for __LIBGCC_*_EXCESS_PRECISION__,
3897 call c_flt_eval_method to set __FLT_EVAL_METHOD__ and
3898 __FLT_EVAL_METHOD_TS_18661_3__.
3900 2016-11-23 James Greenhalgh <james.greenhalgh@arm.com>
3902 * c-opts.c (c_common_post_options): Add logic to handle the default
3903 case for -fpermitted-flt-eval-methods.
3905 2016-11-23 Paolo Bonzini <bonzini@gnu.org>
3907 * c.opt (Wexpansion-to-defined): New.
3909 2016-11-23 Jakub Jelinek <jakub@redhat.com>
3912 * c-pragma.c (handle_pragma_target): Don't replace
3913 current_target_pragma, but chainon the new args to the current one.
3915 2016-11-22 Nathan Sidwell <nathan@acm.org>
3917 * array-notation-common.c (cilkplus_extract_an_trplets): Fix
3918 indentation and formatting.
3920 2016-11-21 Martin Sebor <msebor@redhat.com>
3922 * c.opt (-fprintf-return-value): Enable by default.
3924 2016-11-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
3927 * c.opt (-Wbuiltin-declaration-mismatch): New warning.
3928 * c-common.c (c_common_nodes_and_builtins): Initialize
3929 const_tm_ptr_type_node.
3931 2016-11-16 Marek Polacek <polacek@redhat.com>
3934 * c-common.c (c_add_case_label): Turn error_at calls into inform.
3936 2016-11-14 Jakub Jelinek <jakub@redhat.com>
3938 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_structured_bindings.
3940 2016-11-14 Prasad Ghangal <prasad.ghangal@gmail.com>
3941 Richard Biener <rguenther@suse.de>
3943 * c-common.h (c_common_resword): Add RID_GIMPLE, RID_PHI types.
3944 * c-common.h (enum rid): Add RID_GIMPLE, RID_PHI.
3945 * c.opt (fgimple): New option.
3947 2016-11-13 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
3950 * c-common.h (warn_for_restrict): Declare.
3951 * c-warn.c: Include gcc-rich-location.h.
3952 (warn_for_restrict): New function.
3953 * c-format.c (gcc_tdiag_char_table): Add entry for "Z" specifier.
3954 (gcc_cdiag_char_table): Likewise.
3955 (gcc_cxxdiag_char_table): Likewise.
3956 * c.opt (Wrestrict): New option.
3958 2016-11-13 Eric Botcazou <ebotcazou@adacore.com>
3960 * c-ada-spec.c (print_ada_declaration): For typedef declarations, look
3961 for nested types only if the type is a record or union and dump SLOC.
3963 2016-11-09 Jason Merrill <jason@redhat.com>
3965 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_template_auto.
3967 2016-11-09 Jakub Jelinek <jakub@redhat.com>
3969 * c-ubsan.c (ubsan_instrument_shift): Handle split
3970 -fsanitize=shift-base and -fsanitize=shift-exponent.
3972 2016-11-07 Jason Merrill <jason@redhat.com>
3974 * c.opt (Wc++1z-compat): New.
3975 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
3977 2016-11-07 Martin Liska <mliska@suse.cz>
3979 * c-warn.c (warn_for_unused_label): Save all labels used
3980 in goto or in &label.
3982 2016-11-03 Jason Merrill <jason@redhat.com>
3984 * c-cppbuiltin.c (c_cpp_builtins): Correct
3985 __cpp_inheriting_constructors.
3987 2016-11-01 Jason Merrill <jason@redhat.com>
3989 * c-cppbuiltin.c (c_cpp_builtins): Update
3990 __cpp_inheriting_constructors.
3992 * c.opt (-fnew-inheriting-ctors): New.
3993 * c-opts.c: Default to on for ABI 11+.
3995 2016-10-31 Jakub Jelinek <jakub@redhat.com>
3998 * c.opt (fext-numeric-literals): Add Var and Init.
3999 * c-opts.c (c_common_handle_option): Don't clear
4000 cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
4001 (c_common_post_options): Clear it here if not set
4004 2016-10-28 Aldy Hernandez <aldyh@redhat.com>
4007 * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
4010 2016-10-25 Jakub Jelinek <jakub@redhat.com>
4012 * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
4013 * c-common.c (c_common_reswords): Add __builtin_launder.
4015 2016-10-24 Bernd Edlinger <bernd.edlinger@hotmail.de>
4017 * c-common.c (c_common_truthvalue_conversion): Warn for
4018 multiplications in boolean context. Fix the quoting of '<<' and '<'
4019 in the shift warning.
4021 2016-10-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
4023 * c-common.c (c_common_truthvalue_conversion): Fix the comment.
4025 2016-10-20 Jason Merrill <jason@redhat.com>
4027 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
4029 2016-10-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4031 * c-common.c (c_common_truthvalue_conversion): Warn only for signed
4032 integer shift ops in boolean context.
4034 2016-10-18 Aldy Hernandez <aldyh@redhat.com>
4036 * c.opt (Walloca): New.
4037 (Walloca-larger-than=): New.
4038 (Wvla-larger-than=): New.
4040 2016-10-17 Marek Polacek <polacek@redhat.com>
4042 * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
4043 Return immediately when finding a match.
4044 (warn_tautological_cmp): Remove a boolean variable that is no longer
4047 2016-10-17 Marek Polacek <polacek@redhat.com>
4049 * c-attribs.c: New file.
4050 * c-common.c: Move attributes handling to c-attribs.c.
4051 (get_nonnull_operand): No longer static.
4052 * c-common.h: Move the declarations from c-attribs.c to its own section.
4054 2016-10-14 Jason Merrill <jason@redhat.com>
4056 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
4057 and __cpp_deduction_guides.
4059 2016-10-13 Jason Merrill <jason@redhat.com>
4061 * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
4063 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
4065 * c-cppbuiltin.c: Include memmodel.h.
4066 * c-opts.c: Likewise.
4067 * c-pragma.c: Likewise.
4068 * c-warn.c: Likewise.
4070 2016-10-12 Jakub Jelinek <jakub@redhat.com>
4072 * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
4073 (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
4074 * c-opts.c (sanitize_cpp_opts): Initialize
4075 cpp_opts->cpp_warn_implicit_fallthrough.
4077 2016-10-11 Marek Polacek <polacek@redhat.com>
4079 * c-common.c (warning_candidate_p): Change the return type to bool
4080 and return true/false instead of 1/0.
4081 (vector_mode_valid_p): Likewise.
4083 2016-10-11 Marek Polacek <polacek@redhat.com>
4085 * c-common.c (fold_for_warn): No longer static.
4086 (bool_promoted_to_int_p): Likewise.
4087 (c_common_get_narrower): Likewise.
4088 (constant_expression_warning): Move to c-warn.c.
4089 (constant_expression_error): Likewise.
4090 (overflow_warning): Likewise.
4091 (warn_logical_operator): Likewise.
4092 (find_array_ref_with_const_idx_r): Likewise.
4093 (warn_tautological_cmp): Likewise.
4094 (expr_has_boolean_operands_p): Likewise.
4095 (warn_logical_not_parentheses): Likewise.
4096 (warn_if_unused_value): Likewise.
4097 (strict_aliasing_warning): Likewise.
4098 (sizeof_pointer_memaccess_warning): Likewise.
4099 (check_main_parameter_types): Likewise.
4100 (conversion_warning): Likewise.
4101 (warnings_for_convert_and_check): Likewise.
4102 (match_case_to_enum_1): Likewise.
4103 (match_case_to_enum): Likewise.
4104 (c_do_switch_warnings): Likewise.
4105 (warn_for_omitted_condop): Likewise.
4106 (readonly_error): Likewise.
4107 (lvalue_error): Likewise.
4108 (invalid_indirection_error): Likewise.
4109 (warn_array_subscript_with_type_char): Likewise.
4110 (warn_about_parentheses): Likewise.
4111 (warn_for_unused_label): Likewise.
4112 (warn_for_div_by_zero): Likewise.
4113 (warn_for_memset): Likewise.
4114 (warn_for_sign_compare): Likewise.
4115 (do_warn_double_promotion): Likewise.
4116 (do_warn_unused_parameter): Likewise.
4117 (record_locally_defined_typedef): Likewise.
4118 (maybe_record_typedef_use): Likewise.
4119 (maybe_warn_unused_local_typedefs): Likewise.
4120 (maybe_warn_bool_compare): Likewise.
4121 (maybe_warn_shift_overflow): Likewise.
4122 (warn_duplicated_cond_add_or_warn): Likewise.
4123 (diagnose_mismatched_attributes): Likewise.
4124 * c-common.h: Move the declarations from c-warn.c to its own section.
4125 * c-warn.c: New file.
4127 2016-10-08 Jason Merrill <jason@redhat.com>
4129 * c-common.c (c_common_truthvalue_conversion): Don't distribute
4130 into COND_EXPR in C++.
4132 2016-10-08 Jakub Jelinek <jakub@redhat.com>
4134 * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
4135 token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
4136 CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
4138 2016-10-07 Jakub Jelinek <jakub@redhat.com>
4140 Implement LWG2296 helper intrinsic
4141 * c-common.h (enum rid): Add RID_ADDRESSOF.
4142 * c-common.c (c_common_reswords): Add __builtin_addressof.
4144 2016-10-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
4147 * c-common.c (c_common_truthvalue_conversion): Warn also for
4148 suspicious enum values in boolean context.
4150 2016-10-06 Jakub Jelinek <jakub@redhat.com>
4152 Implement P0258R2 - helper for C++17
4153 std::has_unique_object_representations trait
4154 * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
4155 * c-common.c (c_common_reswords): Add
4156 __has_unique_object_representations.
4158 2016-10-05 Jakub Jelinek <jakub@redhat.com>
4161 * c-ubsan.c (ubsan_instrument_return): Don't call
4162 initialize_sanitizer_builtins here.
4164 2016-10-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
4166 * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
4167 conditional expression in boolean context when only one arm is
4170 2016-10-05 Jakub Jelinek <jakub@redhat.com>
4173 * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
4176 * c-common.c (c_common_reswords): Update comment for C++11.
4178 2016-10-04 Jason Merrill <jason@redhat.com>
4180 * c-common.c (make_tree_vector_from_ctor): New.
4181 * c-common.h: Declare it.
4183 2016-10-04 Jakub Jelinek <jakub@redhat.com>
4185 * c-cppbuiltin.c (c_cpp_builtins): Don't define
4186 __LIBGCC_JCR_SECTION_NAME__.
4188 2016-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de>
4190 * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
4191 left shift in boolean context.
4193 2016-09-29 Jakub Jelinek <jakub@redhat.com>
4195 Implement P0001R1 - C++17 removal of register storage class specifier
4196 * c.opt (Wregister): New warning.
4197 * c-opts.c (c_common_post_options): Enable -Wregister by
4200 2016-09-29 James Greenhalgh <james.greenhalgh@arm.com>
4202 * c-opts.c (c_common_post_options): Remove special case for
4203 TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
4206 2016-09-27 Jakub Jelinek <jakub@redhat.com>
4208 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
4211 * c-ada-spec.c (print_ada_declaration): Remove break after return.
4213 2016-09-26 Thomas Preud'homme <thomas.preudhomme@arm.com>
4215 * c-common.c: Include memmodel.h.
4217 2016-09-26 Marek Polacek <polacek@redhat.com>
4219 * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
4221 2016-09-26 Marek Polacek <polacek@redhat.com>
4224 * c-common.c (c_common_attribute_table): Add fallthrough attribute.
4225 (handle_fallthrough_attribute): New function.
4226 (attribute_fallthrough_p): New function.
4227 * c-common.h (attribute_fallthrough_p): Declare.
4229 2016-09-24 Marek Polacek <polacek@redhat.com>
4232 * c.opt (Wbool-operation): New.
4234 2016-09-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
4236 * c-common.c (c_common_truthvalue_conversion): Inhibit
4237 Wint-in-bool-context warning with from_macro_definition_at.
4238 Mention the expression will always evaluate to true.
4240 2016-09-21 Martin Sebor <msebor@redhat.com>
4243 * c.opt (fprintf-return-value): Temporarily initialize to zero
4244 to unblock bootstrap failures.
4246 2016-09-21 Jakub Jelinek <jakub@redhat.com>
4249 * c.opt (Waligned-new=): Add RejectNegative.
4250 (faligned-new=): Likewise. Spelling fix - change
4251 aligned_new_threshhold to aligned_new_threshold.
4252 * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
4253 to aligned_new_threshold.
4255 2016-09-20 Martin Sebor <msebor@redhat.com>
4258 * c.opt: Add -Wformat-length and -fprintf-return-value.
4260 2016-09-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
4263 * c.opt (Wint-in-bool-context): New warning.
4264 * c-common.c (c_common_truthvalue_conversion): Warn on integer
4265 constants in boolean context.
4267 2016-09-19 Joseph Myers <joseph@codesourcery.com>
4269 * c-common.c (max_align_t_align): Also consider alignment of
4272 2016-09-15 Jason Merrill <jason@redhat.com>
4274 * c-common.c (check_cxx_fundamental_alignment_constraints): Check
4277 2016-09-14 Jason Merrill <jason@redhat.com>
4279 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4280 limit FIELD_DECL, either.
4282 2016-09-14 Marek Polacek <polacek@redhat.com>
4284 * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
4285 * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
4286 * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
4288 2016-09-13 David Malcolm <dmalcolm@redhat.com>
4290 * c-common.c (warn_logical_not_parentheses): Replace
4291 rich_location::add_fixit_insert calls with add_fixit_insert_before
4292 and add_fixit_insert_after, eliminating the "next_loc" calculation.
4294 2016-09-13 Jason Merrill <jason@redhat.com>
4295 Tom de Vries <tom@codesourcery.com>
4298 * c-common.c (set_underlying_type): Don't treat array as builtin type.
4300 2016-09-13 Jason Merrill <jason@redhat.com>
4302 * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
4305 2016-09-12 Jason Merrill <jason@redhat.com>
4307 * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
4308 bit/byte confusion, allow large alignment for types.
4310 2016-09-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
4313 * c-common.c (warn_for_omitted_condop): Also warn for boolean data.
4315 2016-09-12 David Malcolm <dmalcolm@redhat.com>
4318 * c-format.c (argument_parser::check_argument_type): Add params
4319 "type_start" and "conversion_char". Use the former to generate
4320 offset_to_type_start and pass it and conversion_char to
4322 (check_format_info_main): Capture the start of the type
4323 information as "type_start", and pass it an format_char
4324 to arg_parser.check_argument_type.
4325 (check_format_types): Provide an example in the leading comment.
4326 Add params "offset_to_type_start" and "conversion_char"; pass
4327 them to format_type_warning calls.
4328 (test_get_modifier_for_format_len): Likewise.
4329 (matching_type_p): New function.
4330 (get_format_for_type): Add param "conversion_char" and move
4331 implementation into...
4332 (get_format_for_type_1): ...new function, called twice.
4333 Use new function matching_type_p rather than checking for
4334 TYPE_CANONICAL equality.
4335 (get_corrected_substring): New function.
4336 (format_type_warning): Provide an example in the leading comment.
4337 Add params "offset_to_type_start" and "conversion_char". Replace
4338 call to get_format_for_type with call to get_corrected_substring
4339 and move rejection of hints for widths/precisions there.
4340 (assert_format_for_type_streq): Add param "conversion_char".
4341 (ASSERT_FORMAT_FOR_TYPE_STREQ): Add param CONVERSION_CHAR.
4342 (test_get_format_for_type_printf): Add conversion chars to the
4343 tests, adding coverage for various combinations of integer
4344 vs double conversions, and for preserving octal and hexadecimal
4346 (test_get_format_for_type_scanf): Add conversion chars to the
4349 2016-09-10 Tom de Vries <tom@codesourcery.com>
4352 * c-common.c (build_va_arg): Handle more strict
4353 targetm.canonical_va_list_type. Replace first argument type error with
4356 2016-09-09 Martin Sebor <msebor@redhat.com>
4360 * c-format.c (argument_parser::find_format_char_info): Use %qc
4361 format directive unconditionally.
4363 2016-09-09 Jason Merrill <jason@redhat.com>
4365 Implement C++17 new of over-aligned types.
4366 * c.opt: Add -faligned-new and -Waligned-new.
4367 * c-common.c (max_align_t_align): Split out from...
4368 (cxx_fundamental_alignment_p): ...here.
4369 * c-common.h: Declare it.
4370 * c-cppbuiltin.c (c_cpp_builtins): Handle aligned new.
4372 2016-09-09 Joseph Myers <joseph@codesourcery.com>
4374 * c-cppbuiltin.c (builtin_define_type_width): New function.
4375 (builtin_define_stdint_macros, c_cpp_builtins): Define type width
4378 2016-09-07 David Malcolm <dmalcolm@redhat.com>
4380 * c-common.c (get_cpp_ttype_from_string_type): Handle being passed
4382 (substring_loc::get_location): Move to substring-locations.c,
4383 keeping implementation as...
4384 (c_get_substring_location): New function, from the above, reworked
4385 to use accessors rather than member lookup.
4386 * c-common.h (class substring_loc): Move to substring-locations.h,
4387 replacing with a forward decl.
4388 (c_get_substring_location): New decl.
4389 * c-format.c: Include "substring-locations.h".
4390 (format_warning_va): Move to substring-locations.c.
4391 (format_warning_at_substring): Likewise.
4393 2016-09-06 Martin Sebor <msebor@redhat.com>
4396 * c-format.c (check_function_format): Avoid issuing warnings for
4397 functions unless they call format functions with non-constant
4400 2016-09-06 Richard Biener <rguenther@suse.de>
4403 * c-common.c (c_common_mark_addressable_vec): Handle
4404 COMPOUND_LITERAL_EXPR.
4406 2016-09-05 Marek Polacek <polacek@redhat.com>
4409 * c-common.c (bool_promoted_to_int_p): New function.
4410 (expr_has_boolean_operands_p): New function.
4411 (warn_logical_not_parentheses): Return if expr_has_boolean_operands_p.
4412 (maybe_warn_bool_compare): Use bool_promoted_to_int_p.
4414 2016-09-04 Tom de Vries <tom@codesourcery.com>
4417 2016-08-29 Tom de Vries <tom@codesourcery.com>
4419 * c-common.c (build_va_arg): Replace first argument type error
4422 2016-09-02 Jakub Jelinek <jakub@redhat.com>
4425 * c-omp.c (c_finish_omp_atomic): Reject _Atomic qualified expressions.
4426 (c_finish_omp_for): Reject _Atomic qualified iterators.
4428 2016-09-01 Martin Sebor <msebor@redhat.com>
4430 * c-ada-spec.c (dump_ada_function_declaration): Increase buffer
4431 size to guarantee it fits the output of the formatted function
4432 regardless of its arguments.
4434 2016-09-01 Marek Polacek <polacek@redhat.com>
4437 * c-common.c (resolve_overloaded_builtin): Fix formatting. Add
4440 2016-08-29 Marek Polacek <polacek@redhat.com>
4443 * c-common.c (warn_logical_not_parentheses): Don't warn for
4444 a comparison or a logical operator.
4446 2016-08-29 Tom de Vries <tom@codesourcery.com>
4448 * c-common.c (build_va_arg): Fix type comparison assert.
4450 2016-08-29 Tom de Vries <tom@codesourcery.com>
4452 * c-common.c (build_va_arg): Replace first argument type error
4455 2016-08-29 Tom de Vries <tom@codesourcery.com>
4458 * c-common.c (build_va_arg): Add first argument error. Build va_arg
4459 with error_mark_node as va_list instead of with illegal va_list.
4461 2016-08-25 Marek Polacek <polacek@redhat.com>
4462 David Malcolm <dmalcolm@redhat.com>
4464 * c-common.c (warn_logical_not_parentheses): Print fixit hints.
4465 * c-common.h (warn_logical_not_parentheses): Update declaration.
4467 2016-08-22 Marek Polacek <polacek@redhat.com>
4470 * c-common.c (warn_for_memset): Check type for null.
4472 2016-08-22 Joseph Myers <joseph@codesourcery.com>
4474 * c-cppbuiltin.c (c_cpp_builtins): Check _FloatN and
4475 _FloatNx types for suffixes for built-in functions.
4477 2016-08-19 Joseph Myers <joseph@codesourcery.com>
4480 * c-common.h (RID_FLOAT16, RID_FLOATN_NX_FIRST, RID_FLOAT32)
4481 (RID_FLOAT64, RID_FLOAT128, RID_FLOAT32X, RID_FLOAT64X)
4482 (RID_FLOAT128X): New enum rid values.
4483 (CASE_RID_FLOATN_NX): New macro.
4484 * c-common.c (c_common_reswords): Add _FloatN and _FloatNx
4486 (c_common_type_for_mode): Check for _FloatN and _FloatNx and
4487 corresponding complex types.
4488 (c_common_nodes_and_builtins): For non-C++, register _FloatN and
4489 _FloatNx and corresponding complex types.
4490 (keyword_begins_type_specifier): Use CASE_RID_FLOATN_NX.
4491 * c-cppbuiltin.c (builtin_define_float_constants): Check _FloatN
4492 and _FloatNx types for the widest type for determining
4493 DECIMAL_DIG. Define __LDBL_DECIMAL_DIG__ as well as
4494 __DECIMAL_DIG__ for long double. Handle FMA_SUFFIX being NULL.
4495 (c_cpp_builtins): Call builtin_define_float_constants for _FloatN
4497 * c-lex.c (interpret_float): Handle _FloatN and _FloatNx
4499 * c-pretty-print.c (pp_c_floating_constant): Handle _FloatN and
4502 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4504 * c-opts.c (c_diagnostic_finalizer): Update for change to
4505 diagnostic_show_locus.
4507 2016-08-18 David Malcolm <dmalcolm@redhat.com>
4509 * c-common.c: Include "spellcheck.h".
4510 (cb_get_suggestion): New function.
4511 * c-common.h (cb_get_suggestion): New decl.
4512 * c-lex.c (init_c_lex): Initialize cb->get_suggestion to
4515 2016-08-18 Marek Polacek <polacek@redhat.com>
4518 * c-common.c (get_atomic_generic_size): Disallow pointer-to-function
4521 2016-08-16 David Malcolm <dmalcolm@redhat.com>
4524 * c-common.c (substring_loc::get_range): Rename to...
4525 (substring_loc::get_location): ...this, converting param from a
4526 source_range * to a location_t *. Call
4527 get_source_location_for_substring rather than
4528 get_source_range_for_substring, and pass in m_caret_idx.
4529 * c-common.h (substring_loc::substring_loc): Add param "caret_idx".
4530 (substring_loc::get_range): Replace with...
4531 (substring_loc::get_location): ...this.
4532 (substring_loc::set_caret_index): New method.
4533 (substring_loc): Add field m_caret_idx.
4534 * c-format.c (format_warning_va): Update for above changes.
4535 Rename local "substring_loc" to "fmt_substring_loc" to avoid
4536 clashing with type name.
4537 (format_warning_at_char): Add caret_idx param to substring_loc ctor.
4538 (check_argument_type): Likewise.
4539 (format_type_warning): Rename param "fmt_loc" to "whole_fmt_loc"
4540 Use a copy when emitting warnings, setting the caret index from TYPE.
4542 2016-08-16 Eric Botcazou <ebotcazou@adacore.com>
4543 Arnaud Charlet <charlet@adacore.com>
4545 * c-ada-spec.c (dump_number): New function.
4546 (handle_escape_character): Likewise.
4547 (print_ada_macros): Add handling of constant integers and strings.
4549 2016-08-12 Marek Polacek <polacek@redhat.com>
4552 * c-common.c (scalar_to_vector): Adjust fall through comment.
4553 * c-opts.c (c_common_handle_option): Likewise.
4554 * c-pragma.c (handle_pragma_pack): Add FALLTHRU.
4555 * c-pretty-print.c (c_pretty_printer::postfix_expression): Adjust
4556 fall through comment.
4557 * cilk.c (extract_free_variables): Add FALLTHRU.
4559 2016-08-10 Jason Merrill <jason@redhat.com>
4561 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_if_constexpr.
4563 2016-08-09 Jason Merrill <jason@redhat.com>
4565 * c-common.c (c_common_attribute_table): vector_size affects type
4568 2016-08-09 Marek Polacek <polacek@redhat.com>
4571 * c-ada-spec.c (dump_generic_ada_node): Add return.
4573 2016-08-09 Jason Merrill <jason@redhat.com>
4575 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_constexpr for
4576 C++17 constexpr lambdas.
4578 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4581 * c-common.h (selftest::c_format_c_tests): New declaration.
4582 (selftest::run_c_tests): New declaration.
4583 * c-format.c: Include "selftest.h.
4584 (format_warning_va): Add param "corrected_substring" and use
4585 it to add a replacement fix-it hint.
4586 (format_warning_at_substring): Likewise.
4587 (format_warning_at_char): Update for new param of
4589 (argument_parser::check_argument_type): Pass "fki" to
4591 (check_format_types): Add param "fki" and pass it to
4592 format_type_warning.
4593 (deref_n_times): New function.
4594 (get_modifier_for_format_len): New function.
4595 (selftest::test_get_modifier_for_format_len): New function.
4596 (get_format_for_type): New function.
4597 (format_type_warning): Add param "fki" and use it to attempt
4598 to provide hints for argument types when calling
4599 format_warning_at_substring.
4600 (selftest::get_info): New function.
4601 (selftest::assert_format_for_type_streq): New function.
4602 (ASSERT_FORMAT_FOR_TYPE_STREQ): New macro.
4603 (selftest::test_get_format_for_type_printf): New function.
4604 (selftest::test_get_format_for_type_scanf): New function.
4605 (selftest::c_format_c_tests): New function.
4607 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4610 * c-format.c: Include "diagnostic.h".
4611 (location_column_from_byte_offset): Delete.
4612 (location_from_offset): Delete.
4613 (format_warning_va): New function.
4614 (format_warning_at_substring): New function.
4615 (format_warning_at_char): New function.
4616 (check_format_arg): Capture location of format_tree and pass to
4617 check_format_info_main.
4618 (argument_parser): Add fields "start_of_this_format" and
4619 "format_string_cst".
4620 (flag_chars_t::validate): Add param "format_string_cst". Convert
4621 warning_at call using location_from_offset to call to
4622 format_warning_at_char.
4623 (argument_parser::argument_parser): Add param "format_string_cst_"
4624 and use use it to initialize field "format_string_cst".
4625 Initialize new field "start_of_this_format".
4626 (argument_parser::read_format_flags): Convert warning_at call
4627 using location_from_offset to a call to format_warning_at_char.
4628 (argument_parser::read_any_format_left_precision): Likewise.
4629 (argument_parser::read_any_format_precision): Likewise.
4630 (argument_parser::read_any_other_modifier): Likewise.
4631 (argument_parser::find_format_char_info): Likewise, in three places.
4632 (argument_parser::parse_any_scan_set): Likewise, in one place.
4633 (argument_parser::handle_conversions): Likewise, in two places.
4634 (argument_parser::check_argument_type): Add param "fmt_param_loc"
4635 and use it to make a substring_loc. Pass the latter to
4637 (check_format_info_main): Add params "fmt_param_loc" and
4638 "format_string_cst". Convert warning_at calls using
4639 location_from_offset to calls to format_warning_at_char. Pass the
4640 new params to the arg_parser ctor. Pass "format_string_cst" to
4641 flag_chars.validate. Pass "fmt_param_loc" to
4642 arg_parser.check_argument_type.
4643 (check_format_types): Convert first param from a location_t
4644 to a const substring_loc & and rename to "fmt_loc". Attempt
4645 to extract the range of the relevant parameter and pass it
4646 to format_type_warning.
4647 (format_type_warning): Convert first param from a location_t
4648 to a const substring_loc & and rename to "fmt_loc". Add
4649 params "param_range" and "type". Replace calls to warning_at
4650 with calls to format_warning_at_substring.
4652 2016-08-08 David Malcolm <dmalcolm@redhat.com>
4654 * c-format.c (class flag_chars_t): New class.
4655 (struct length_modifier): New struct.
4656 (class argument_parser): New class.
4657 (flag_chars_t::flag_chars_t): New ctor.
4658 (flag_chars_t::has_char_p): New method.
4659 (flag_chars_t::add_char): New method.
4660 (flag_chars_t::validate): New method.
4661 (flag_chars_t::get_alloc_flag): New method.
4662 (flag_chars_t::assignment_suppression_p): New method.
4663 (argument_parser::argument_parser): New ctor.
4664 (argument_parser::read_any_dollar): New method.
4665 (argument_parser::read_format_flags): New method.
4666 (argument_parser::read_any_format_width): New method.
4667 (argument_parser::read_any_format_left_precision): New method.
4668 (argument_parser::read_any_format_precision): New method.
4669 (argument_parser::handle_alloc_chars): New method.
4670 (argument_parser::read_any_length_modifier): New method.
4671 (argument_parser::read_any_other_modifier): New method.
4672 (argument_parser::find_format_char_info): New method.
4673 (argument_parser::validate_flag_pairs): New method.
4674 (argument_parser::give_y2k_warnings): New method.
4675 (argument_parser::parse_any_scan_set): New method.
4676 (argument_parser::handle_conversions): New method.
4677 (argument_parser::check_argument_type): New method.
4678 (check_format_info_main): Introduce classes argument_parser
4679 and flag_chars_t, moving the code within the loop into methods
4680 of these classes. Make various locals "const".
4682 2016-08-05 David Malcolm <dmalcolm@redhat.com>
4684 * c-common.c: Include "substring-locations.h".
4685 (get_cpp_ttype_from_string_type): New function.
4686 (g_string_concat_db): New global.
4687 (substring_loc::get_range): New method.
4688 * c-common.h (g_string_concat_db): New declaration.
4689 (class substring_loc): New class.
4690 * c-lex.c (lex_string): When concatenating strings, capture the
4691 locations of all tokens using a new obstack, and record the
4692 concatenation locations within g_string_concat_db.
4693 * c-opts.c (c_common_init_options): Construct g_string_concat_db
4696 2016-07-29 Marek Polacek <polacek@redhat.com>
4699 * c-common.c (c_common_truthvalue_conversion): Use LOCATION for the
4700 parentheses warning.
4703 * c-common.c (handle_alloc_align_attribute): Also check FUNCTION_DECL.
4705 2016-07-28 Martin Liska <mliska@suse.cz>
4707 PR gcov-profile/68025
4708 * c-common.c (handle_no_profile_instrument_function_attribute):
4710 2016-07-27 Bernd Edlinger <bernd.edlinger@hotmail.de>
4712 * c-common.c (check_user_alignment): Use LOG2_BITS_PER_UNIT instead of
4715 2016-07-25 Jason Merrill <jason@redhat.com>
4718 * c.opt (fconstexpr-loop-limit): New.
4720 2016-07-22 Martin Sebor <msebor@redhat.com>
4723 * c-common.c (resolve_overloaded_builtin): Avoid converting
4724 __atomic_compare_exchange_n return type to that of what its
4725 first argument points to.
4727 2016-07-22 Uros Bizjak <ubizjak@gmail.com>
4729 * c-common.c: Use HOST_WIDE_INT_M1U instead of
4730 ~(unsigned HOST_WIDE_INT) 0.
4732 2016-07-22 Martin Liska <mliska@suse.cz>
4734 PR gcov-profile/69028
4735 PR gcov-profile/62047
4736 * cilk.c (create_cilk_helper_decl): Set location of a new decl
4737 to the current_function_decl.
4739 2016-07-21 Jason Merrill <jason@redhat.com>
4742 * c-common.c (c_common_truthvalue_conversion): Check
4743 c_inhibit_evaluation_warnings for warning about address of
4746 2016-07-20 David Malcolm <dmalcolm@redhat.com>
4748 * c-common.h (lookup_name_fuzzy): Convert return type from tree to
4751 2016-07-15 Jason Merrill <jason@redhat.com>
4753 * c-opts.c (c_common_post_options): Update -fabi-version default to 11.
4755 2016-07-15 Jakub Jelinek <jakub@redhat.com>
4758 * c-common.h (enum lookup_name_fuzzy_kind): Add
4759 FUZZY_LOOKUP_FUNCTION_NAME.
4761 2016-07-08 Jason Merrill <jason@redhat.com>
4763 P0145: Refining Expression Order for C++.
4764 * c.opts (-fargs-in-order): Rename to -fstrong-eval-order.
4767 2016-07-05 Markus Trippelsdorf <markus@trippelsdorf.de>
4770 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_rvalue_references.
4772 2016-06-29 Thomas Schwinge <thomas@codesourcery.com>
4774 * c-pragma.h (enum pragma_kind): Rename
4775 PRAGMA_OMP_DECLARE_REDUCTION to PRAGMA_OMP_DECLARE. Adjust all
4778 2016-06-29 Richard Biener <rguenther@suse.de>
4781 * c-common.c (c_common_get_alias_set): Remove union type punning case.
4783 2016-06-24 Jason Merrill <jason@redhat.com>
4785 P0145R2: Refining Expression Order for C++.
4786 * c-common.c (verify_tree) [COMPOUND_EXPR]: Fix handling on LHS of
4789 2016-06-24 Jakub Jelinek <jakub@redhat.com>
4791 * c-common.c (check_builtin_function_arguments): Require last
4792 argument of BUILT_IN_*_OVERFLOW_P to have INTEGER_TYPE type.
4793 Adjust wording of diagnostics for BUILT_IN_*_OVERLFLOW
4794 if the last argument is pointer to enumerated or boolean type.
4796 2016-06-22 David Malcolm <dmalcolm@redhat.com>
4799 * c-common.h (enum lookup_name_fuzzy_kind): New enum.
4800 (lookup_name_fuzzy): New prototype.
4802 2016-06-21 John David Anglin <danglin@gcc.gnu.org>
4804 * c-common.c (get_source_date_epoch): Use int64_t instead of long long.
4806 2016-06-14 Jason Merrill <jason@redhat.com>
4808 P0145R2: Refining Expression Order for C++.
4809 * c.opt (fargs-in-order): New.
4810 * c-opts.c (c_common_post_options): Adjust flag_args_in_order.
4812 2016-06-13 Jakub Jelinek <jakub@redhat.com>
4815 * c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
4816 all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
4818 PR preprocessor/71183
4819 * c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
4820 to cb_get_source_date_epoch.
4822 2016-06-10 Jakub Jelinek <jakub@redhat.com>
4825 * c.opt (Wpsabi): Add Warning flag.
4827 2016-06-10 Martin Sebor <msebor@redhat.com>
4830 * c-common.c (handle_nonnull_attribute): Accept
4831 the nonnull attribute in type-generic builtins.
4833 2016-06-09 Martin Sebor <msebor@redhat.com>
4836 * c-common.c (builtin_function_validate_nargs): Make text of error
4837 message consistent with others like it.
4839 2016-06-08 Martin Sebor <msebor@redhat.com>
4840 Jakub Jelinek <jakub@redhat.com>
4844 * c-common.c (check_builtin_function_arguments): Handle
4845 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW_P.
4847 2016-06-08 Richard Biener <rguenther@suse.de>
4849 * c-common.c (parse_optimize_options): Improve diagnostic messages.
4851 2016-06-07 Richard Biener <rguenther@suse.de>
4854 * c-common.c (parse_optimize_options): Only apply CL_OPTIMIZATION
4855 options and warn about others.
4857 2016-06-01 Eduard Sanou <dhole@openmailbox.org>
4859 * c-common.c (get_source_date_epoch): Rename to
4860 cb_get_source_date_epoch.
4861 * c-common.c (cb_get_source_date_epoch): Use a single generic erorr
4862 message when the parsing fails. Use error_at instead of fatal_error.
4863 * c-common.h (get_source_date_epoch): Rename to
4864 cb_get_source_date_epoch.
4865 * c-common.h (cb_get_source_date_epoch): Prototype.
4866 * c-common.h (MAX_SOURCE_DATE_EPOCH): Define.
4867 * c-common.h (c_omp_region_type): Remove trailing comma.
4868 * c-lex.c (init_c_lex): Set cb->get_source_date_epoch callback.
4869 * c-lex.c (c_lex_with_flags): Remove initialization of
4870 pfile->source_date_epoch.
4872 2016-05-30 Jakub Jelinek <jakub@redhat.com>
4875 * c-omp.c (c_omp_split_clauses): Put OMP_CLAUSE_DEPEND to
4876 C_OMP_CLAUSE_SPLIT_TARGET. Put OMP_CLAUSE_NOWAIT to
4877 C_OMP_CLAUSE_SPLIT_TARGET if combined with target construct,
4878 instead of C_OMP_CLAUSE_SPLIT_FOR.
4880 2016-05-24 Richard Biener <rguenther@suse.de>
4884 * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ...
4885 (convert_vector_to_array_for_subscript): ... this.
4886 * c-common.c (convert_vector_to_pointer_for_subscript): Use a
4887 VIEW_CONVERT_EXPR to an array type. Rename to ...
4888 (convert_vector_to_array_for_subscript): ... this.
4890 2016-05-12 Marek Polacek <polacek@redhat.com>
4893 * c-common.c (pointer_int_sum): Call size_in_bytes_loc instead of
4894 size_in_bytes and pass LOC to it.
4896 2016-05-11 Mikhail Maltsev <maltsevm@gmail.com>
4899 * c.opt (Wduplicate-decl-specifier): New option.
4901 2016-05-11 Marek Polacek <polacek@redhat.com>
4904 * c-common.c (diagnose_mismatched_attributes): New function.
4905 * c-common.h (diagnose_mismatched_attributes): Declare.
4907 2016-05-04 Marek Polacek <polacek@redhat.com>
4909 * c.opt (Wdangling-else): New option.
4911 2016-05-03 Marek Polacek <polacek@redhat.com>
4914 * c-common.c (builtin_function_validate_nargs): Add location
4916 (check_builtin_function_arguments): Add location and arguments
4917 parameters. Use them.
4918 * c-common.h (check_builtin_function_arguments): Update declaration.
4920 2016-05-03 Richard Biener <rguenther@suse.de>
4922 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Do not
4923 allow call args to gimplify to SSA names.
4925 2016-05-03 Marek Polacek <polacek@redhat.com>
4927 * c-common.h (enum c_omp_region_type): Remove stray comma.
4929 2016-05-02 Cesar Philippidis <cesar@codesourcery.com>
4931 * c-common.h (enum c_omp_region_type): Define.
4933 2016-05-02 Richard Sandiford <richard.sandiford@arm.com>
4935 * c-common.c (shorten_compare): Use wi::to_wide.
4937 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4940 * c-common.h (c_oacc_split_loop_clauses): Add boolean argument.
4941 * c-omp.c (c_oacc_split_loop_clauses): Use it to duplicate
4942 reduction clauses in acc parallel loops.
4944 2016-04-29 Marek Polacek <polacek@redhat.com>
4947 * c-common.c (warn_for_memset): Check domain before accessing it.
4949 2016-04-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
4952 * c-common.c (handle_aligned_attribute): Allow 0 as an argument to the
4953 "aligned" attribute.
4955 2016-04-28 Jason Merrill <jason@redhat.com>
4957 * c-lex.c (c_common_has_attribute): Handle nodiscard.
4959 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
4960 Matthias Klose <doko@debian.org>
4962 * c-common.c (get_source_date_epoch): New function, gets the environment
4963 variable SOURCE_DATE_EPOCH and parses it as long long with error
4965 * c-common.h (get_source_date_epoch): Prototype.
4966 * c-lex.c (c_lex_with_flags): set parse_in->source_date_epoch.
4968 2015-04-27 Ryan Burn <contact@rnburn.com>
4972 * cilk.c (cilk_ignorable_spawn_rhs_op): Change to external linkage.
4973 (cilk_recognize_spawn): Renamed from recognize_spawn and change to
4975 (cilk_detect_and_unwrap): Corresponding changes.
4976 (extract_free_variables): Don't extract free variables from
4977 AGGR_INIT_EXPR slot.
4978 * c-common.h (cilk_ignorable_spawn_rhs_op): Prototype.
4979 (cilk_recognize_spawn): Likewise.
4981 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
4983 * c.opt (Wmemset-elt-size): New option.
4984 * c-common.c (warn_for_memset): New function.
4985 * c-common.h (warn_for_memset): Declare.
4987 2016-04-25 Jason Merrill <jason@redhat.com>
4989 * c-common.c (handle_unused_attribute): Accept CONST_DECL.
4991 * c-common.h: Declare it.
4992 * c-lex.c (c_common_has_attribute): Add maybe_unused.
4994 2016-04-22 Jason Merrill <jason@redhat.com>
4996 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
4998 2016-04-20 Ilya Verbin <ilya.verbin@intel.com>
5001 * c-cilkplus.c (c_finish_cilk_clauses): Remove function.
5002 * c-common.h (c_finish_cilk_clauses): Remove declaration.
5004 2016-04-18 Michael Matz <matz@suse.de>
5006 * c-common.c (handle_aligned_attribute): Use SET_TYPE_ALIGN
5009 2016-04-17 Eric Botcazou <ebotcazou@adacore.com>
5011 * c-ada-spec.c (get_underlying_decl): Return the typedef, if any.
5012 (dump_generic_ada_node) <POINTER_TYPE>: Clean up handling of access
5013 to incomplete types.
5014 (dump_nested_type): Remove redundant tests and tidy up.
5015 (print_ada_declaration): Also set TREE_VISITED on the declaration of
5016 a type which is the typedef of an original type.
5018 2016-04-15 Marek Polacek <polacek@redhat.com>
5021 * c-common.c (build_va_arg): Change two asserts into errors and return
5024 2016-04-13 Marek Polacek <polacek@redhat.com>
5027 * c-indentation.c (should_warn_for_misleading_indentation): Bail out
5028 for switch statements, too.
5030 2016-03-28 Jason Merrill <jason@redhat.com>
5032 * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_range_based_for.
5034 2016-03-23 Marek Polacek <polacek@redhat.com>
5037 * c.opt (Wignored-attributes): New option.
5039 2016-03-22 David Malcolm <dmalcolm@redhat.com>
5042 * c-indentation.c (warn_for_misleading_indentation): Rewrite the
5043 diagnostic text, reversing the order of the warning and note so
5044 that they appear in source order.
5046 2016-03-17 Marek Polacek <polacek@redhat.com>
5049 * c-common.c (resolve_overloaded_builtin): Set TREE_USED for the fetch
5052 2016-03-14 Jason Merrill <jason@redhat.com>
5054 * c-cppbuiltin.c (c_cpp_builtins): Set __cpp_hex_float.
5056 * c-cppbuiltin.c (c_cpp_builtins): Bump __cpp_range_based_for.
5058 2016-03-09 Richard Biener <rguenther@suse.de>
5061 * c-common.c (strict_aliasing_warning): Add back
5062 alias_sets_conflict_p check.
5064 2016-03-08 Jason Merrill <jason@redhat.com>
5066 * c-opts.c (set_std_cxx1z): Don't enable concepts.
5068 2016-03-04 David Malcolm <dmalcolm@redhat.com>
5071 * c-indentation.c (get_visual_column): Move code to determine next
5073 (next_tab_stop): ...this new function.
5074 (line_contains_hash_if): Delete function.
5075 (detect_preprocessor_logic): Delete function.
5076 (get_first_nws_vis_column): New function.
5077 (detect_intervening_unindent): New function.
5078 (should_warn_for_misleading_indentation): Replace call to
5079 detect_preprocessor_logic with a call to
5080 detect_intervening_unindent.
5082 2016-03-04 David Malcolm <dmalcolm@redhat.com>
5085 * c-indentation.c (should_warn_for_misleading_indentation): When
5086 suppressing warnings about cases where the guard and body are on
5087 the same column, only use the first non-whitespace column in place
5088 of the guard token column when dealing with "else" clauses.
5089 When rejecting aligned BODY and NEXT, loosen the requirement
5090 from equality with the first non-whitespace of guard to simply
5091 that they not be indented relative to it.
5093 2016-03-04 Richard Biener <rguenther@suse.de>
5096 * c-common.c (strict_aliasing_warning): Use alias_set_subset_of
5097 instead of alias_sets_conflict_p.
5099 2016-03-01 Marek Polacek <polacek@redhat.com>
5102 * c-common.c (reject_gcc_builtin): Check for FUNCTION_DECL rather than
5105 2016-02-22 Martin Sebor <msebor@redhat.com>
5108 * c-common.c (check_builtin_function_arguments): Validate and
5109 reject invalid arguments to __builtin_alloca_with_align.
5111 2016-02-20 Mark Wielaard <mjw@redhat.com>
5114 * c.opt (Wunused-const-variable): Turn into Alias for...
5115 (Wunused-const-variable=): New option.
5117 2016-02-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
5120 * c-opts.c (c_common_post_options): Move call to set_std_cxx14 from
5122 (c_common_init_options): ...to here.
5123 (set_std_cxx98): Initialize flag_isoc94 and flag_isoc99.
5125 2016-02-19 Jakub Jelinek <jakub@redhat.com>
5128 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_GRAINSIZE.
5129 (init_pragma): Register PRAGMA_CILK_GRAINSIZE even for
5130 flag_preprocess_only.
5132 2016-02-16 Jakub Jelinek <jakub@redhat.com>
5135 * c.opt (Wnonnull-compare): Enable for -Wall.
5137 2016-02-15 Jakub Jelinek <jakub@redhat.com>
5140 * c-common.c (sync_resolve_size): Diagnose too few arguments
5141 even when params is non-NULL empty vector.
5143 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
5146 * c.opt (fshort-double): Remove.
5148 2016-02-05 Martin Sebor <msebor@redhat.com>
5151 * c.opt (Warning options): Update -Wplacement-new to take
5152 an optional argument.
5154 2016-02-01 Jakub Jelinek <jakub@redhat.com>
5156 PR preprocessor/69543
5158 * c-pragma.c (handle_pragma_diagnostic): Pass input_location
5159 instead of loc to control_warning_option.
5161 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5163 * c.opt (fopenacc-dim=): New option.
5165 2016-01-27 Ryan Burn <contact@rnburn.com>
5168 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): Change to use
5169 gimplify_arg. Removed superfluous post_p argument.
5170 * c-family.h (cilk_gimplify_call_params_in_spawned_fn): Removed
5171 superfluous post_p argument.
5172 * c-gimplify.c (c_gimplify_expr): Likewise.
5174 2016-01-26 David Malcolm <dmalcolm@redhat.com>
5177 * c-opts.c (c_diagnostic_finalizer): Replace invocation of
5178 pp_newline_and_flush with pp_flush.
5180 2016-01-20 Martin Sebor <msebor@redhat.com>
5183 * c-common.c (sync_resolve_size): Avoid printing diagnostic about
5184 an incompatible argument when the argument isn't a valid tree node.
5186 2016-01-18 Jason Merrill <jason@redhat.com>
5189 * c-common.c (check_function_arguments_recurse): Fold the whole
5190 COND_EXPR, not just the condition.
5192 2016-01-18 Tom de Vries <tom@codesourcery.com>
5194 * c-omp.c (c_oacc_split_loop_clauses): Don't copy OMP_CLAUSE_REDUCTION,
5195 classify as loop clause.
5197 2016-01-15 Jakub Jelinek <jakub@redhat.com>
5200 * c-pragma.c (c_register_pragma_1): Adjust comment to note that
5201 C++ FE no longer has limit on number of pragmas.
5203 2015-01-14 Ryan Burn <contact@rnburn.com>
5206 * cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
5207 to add missing cleanup point.
5209 2016-01-14 David Malcolm <dmalcolm@redhat.com>
5212 * c-indentation.c (get_visual_column): Add location_t param.
5213 Handle the column number being zero by effectively disabling the
5214 warning, with an "inform".
5215 (should_warn_for_misleading_indentation): Add location_t argument
5216 for all uses of get_visual_column.
5218 2016-01-10 Patrick Palka <ppalka@gcc.gnu.org>
5221 * c-indentation.c (should_warn_for_misleading_indentation):
5222 Don't warn about do-while statements.
5224 2016-01-07 Martin Sebor <msebor@redhat.com>
5227 * c-common.c (sync_resolve_size): Reject first argument when it's
5230 2016-01-05 David Malcolm <dmalcolm@redhat.com>
5233 * c-indentation.c (get_visual_column): Remove default argument.
5234 (should_warn_for_misleading_indentation): For the multiline case,
5235 update call to get_visual_column for next_stmt_exploc so that it
5236 captures the location of the first non-whitespace character in the
5237 relevant line. Don't issue warnings if there is non-whitespace
5238 before the next statement.
5240 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5242 Update copyright years.
5244 2015-12-21 David Malcolm <dmalcolm@redhat.com>
5246 * c-common.c (binary_op_error): Convert first param from
5247 location_t to rich_location * and use it when emitting an error.
5248 * c-common.h (binary_op_error): Convert first param from
5249 location_t to rich_location *.
5251 2015-12-16 David Malcolm <dmalcolm@redhat.com>
5253 * c-common.h (conflict_marker_get_final_tok_kind): New prototype.
5254 * c-lex.c (conflict_marker_get_final_tok_kind): New function.
5256 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5258 * c-common.c (c_common_attribute_table): Handle "omp declare target
5261 2015-12-14 Jakub Jelinek <jakub@redhat.com>
5264 * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option.
5266 2014-12-12 Tobias Burnus <burnus@net-b.de>
5269 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining
5270 specifiers (%d, %i,%u and %c).
5272 2015-12-10 David Malcolm <dmalcolm@redhat.com>
5274 * c.opt (Wmisleading-indentation): Add to -Wall for C and C++.
5276 2015-12-08 Jakub Jelinek <jakub@redhat.com>
5280 * c.opt (Wfloat-conversion, Wsign-conversion): Add Warning.
5281 * c-pragma.c (handle_pragma_diagnostic): Adjust
5282 control_warning_option caller.
5284 2015-12-07 David Malcolm <dmalcolm@redhat.com>
5286 * c-common.c (c_cpp_error): Update for change to
5287 rich_location::set_range.
5289 2015-12-04 Paolo Bonzini <bonzini@gnu.org>
5291 * c-common.c (maybe_warn_shift_overflow): Warn on all overflows if
5292 shifting 1 out of the sign bit.
5294 2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
5296 * c-common.c (c_common_attribute_table[]): Update max arguments
5297 count for "simd" attribute.
5298 (handle_simd_attribute): Parse "notinbranch" and "inbranch" arguments.
5300 2015-12-03 Jakub Jelinek <jakub@redhat.com>
5302 PR preprocessor/57580
5303 * c-ppoutput.c (print): Change printed field to bool.
5304 Move src_file last for smaller padding.
5305 (init_pp_output): Set print.printed to false instead of 0.
5306 (scan_translation_unit): Fix up formatting. Set print.printed
5307 to true after printing something other than newline.
5308 (scan_translation_unit_trad): Set print.printed to true instead of 1.
5309 (maybe_print_line_1): Set print.printed to false instead of 0.
5310 (print_line_1): Likewise.
5311 (do_line_change): Set print.printed to true instead of 1.
5312 (cb_define, dump_queued_macros, cb_include, cb_def_pragma,
5313 dump_macro): Set print.printed to false after printing newline.
5315 2015-12-02 Jason Merrill <jason@redhat.com>
5317 * c-common.c (fold_for_warn): New.
5318 (warn_logical_operator, warn_tautological_cmp)
5319 (check_function_arguments_recurse, maybe_warn_bool_compare): Use it.
5321 * c-common.c (c_disable_warnings, c_enable_warnings, c_fully_fold)
5322 (c_fully_fold_internal, decl_constant_value_for_optimization):
5324 * c-common.h: Don't declare decl_constant_value_for_optimization.
5326 2015-12-02 Joseph Myers <joseph@codesourcery.com>
5329 * c-common.h (c_build_qualified_type): Add extra default
5332 2015-12-01 Julian Brown <julian@codesourcery.com>
5333 Cesar Philippidis <cesar@codesourcery.com>
5334 James Norris <James_Norris@mentor.com>
5336 * c-pragma.c (oacc_pragmas): Add PRAGMA_OACC_HOST_DATA.
5337 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_HOST_DATA.
5338 (pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_USE_DEVICE.
5340 2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
5342 * c-ada-spec.c (print_ada_macros): Remove redundant blank line.
5343 (decl_sloc_common): Delete and move bulk of processing to...
5344 (decl_sloc): ...here.
5345 (pp_ada_tree_identifier): Remove reference to QUAL_UNION_TYPE.
5346 (dump_ada_double_name): Remove S parameter and compute the suffix.
5347 (dump_ada_array_type): Add PARENT parameter. Simplify computation of
5348 element type and deal with an anonymous one.
5349 (dump_ada_template): Use RECORD_OR_UNION_TYPE_P macro.
5350 (dump_generic_ada_node): Tweak. Adjust call to dump_ada_array_type
5351 and remove reference to QUAL_UNION_TYPE.
5352 (dump_nested_types): Make 2 passes on the fields and move bulk to...
5353 (dump_nested_type): ...here. New function extracted from above.
5354 Generate a full declaration for anonymous element type of arrays.
5355 (print_ada_declaration): Really skip anonymous declarations. Remove
5356 references to QUAL_UNION_TYPE. Adjust call to dump_ada_array_type.
5357 Clean up processing of declarations of array types and objects.
5358 (print_ada_struct_decl): Remove reference to QUAL_UNION_TYPE.
5359 Remove obsolete code and tidy up.
5361 2015-11-29 Jan Hubicka <hubicka@ucw.cz>
5364 * c-common.c (handle_transparent_union_attribute): Update
5367 2015-11-27 Martin Liska <mliska@suse.cz>
5370 * array-notation-common.c (cilkplus_extract_an_triplets):
5371 Release vector of vectors.
5372 * cilk.c (gimplify_cilk_spawn): Free allocated memory.
5374 2015-11-26 Eric Botcazou <ebotcazou@adacore.com>
5377 * c-ada-spec.c (dump_nested_types): Add guard for error_mark_node.
5378 (print_ada_struct_decl): Likewise.
5380 2015-11-23 Igor Zamyatin <igor.zamyatin@intel.com>
5383 * c-gimplify.c (c_gimplify_expr): Stop the process if see an error.
5384 * cilk.c (recognize_spawn): Determine location in a more precise
5387 2015-11-19 Jason Merrill <jason@redhat.com>
5389 * c-common.c (shorten_compare): But look through macros from
5392 2015-11-18 Jason Merrill <jason@redhat.com>
5394 * c-common.c (shorten_compare): Don't -Wtype-limits if the
5395 non-constant operand comes from a macro.
5397 2015-11-17 Jason Merrill <jason@redhat.com>
5400 * c-common.c (warn_tautological_cmp): Fold before checking for
5403 2015-11-16 Marek Polacek <polacek@redhat.com>
5406 * c-common.c (check_case_bounds): Fold low and high cases.
5408 2015-11-16 Marek Polacek <polacek@redhat.com>
5410 * c-ada-spec.c (dump_ada_template): Use RECORD_OR_UNION_TYPE_P.
5411 * c-common.c (c_common_get_alias_set): Likewise.
5412 (handle_visibility_attribute): Likewise.
5414 2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
5416 * c-common.c (handle_simd_attribute): New.
5417 (struct attribute_spec): Add entry for "simd".
5418 (handle_simd_attribute): New.
5420 2015-11-13 Kai Tietz <ktietz70@googlemail.com>
5422 * c-lex.c (interpret_float): Use fold_convert.
5424 2015-11-13 David Malcolm <dmalcolm@redhat.com>
5426 * c-common.c (c_fully_fold_internal): Capture existing souce_range,
5427 and store it on the result.
5428 * c-opts.c (c_common_init_options): Set
5429 global_dc->colorize_source_p.
5431 2015-11-12 James Norris <jnorris@codesourcery.com>
5432 Joseph Myers <joseph@codesourcery.com>
5434 * c-pragma.c (oacc_pragmas): Add entry for declare directive.
5435 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DECLARE.
5436 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_DEVICE_RESIDENT and
5437 PRAGMA_OACC_CLAUSE_LINK.
5439 2015-11-11 Marek Polacek <polacek@redhat.com>
5443 * c-common.c (valid_array_size_p): New function.
5444 * c-common.h (valid_array_size_p): Declare.
5446 2015-11-11 Dominique d'Humieres <dominiq@lps.ens.fr>
5449 * c-pragma.c (c_register_pragma_1): Update the gcc_assert to 256.
5451 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
5453 * array-notation-common.c: Remove unused header files.
5454 * c-ada-spec.c: Likewise.
5455 * c-cilkplus.c: Likewise.
5456 * c-common.c: Likewise.
5457 * c-cppbuiltin.c: Likewise.
5458 * c-dump.c: Likewise.
5459 * c-format.c: Likewise.
5460 * c-gimplify.c: Likewise.
5461 * c-indentation.c: Likewise.
5462 * c-lex.c: Likewise.
5463 * c-omp.c: Likewise.
5464 * c-opts.c: Likewise.
5465 * c-pch.c: Likewise.
5466 * c-ppoutput.c: Likewise.
5467 * c-pragma.c: Likewise.
5468 * c-pretty-print.c: Likewise.
5469 * c-semantics.c: Likewise.
5470 * c-ubsan.c: Likewise.
5472 * stub-objc.c: Likewise.
5474 2015-11-09 Thomas Schwinge <thomas@codesourcery.com>
5475 Cesar Philippidis <cesar@codesourcery.com>
5476 James Norris <jnorris@codesourcery.com>
5477 Julian Brown <julian@codesourcery.com>
5478 Nathan Sidwell <nathan@codesourcery.com>
5480 * c-pragma.c (oacc_pragmas): Add "routine".
5481 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ROUTINE.
5483 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
5485 * c-common.c (c_common_attributes): Add scalar_storage_order.
5486 (handle_scalar_storage_order_attribute): New function.
5487 * c-pragma.c (global_sso): New variable.
5488 (maybe_apply_pragma_scalar_storage_order): New function.
5489 (handle_pragma_scalar_storage_order): Likewise.
5490 (init_pragma): Register scalar_storage_order.
5491 * c-pragma.h (maybe_apply_pragma_scalar_storage_order): Declare.
5492 * c.opt (Wscalar-storage-order): New warning.
5493 (fsso-struct=): New option.
5495 2015-11-08 Martin Sebor <msebor@redhat.com>
5497 * c.opt (Wplacement-new): Add a period to the end of a sentence.
5499 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
5501 * c-common.c: Don't undef DEF_BUILTIN.
5503 2015-11-06 David Malcolm <dmalcolm@redhat.com>
5505 * c-common.c (c_cpp_error): Convert parameter from location_t to
5506 rich_location *. Eliminate the "column_override" parameter and
5507 the call to diagnostic_override_column.
5508 Update the "done_lexing" clause to set range 0
5509 on the rich_location, rather than overwriting a location_t.
5510 * c-common.h (c_cpp_error): Convert parameter from location_t to
5511 rich_location *. Eliminate the "column_override" parameter.
5513 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
5514 Thomas Schwinge <thomas@codesourcery.com>
5515 James Norris <jnorris@codesourcery.com>
5517 * c-omp.c (c_oacc_split_loop_clauses): Make TILE, GANG, WORKER, VECTOR,
5518 AUTO, SEQ, INDEPENDENT and PRIVATE loop clauses. Associate REDUCTION
5519 clauses with parallel and kernels and loops.
5520 * c-pragma.h (enum pragma_omp_clause): Add entries for
5521 PRAGMA_OACC_CLAUSE_{INDEPENDENT,TILE,DEFAULT}.
5522 * pt.c (tsubst_omp_clauses): Add support for OMP_CLAUSE_{NUM_GANGS,
5523 NUM_WORKERS,VECTOR_LENGTH,GANG,WORKER,VECTOR,ASYNC,WAIT,TILE,AUTO,
5525 (tsubst_expr): Add support for OMP_CLAUSE_{KERNELS,PARALLEL,LOOP}.
5527 2015-11-05 Martin Sebor <msebor@redhat.com>
5530 * c.opt (-Wplacement-new): New option.
5532 2015-11-05 Jakub Jelinek <jakub@redhat.com>
5534 * c-common.h (c_finish_omp_atomic): Add TEST argument.
5535 (c_omp_check_loop_iv, c_omp_check_loop_iv_exprs): New prototypes.
5536 * c-omp.c (c_finish_omp_atomic): Add TEST argument. Don't call
5537 save_expr or create_tmp_var* if TEST is true.
5538 (c_finish_omp_for): Store OMP_FOR_ORIG_DECLS always.
5539 Don't call add_stmt here.
5540 (struct c_omp_check_loop_iv_data): New type.
5541 (c_omp_check_loop_iv_r, c_omp_check_loop_iv,
5542 c_omp_check_loop_iv_exprs): New functions.
5543 (c_omp_split_clauses): Adjust for lastprivate being allowed on
5545 (c_omp_declare_simd_clauses_to_numbers): Change
5546 OMP_CLAUSE_LINEAR_VARIABLE_STRIDE OMP_CLAUSE_LINEAR_STEP into numbers.
5547 (c_omp_declare_simd_clauses_to_decls): Similarly change those
5548 from numbers to PARM_DECLs.
5550 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
5552 * c-omp.c (c_omp_split_clauses): Remove conditional compilation. Use
5555 2015-11-03 Bernd Schmidt <bschmidt@redhat.com>
5558 * c-common.h (fold_offsetof_1): Add argument.
5559 * c-common.c (fold_offsetof_1): Diagnose more invalid
5560 offsetof expressions that reference elements past the end of
5563 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
5564 Chung-Lin Tang <cltang@codesourcery.com>
5566 * c-pragma.c (oacc_pragmas): Add "atomic".
5567 * c-pragma.h (pragma_kind): Add PRAGMA_OACC_ATOMIC.
5569 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
5571 * c-common.c (handle_target_clones_attribute): New.
5572 (c_common_attribute_table): Add handle_target_clones_attribute.
5573 (handle_always_inline_attribute): Add check on target_clones attribute.
5574 (handle_target_attribute): Ditto.
5576 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
5578 * array-notation-common.c: Reorder #include's and remove duplicates.
5579 * c-ada-spec.c: Likewise.
5580 * c-cilkplus.c: Likewise.
5581 * c-common.c: Likewise.
5582 * c-cppbuiltin.c: Likewise.
5583 * c-dump.c: Likewise.
5584 * c-format.c: Likewise.
5585 * c-gimplify.c: Likewise.
5586 * c-indentation.c: Likewise.
5587 * c-lex.c: Likewise.
5588 * c-omp.c: Likewise.
5589 * c-opts.c: Likewise.
5590 * c-pch.c: Likewise.
5591 * c-ppoutput.c: Likewise.
5592 * c-pragma.c: Likewise.
5593 * c-pretty-print.c: Likewise.
5594 * c-semantics.c: Likewise.
5595 * c-ubsan.c: Likewise.
5597 * stub-objc.c: Likewise.
5599 2015-10-28 Jason Merrill <jason@redhat.com>
5601 * c-common.c (pointer_int_sum): Fold the MULT_EXPR.
5603 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5604 James Norris <jnorris@codesourcery.com>
5605 Cesar Philippidis <cesar@codesourcery.com>
5609 * c-common.h (c_oacc_split_loop_clauses): Declare function.
5610 * c-omp.c (c_oacc_split_loop_clauses): New function.
5612 2015-10-21 Martin Sebor <msebor@redhat.com>
5615 * c.opt: End each sentence that describes an option with a period.
5617 2015-10-20 Marek Polacek <polacek@redhat.com>
5619 * array-notation-common.c (is_cilkplus_vector_p): Define.
5620 * c-common.h (is_cilkplus_vector_p): Declare.
5622 2015-10-20 Marek Polacek <polacek@redhat.com>
5624 * c.opt (std=gnu++11): Do not describe as experimental.
5625 (std=gnu++14): Likewise.
5627 2015-10-19 Jason Merrill <jason@redhat.com>
5629 * c-cppbuiltin.c (c_cpp_builtins): Define
5630 __cpp_nontype_template_args.
5632 2015-10-19 Jason Merrill <jason@redhat.com>
5634 * c-cppbuiltin.c (c_cpp_builtins): Define
5635 __cpp_enumerator_attributes, __cpp_fold_expressions,
5636 __cpp_unicode_characters.
5638 2015-10-13 Jakub Jelinek <jakub@redhat.com>
5639 Aldy Hernandez <aldyh@redhat.com>
5641 * c-common.c (enum c_builtin_type): Define DEF_FUNCTION_TYPE_9,
5642 DEF_FUNCTION_TYPE_10 and DEF_FUNCTION_TYPE_11.
5643 (c_define_builtins): Likewise.
5644 * c-common.h (enum c_omp_clause_split): Add
5645 C_OMP_CLAUSE_SPLIT_TASKLOOP.
5646 (c_finish_omp_critical, c_finish_omp_ordered): Add CLAUSES argument.
5647 (c_finish_omp_for): Add ORIG_DECLV argument.
5648 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP as
5649 201511 instead of 201307.
5650 * c-omp.c (c_finish_omp_critical): Add CLAUSES argument, set
5651 OMP_CRITICAL_CLAUSES to it.
5652 (c_finish_omp_ordered): Add CLAUSES argument, set
5653 OMP_ORDERED_CLAUSES to it.
5654 (c_finish_omp_for): Add ORIG_DECLV argument, set OMP_FOR_ORIG_DECLS
5655 to it if OMP_FOR. Clear DECL_INITIAL on the IVs.
5656 (c_omp_split_clauses): Handle OpenMP 4.5 combined/composite
5657 constructs and new OpenMP 4.5 clauses. Clear
5658 OMP_CLAUSE_SCHEDULE_SIMD if not combined with OMP_SIMD. Add
5660 * c-pragma.c (omp_pragmas_simd): Add taskloop.
5661 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKLOOP.
5662 (enum pragma_omp_clause): Add
5663 PRAGMA_OMP_CLAUSE_{DEFAULTMAP,GRAINSIZE,HINT,{IS,USE}_DEVICE_PTR}
5664 and PRAGMA_OMP_CLAUSE_{LINK,NOGROUP,NUM_TASKS,PRIORITY,SIMD,THREADS}.
5666 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
5668 * c-lex.c (interpret_float): Use real_equal instead of
5671 2015-10-04 Jason Merrill <jason@redhat.com>
5673 Implement N4514, C++ Extensions for Transactional Memory.
5674 * c-common.c (c_common_reswords): Add C++ TM TS keywords.
5675 (c_common_attribute_table): Add transaction_safe_dynamic.
5676 transaction_safe now affects type identity.
5677 (handle_tm_attribute): Handle transaction_safe_dynamic.
5678 * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT,
5679 RID_ATOMIC_CANCEL, RID_SYNCHRONIZED.
5680 (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED.
5682 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory.
5683 * c-pretty-print.c (pp_c_attributes_display): Don't print
5684 transaction_safe in C++.
5686 2015-10-02 Marek Polacek <polacek@redhat.com>
5688 * c.opt (Wduplicated-cond): Don't enable by -Wall anymore.
5690 2015-10-02 Marek Polacek <polacek@redhat.com>
5693 * c-common.c (warn_duplicated_cond_add_or_warn): New function.
5694 * c-common.h (warn_duplicated_cond_add_or_warn): Declare.
5695 * c.opt (Wduplicated-cond): New option.
5697 2015-10-01 Joseph Myers <joseph@codesourcery.com>
5699 * c.opt (std=c11): Do not describe as experimental.
5700 (std=gnu11): Likewise.
5701 (std=iso9899:2011): Likewise.
5703 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
5705 * c-common.c (DEF_FUNCTION_TYPE_VAR_6): New.
5706 (DEF_FUNCTION_TYPE_VAR_11): Delete.
5708 2015-09-25 Marek Polacek <polacek@redhat.com>
5710 * c-ubsan.c (ubsan_instrument_division): Remove unnecessary code.
5711 (ubsan_instrument_shift): Likewise.
5713 2015-09-25 Marek Polacek <polacek@redhat.com>
5716 * c-ubsan.c (ubsan_instrument_division): Also pre-evaluate OP1.
5718 2015-09-24 Patrick Palka <ppalka@gcc.gnu.org>
5720 * c-indentation.c (should_warn_for_misleading_indentation):
5721 Compare next_stmt_vis_column with guard_line_first_nws instead
5722 of with guard_line_vis_column.
5724 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
5728 * c-pragma.c (handle_pragma_diagnostic): Detect non-warning
5729 options and options not valid for the current language.
5731 2015-09-22 Patrick Palka <ppalka@gcc.gnu.org>
5733 * c-indentation.c (should_warn_for_misleading_indentation):
5734 Float out and consolidate the calls to get_visual_column that
5735 are passed guard_exploc as an argument. Compare
5736 next_stmt_vis_column with guard_line_first_nws instead of with
5737 body_line_first_nws.
5739 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
5741 * c.opt (Wmultiple-inheritance, Wvirtual-inheritance, Wtemplates,
5742 Wnamespaces): New C++ warnings.
5744 2015-09-22 Jason Merrill <jason@redhat.com>
5746 * c-common.h (abi_compat_version_crosses): New.
5747 (warn_abi_version): Declare.
5748 * c-common.c: Define it.
5749 * c-opts.c (c_common_post_options): Handle it.
5750 flag_abi_compat_version defaults to 8.
5752 2015-09-21 Ville Voutilainen <ville.voutilainen@gmail.com>
5754 Complete the implementation of N4230, Nested namespace definition.
5755 * c-cppbuiltin.c: Add __cpp_namespace_attributes and
5756 __cpp_nested_namespace_definitions.
5758 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5760 * c-pragma.c (handle_pragma_diagnostic): Fix wrong return.
5762 2015-09-18 Manuel López-Ibáñez <manu@gcc.gnu.org>
5764 * c-pragma.c (handle_pragma_diagnostic): Use explicit location
5766 * c-pragma.h (pragma_lex): Add optional loc argument.
5768 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
5770 * c-format.c (check_format_arg): Adjust to use common block size in all
5773 2015-09-15 David Malcolm <dmalcolm@redhat.com>
5775 * c-format.c (location_from_offset): Update for change in
5776 signature of location_get_source_line.
5777 * c-indentation.c (get_visual_column): Likewise.
5778 (line_contains_hash_if): Likewise.
5780 2015-09-14 Marek Polacek <polacek@redhat.com>
5782 * c-opts.c (c_common_post_options): Set C++ standard earlier, before
5783 setting various warnings.
5785 2015-09-14 Marek Polacek <polacek@redhat.com>
5787 * c-common.c (warn_for_sign_compare): Cast to unsigned when shifting
5790 2015-09-11 Mark Wielaard <mjw@redhat.com>
5793 * c.opt (Wunused-variable): Option from common.opt.
5794 (Wunused-const-variable): New option.
5796 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
5799 * c.opt ([Wsubobject-linkage]): Add.
5801 2015-09-03 Martin Sebor <msebor@redhat.com>
5804 * c-common.h (c_decl_implicit, reject_gcc_builtin): Declare new
5806 * c-common.c (reject_gcc_builtin): Define.
5808 2015-09-02 Balaji V. Iyer <balaji.v.iyer@intel.com>
5811 * c-common.h (cilk_gimplify_call_params_in_spawned_fn): New
5813 * c-gimplify.c (c_gimplify_expr): Added a call to the function
5814 cilk_gimplify_call_params_in_spawned_fn.
5815 * cilk.c (cilk_gimplify_call_params_in_spawned_fn): New function.
5816 (gimplify_cilk_spawn): Removed EXPR_STMT and CLEANUP_POINT_EXPR
5819 2015-08-25 Marek Polacek <polacek@redhat.com>
5822 * c-common.c (handle_weak_attribute): Don't check whether the
5823 visibility can be changed here.
5825 2015-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
5827 * c-lex.c (c_lex_with_flags): Use explicit locations.
5829 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
5831 * c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
5832 c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
5834 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5837 * c-common.c (check_builtin_function_arguments): Add check
5838 for BUILT_IN_SIGNBIT argument.
5840 2015-08-18 Paolo Carlini <paolo.carlini@oracle.com>
5843 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
5846 2015-08-17 Marek Polacek <polacek@redhat.com>
5848 * c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
5849 with whitespaces before qualifier names.
5851 2015-08-12 Marek Polacek <polacek@redhat.com>
5854 * c-common.c (maybe_warn_shift_overflow): Properly handle
5855 left-shifting 1 into the sign bit.
5857 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
5859 * c.opt (Wchkp): Use LangEnabledBy instead of EnabledBy.
5861 2015-08-06 Andrew Sutton <andrew.n.sutton@gmail.com>
5862 Braden Obrzut <admin@maniacsvault.net>
5863 Jason Merrill <jason@redhat.com>
5865 Add C++ Concepts TS support.
5866 * c-common.c (c_common_reswords): Add __is_same_as, concept, requires.
5867 * c-common.h (enum rid): Add RID_IS_SAME_AS, RID_CONCEPT, RID_REQUIRES.
5868 (D_CXX_CONCEPTS, D_CXX_CONCEPTS_FLAGS): New.
5869 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_concepts.
5870 * c-opts.c (set_std_cxx1z): Set flag_concepts.
5871 * c.opt (fconcepts): New.
5873 2015-08-02 Martin Sebor <msebor@redhat.com>
5875 * c.opt (-Wframe-address): New warning option.
5877 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5879 * c-indentation.c (should_warn_for_misleading_indentation):
5882 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5884 * c-indentation.c (get_visual_column): Add parameter first_nws,
5885 use it. Update comment documenting the function.
5886 (is_first_nonwhitespace_on_line): Remove.
5887 (should_warn_for_misleading_indentation): Replace usage of
5888 of is_first_nonwhitespace_on_line with get_visual_column.
5890 2015-08-02 Patrick Palka <ppalka@gcc.gnu.org>
5892 * c-indentation.h (struct token_indent_info): Define.
5893 (get_token_indent_info): Define.
5894 (warn_for_misleading_information): Declare.
5895 * c-common.h (warn_for_misleading_information): Remove.
5896 * c-identation.c (warn_for_misleading_indentation):
5897 Change declaration to take three token_indent_infos. Adjust
5899 * c-identation.c (should_warn_for_misleading_indentation):
5900 Likewise. Bail out early if the body is a compound statement.
5901 (guard_tinfo_to_string): Define.
5903 2015-07-30 Jason Merrill <jason@redhat.com>
5905 * c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
5906 '*' for reference decay.
5908 2015-07-30 Marek Polacek <polacek@redhat.com>
5910 * c-common.c (warn_tautological_cmp): Bail for float types.
5912 2015-07-27 Marek Polacek <polacek@redhat.com>
5915 * c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
5917 2015-07-27 Marek Polacek <polacek@redhat.com>
5921 * c-common.c (find_array_ref_with_const_idx_r): New function.
5922 (warn_tautological_cmp): New function.
5923 * c-common.h (warn_tautological_cmp): Declare.
5924 * c.opt (Wtautological-compare): New option.
5926 2015-07-23 Marek Polacek <polacek@redhat.com>
5928 * c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
5929 (ubsan_instrument_shift): Likewise.
5931 2015-07-23 Marek Polacek <polacek@redhat.com>
5934 * c-ubsan.c: Include gimplify.h.
5935 (ubsan_instrument_division): Unshare OP0 and OP1.
5936 (ubsan_instrument_shift): Likewise.
5938 2015-07-20 Marek Polacek <polacek@redhat.com>
5939 Richard Sandiford <richard.sandiford@arm.com>
5942 * c-common.c (c_fully_fold_internal): Warn about left shift overflows.
5943 Use EXPR_LOC_OR_LOC.
5944 (maybe_warn_shift_overflow): New function.
5945 * c-common.h (maybe_warn_shift_overflow): Declare.
5946 * c-opts.c (c_common_post_options): Set warn_shift_overflow.
5947 * c.opt (Wshift-overflow): New option.
5949 2015-07-16 Martin Liska <mliska@suse.cz>
5951 * c-format.c (static void check_format_info_main): Use
5952 object_allocator instead of pool_allocator.
5953 (check_format_arg): Likewise.
5954 (check_format_info_main): Likewise.
5956 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
5958 * c-opts.c: Remove multiline #include comment.
5960 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
5962 * c-common.c: Fix double word typos.
5964 2015-07-10 Eric Botcazou <ebotcazou@adacore.com>
5966 * c-ada-spec.h (cpp_operation): Revert latest change.
5967 * c-ada-spec.c (print_ada_declaration): Likewise. Skip implicit
5968 constructors and destructors.
5970 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
5972 * c-common.h: Adjust includes for flags.h changes.
5973 * stub-objc.c: Likewise.
5975 2015-07-08 Eric Botcazou <ebotcazou@adacore.com>
5977 * c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
5978 * c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
5980 2015-07-08 Jakub Jelinek <jakub@redhat.com>
5982 * c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
5983 are to be removed, return NULL rather than original clauses list.
5985 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
5987 * array-notation-common.c: Adjust includes.
5988 * c-ada-spec.c: Likewise.
5989 * c-cilkplus.c: Likewise.
5990 * c-common.h: Likewise.
5991 * c-cppbuiltin.c: Likewise.
5992 * c-dump.c: Likewise.
5993 * c-format.c: Likewise.
5994 * c-gimplify.c: Likewise.
5995 * c-indentation.c: Likewise.
5996 * c-lex.c: Likewise.
5997 * c-omp.c: Likewise.
5998 * c-opts.c: Likewise.
5999 * c-pch.c: Likewise.
6000 * c-ppoutput.c: Likewise.
6001 * c-pragma.c: Likewise.
6002 * c-pretty-print.c: Likewise.
6003 * c-semantics.c: Likewise.
6004 * c-ubsan.c: Likewise.
6006 * stub-objc.c: Likewise.
6008 2015-07-07 Eric Botcazou <ebotcazou@adacore.com>
6010 * c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
6011 * c-ada-spec.c (print_ada_declaration): Skip move constructors.
6013 2015-07-01 Jason Merrill <jason@redhat.com>
6015 * c-common.h (D_CXX11): Rename from D_CXX0X.
6016 (RID_FIRST_CXX11, RID_LAST_CXX11): Rename from *_CXX0X.
6017 * c-common.c: Adjust.
6019 * c-opts.c (c_common_post_options): Default to C++14.
6021 * c-opts.c (c_common_post_options): Highest ABI level is now 10.
6023 2015-06-30 Edward Smith-Rowland <3dw4rd@verizon.net>
6025 Implement N4197 - Adding u8 character literals
6026 * c-ada-spec.c (print_ada_macros): Treat CPP_UTF8CHAR like
6028 * c-common.c (c_parse_error): Print CPP_UTF8CHAR and
6029 CPP_UTF8CHAR_USERDEF tokens.
6030 * c-lex.c (c_lex_with_flags): Treat CPP_UTF8CHAR_USERDEF
6031 and CPP_UTF8CHAR tokens.
6032 (lex_charconst): Treat CPP_UTF8CHAR token.
6034 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
6037 * c-common.c (do_warn_unused_parameter): Move here.
6038 * c-common.h (do_warn_unused_parameter): Declare.
6040 2015-06-29 Marek Polacek <polacek@redhat.com>
6043 * c-common.c (check_case_bounds): Add bool * parameter. Set
6045 (c_add_case_label): Add bool * parameter. Pass it down to
6047 (c_do_switch_warnings): Add bool parameters. Implement -Wswitch-bool
6049 * c-common.h (c_add_case_label, c_do_switch_warnings): Update
6052 2015-06-27 Marek Polacek <polacek@redhat.com>
6054 * c-common.c (check_main_parameter_types): Use VECTOR_TYPE_P
6055 or VECTOR_INTEGER_TYPE_P throughout.
6056 * c-gimplify.c: Likewise.
6058 2015-06-26 Marek Polacek <polacek@redhat.com>
6060 * array-notation-common.c (find_rank): Use INDIRECT_REF_P.
6061 * c-common.c (c_fully_fold_internal): Likewise.
6062 (c_alignof_expr): Likewise.
6063 * c-pretty-print.c (c_pretty_printer::postfix_expression): Likewise.
6064 * c-ubsan.c (ubsan_instrument_bounds): Likewise.
6065 * cilk.c (create_parm_list): Likewise.
6067 2015-06-26 Marek Polacek <polacek@redhat.com>
6069 * c-common.c (handle_unused_attribute): Use VAR_OR_FUNCTION_DECL_P.
6071 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
6073 * c-common.c: Remove ipa-ref.h and plugin-api.h from include list.
6074 * c-gimplify.c: Likewise.
6075 * c-pragma.c: Likewise.
6076 * c-ubsan.c: Likewise.
6079 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
6081 * c-common.c (c_type_hasher): Inherit from ggc_ptr_hash rather than
6084 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
6086 * cilk.c: Move calls.h after tm.h in the include chain.
6088 2015-06-25 Marek Polacek <polacek@redhat.com>
6090 * array-notation-common.c: Use VAR_P throughout.
6091 * c-ada-spec.c: Likewise.
6092 * c-common.c: Likewise.
6093 * c-format.c: Likewise.
6094 * c-gimplify.c: Likewise.
6095 * c-omp.c: Likewise.
6096 * c-pragma.c: Likewise.
6097 * c-pretty-print.c: Likewise.
6100 2015-06-25 Marek Polacek <polacek@redhat.com>
6102 * cilk.c (extract_free_variables): Use is_global_var.
6104 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
6106 * c-common.c: Don't include target-def.h.
6108 2015-06-23 Marek Polacek <polacek@redhat.com>
6110 * c-common.c (warn_logical_operator): Use tree_int_cst_equal
6111 when comparing INTEGER_CSTs.
6113 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
6115 * c-ada-spec.h (cpp_operation): Add HAS_DEPENDENT_TEMPLATE_ARGS.
6116 * c-ada-spec.c (collect_ada_nodes): Skip NAMESPACE_DECL
6117 (dump_ada_template): Skip partially specialized types.
6119 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
6121 * c-common.c (scalar_to_vector): Use std::swap instead of manually
6124 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
6126 * array-notation-common.c: Do not include input.h, line-map.h or is-a.h.
6127 * c-ada-spec.c: Likewise.
6128 * c-cilkplus.c: Likewise.
6129 * c-common.c: Likewise.
6130 * c-common.h: Likewise.
6131 * c-cppbuiltin.c: Likewise.
6132 * c-dump.c: Likewise.
6133 * c-format.c: Likewise.
6134 * c-gimplify.c: Likewise.
6135 * c-indentation.c: Likewise.
6136 * c-lex.c: Likewise.
6137 * c-omp.c: Likewise.
6138 * c-opts.c: Likewise.
6139 * c-pch.c: Likewise.
6140 * c-ppoutput.c: Likewise.
6141 * c-pragma.c: Likewise.
6142 * c-pretty-print.c: Likewise.
6143 * c-semantics.c: Likewise.
6144 * c-ubsan.c: Likewise.
6146 * stub-objc.c: Likewise.
6148 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
6151 * c-common.c (c_common_truthvalue_conversion): Warn when
6152 converting an address of a reference to a truth value.
6154 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
6156 * array-notation-common.c : Adjust include files.
6157 * c-ada-spec.c : Likewise.
6158 * c-cilkplus.c : Likewise.
6159 * c-common.c : Likewise.
6160 * c-common.h : Likewise.
6161 * c-cppbuiltin.c : Likewise.
6162 * c-dump.c : Likewise.
6163 * c-format.c : Likewise.
6164 * c-gimplify.c : Likewise.
6165 * c-indentation.c : Likewise.
6166 * c-lex.c : Likewise.
6167 * c-omp.c : Likewise.
6168 * c-opts.c : Likewise.
6169 * c-pch.c : Likewise.
6170 * c-ppoutput.c : Likewise.
6171 * c-pragma.c : Likewise.
6172 * c-pretty-print.c : Likewise.
6173 * c-semantics.c : Likewise.
6174 * c-ubsan.c : Likewise.
6175 * cilk.c : Likewise.
6176 * stub-objc.c : Likewise.
6178 2015-06-08 Marek Polacek <polacek@redhat.com>
6181 * c-format.c (location_from_offset): Return LOC if LINE is null.
6183 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
6185 * c-common.h (c_parse_final_cleanups): New prototype.
6186 * c-opts.c (c_common_parse_file): Call c_parse_final_cleanups.
6188 2015-06-04 Sriraman Tallam <tmsriram@google.com>
6190 * c-common.c (noplt): New attribute.
6191 (handle_noplt_attribute): New handler.
6193 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
6195 * array-notation-common.c: Adjust includes for restructured coretypes.h.
6196 * c-ada-spec.c: Likewise.
6197 * c-cilkplus.c: Likewise.
6198 * c-common.c: Likewise.
6199 * c-common.h: Likewise.
6200 * c-cppbuiltin.c: Likewise.
6201 * c-dump.c: Likewise.
6202 * c-format.c: Likewise.
6203 * c-gimplify.c: Likewise.
6204 * c-indentation.c: Likewise.
6205 * c-lex.c: Likewise.
6206 * c-omp.c: Likewise.
6207 * c-opts.c: Likewise.
6208 * c-pch.c: Likewise.
6209 * c-ppoutput.c: Likewise.
6210 * c-pragma.c: Likewise.
6211 * c-pretty-print.c: Likewise.
6212 * c-semantics.c: Likewise.
6213 * c-ubsan.c: Likewise.
6215 * stub-objc.c: Likewise.
6217 2015-06-02 David Malcolm <dmalcolm@redhat.com>
6220 * c-indentation.c (should_warn_for_misleading_indentation): Use
6221 expand_location rather than expand_location_to_spelling_point.
6222 Don't warn if the guarding statement is more indented than the
6225 2015-06-02 David Malcolm <dmalcolm@redhat.com>
6227 * c-indentation.c (warn_for_misleading_indentation): Bail out
6228 immediately if -Wmisleading-indentation isn't enabled.
6230 2015-06-01 Martin Liska <mliska@suse.cz>
6232 * c-format.c (check_format_arg):Use new type-based pool allocator.
6233 (check_format_info_main) Likewise.
6235 2015-05-31 Eric Botcazou <ebotcazou@adacore.com>
6237 * c-ada-spec.c (is_tagged_type): Test for TYPE_METHODS on main variant.
6238 (has_nontrivial_methods): Likewise.
6240 2015-05-25 Marek Polacek <polacek@redhat.com>
6242 * c-ubsan.c (ubsan_instrument_shift): Use type0.
6244 2015-05-22 Marek Polacek <polacek@redhat.com>
6247 * c-common.c (handle_deprecated_attribute): Allow CONST_DECL.
6249 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6251 * c-cppbuiltin.c (c_cpp_builtins): Use if instead of #if with
6252 STACK_GROWS_DOWNWARD.
6254 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6256 * c-cppbuiltin.c (c_cpp_builtins): Check the value of
6257 STACK_GROWS_DOWNWARD rather than if it is defined.
6259 2015-05-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
6262 * c-format.c (location_column_from_byte_offset): New.
6263 (location_from_offset): New.
6264 (struct format_wanted_type): Add offset_loc field.
6265 (check_format_info): Move handling of location for extra arguments
6266 closer to the point of warning.
6267 (check_format_info_main): Pass the result of location_from_offset
6269 (format_type_warning): Pass the result of location_from_offset
6272 2015-05-20 Marek Polacek <polacek@redhat.com>
6274 * c-omp.c (check_omp_for_incr_expr): Use BINARY_CLASS_P.
6276 2015-05-20 Marek Polacek <polacek@redhat.com>
6278 * c-ada-spec.c (dump_sloc): Use DECL_P.
6280 2015-05-20 Marek Polacek <polacek@redhat.com>
6282 * c-pragma.c: Use VAR_OR_FUNCTION_DECL_P throughout.
6283 * c-common.c: Likewise.
6285 2015-05-19 David Malcolm <dmalcolm@redhat.com>
6287 * c-common.h (fe_file_change): Strengthen param from
6288 const line_map * to const line_map_ordinary *.
6289 (pp_file_change): Likewise.
6290 * c-lex.c (fe_file_change): Likewise.
6291 (cb_define): Use linemap_check_ordinary when invoking
6293 (cb_undef): Likewise.
6294 * c-opts.c (c_finish_options): Use linemap_check_ordinary when
6295 invoking cb_file_change.
6296 (c_finish_options): Likewise.
6297 (push_command_line_include): Likewise.
6298 (cb_file_change): Strengthen param "new_map" from
6299 const line_map * to const line_map_ordinary *.
6300 * c-ppoutput.c (cb_define): Likewise for local "map".
6301 (pp_file_change): Likewise for param "map" and local "from".
6303 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
6305 * c-common.c (shorten_compare): Use std::swap instead of explicit swaps.
6307 2015-05-18 Tom de Vries <tom@codesourcery.com>
6309 * c-common.c (build_va_arg_1): New function.
6310 (build_va_arg): Add address operator to va_list operand if necessary.
6312 2015-05-15 Mikhail Maltsev <maltsevm@gmail.com>
6315 * c-common.c (int_safely_convertible_to_real_p): Define.
6316 (unsafe_conversion_p): Check conversions involving complex types.
6317 (conversion_warning): Add new warning message for conversions which
6318 discard imaginary component.
6319 * c-common.h: (enum conversion_safety): Add new enumerator for such
6322 2015-05-14 Marek Polacek <polacek@redhat.com>
6326 * c-common.c (c_fully_fold): Pass false down to c_fully_fold_internal.
6327 (c_fully_fold_internal): Fold C_MAYBE_CONST_EXPRs with
6328 C_MAYBE_CONST_EXPR_INT_OPERANDS set. Add FOR_INT_CONST argument and
6329 use it. If FOR_INT_CONST, require that all evaluated operands be
6332 2015-05-12 David Malcolm <dmalcolm@redhat.com>
6334 * c-common.h (warn_for_misleading_indentation): New prototype.
6335 * c-indentation.c: New file.
6336 * c.opt (Wmisleading-indentation): New option.
6338 2015-05-12 Tom de Vries <tom@codesourcery.com>
6340 PR tree-optimization/66010
6341 * c-common.c (build_va_arg): Don't mark ap addressable unless necessary.
6343 2015-05-09 Jason Merrill <jason@redhat.com>
6345 * c-opts.c (c_common_post_options): Also clear
6346 cpp_opts->cpp_warn_cxx11_compat.
6348 * c-common.h (enum cxx_dialect): Add cxx_unset.
6349 * c-common.c (cxx_dialect): Initialize to cxx_unset.
6350 * c-opts.c (c_common_post_options): Set C++ dialect to C++98 if unset.
6352 * c.opt (std=c++14): Remove Undocumented flag and experimental warning.
6353 (std=gnu++0x): Mark as Undocumented.
6354 (std=gnu++1y): Add deprecated message.
6356 2015-05-08 Jason Merrill <jason@redhat.com>
6358 * c.opt (Wc++11-compat): Make primary. Rename var warn_cxx11_compat.
6361 * c.opt (Wc++0x-compat): Also set cpp_warn_cxx11_compat.
6363 2015-05-08 Marek Polacek <polacek@redhat.com>
6366 * c.opt (Woverride-init-side-effects): New option.
6368 2015-05-07 Marek Polacek <polacek@redhat.com>
6371 * c-common.c (c_fully_fold_internal): Warn when left shifting a
6373 * c.opt (Wshift-negative-value): New option.
6374 * c-opts.c (c_common_post_options): Set warn_shift_negative_value
6375 when -Wextra and C99/C++11 mode.
6377 2015-05-07 Marek Polacek <polacek@redhat.com>
6378 Martin Uecker <uecker@eecs.berkeley.edu>
6380 * c-ubsan.c (ubsan_instrument_bounds): Don't skip instrumenting
6381 flexible member array-like members if SANITIZE_BOUNDS_STRICT.
6383 2015-05-05 Jason Merrill <jason@redhat.com>
6385 * c.opt (Wterminate): New.
6387 2015-04-30 Marek Polacek <polacek@redhat.com>
6389 * c-common.c (maybe_warn_bool_compare): When comparing with 0/1,
6390 require that the non-constant be of a boolean type.
6392 2015-04-29 Josh Triplett <josh@joshtriplett.org>
6394 * c-common.c (handle_section_attribute): Refactor to reduce
6395 nesting and distinguish between error cases.
6397 2015-04-29 Marek Polacek <polacek@redhat.com>
6400 * c-common.c (maybe_warn_bool_compare): Warn when comparing a boolean
6403 2015-04-29 Jakub Jelinek <jakub@redhat.com>
6405 * c-common.h (omp_clause_mask): Unconditionally define as a class.
6406 Use uint64_t instead of unsigned HOST_WIDE_INT and 64 instead of
6407 HOST_BITS_PER_WIDE_INT.
6409 2015-04-28 Tom de Vries <tom@codesourcery.com>
6411 PR tree-optimization/65887
6412 * c-common.c (build_va_arg): Mark va_arg ap argument as addressable.
6414 2015-04-28 Eric Botcazou <ebotcazou@adacore.com>
6415 Pierre-Marie de Rodat <derodat@adacore.com>
6417 * c-ada-spec.c (in_function): Delete.
6418 (dump_generic_ada_node): Do not change in_function and remove the
6419 redundant code dealing with it.
6420 (print_ada_declaration): Do not change in_function. Use INDENT_INCR.
6421 (print_ada_methods): Output the static member functions in a nested
6422 package after the regular methods as well as associated renamings.
6424 2015-04-24 Marek Polacek <polacek@redhat.com>
6427 * c-common.c (c_fully_fold_internal): Use OPT_Wshift_count_negative
6428 and OPT_Wshift_count_overflow.
6431 * c-common.c (warn_logical_operator): Warn if the operands have the
6434 2015-04-24 Marek Polacek <polacek@redhat.com>
6437 * c-common.c (warn_logical_operator): Bail if either operand comes
6438 from a macro expansion.
6440 2015-04-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6443 * c-common.c (c_default_pointer_mode): Add definition.
6444 * c-common.h (c_default_pointer_mode): Add declaration.
6446 2015-03-11 Jakub Jelinek <jakub@redhat.com>
6448 * c-common.c (c_common_nodes_and_builtins): Don't call xstrdup
6449 on record_builtin_type argument.
6451 2015-03-10 Jakub Jelinek <jakub@redhat.com>
6454 * c-common.c (warn_logical_not_parentheses): Don't warn for
6457 2015-03-07 Marek Polacek <polacek@redhat.com>
6460 * c-ubsan.c (ubsan_instrument_bounds): Check for COMPONENT_REF
6461 before trying to figure out whether we have a flexible array member.
6463 2015-03-06 Eric Botcazou <ebotcazou@adacore.com>
6464 Jonathan Wakely <jwakely.gcc@gmail.com>
6466 * c-ada-spec.c (dump_ada_double_name): Fix pasto.
6468 2015-03-05 Eric Botcazou <ebotcazou@adacore.com>
6471 * c-ada-spec.c (print_destructor): Remove obsolete code.
6473 2015-03-01 Eric Botcazou <ebotcazou@adacore.com>
6475 * c-ada-spec.c (is_tagged_type): Add guard for DECL_VINDEX.
6476 (dump_template_types): Adjust DECL_TEMPLATE_INSTANTIATIONS and
6477 DECL_TEMPLATE_RESULT emulations.
6478 (dump_ada_template)): Add guard for TYPE_METHODS.
6480 2015-02-27 Marek Polacek <polacek@redhat.com>
6483 * c.opt (Wformat-signedness): Don't enable by -Wformat=2.
6485 2015-02-27 Kai Tietz <ktietz@redhat.com>
6488 * c-pragma.c (handle_pragma_weak): Do not try to create
6489 weak/alias of declarations not being function, or variable
6492 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
6495 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6497 (DEF_FUNCTION_TYPE_VAR_7, DEF_FUNCTION_TYPE_VAR_11): New macros.
6499 2015-02-16 Marek Polacek <polacek@redhat.com>
6502 * c-format.c (check_format_types): Handle null param.
6504 2015-02-13 Marek Polacek <polacek@redhat.com>
6507 * c-format.c (check_format_types): Don't warn about different
6508 signedness if the original value is in the range of WANTED_TYPE.
6510 2015-02-12 Jason Merrill <jason@redhat.com>
6513 * c-opts.c (c_common_post_options): Change flag_abi_version from 0
6514 to the current highest version.
6515 * c-cppbuiltin.c (c_cpp_builtins): Assert that it isn't 0.
6517 2015-02-04 Jakub Jelinek <jakub@redhat.com>
6521 * c-omp.c (c_finish_omp_atomic): Use TRUNC_DIV_EXPR
6522 instead of RDIV_EXPR. Use build_binary_op instead of
6525 2015-01-30 Joseph Myers <joseph@codesourcery.com>
6527 * c-opts.c, c-pch.c, cppspec.c: All callers of fatal_error changed
6528 to pass input_location as first argument.
6530 2015-01-23 Tom de Vries <tom@codesourcery.com>
6533 * c.opt (fopenacc): Mark as LTO option.
6535 2015-01-23 Tom de Vries <tom@codesourcery.com>
6538 * c.opt (fopenmp): Mark as LTO option.
6540 2015-01-21 Jakub Jelinek <jakub@redhat.com>
6543 * cilk.c (fill_decls_vec): Only put decls into vector v.
6544 (compare_decls): Fix up formatting.
6546 2015-01-21 Igor Zamyatin <igor.zamyatin@intel.com>
6549 * cilk.c: Include vec.h.
6550 (struct cilk_decls): New structure.
6551 (wrapper_parm_cb): Split this function to...
6552 (fill_decls_vec): ...this...
6553 (create_parm_list): ...and this.
6554 (compare_decls): New function.
6555 (for_local_cb): Remove.
6556 (wrapper_local_cb): Ditto.
6557 (build_wrapper_type): For now first traverse and fill vector of
6558 declarations then sort it and then deal with sorted vector.
6559 (cilk_outline): Ditto.
6560 (declare_one_free_variable): Ditto.
6562 2015-01-21 Jason Merrill <jason@redhat.com>
6565 * c-format.c (check_format_arg): Call decl_constant_value.
6567 2015-01-19 Martin Liska <mliska@suse.cz>
6569 * c-common.c (handle_noicf_attribute): New function.
6571 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6572 Bernd Schmidt <bernds@codesourcery.com>
6573 James Norris <jnorris@codesourcery.com>
6574 Cesar Philippidis <cesar@codesourcery.com>
6575 Ilmir Usmanov <i.usmanov@samsung.com>
6576 Jakub Jelinek <jakub@redhat.com>
6578 * c.opt (fopenacc): New option.
6579 * c-cppbuiltin.c (c_cpp_builtins): Conditionally define _OPENACC.
6580 * c-common.c (DEF_FUNCTION_TYPE_VAR_8, DEF_FUNCTION_TYPE_VAR_12):
6582 * c-common.h (c_finish_oacc_wait): New prototype.
6583 * c-omp.c: Include "omp-low.h" and "gomp-constants.h".
6584 (c_finish_oacc_wait): New function.
6585 * c-pragma.c (oacc_pragmas): New variable.
6586 (c_pp_lookup_pragma, init_pragma): Handle it.
6587 * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_CACHE,
6588 PRAGMA_OACC_DATA, PRAGMA_OACC_ENTER_DATA, PRAGMA_OACC_EXIT_DATA,
6589 PRAGMA_OACC_KERNELS, PRAGMA_OACC_LOOP, PRAGMA_OACC_PARALLEL,
6590 PRAGMA_OACC_UPDATE, PRAGMA_OACC_WAIT.
6591 (enum pragma_omp_clause): Add PRAGMA_OACC_CLAUSE_ASYNC,
6592 PRAGMA_OACC_CLAUSE_AUTO, PRAGMA_OACC_CLAUSE_COLLAPSE,
6593 PRAGMA_OACC_CLAUSE_COPY, PRAGMA_OACC_CLAUSE_COPYIN,
6594 PRAGMA_OACC_CLAUSE_COPYOUT, PRAGMA_OACC_CLAUSE_CREATE,
6595 PRAGMA_OACC_CLAUSE_DELETE, PRAGMA_OACC_CLAUSE_DEVICE,
6596 PRAGMA_OACC_CLAUSE_DEVICEPTR, PRAGMA_OACC_CLAUSE_FIRSTPRIVATE,
6597 PRAGMA_OACC_CLAUSE_GANG, PRAGMA_OACC_CLAUSE_HOST,
6598 PRAGMA_OACC_CLAUSE_IF, PRAGMA_OACC_CLAUSE_NUM_GANGS,
6599 PRAGMA_OACC_CLAUSE_NUM_WORKERS, PRAGMA_OACC_CLAUSE_PRESENT,
6600 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY,
6601 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN,
6602 PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT,
6603 PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OACC_CLAUSE_PRIVATE,
6604 PRAGMA_OACC_CLAUSE_REDUCTION, PRAGMA_OACC_CLAUSE_SELF,
6605 PRAGMA_OACC_CLAUSE_SEQ, PRAGMA_OACC_CLAUSE_VECTOR,
6606 PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, PRAGMA_OACC_CLAUSE_WAIT,
6607 PRAGMA_OACC_CLAUSE_WORKER.
6609 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
6611 * c-cppbuiltin.c (c_cpp_builtins): New cpp define __SSP_EXPLICIT__
6612 for the new option fstack-protector_explicit.
6613 * c-common.c (c_common_attribute_table): Add stack_protect attribute.
6614 (handle_stack_protect_attribute): New function.
6616 2015-01-13 Martin Uecker <uecker@eecs.berkeley.edu>
6618 * c.opt: New option -Warray-bounds=.
6620 2015-01-09 Michael Collison <michael.collison@linaro.org>
6622 * array-notation-common.c: Include hash-set.h, machmode.h,
6623 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6624 fold-const.h, wide-int.h, and inchash.h due to flattening of tree.h.
6625 * c-ada-spec.c: Ditto.
6626 * c-cilkplus.c: Ditto.
6627 * c-common.c: Include input.h due to flattening of tree.h.
6628 Define macro GCC_C_COMMON_C.
6629 * c-common.h: Flatten tree.h header files into c-common.h.
6630 Remove include of tree-core.h.
6631 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6632 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6633 fold-const.h, wide-int.h, and inchash.h due to
6634 flattening of tree.h.
6636 * c-format.c: Flatten tree.h header files into c-common.h.
6637 * c-cppbuiltin.c: Include hash-set.h, machmode.h,
6638 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6639 fold-const.h, wide-int.h, and inchash.h due to
6640 flattening of tree.h.
6641 * c-dump.c: Include hash-set.h, machmode.h,
6642 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6643 fold-const.h, wide-int.h, and inchash.h due to
6644 flattening of tree.h.
6645 * c-format.c: Include hash-set.h, machmode.h,
6646 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6647 fold-const.h, wide-int.h, inchash.h and real.h due to
6648 flattening of tree.h.
6649 * c-gimplify.c: Include hash-set.h, machmode.h,
6650 vec.h, double-int.h, input.h, alias.h, symtab.h, options.h
6651 fold-const.h, wide-int.h, and inchash.h due to
6652 flattening of tree.h.
6658 * c-ppoutput.c: Ditto.
6659 * c-pragma.c: Ditto.
6660 * c-pretty-print.c: Ditto.
6661 * c-semantics.c: Ditto.
6663 * stub-objc.c: Ditto.
6665 2015-01-08 Jason Merrill <jason@redhat.com>
6667 * c-ubsan.c (ubsan_maybe_instrument_array_ref): Use
6668 do_ubsan_in_current_function.
6669 (ubsan_maybe_instrument_reference_or_call): Likewise.
6670 * c-ubsan.h: Declare it.
6672 2015-01-08 Mike Stump <mikestump@comcast.net>
6674 * c-common.c (c_common_attribute_table): Add no_sanitize_thread.
6676 2015-01-07 Marek Polacek <polacek@redhat.com>
6679 * c-common.c (c_fully_fold_internal): Warn for division and modulo
6680 if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST and is zero.
6682 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
6685 * c.opt (Wsuggest-override): New option.
6687 2015-01-05 Jakub Jelinek <jakub@redhat.com>
6689 Update copyright years.
6691 2015-01-05 Marek Polacek <polacek@redhat.com>
6694 * c-common.c (warn_array_subscript_with_type_char): Add location_t
6696 * c-common.h (warn_array_subscript_with_type_char): Update
6699 2014-12-20 Edward Smith-Rowland <3dw4rd@verizon.net>
6701 * c-cppbuiltin.c (__cpp_sized_deallocation): Uncomment and move macro.
6702 Control macro with flag_sized_deallocation.
6704 2014-12-20 Martin Uecker <uecker@eecs.berkeley.edu>
6706 * c.opt (Wdiscarded-array-qualifiers): New option.
6708 2014-12-19 Jakub Jelinek <jakub@redhat.com>
6710 PR preprocessor/63831
6711 * c-cppbuiltin.c (c_cpp_builtins): Don't define __has_attribute
6712 and __has_cpp_attribute here.
6713 * c-ppoutput.c (init_pp_output): Set cb->has_attribute to
6714 c_common_has_attribute.
6715 * c-common.h (c_common_has_attribute): New prototype.
6716 * c-lex.c (init_c_lex): Set cb->has_attribute to
6717 c_common_has_attribute instead of cb_has_attribute.
6718 (get_token_no_padding): New function.
6719 (cb_has_attribute): Renamed to ...
6720 (c_common_has_attribute): ... this. No longer static. Use
6721 get_token_no_padding, require ()s, don't build TREE_LIST
6722 unnecessarily, fix up formatting, adjust diagnostics, call
6725 2014-12-15 Jason Merrill <jason@redhat.com>
6727 * c.opt (-fsized-deallocation, -Wc++14-compat): New.
6728 (-Wsized-deallocation): New.
6729 * c-opts.c (c_common_post_options): -fsized-deallocation defaults
6730 to on in C++14 and up.
6732 2014-12-11 Jason Merrill <jason@redhat.com>
6734 * c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
6736 * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
6737 we aren't complaining about VLAs.
6739 2014-12-06 Marek Polacek <polacek@redhat.com>
6741 PR tree-optimization/64183
6742 * c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
6743 shift-expression if it is integer_type_node. Use types_compatible_p.
6745 2014-11-29 Jakub Jelinek <jakub@redhat.com>
6747 * c-common.c (convert_vector_to_pointer_for_subscript): Remove NULL
6748 last argument from create_tmp_var_raw and create_tmp_var calls.
6749 * cilk.c (gimplify_cilk_spawn): Likewise.
6750 * c-omp.c (c_finish_omp_atomic): Likewise.
6752 2014-11-28 Marek Polacek <polacek@redhat.com>
6754 * c-ubsan.c (ubsan_instrument_shift): Use op1_utype for MINUS_EXPR
6755 instead of unsigned_type_node.
6757 2014-11-28 Marek Polacek <polacek@redhat.com>
6760 * c-ubsan.c (ubsan_instrument_shift): Change the type of a MINUS_EXPR
6762 * c-gimplify.c (c_gimplify_expr): Convert right operand of a shift
6763 expression to unsigned_type_node.
6765 2014-11-20 Mark Wielaard <mjw@redhat.com>
6768 * c-opts.c (set_std_c89): Set lang_hooks.name.
6769 (set_std_c99): Likewise.
6770 (set_std_c11): Likewise.
6771 (set_std_cxx98): Likewise.
6772 (set_std_cxx11): Likewise.
6773 (set_std_cxx14): Likewise.
6774 (set_std_cxx1z): Likewise.
6776 2014-11-21 Jakub Jelinek <jakub@redhat.com>
6779 * c-common.h (convert_vector_to_pointer_for_subscript): Change
6780 return type to bool.
6781 * c-common.c: Include gimple-expr.h.
6782 (convert_vector_to_pointer_for_subscript): Change return type to
6783 bool. If *vecp is not lvalue_p and has VECTOR_TYPE, return true
6784 and copy it into a TARGET_EXPR and use that instead of *vecp
6787 2014-11-19 David Malcolm <dmalcolm@redhat.com>
6789 Merger of git branch "gimple-classes-v2-option-3".
6790 * ChangeLog.gimple-classes: New.
6791 * c-gimplify.c (add_block_to_enclosing): Strengthen local "stack"
6792 from being just a vec<gimple> to a vec<gbind *>.
6794 2014-11-18 Jakub Jelinek <jakub@redhat.com>
6797 * c-ubsan.c (ubsan_maybe_instrument_reference_or_call): Change type
6798 argument to ptype, set type to TREE_TYPE (ptype). Don't call
6799 get_pointer_alignment for non-pointers. Use ptype, or if it is
6800 reference type, corresponding pointer type, as type of kind
6802 (ubsan_maybe_instrument_reference,
6803 ubsan_maybe_instrument_member_call): Adjust callers.
6805 2014-11-15 Marek Polacek <polacek@redhat.com>
6808 * array-notation-common.c (is_sec_implicit_index_fn): Return false
6810 (extract_array_notation_exprs): Return for NULL node.
6812 2014-11-12 Joseph Myers <joseph@codesourcery.com>
6814 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Define and
6815 undefine __NO_MATH_ERRNO__ based on changes to -fmath-errno state.
6817 2014-11-12 Jakub Jelinek <jakub@redhat.com>
6820 * c-common.c (check_builtin_function_arguments): Handle
6821 BUILT_IN_{ADD,SUB,MUL}_OVERFLOW.
6823 2014-11-10 Andi Kleen <ak@linux.intel.com>
6826 * c-common.h (check_no_cilk): Declare.
6827 * cilk.c (get_error_location): New function.
6828 (check_no_cilk): Dito.
6830 2014-11-10 Andi Kleen <ak@linux.intel.com>
6832 * cilk.c (recognize_spawn): Use expression location
6835 2014-11-10 Paolo Carlini <paolo.carlini@oracle.com>
6837 * c.opt ([Wshift-count-negative, Wshift-count-overflow]): Add.
6839 2014-11-10 Edward Smith-Rowland <3dw4rd@verizon.net>
6841 * c-cppbuiltin.c (__has_attribute, __has_cpp_attribute): New macros;
6842 (__cpp_rtti, __cpp_exceptions): New macros for C++98;
6843 (__cpp_range_based_for, __cpp_initializer_lists,
6844 __cpp_delegating_constructors, __cpp_nsdmi,
6845 __cpp_inheriting_constructors, __cpp_ref_qualifiers): New macros
6846 for C++11; (__cpp_attribute_deprecated): Remove in favor of
6847 __has_cpp_attribute.
6848 * c-lex.c (cb_has_attribute): New callback CPP function;
6849 (init_c_lex): Set has_attribute callback.
6851 2014-11-04 Richard Biener <rguenther@suse.de>
6853 * c-common.c (shorten_compare): Do not shorten mixed
6854 DFP and non-DFP compares.
6856 2014-11-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6858 * g++.dg/cpp1y/feat-cxx11.C: Commentary and rearrangement of tests.
6859 * g++.dg/cpp1y/feat-cxx11-neg.C: Add aggregate NSDMI test.
6860 Commentary and rearrangement of tests.
6861 * g++.dg/cpp1y/feat-cxx14.C: Enable aggregate NSDMI test.
6862 Commentary and rearrangement of tests.
6863 * g++.dg/cpp1y/feat-cxx98-neg.C: Ditto.
6864 * g++.dg/cpp1y/feat-cxx98.C: Commentary.
6866 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
6868 * c-common.c, c-common.h, c-cppbuiltin.c, c-lex.c: Remove redundant
6869 enum from machine_mode.
6871 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
6873 * c-common.c: Adjust include files.
6874 * c-gimplify.c: Ditto.
6876 * c-pragma.c: Ditto.
6879 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
6881 * c-gimplify.c: Adjust include files.
6883 2014-10-26 Manuel López-Ibáñez <manu@gcc.gnu.org>
6886 * c-opts.c (c_common_diagnostics_set_defaults): Renamed from
6887 c_common_initialize_diagnostics.
6888 * c-common.h: Likewise.
6890 2014-10-24 Marek Polacek <polacek@redhat.com>
6893 * c-pretty-print.c (c_pretty_printer::simple_type_specifier): Don't
6894 print "struct"/"union"/"enum" for typedefed names.
6896 2014-10-23 Marek Polacek <polacek@redhat.com>
6898 * c-ubsan.c (ubsan_instrument_shift): Perform the MINUS_EXPR
6901 2014-10-22 Jakub Jelinek <jakub@redhat.com>
6902 Yury Gribov <y.gribov@samsung.com>
6904 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
6905 ubsan_instrument_vla): Check bits in flag_sanitize_recover bitmask
6906 instead of flag_sanitize_recover as bool flag.
6908 2014-10-21 Kirill Yukhin <kirill.yukhin@intel.com>
6910 * cilk.c: Revert previous change.
6912 2014-10-20 Igor Zamyatin <igor.zamyatin@intel.com>
6915 * cilk.c: Include vec.h.
6916 (struct cilk_decls): New structure.
6917 (wrapper_parm_cb): Split this function to...
6918 (fill_decls_vec): ...this...
6919 (create_parm_list): ...and this.
6920 (compare_decls): New function.
6921 (for_local_cb): Remove.
6922 (wrapper_local_cb): Ditto.
6923 (build_wrapper_type): For now first traverse and fill vector of
6924 declarations then sort it and then deal with sorted vector.
6925 (cilk_outline): Ditto.
6926 (declare_one_free_variable): Ditto.
6928 2014-10-17 Marek Polacek <polacek@redhat.com>
6930 * c-opts.c (c_common_post_options): Set warn_implicit_int.
6931 * c.opt (Wimplicit-int): Initialize to -1.
6933 2014-10-16 Andrew MacLeod <amacleod@redhat.com>
6935 * c-pragma.c: Adjust include files.
6936 * c-semantics.c: Likewise.
6938 2014-10-16 DJ Delorie <dj@redhat.com>
6940 * c-cppbuiltin.c (cpp_atomic_builtins): Don't assume pointers are
6943 2014-10-14 Jason Merrill <jason@redhat.com>
6946 * c-common.h (CPP_PREPARSED_EXPR): New.
6947 (N_CP_TTYPES): Adjust.
6949 2014-10-15 Marek Polacek <polacek@redhat.com>
6951 * c-opts.c (c_common_init_options): Make -std=gnu11 the default for C.
6953 2014-10-14 DJ Delorie <dj@redhat.com>
6955 * c-pretty-print.c (pp_c_integer_constant): Check for all __intN
6956 types, not just __int128.
6957 * c-cppbuiltin.c (c_cpp_builtins): Add builtins for all __intN
6958 types, not just __int128.
6959 (cpp_atomic_builtins): Round pointer sizes up.
6960 (type_suffix): Use type precision, not specific types.
6961 * c-common.c (c_common_reswords): Remove __int128 special case.
6962 (c_common_type_for_size): Check for all __intN types, not just
6964 (c_common_type_for_mode): Likewise.
6965 (c_common_signed_or_unsigned_type): Likewise.
6966 (c_build_bitfield_integer_type): Likewise.
6967 (c_common_nodes_and_builtins): Likewise.
6968 (keyword_begins_type_specifier): Likewise.
6969 * c-common.h (rid): Remove RID_INT128 and add RID_INT_N_* for all
6972 2014-10-12 Trevor Saunders <tsaunders@mozilla.com>
6974 * c-common.c: Use hash_table instead of hashtab.
6976 2014-10-06 Edward Smith-Rowland <3dw4rd@verizon.net>
6978 * c-cppbuiltin.c: Move __cpp_attribute_deprecated to the
6981 2014-10-03 Marc Glisse <marc.glisse@inria.fr>
6986 * c-common.c (warn_logical_operator): Punt for vectors.
6988 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
6990 Implement SD-6: SG10 Feature Test Recommendations
6991 * c-cppbuiltin.c (c_cpp_builtins()): Define language feature
6992 macros and the __has_header macro.
6994 2014-09-30 Jason Merrill <jason@redhat.com>
6996 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_ASSIGNABLE and
6997 RID_IS_TRIVIALLY_CONSTRUCTIBLE.
6998 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
7000 * c-common.h (enum rid): Add RID_IS_TRIVIALLY_COPYABLE.
7001 * c-common.c (c_common_reswords): Add __is_trivially_copyable.
7003 * c-common.h (enum rid): Remove RID_IS_CONVERTIBLE_TO.
7004 * c-common.c (c_common_reswords): Remove __is_convertible_to.
7006 2014-09-24 Marek Polacek <polacek@redhat.com>
7010 * c-common.h (struct c_common_resword): Don't define CPP_KEYWORD.
7012 2014-09-23 Andi Kleen <ak@linux.intel.com>
7014 * c-common.c (handle_no_reorder_attribute): New function.
7015 (c_common_attribute_table): Add no_reorder attribute.
7017 2014-09-22 Joseph Myers <joseph@codesourcery.com>
7019 * c-cppbuiltin.c (c_cpp_builtins): Define
7020 __LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
7023 2014-09-18 Joseph Myers <joseph@codesourcery.com>
7025 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_*_FUNC_EXT__
7026 for supported floating-point modes.
7028 2014-09-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7030 * c.opt (Wpsabi): Use LangEnabledBy.
7031 * c-opts.c (c_common_handle_option): Do not handle here.
7033 2014-09-12 Joseph Myers <joseph@codesourcery.com>
7035 * c-cppbuiltin.c (c_cpp_builtins): Define __LIBGCC_HAS_%s_MODE__
7036 macros for floating-point modes.
7038 2014-09-11 Marc Glisse <marc.glisse@inria.fr>
7041 * c-cppbuiltin.c (builtin_define_float_constants): Correct
7042 __*_DENORM_MIN__ without denormals.
7044 2014-09-10 Jakub Jelinek <jakub@redhat.com>
7046 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7047 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7048 ubsan_create_data callers.
7049 (ubsan_instrument_bounds): Don't emit UBSAN_BOUNDS at all if
7050 index is constant or BIT_AND_EXPR with constant mask and is
7051 small enough for the bound.
7052 * c-gimplify.c (ubsan_walk_array_refs_r): For ADDR_EXPR of
7053 ARRAY_REF, make sure the inner ARRAY_REF is not walked again.
7055 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7057 * c.opt: Add CppReason to various flags.
7058 (Wdate-time): Re-sort.
7059 * c-common.c: Include c-common.h earlier.
7060 (struct reason_option_codes_t): Delete.
7061 (c_option_controlling_cpp_error): Prefix global type and struct
7064 2014-09-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
7066 * c.opt (Wnormalized): New.
7067 (Wnormalized=): Use Enum and Reject Negative.
7068 * c-opts.c (c_common_handle_option): Do not handle Wnormalized here.
7070 2014-09-08 Joseph Myers <joseph@codesourcery.com>
7072 * c-cppbuiltin.c (c_cpp_builtins): Define macros for mantissa
7073 digits of floating-point modes if -fbuilding-libgcc.
7075 2014-09-05 Joseph Myers <joseph@codesourcery.com>
7077 * c-cppbuiltin.c (c_cpp_builtins): Also define
7078 __LIBGCC_EH_TABLES_CAN_BE_READ_ONLY__,
7079 __LIBGCC_EH_FRAME_SECTION_NAME__, __LIBGCC_JCR_SECTION_NAME__,
7080 __LIBGCC_CTORS_SECTION_ASM_OP__, __LIBGCC_DTORS_SECTION_ASM_OP__,
7081 __LIBGCC_TEXT_SECTION_ASM_OP__, __LIBGCC_INIT_SECTION_ASM_OP__,
7082 __LIBGCC_INIT_ARRAY_SECTION_ASM_OP__,
7083 __LIBGCC_STACK_GROWS_DOWNWARD__,
7084 __LIBGCC_DONT_USE_BUILTIN_SETJMP__,
7085 __LIBGCC_DWARF_ALT_FRAME_RETURN_COLUMN__,
7086 __LIBGCC_DWARF_FRAME_REGISTERS__,
7087 __LIBGCC_EH_RETURN_STACKADJ_RTX__, __LIBGCC_JMP_BUF_SIZE__,
7088 __LIBGCC_STACK_POINTER_REGNUM__ and
7089 __LIBGCC_VTABLE_USES_DESCRIPTORS__ for -fbuilding-libgcc.
7090 (builtin_define_with_value): Handle backslash-escaping in string
7093 2014-09-05 Richard Biener <rguenther@suse.de>
7096 * c-format.c (check_format_arg): Properly handle
7097 effectively signed POINTER_PLUS_EXPR offset.
7099 2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
7101 * c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
7102 Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
7103 (Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
7105 * c-opts.c (c_common_handle_option): Do not handle here.
7106 (sanitize_cpp_opts): Likewise.
7107 * c-common.c (struct reason_option_codes_t): Handle
7108 CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
7110 2014-09-03 Marek Polacek <polacek@redhat.com>
7112 * c.opt (Wlogical-not-parentheses): Enable by -Wall.
7114 2014-09-02 Jakub Jelinek <jakub@redhat.com>
7115 Balaji V. Iyer <balaji.v.iyer@intel.com>
7116 Igor Zamyatin <igor.zamyatin@intel.com>
7118 * c-cilkplus.c (cilk_for_number_of_iterations): New function.
7119 * c-common.c (c_common_reswords): Added _Cilk_for.
7120 * c-common.h (enum rid): Added RID_CILK_FOR.
7121 (cilk_for_number_of_iterations): Add declaration.
7122 * c-omp.c (c_finish_omp_for): Added checks for CILK_SIMD and
7124 * c-pragma.c (init_pragma): Register "grainsize" pragma.
7125 * c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_GRAINSIZE.
7127 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7129 * c.opt (Wbuiltin-macro-redefined,Wdeprecated,Wendif-labels,
7130 Winvalid-pch,Wliteral-suffix,Wmissing-include-dirs,Wtrigraphs,
7131 Wundef): Use CPP, Var and Init.
7132 * c-opts.c (c_common_handle_option): Do not handle the above flags here.
7134 2014-08-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
7136 * c.opt (Wbuiltin-macro-redefined): Use CPP, Var and Init.
7137 * c-opts.c (c_common_handle_option): Do not handle here.
7139 2014-08-25 Jason Merrill <jason@redhat.com>
7141 * c.opt: Change -std=c++1y and -std=gnu++1y to be aliases for
7142 -std=c++14 and -std=gnu++14, rather than the reverse.
7143 * c-opts.c (c_common_handle_option): Change OPT_std_c__1y and
7144 OPT_std_gnu__1y to OPT_std_c__14 and OPT_std_gnu__14.
7145 * c-common.h (cxx_dialect): Remove cxx1y.
7147 2014-08-23 Edward Smith-Rowland <3dw4rd@verizon.net>
7149 * c-common.h (enum cxx_dialect): Add cxx14.
7150 * c-opts.c (set_std_cxx1y): Rename to set_std_cxx14; Use cxx14.
7151 * c-ubsan.c (ubsan_instrument_shift): Change comment and logic from
7152 cxx_dialect == cxx11 || cxx_dialect == cxx1y to cxx_dialect >= cxx11.
7154 2014-08-22 Jason Merrill <jason@redhat.com>
7156 * c.opt (std=gnu++17): Fix alias.
7158 2014-08-22 Marek Polacek <polacek@redhat.com>
7161 * c-common.c (warn_logical_not_parentheses): Don't check LHS. Don't
7162 check for vector types. Drop LHS argument.
7163 * c-common.h (warn_logical_not_parentheses): Adjust.
7165 2014-08-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
7167 * c.opt (Wcomment): Use CPP, Var and LangEnabledBy.
7168 (Wmultichar): Likewise.
7169 (Wdate-time): Use C-family languages instead of Common. Use CPP
7171 * c-opts.c (c_common_handle_option): Do not handle the above
7173 (sanitize_cpp_opts): Likewise.
7175 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
7178 * c-opts.c: Include tree-diagnostics.h.
7179 (c_diagnostic_finalizer): New.
7180 (c_common_initialize_diagnostics): Use it.
7182 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7184 PR preprocessor/51303
7185 * c-common.c (struct reason_option_codes_t option_codes):
7186 Add CPP_W_MISSING_INCLUDE_DIRS. Sort alphabetically.
7188 2014-08-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
7192 * c.opt (Wvariadic-macros): Use CPP and LangEnabledBy.
7193 * c-opts.c (c_common_handle_option): Call cpp_handle_option_auto.
7194 (c_common_post_options): Call init_global_opts_from_cpp.
7195 (sanitize_cpp_opts): Do not handle Wvariadic-macros here.
7197 2014-08-19 Marek Polacek <polacek@redhat.com>
7200 * c-common.c (maybe_warn_bool_compare): New function.
7201 * c-common.h (maybe_warn_bool_compare): Declare.
7202 * c.opt (Wbool-compare): New option.
7204 2014-08-19 Marek Polacek <polacek@redhat.com>
7206 * c.opt (Wc99-c11-compat): New option.
7208 2014-08-19 Marek Polacek <polacek@redhat.com>
7210 * c-opts.c (sanitize_cpp_opts): Make warn_long_long be set according
7211 to warn_c90_c99_compat.
7212 * c.opt (Wc90-c99-compat, Wdeclaration-after-statement): Initialize
7215 2014-08-19 Manuel López-Ibáñez <manu@gcc.gnu.org>
7216 Steven Bosscher <steven@gcc.gnu.org>
7219 * c-format.c: Add extra_arg_loc and format_string_loc to struct
7220 format_check_results.
7221 (check_function_format): Use true and add comment for boolean
7223 (finish_dollar_format_checking): Use explicit location when warning.
7224 (check_format_info): Likewise.
7225 (check_format_arg): Set extra_arg_loc and format_string_loc.
7226 (check_format_info_main): Use explicit location when warning.
7227 (check_format_types): Pass explicit location.
7228 (format_type_warning): Likewise.
7230 2014-08-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
7233 * c-format.c: Handle Fortran flags.
7235 2014-08-12 Igor Zamyatin <igor.zamyatin@intel.com>
7238 * array-notation-common.c (find_rank): Added handling for other
7239 types of references.
7241 2014-08-10 Marek Polacek <polacek@redhat.com>
7244 * c-opts.c (sanitize_cpp_opts): Pass warn_c90_c99_compat to libcpp.
7245 * c.opt (Wc90-c99-compat): Add option.
7247 2014-08-07 Trevor Saunders <tsaunders@mozilla.com>
7249 * c-gimplify.c, cilk.c: Remove includes of pointer-set.h.
7251 2014-08-03 Marek Polacek <polacek@redhat.com>
7253 * c-common.c (check_case_value): Add location_t parameter. Use it.
7254 (c_add_case_label): Pass loc to check_case_value.
7256 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7258 * cilk.c: Use hash_map instead of pointer_map.
7260 2014-08-02 Trevor Saunders <tsaunders@mozilla.com>
7262 * c-gimplify.c: Use hash_set instead of pointer_set.
7264 2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com>
7267 * array-notation-common.c (extract_array_notation_exprs): Handling
7270 2014-08-01 Jakub Jelinek <jakub@redhat.com>
7272 * c-common.h (min_align_of_type): Removed prototype.
7273 * c-common.c (min_align_of_type): Removed.
7274 * c-ubsan.h (ubsan_maybe_instrument_reference,
7275 ubsan_maybe_instrument_member_call): New prototypes.
7276 * c-ubsan.c: Include stor-layout.h and builtins.h.
7277 (ubsan_maybe_instrument_reference_or_call,
7278 ubsan_maybe_instrument_reference, ubsan_maybe_instrument_call): New
7281 2014-07-31 Marc Glisse <marc.glisse@inria.fr>
7284 * c.opt (-Wreturn-local-addr): Move to common.opt.
7286 2014-07-30 Jason Merrill <jason@redhat.com>
7291 * c.opt (-fuse-all-virtuals): New.
7293 2014-07-30 Tom Tromey <tromey@redhat.com>
7296 * c.opt (Wdesignated-init): New option.
7297 * c-common.c (c_common_attribute_table): Add "designated_init".
7298 (handle_designated_init): New function.
7300 2014-07-24 Marek Polacek <polacek@redhat.com>
7303 * c-opts.c (c_finish_options): If -imacros is in effect, return.
7305 2014-07-16 Dodji Seketeli <dodji@redhat.com>
7307 PR preprocessor/60723 - missing system-ness marks for macro tokens
7308 * c-ppoutput.c (struct print::prev_was_system_token): New data
7310 (init_pp_output): Initialize it.
7311 (maybe_print_line_1, maybe_print_line, print_line_1, print_line)
7312 (do_line_change): Return a flag saying if a line marker was
7314 (scan_translation_unit): Detect if the system-ness of the token we
7315 are about to emit is different from the one of the previously
7316 emitted token. If so, emit a line marker. Avoid emitting useless
7317 adjacent line markers. Avoid emitting line markers for tokens
7318 originating from the expansion of built-in macros.
7319 (scan_translation_unit_directives_only): Adjust.
7321 2014-07-15 Marek Polacek <polacek@redhat.com>
7323 * c-ubsan.c (ubsan_instrument_bounds): Don't instrument if
7324 TYPE_MAX_VALUE is NULL.
7326 2014-07-14 Jakub Jelinek <jakub@redhat.com>
7329 * c.opt (Wmemset-transposed-args): New warning.
7331 2014-07-10 Jason Merrill <jason@redhat.com>
7335 * c.opt (-fuse-all-virtuals): New.
7337 2014-07-09 Richard Biener <rguenther@suse.de>
7340 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
7341 using unsigned arithmetic if overflow does not wrap instead of
7342 if overflow is undefined.
7344 2014-07-06 Marek Polacek <polacek@redhat.com>
7347 * c.opt (Wsizeof-array-argument): New option.
7349 2014-07-03 Jakub Jelinek <jakub@redhat.com>
7351 * c-ada-spec.c (dump_ada_nodes): Don't call qsort if
7352 comments->count <= 1, as comments->entries might be NULL.
7354 2014-07-01 Marek Polacek <polacek@redhat.com>
7356 * c.opt (Wint-conversion): New option.
7358 2014-07-01 Marek Polacek <polacek@redhat.com>
7361 * c.opt (Wincompatible-pointer-types): New option.
7363 2014-06-30 Paolo Carlini <paolo.carlini@oracle.com>
7366 * c-common.c (handle_noreturn_attribute, handle_const_attribute):
7367 Do not discard TYPE_QUALS of type.
7369 2014-06-26 Jason Merrill <jason@redhat.com>
7371 * c-common.h (enum cxx_dialect): Add cxx1z.
7372 * c.opt (std=c++1z, std=c++17, std=gnu++1z, std=gnu++17): New.
7373 * c-opts.c (c_common_handle_option, set_std_cxx1z): Handle it.
7375 2014-06-26 Teresa Johnson <tejohnson@google.com>
7377 * c-common.h (get_dump_info): Declare.
7378 * c-gimplify.c (c_genericize): Use saved dump files.
7379 * c-opts.c (c_common_parse_file): Begin and end dumps
7380 once around parsing invocation.
7381 (get_dump_info): New function.
7383 2014-06-23 Marek Polacek <polacek@redhat.com>
7384 Andrew MacLeod <amacleod@redhat.com>
7387 * c-common.c (get_atomic_generic_size): Don't segfault if the
7388 type doesn't have a size.
7390 2014-06-20 Marek Polacek <polacek@redhat.com>
7392 * c-gimplify.c: Include "c-ubsan.h" and "pointer-set.h".
7393 (ubsan_walk_array_refs_r): New function.
7394 (c_genericize): Instrument array bounds.
7395 * c-ubsan.c: Include "internal-fn.h".
7396 (ubsan_instrument_division): Mark instrumented arrays as having
7397 side effects. Adjust ubsan_type_descriptor call.
7398 (ubsan_instrument_shift): Likewise.
7399 (ubsan_instrument_vla): Adjust ubsan_type_descriptor call.
7400 (ubsan_instrument_bounds): New function.
7401 (ubsan_array_ref_instrumented_p): New function.
7402 (ubsan_maybe_instrument_array_ref): New function.
7403 * c-ubsan.h (ubsan_instrument_bounds): Declare.
7404 (ubsan_array_ref_instrumented_p): Declare.
7405 (ubsan_maybe_instrument_array_ref): Declare.
7407 2014-06-20 Hale Wang <hale.wang@arm.com>
7410 * c.opt (fshort-enums): Add to LTO.
7411 * c.opt (fshort-wchar): Likewise.
7413 2014-06-16 Marek Polacek <polacek@redhat.com>
7416 * c.opt (Wswitch-bool): Add Var.
7418 2014-06-12 Jakub Jelinek <jakub@redhat.com>
7421 * c-omp.c (c_omp_split_clauses): Don't crash on firstprivate in
7422 #pragma omp target teams or
7423 #pragma omp {,target }teams distribute simd.
7425 2014-06-12 Jason Merrill <jason@redhat.com>
7427 * c.opt (Wabi=, fabi-compat-version): New.
7428 * c-opts.c (c_common_handle_option): Handle -Wabi=.
7429 (c_common_post_options): Handle flag_abi_compat_version default.
7430 Disallow -fabi-compat-version=1.
7431 * c-common.h (abi_version_crosses): New.
7433 2014-06-11 Jan Hubicka <hubicka@ucw.cz>
7435 * c-common.c (handle_section_attribute): Update handling for
7436 section names that are no longer trees.
7438 2014-06-10 Jakub Jelinek <jakub@redhat.com>
7441 * c-pragma.c (omp_pragmas_simd): Move PRAGMA_OMP_TASK...
7442 (omp_pragmas): ... back here.
7444 2014-06-05 Marek Polacek <polacek@redhat.com>
7447 * c-common.c (warn_logical_not_parentheses): New function.
7448 * c-common.h (warn_logical_not_parentheses): Declare.
7449 * c.opt (Wlogical-not-parentheses): New option.
7451 2014-06-04 Marek Polacek <polacek@redhat.com>
7454 * c-common.c (check_case_bounds): Add location parameter.
7456 (c_add_case_label): Pass loc to check_case_bounds.
7458 2014-06-03 Marek Polacek <polacek@redhat.com>
7461 * c.opt (Wswitch-bool): New option.
7463 2014-05-22 Thomas Schwinge <thomas@codesourcery.com>
7465 * c-common.h (c_omp_sharing_predetermined, c_omp_remap_decl):
7467 (record_types_used_by_current_var_decl): Move prototype to where
7470 * c-common.c (DEF_FUNCTION_TYPE_0, DEF_FUNCTION_TYPE_6)
7471 (DEF_FUNCTION_TYPE_7, DEF_FUNCTION_TYPE_8)
7472 (DEF_FUNCTION_TYPE_VAR_5): Cosmetic fixes.
7474 2014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
7476 * c-common.h (CTI_VOID_ZERO, void_zero_node): Delete.
7477 * c-common.c (c_common_nodes_and_builtins): Don't initialize
7479 * c-pretty-print.c (pp_c_void_constant): New function.
7480 (c_pretty_printer::constant, c_pretty_printer::primary_expression)
7481 (c_pretty_printer::expression): Handle VOID_CST.
7482 * cilk.c (extract_free_variables): Likewise.
7483 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift)
7484 (ubsan_instrument_vla): Use void_node instead of void_zero_node.
7486 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
7488 * c-common.h (sorted_fields_type): Remove variable_size GTY attribute.
7489 * c-pragma.c (push_alignment): Adjust.
7490 (handle_pragma_push_options): Likewise.
7492 2014-05-09 Marek Polacek <polacek@redhat.com>
7495 * c-common.c (check_user_alignment): Return -1 if alignment is error
7497 (handle_aligned_attribute): Don't call default_conversion on
7499 (handle_vector_size_attribute): Likewise.
7500 (handle_tm_wrap_attribute): Handle case when wrap_decl is error node.
7501 (handle_sentinel_attribute): Call default_conversion and allow even
7502 integral types as an argument.
7504 2014-05-08 Marek Polacek <polacek@redhat.com>
7507 * c-common.c (min_align_of_type): New function factored out from...
7508 (c_sizeof_or_alignof_type): ...here.
7509 * c-common.h (min_align_of_type): Declare.
7511 2014-05-08 Marek Polacek <polacek@redhat.com>
7514 * c-common.c (check_main_parameter_types): Warn for _Atomic-qualified
7515 parameter type of main.
7517 2014-05-07 DJ Delorie <dj@redhat.com>
7519 * c-cppbuiltin.c (print_bits_of_hex): New.
7520 (builtin_define_type_minmax): Print values using hex so as not to
7521 require a pre-computed list of string values.
7523 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
7524 Mike Stump <mikestump@comcast.net>
7525 Richard Sandiford <rdsandiford@googlemail.com>
7527 * c-ada-spec.c: Include wide-int.h.
7528 (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Remove.
7529 (dump_generic_ada_node): Use wide-int interfaces.
7530 * c-common.c: Include wide-int-print.h.
7531 (shorten_compare): Use wide-int interfaces and tree_int_cst_lt.
7532 (pointer_int_sum): Use wide-int interfaces.
7533 (c_common_nodes_and_builtins): Use make_int_cst.
7534 (match_case_to_enum_1): Use tree_fits_uhwi_p and tree_fits_shwi_p.
7535 (handle_alloc_size_attribute): Use wide-int interfaces.
7536 (get_nonnull_operand): Likewise.
7537 * c-format.c (get_constant): Use tree_fits_uhwi_p.
7538 * c-lex.c: Include wide-int.h.
7539 (narrowest_unsigned_type): Take a widest_int rather than two
7541 (narrowest_signed_type): Likewise.
7542 (interpret_integer): Update accordingly. Use wide-int interfaces.
7543 (lex_charconst): Use wide-int interfaces.
7544 * c-pretty-print.c: Include wide-int.h.
7545 (pp_c_integer_constant): Use wide-int interfaces.
7546 * cilk.c (declare_one_free_variable): Use tree_int_cst_lt instead of
7547 INT_CST_LT_UNSIGNED.
7549 2014-05-06 Richard Biener <rguenther@suse.de>
7551 * c-opts.c (c_common_post_options): For -freestanding,
7552 -fno-hosted and -fno-builtin disable pattern recognition
7553 if not enabled explicitely.
7555 2014-05-02 Marek Polacek <polacek@redhat.com>
7557 * c.opt (Wsizeof-pointer-memaccess): Describe option.
7559 2014-05-01 Marek Polacek <polacek@redhat.com>
7562 * c.opt (Wdiscarded-qualifiers): Add.
7564 2014-04-30 Marek Polacek <polacek@redhat.com>
7566 * c-ubsan.c (ubsan_instrument_division): Handle REAL_TYPEs. Perform
7567 INT_MIN / -1 sanitization only for integer types.
7569 2014-04-25 Marek Polacek <polacek@redhat.com>
7572 * c-common.c (handle_noinline_attribute): Warn if the attribute
7573 conflicts with always_inline attribute.
7574 (handle_always_inline_attribute): Warn if the attribute conflicts
7575 with noinline attribute.
7577 2014-04-25 Marek Polacek <polacek@redhat.com>
7580 * c-common.c (check_main_parameter_types): Warn about variadic main.
7582 2014-04-24 Mike Stump <mikestump@comcast.net>
7584 * c.opt (Wshadow-ivar): Default to on.
7586 2014-04-24 Dimitris Papavasiliou <dpapavas@gmail.com>
7588 * c.opt (Wshadow-ivar, flocal-ivars, fivar-visibility): Add.
7590 2014-04-23 Marek Polacek <polacek@redhat.com>
7592 * c-common.c (handle_tm_wrap_attribute): Tweak error message.
7594 2014-04-22 Jakub Jelinek <jakub@redhat.com>
7597 * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap ()
7598 if flag_sanitize_undefined_trap_on_error.
7599 (ubsan_instrument_division, ubsan_instrument_shift,
7600 ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort ()
7601 if !flag_sanitize_recover.
7603 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
7606 * c-common.c (registered_builtin_types): Make non-static.
7607 * c-common.h (registered_builtin_types): Declare.
7609 2014-04-14 Richard Biener <rguenther@suse.de>
7610 Marc Glisse <marc.glisse@inria.fr>
7613 * c-common.c (convert_vector_to_pointer_for_subscript): Properly
7614 apply may-alias the scalar pointer type when applicable.
7616 2014-04-12 Igor Zamyatin <igor.zamyatin@intel.com>
7619 * cilk.c (cilk_set_spawn_marker): Remove FUNCTION_DECL
7620 as possible argument for Cilk_spawn.
7622 2014-04-11 Tobias Burnus <burnus@net-b.de>
7625 * c.opt (Wformat-signedness): Add
7626 * c-format.c(check_format_types): Use it.
7628 2014-04-11 Jason Merrill <jason@redhat.com>
7631 * c-common.c (sync_resolve_size, get_atomic_generic_size): Call
7632 default_conversion for an array argument.
7634 2014-04-08 Marek Polacek <polacek@redhat.com>
7637 * c-ubsan.c: Include asan.h.
7638 (ubsan_instrument_return): Call initialize_sanitizer_builtins.
7640 2014-04-03 Nathan Sidwell <nathan@codesourcery.com>
7642 * c.opt (Wnon-virtual-dtor): Auto set when Weffc++.
7644 2014-04-02 Marek Polacek <polacek@redhat.com>
7646 * c-common.h (c_expand_expr): Remove declaration.
7648 2014-03-28 Jakub Jelinek <jakub@redhat.com>
7651 * c-common.c (add_atomic_size_parameter): When creating new
7652 params vector, push the size argument first.
7654 2014-03-26 Jakub Jelinek <jakub@redhat.com>
7656 * c-ubsan.c (ubsan_instrument_division, ubsan_instrument_shift,
7657 ubsan_instrument_vla, ubsan_instrument_return): Adjust
7658 ubsan_create_data callers.
7660 2014-03-22 Jakub Jelinek <jakub@redhat.com>
7663 * c-opts.c (c_finish_options): Restore cb_file_change call to
7666 2014-03-13 Jakub Jelinek <jakub@redhat.com>
7669 * c-pragma.c (apply_pragma_weak): Only look at
7670 TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (decl)) if
7671 DECL_ASSEMBLER_NAME_SET_P (decl).
7672 (maybe_apply_pending_pragma_weaks): Exit early if
7673 vec_safe_is_empty (pending_weaks) rather than only when
7675 (maybe_apply_pragma_weak): Likewise. If !DECL_ASSEMBLER_NAME_SET_P,
7676 set assembler name back to NULL afterwards.
7678 2014-03-11 Jason Merrill <jason@redhat.com>
7680 * c.opt: Add -std=gnu++14.
7682 2014-03-11 Ian Bolton <ian.bolton@arm.com>
7684 * c-opts.c (c_common_post_options): Don't override
7685 -ffp-contract=fast if unsafe-math-optimizations is on.
7687 2014-03-08 Paulo Matos <paulo@matos-sorge.com>
7689 * c.opt: Enable LTO FE for fshort-double.
7691 2014-03-07 Jason Merrill <jason@redhat.com>
7693 * c.opt: Add -std=c++14.
7695 2014-03-06 Marek Polacek <polacek@redhat.com>
7698 * cilk.c (contains_cilk_spawn_stmt): New function.
7699 (contains_cilk_spawn_stmt_walker): Likewise.
7700 (recognize_spawn): Give error on invalid use of _Cilk_spawn.
7701 * c-common.h (contains_cilk_spawn_stmt): Add declaration.
7703 2014-03-03 Jakub Jelinek <jakub@redhat.com>
7705 * c-pragma.c (c_pp_lookup_pragma): Handle PRAGMA_CILK_SIMD.
7706 (init_pragma): Call cpp_register_deferred_pragma for PRAGMA_CILK_SIMD
7707 even when flag_preprocess_only.
7709 2014-02-26 Jason Merrill <jason@redhat.com>
7713 * c-common.c (shorten_compare): Don't check
7714 c_inhibit_evaluation_warnings.
7716 2014-02-19 Jakub Jelinek <jakub@redhat.com>
7719 * c-common.c (c_common_nodes_and_builtins): When initializing
7720 c_uint{16,32,64}_type_node, also set corresponding
7721 uint{16,32,64}_type_node to the same value.
7724 * c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
7725 for PRAGMA_IVDEP if flag_preprocess_only.
7727 2014-02-12 Jakub Jelinek <jakub@redhat.com>
7730 * c-common.c (merge_tlist): If copy is true, call new_tlist,
7731 if false, add ADD itself, rather than vice versa.
7732 (verify_tree): For COND_EXPR, don't call merge_tlist with non-zero
7733 copy. For SAVE_EXPR, only call merge_tlist once.
7735 2014-02-08 Jakub Jelinek <jakub@redhat.com>
7738 * c-common.c (handle_alloc_size_attribute): Use tree_fits_uhwi_p
7740 (handle_alloc_align_attribute, handle_assume_aligned_attribute): New
7742 (c_common_attribute_table): Add alloc_align and assume_aligned
7745 2014-02-06 Marek Polacek <polacek@redhat.com>
7748 * c-common.c (warn_for_sign_compare): Call warning_at with location
7751 2014-02-05 Marek Polacek <polacek@redhat.com>
7754 * c-omp.c (c_finish_omp_atomic): Remove unreachable return
7757 2014-02-04 Marek Polacek <polacek@redhat.com>
7760 * c-common.c (conversion_warning): Unwrap C_MAYBE_CONST_EXPR and/or
7763 2014-02-03 Marc Glisse <marc.glisse@inria.fr>
7767 * c-common.c (handle_aligned_attribute, handle_alloc_size_attribute,
7768 handle_vector_size_attribute, handle_nonnull_attribute): Call
7769 default_conversion on the attribute argument.
7770 (handle_nonnull_attribute): Increment the argument number.
7772 2014-01-31 Marek Polacek <polacek@redhat.com>
7775 * c-common.c (add_atomic_size_parameter): Pass vNULL to
7776 build_function_call_vec.
7777 (resolve_overloaded_builtin): Likewise.
7778 * c-common.h (build_function_call_vec): Adjust declaration.
7780 2014-01-30 Marek Polacek <polacek@redhat.com>
7783 * c-common.h (unsafe_conversion_p): Adjust declaration.
7784 (warnings_for_convert_and_check): Likewise.
7785 (convert_and_check): Likewise.
7786 * c-common.c (unsafe_conversion_p): Add location parameter. Call
7787 expansion_point_location_if_in_system_header on it.
7788 (warnings_for_convert_and_check): Add location parameter. Call
7789 expansion_point_location_if_in_system_header on it. Use it.
7790 (convert_and_check): Add location parameter. Use it.
7791 (conversion_warning): Likewise.
7792 (c_add_case_label): Adjust convert_and_check calls.
7793 (scalar_to_vector): Adjust unsafe_conversion_p calls.
7795 2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
7797 * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
7799 * c-pragma.c (init_pragma): Likewise.
7802 2014-01-23 Marek Polacek <polacek@redhat.com>
7805 * c-common.c (shorten_compare): Add location_t parameter.
7806 * c-common.h (shorten_binary_op): Adjust declaration.
7808 2014-01-23 Marek Polacek <polacek@redhat.com>
7811 * c-common.c (pointer_to_zero_sized_aggr_p): New function.
7812 * c-common.h: Declare it.
7814 2014-01-20 Eric Botcazou <ebotcazou@adacore.com>
7816 * c-ada-spec.h (dump_ada_specs): Revert prototype change.
7817 * c-ada-spec.c (dump_ads): Likewise.
7818 (cpp_check): Likewise.
7819 (dump_ada_specs): Likewise.
7821 2014-01-15 Laurent Alfonsi <laurent.alfonsi@st.com>
7824 * c-common.c (handle_no_instrument_function_attribute): Allow
7825 no_instrument_function attribute in class member
7826 definition/declaration.
7828 2014-01-15 Jakub Jelinek <jakub@redhat.com>
7831 * c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
7832 build_modify_expr with non-NOP_EXPR opcode. Handle return from it
7833 being COMPOUND_EXPR.
7834 (c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
7835 operand a SAVE_EXPR and second MODIFY_EXPR.
7837 2014-01-09 Jakub Jelinek <jakub@redhat.com>
7840 * c-pch.c (c_common_write_pch): Call
7841 prepare_target_option_nodes_for_pch.
7843 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7845 Update copyright years
7847 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7849 * array-notation-common.c, c-cilkplus.c: Use the standard form for
7850 the copyright notice.
7852 2013-12-28 Eric Botcazou <ebotcazou@adacore.com>
7854 * c-ada-spec.c (print_constructor): New function.
7855 (print_destructor): Retrieve the origin of the destructor.
7856 (print_ada_declaration): Revamp handling of constructors/destructors.
7858 2013-12-23 Stuart Hastings <stuart@apple.com>
7859 Bill Maddox <maddox@google.com>
7860 Jason Merrill <jason@redhat.com>
7862 * c.opt: Add -fdeclone-ctor-dtor.
7863 * c-opts.c (c_common_post_options): Default to on iff -Os.
7865 2013-12-18 Balaji V. Iyer <balaji.v.iyer@intel.com>
7867 * c-common.c (c_common_attribute_table): Added "cilk simd function"
7869 * c-pragma.h (enum pragma_cilk_clause): Remove.
7870 (enum pragma_omp_clause): Added the following fields:
7871 PRAGMA_CILK_CLAUSE_NOMASK, PRAGMA_CILK_CLAUSE_MASK,
7872 PRAGMA_CILK_CLAUSE_VECTORLENGTH, PRAGMA_CILK_CLAUSE_NONE,
7873 PRAGMA_CILK_CLAUSE_LINEAR, PRAGMA_CILK_CLAUSE_PRIVATE,
7874 PRAGMA_CILK_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE,
7875 PRAGMA_CILK_CLAUSE_UNIFORM.
7878 2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
7880 * cilk.c (cilk_outline): Made this function non-static.
7881 (gimplify_cilk_spawn): Removed pre_p and post_p arguments.
7882 (create_cilk_wrapper): Added a new parameter: a function pointer.
7883 (c_install_body_w_frame_cleanup): Remove
7884 (extract_free_variables): Added VEC_INIT_EXPR and CONSTRUCTOR case.
7885 * c-common.h (cilk_outline): New prototype.
7886 (gimplify_cilk_spawn): Removed two parameters.
7887 (cilk_install_body_with_frame_cleanup): New prototype.
7888 * c-gimplify.c (c_gimplify_expr): Added MODIFY_EXPR, CALL_EXPR and
7889 CILK_SPAWN_STMT case.
7891 2013-12-11 Bernd Schmidt <bernds@codesourcery.com>
7893 * c-common.c (c_fully_fold_internal): Handle ADDR_SPACE_CONVERT_EXPR.
7895 * c-common.h (enum c_tree_index): Remove CTI_INT_ARRAY_TYPE.
7896 (int_array_type_node): Remove.
7897 * c-common.c (c_common_nodes_and_builtins): Don't build it.
7899 2013-12-05 Marek Polacek <polacek@redhat.com>
7902 * c-common.c (c_sizeof_or_alignof_type): Move a declaration into
7903 [ADJUST_FIELD_ALIGN].
7905 2013-12-04 Joseph Myers <joseph@codesourcery.com>
7908 * c-common.c (c_sizeof_or_alignof_type): Add parameter min_alignof
7909 and check field alignment if set.
7910 * c-common.h (c_sizeof_or_alignof_type): Update prototype.
7911 (c_sizeof, c_alignof): Update calls to c_sizeof_or_alignof_type.
7913 2013-12-04 Jakub Jelinek <jakub@redhat.com>
7914 Marek Polacek <polacek@redhat.com>
7916 * c-gimplify.c (c_gimplify_expr): If doing the integer-overflow
7917 sanitization, call unsigned_type_for only when !TYPE_OVERFLOW_WRAPS.
7919 2013-11-29 H.J. Lu <hongjiu.lu@intel.com>
7922 * cilk.c (gimplify_cilk_spawn): Properly handle function without
7925 2013-11-29 Jakub Jelinek <jakub@redhat.com>
7928 * c-common.c (get_priority): If TREE_VALUE (args) is IDENTIFIER_NODE,
7929 goto invalid. If it is error_mark_node, don't issue further
7932 2013-11-28 Sergey Ostanevich <sergos.gnu@gmail.com>
7934 * c.opt (Wopenmp-simd): New.
7936 2013-11-22 Jakub Jelinek <jakub@redhat.com>
7938 * c-ubsan.h (ubsan_instrument_return): New prototype.
7939 * c-ubsan.c (ubsan_instrument_return): New function.
7941 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
7943 * c-common.c: Add required include files from gimple.h.
7944 * c-gimplify.c: Likewise.
7947 2013-11-22 David Malcolm <dmalcolm@redhat.com>
7949 * c-common.c (unsafe_conversion_p): Remove use of
7950 EXPR_LOC_OR_HERE macro.
7951 (conversion_warning): Likewise.
7952 (warnings_for_convert_and_check): Likewise.
7953 (warn_for_collisions_1): Likewise.
7954 (shorten_compare): Likewise, and remove use of in_system_header
7955 macro, using the location from the former.
7956 * c-lex.c (dump_one_header): Remove use of input_filename macro.
7957 (cb_def_pragma): Remove use of in_system_header macro.
7958 (lex_string): Likewise.
7959 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
7961 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7962 Mike Stump <mikestump@comcast.net>
7963 Richard Sandiford <rdsandiford@googlemail.com>
7965 * c-ada-spec.c (is_simple_enum): Use tree_to_shwi and tree_to_uhwi
7966 instead of TREE_INT_CST_LOW, in cases where there is a protecting
7967 tree_fits_shwi_p or tree_fits_uhwi_p.
7968 (dump_generic_ada_node): Likewise.
7969 * c-format.c (check_format_arg): Likewise.
7970 * c-pretty-print.c (pp_c_integer_constant): Likewise.
7972 2013-11-20 Kenneth Zadeck <zadeck@naturalbridge.com>
7974 * c-common.c (check_function_arguments_recurse): Use tree_to_uhwi.
7976 2013-11-19 Joshua J Cogliati <jrincayc@yahoo.com>
7979 * c-common.c (unsafe_conversion_p): Make this function
7980 return an enumeration with more detail.
7981 (conversion_warning): Use the new return type of
7982 unsafe_conversion_p to separately warn either about conversions
7983 that lower floating point number precision or about the other
7984 kinds of conversions.
7985 * c-common.h (enum conversion_safety): New enumeration.
7986 (unsafe_conversion_p): switching return type to
7987 conversion_safety enumeration.
7988 * c.opt: Adding new warning -Wfloat-conversion and
7989 enabling it with -Wconversion.
7991 2013-11-19 Basile Starynkevitch <basile@starynkevitch.net>
7993 * c-opts.c: Include plugin.h.
7994 (cb_file_change): Invoke plugin event PLUGIN_INCLUDE_FILE.
7996 2013-11-19 Marek Polacek <polacek@redhat.com>
7998 * c-ubsan.c (ubsan_instrument_division): Adjust ubsan_create_data
8000 (ubsan_instrument_shift): Likewise.
8001 (ubsan_instrument_vla): Likewise.
8003 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8005 * c-common.c (convert_vector_to_pointer_for_subscript): Remove
8006 cast to unsigned type.
8008 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8010 * c-common.c (fold_offsetof_1): Use tree_to_uhwi rather than
8012 (complete_array_type): Update comment to refer to tree_to_[su]hwi
8013 rather than tree_low_cst.
8015 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8017 * c-common.c, c-cppbuiltin.c: Replace tree_low_cst (..., 1) with
8018 tree_to_uhwi throughout.
8020 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8022 * c-common.c, c-format.c, c-omp.c, c-pretty-print.c: Replace
8023 tree_low_cst (..., 0) with tree_to_shwi throughout.
8025 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8027 * c-ada-spec.c, c-common.c, c-pretty-print.c: Replace
8028 host_integerp (..., 1) with tree_fits_uhwi_p throughout.
8030 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
8032 * c-ada-spec.c, c-common.c, c-format.c, c-pretty-print.c: Replace
8033 host_integerp (..., 0) with tree_fits_shwi_p throughout.
8035 2013-11-15 Aldy Hernandez <aldyh@redhat.com>
8037 * c-cilkplus.c: New file.
8038 * c-common.c (readonly_error): Add location argument.
8039 * c-common.h (readonly_error): Same.
8040 (c_finish_cilk_clauses): Protoize.
8041 (c_check_cilk_loop): Same.
8042 c-omp.c (c_finish_omp_for): Handle CILK_SIMD nodes.
8043 Do not fail on error_mark_node.
8044 Abstract increment canonicalization to here...
8045 (c_omp_for_incr_canonicalize_ptr): New.
8046 c-pragma.c (init_pragma): Register "simd" pragma.
8047 c-pragma.h (enum pragma_kind): Add PRAGMA_CILK_SIMD.
8048 (enum pragma_cilk_clause): New.
8050 2013-11-15 Richard Sandiford <rdsandiford@googlemail.com>
8052 * c-pretty-print.c (pp_c_character_constant): Remove unnecessary
8053 wchar_type and host_integerp checks.
8055 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
8057 * c-common.c: Likewise.
8058 * c-gimplify.c: Likewise.
8061 2013-11-14 Diego Novillo <dnovillo@google.com>
8063 * c-common.c: Include fold-const.h.
8064 Include stor-layout.h.
8066 Include stringpool.h.
8069 Include trans-mem.h.
8070 * c-cppbuiltin.c: Include stor-layout.h.
8071 Include stringpool.h.
8072 * c-format.c: Include stringpool.h.
8073 * c-lex.c: Include stringpool.h.
8074 Include stor-layout.h.
8075 * c-pragma.c: Include stringpool.h.
8078 Include gcc-symtab.h.
8079 * c-pretty-print.c: Include stor-layout.h.
8081 * cilk.c: Include stringpool.h.
8084 2013-11-13 Joseph Myers <joseph@codesourcery.com>
8086 * c-common.h (enum rid): Add RID_AUTO_TYPE.
8087 * c-common.c (c_common_reswords): Add __auto_type.
8088 (keyword_begins_type_specifier): Handle RID_AUTO_TYPE.
8090 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
8092 * c-common.c: Include gimplify.h.
8093 * c-gimplify.c: Likewise.
8095 * c-omp.c: Include gimple-expr.h instead of gimple.h.
8096 * c-ubsan.c: Don't include gimple.h.
8098 2013-11-12 Joseph Myers <joseph@codesourcery.com>
8100 * c-common.c (c_common_reswords): Add _Thread_local.
8102 2013-11-09 Joseph Myers <joseph@codesourcery.com>
8104 * c-common.c (atomic_size_supported_p): New function.
8105 (resolve_overloaded_atomic_exchange)
8106 (resolve_overloaded_atomic_compare_exchange)
8107 (resolve_overloaded_atomic_load, resolve_overloaded_atomic_store):
8108 Use it instead of comparing size with a local list of sizes.
8110 2013-11-07 Andrew MacLeod <amacleod@redhat.com>
8111 Joseph Myers <joseph@codesourcery.com>
8113 * c-common.h (enum rid): Add RID_ATOMIC.
8114 * c-common.c (c_common_reswords): Add _Atomic.
8115 (sync_resolve_params): Use TYPE_MAIN_VARIANT on pointer argument.
8116 (keyword_is_type_qualifier): Accept RID_ATOMIC.
8117 * c-format.c (check_format_types): Check for extra _Atomic
8118 qualifiers in format argument.
8119 * c-pretty-print.c (pp_c_cv_qualifiers): Handle atomic qualifier.
8120 (pp_c_type_qualifier_list): Mention _Atomic in comment.
8122 2013-11-06 Tobias Burnus <burnus@net-b.de>
8124 * c-common.c (reason_option_codes_t): Add CPP_W_DATE_TIME.
8126 2013-11-06 Joseph Myers <joseph@codesourcery.com>
8128 * c-opts.c (c_common_post_options): Set -ffp-contract=off in C
8130 * c-cppbuiltin.c (cpp_iec_559_value): Consider -ffp-contract=fast
8131 to mean lack of IEEE 754 support.
8133 2013-11-05 Tobias Burnus <burnus@net-b.de>
8135 * c.opt (-Wdate-time): New option
8136 * c-opts.c (sanitize_cpp_opts): Pass on to libcpp.
8138 2013-11-05 Joseph Myers <joseph@codesourcery.com>
8140 * c-cppbuiltin.c (cpp_iec_559_value): Test
8141 flag_excess_precision_cmdline not flag_excess_precision.
8143 2013-11-05 Tobias Burnus <burnus@net-b.de>
8145 * c.opt (fopenmp-simd): New option.
8146 * c-pragma.c (omp_pragmas): Move pragmas which can contain simd to ...
8147 (omp_pragmas): ... this new struct.
8148 (c_pp_lookup_pragma): Also walk omp_pragmas.
8149 (init_pragma): Init pragmas for -fopenmp-simd.
8151 2013-11-04 Marek Polacek <polacek@redhat.com>
8154 * c-common.c (invalid_indirection_error): Handle RO_ARROW_STAR case.
8156 2013-11-04 Joseph Myers <joseph@codesourcery.com>
8158 * c-cppbuiltin.c (cpp_iec_559_value, cpp_iec_559_complex_value):
8160 (c_cpp_builtins): Define __GCC_IEC_559 and __GCC_IEC_559_COMPLEX.
8162 2013-11-04 Eric Botcazou <ebotcazou@adacore.com>
8164 * c-ada-spec.h (cpp_operation): Add IS_TRIVIAL.
8165 (dump_ada_specs): Adjust prototype of second callback.
8166 * c-ada-spec.c (cpp_check): New global variable.
8167 (dump_ada_nodes): Remove cpp_check parameter and do not pass it down.
8168 (print_generic_ada_decl): Likewise.
8169 (has_static_fields): Change return type to bool and add guard.
8170 (has_nontrivial_methods): New predicate.
8171 (is_tagged_type): Change return type to bool.
8172 (separate_class_package): Call has_nontrivial_methods.
8173 (pp_ada_tree_identifier): Minor tweaks.
8174 (dump_ada_function_declaration): Adjust calls to dump_generic_ada_node.
8175 (dump_ada_array_domains): Likewise.
8176 (dump_ada_array_type): Likewise.
8177 (dump_template_types): Remove cpp_check parameter and do not pass it to
8178 dump_generic_ada_node.
8179 (dump_ada_template): Likewise.
8180 (dump_generic_ada_node): Remove cpp_check parameter and do not pass it
8182 (print_ada_methods): Change return type to integer. Remove cpp_check
8183 parameter and do not pass it down.
8184 (dump_nested_types): Remove cpp_check parameter and do not pass it to
8185 dump_generic_ada_node.
8186 (print_ada_declaration): Likewise. Test RECORD_OR_UNION_TYPE_P before
8188 (print_ada_struct_decl): Remove cpp_check parameter and do not pass it
8189 down. Use has_nontrivial_methods to recognize C++ classes. Use return
8190 value of print_ada_methods.
8191 (dump_ads): Rename cpp_check parameter to check and adjust prototype.
8192 Set cpp_check to it before invoking dump_ada_nodes.
8193 (dump_ada_specs): Likewise.
8195 2013-11-03 Marek Polacek <polacek@redhat.com>
8197 * c-ubsan.c: Don't include hash-table.h.
8198 (ubsan_instrument_vla): New function.
8199 * c-ubsan.h: Declare it.
8201 2013-10-31 David Malcolm <dmalcolm@redhat.com>
8203 Automated part of renaming of symtab_node_base to symtab_node.
8205 Patch autogenerated by rename_symtab.py from
8206 https://github.com/davidmalcolm/gcc-refactoring-scripts
8207 revision 58bb219cc090b2f4516a9297d868c245495ee622
8209 * c-pragma.c (maybe_apply_pending_pragma_weaks): Rename
8210 symtab_node_base to symtab_node.
8212 2013-10-31 Edward Smith-Rowland <3dw4rd@verizon.net>
8214 Implement C++14 digit separators.
8215 * c-lex.c (interpret_float): Remove digit separators from scratch string
8216 before building real literal.
8218 2013-10-30 Jakub Jelinek <jakub@redhat.com>
8220 * cilk.c (create_cilk_helper_decl): Use HOST_WIDE_INT_PRINT_DEC.
8222 2013-10-29 Balaji V. Iyer <balaji.v.iyer@intel.com>
8224 * c-common.c (c_common_reswords[]): Added _Cilk_spawn and _Cilk_sync
8226 (c_define_builtins): Called cilk_init_builtins if Cilk Plus is
8228 * c-common.h (enum rid): Added RID_CILK_SPAWN and RID_CILK_SYNC.
8229 (insert_cilk_frame): New prototype.
8230 (cilk_init_builtins): Likewise.
8231 (gimplify_cilk_spawn): Likewise.
8232 (c_cilk_install_body_w_frame_cleanup): Likewise.
8233 (cilk_detect_spawn_and_unwrap): Likewise.
8234 (cilk_set_spawn_marker): Likewise.
8235 (build_cilk_sync): Likewise.
8236 (build_cilk_spawn): Likewise.
8239 2013-10-29 David Malcolm <dmalcolm@redhat.com>
8241 Patch autogenerated by refactor_symtab.py from
8242 https://github.com/davidmalcolm/gcc-refactoring-scripts
8243 revision 58bb219cc090b2f4516a9297d868c245495ee622
8245 * c-gimplify.c (c_genericize): Update for conversion of symtab types
8246 to a true class hierarchy.
8247 * c-pragma.c (maybe_apply_pending_pragma_weaks): Likewise.
8249 2013-10-27 Richard Sandiford <rdsandiford@googlemail.com>
8251 * c-lex.c (interpret_integer): Remove call to cpp_num_sign_extend.
8253 2013-10-26 Jeff Law <law@redhat.com>
8255 * c-common.c (c_define_builtins): Remove mudflap support.
8256 * c.opt: Ignore and warn for mudflap options.
8258 2013-10-24 Tobias Burnus <burnus@net-b.de>
8261 * c-pragma.c (init_pragma) Add #pragma ivdep handling.
8262 * c-pragma.h (pragma_kind): Add PRAGMA_IVDEP.
8264 2013-10-23 Jason Merrill <jason@redhat.com>
8266 * c-format.c (gcc_cxxdiag_char_table): Add %X.
8268 2013-10-11 Jakub Jelinek <jakub@redhat.com>
8270 * c-common.h (omp_clause_mask::operator !=): New method.
8271 * c-omp.c (c_omp_split_clauses): Use if ((mask & something) != 0)
8272 instead of if (mask & something) tests everywhere.
8274 * c-cppbuiltin.c (c_cpp_builtins): Predefine _OPENMP to
8275 201307 instead of 201107.
8276 * c-common.c (DEF_FUNCTION_TYPE_8): Define.
8277 (c_common_attribute_table): Add "omp declare target" and
8278 "omp declare simd" attributes.
8279 (handle_omp_declare_target_attribute,
8280 handle_omp_declare_simd_attribute): New functions.
8281 * c-omp.c: Include c-pragma.h.
8282 (c_finish_omp_taskgroup): New function.
8283 (c_finish_omp_atomic): Add swapped argument, if true,
8284 build the operation first with rhs, lhs arguments and use NOP_EXPR
8286 (c_finish_omp_for): Add code argument, pass it down to make_code.
8287 (c_omp_split_clauses): New function.
8288 (c_split_parallel_clauses): Removed.
8289 (c_omp_declare_simd_clause_cmp, c_omp_declare_simd_clauses_to_numbers,
8290 c_omp_declare_simd_clauses_to_decls): New functions.
8291 * c-common.h (omp_clause_mask): New type.
8292 (OMP_CLAUSE_MASK_1): Define.
8293 (omp_clause_mask::omp_clause_mask, omp_clause_mask::operator &=,
8294 omp_clause_mask::operator |=, omp_clause_mask::operator ~,
8295 omp_clause_mask::operator |, omp_clause_mask::operator &,
8296 omp_clause_mask::operator <<, omp_clause_mask::operator >>,
8297 omp_clause_mask::operator ==): New methods.
8298 (enum c_omp_clause_split): New.
8299 (c_finish_omp_taskgroup): New prototype.
8300 (c_finish_omp_atomic): Add swapped argument.
8301 (c_finish_omp_for): Add code argument.
8302 (c_omp_split_clauses): New prototype.
8303 (c_split_parallel_clauses): Removed.
8304 (c_omp_declare_simd_clauses_to_numbers,
8305 c_omp_declare_simd_clauses_to_decls): New prototypes.
8306 * c-pragma.c (omp_pragmas): Add new OpenMP 4.0 constructs.
8307 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_CANCEL,
8308 PRAGMA_OMP_CANCELLATION_POINT, PRAGMA_OMP_DECLARE_REDUCTION,
8309 PRAGMA_OMP_DISTRIBUTE, PRAGMA_OMP_END_DECLARE_TARGET, PRAGMA_OMP_SIMD,
8310 PRAGMA_OMP_TARGET, PRAGMA_OMP_TASKGROUP and PRAGMA_OMP_TEAMS.
8311 Remove PRAGMA_OMP_PARALLEL_FOR and PRAGMA_OMP_PARALLEL_SECTIONS.
8312 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_ALIGNED,
8313 PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE,
8314 PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FOR,
8315 PRAGMA_OMP_CLAUSE_FROM, PRAGMA_OMP_CLAUSE_INBRANCH,
8316 PRAGMA_OMP_CLAUSE_LINEAR, PRAGMA_OMP_CLAUSE_MAP,
8317 PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NUM_TEAMS,
8318 PRAGMA_OMP_CLAUSE_PARALLEL, PRAGMA_OMP_CLAUSE_PROC_BIND,
8319 PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SECTIONS,
8320 PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP,
8321 PRAGMA_OMP_CLAUSE_THREAD_LIMIT, PRAGMA_OMP_CLAUSE_TO and
8322 PRAGMA_OMP_CLAUSE_UNIFORM.
8324 2013-10-09 Marc Glisse <marc.glisse@inria.fr>
8326 PR tree-optimization/20318
8327 * c-common.c (handle_returns_nonnull_attribute): New function.
8328 (c_common_attribute_table): Add returns_nonnull.
8330 2013-10-03 Marc Glisse <marc.glisse@inria.fr>
8333 * c.opt (fcheck-new): Move to common.opt.
8335 2013-09-25 Marek Polacek <polacek@redhat.com>
8336 Jakub Jelinek <jakub@redhat.com>
8339 * c-ubsan.c (ubsan_instrument_shift): Don't instrument
8340 an expression if we can prove it is correct.
8341 (ubsan_instrument_division): Likewise. Remove unnecessary
8344 2013-09-18 Marek Polacek <polacek@redhat.com>
8347 * c-common.c (handle_no_sanitize_undefined_attribute): New function.
8349 (struct attribute_spec c_common_att): Add no_sanitize_undefined.
8351 2013-09-14 Iain Sandoe <iain@codesourcery.com>
8354 * c.opt (fgnu-runtime, fnext-runtime, fobjc-abi-version,
8355 fobjc-gc, freplace-objc-classes): Accept for LTO.
8357 2013-09-13 Jacek Caban <jacek@codeweavers.com>
8359 * c-target.def: New hook
8361 2013-09-09 Paolo Carlini <paolo.carlini@oracle.com>
8364 * c.opt (Wdelete-incomplete): Add.
8366 2013-09-08 Joern Rennecke <joern.rennecke@embecosm.com>
8368 * c-common.c (same_scalar_type_ignoring_signedness): Delete.
8369 (vector_types_compatible_elements_p): New function.
8370 * c-common.h: (same_scalar_type_ignoring_signedness): Delete
8372 (vector_types_compatible_elements_p): Declare.
8374 2013-09-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8376 * c-pretty-print.h (c_pretty_printer::simple_type_specifier): Now
8377 a virtual member function.
8378 (pp_simple_type_specifier): Remove.
8379 (pp_c_type_specifier): Likewise.
8380 * c-pretty-print.c (c_pretty_printer::simple_type_specifier):
8381 Rename from pp_c_type_specifier. Adjust.
8382 (c_pretty_printer::c_pretty_printer): Do not assign to
8383 simple_type_specifier.
8385 2013-09-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8387 * c-pretty-print.h (c_pretty_printer::type_id): Now a virtual
8389 (c_pretty_printer::storage_class_specifier): Likewise.
8390 (c_pretty_printer::initializer): Likewise.
8391 (pp_declaration): Remove.
8392 (pp_declaration_specifiers): Likewise.
8393 (pp_abstract_declarator): Likewise.
8394 (pp_declarator): Likewise.
8395 (pp_type_id): Likewise.
8396 (pp_statement): Likewise.
8397 (pp_constant): Likewise.
8398 (pp_id_expression): Likewise.
8399 (pp_primary_expression): Likewise.
8400 (pp_unary_expression): Likewise.
8401 (pp_multiplicative_expression): Likewise.
8402 (pp_conditional_expression): Likewise.
8403 (pp_assignment_expression): Likewise.
8404 (pp_expression): Likewise.
8405 (pp_c_type_id): Likewise.
8406 (pp_c_storage_class_specifier): Likewise.
8407 * c-pretty-print.c (pp_c_type_cast): Tidy.
8408 (pp_c_pointer): Likewise.
8409 (pp_c_type_specifier): Likewise.
8410 (pp_c_parameter_type_list): Likewise.
8411 (pp_c_function_definition): Likewise.
8412 (pp_c_init_declarator): Likewise.
8413 (pp_c_initializer_list): Likewise.
8414 (pp_c_constructor_elts): Likewise.
8415 (c_pretty_printer::direct_abstract_declarator): Likewise.
8416 (c_pretty_printer::declaration_specifiers): Likewise.
8417 (c_pretty_printer::primary_expression): Likewise.
8418 (c_pretty_printer::postfix_expression): Likewise.
8419 (c_pretty_printer::type_id): Rename from pp_c_type_id.
8420 (c_pretty_printer::storage_class_specifier): Rename from
8421 pp_c_storage_class_specifier.
8422 (c_pretty_printer::initializer): Rename from pp_c_initializer.
8423 (c_pretty_printer::c_pretty_printer): Do not assign to type_id,
8424 storage_class_specifier, initializer, offset_list, flags.
8426 2013-08-30 Marek Polacek <polacek@redhat.com>
8428 * c-ubsan.c: New file.
8429 * c-ubsan.h: New file.
8431 2013-08-30 Gabriel Dos Reis <gdr@integrable-solutions.net>
8433 * c-pretty-print.h (c_pretty_printer::declaration): Now a virtual
8435 (c_pretty_printer::declaration_specifiers): Likewise.
8436 (c_pretty_printer::declarator): Likewise.
8437 (c_pretty_printer::abstract_declarator): Likewise.
8438 (c_pretty_printer::direct_abstract_declarator): Likewise.
8439 (c_pretty_printer::direct_declarator): Likewise.
8440 (c_pretty_printer::function_specifier): Likewise.
8441 (pp_declaration): Adjust.
8442 (pp_declaration_specifiers): Likewise.
8443 (pp_abstract_declarator): Likewise.
8444 (pp_direct_declarator): Likewise.
8445 (pp_function_specifier): Likewise.
8446 (pp_direct_abstract_declarator): Remove as unused.
8447 (pp_c_declaration): Remove.
8448 (pp_c_declaration_specifiers): Likewise.
8449 (pp_c_declarator): Likewise.
8450 (pp_c_direct_declarator): Likewise.
8451 (pp_c_function_specifier): Likewise.
8452 (pp_c_direct_abstract_declarator): Likewise.
8453 * c-pretty-print.c (c_pretty_printer::abstract_declarator): Rename
8454 from pp_c_abstract_declarator. Adjust.
8455 (c_pretty_printer::direct_abstract_declarator): Rename from
8456 pp_c_direct_abstract_declarator. Adjust.
8457 (c_pretty_printer::function_specifier): Rename from
8458 pp_c_function_specifier. Adjust.
8459 (c_pretty_printer::declaration_specifiers): Rename from
8460 pp_c_declaration_specifiers. Adjust.
8461 (c_pretty_printer::direct_declarator): Rename from
8462 pp_c_direct_declarator. Adjust.
8463 (c_pretty_printer::declarator): Rename from pp_c_declarator. Adjust.
8464 (c_pretty_printer::declaration): Rename from pp_c_declaration. Adjust.
8465 (c_pretty_printer::c_pretty_printer): Do not assign to
8466 declaration, declaration_specifiers, declarator,
8467 direct_declarator, direct_abstract_declarator, function_specifier.
8469 2013-08-26 Gabriel Dos Reis <gdre@integrable-solutions.net>
8471 * c-pretty-print.h (c_pretty_printer::unary_expression): Now a
8472 virtual member function.
8473 (c_pretty_printer::multiplicative_expression): Likewise.
8474 (c_pretty_printer::conditional_expression): Likewise.
8475 (c_pretty_printer::assignment_expression): Likewise.
8476 (c_pretty_printer::expression): Likewise.
8477 (pp_unary_expression): Adjust.
8478 (pp_multiplicative_expression): Likewise.
8479 (pp_assignment_expression): Likewise.
8480 (pp_conditional_expression): Likewise.
8481 (pp_expression): Likewise.
8482 * c-pretty-print.c (c_pretty_printer::unary_expression): Rename
8483 from pp_c_unary_expression. Adjust.
8484 (c_pretty_printer::multiplicative_expression): Rename from
8485 pp_c_multiplicative_expression. Adjust.
8486 (c_pretty_printer::conditional_expression): Rename from
8487 pp_c_conditional_expression. Adjust.
8488 (c_pretty_printer::assignment_expression): Rename from
8489 pp_c_assignment_expression. Adjust.
8490 (c_pretty_printer::expression): Rename from pp_c_expression. Adjust.
8491 (c_pretty_printer::c_pretty_printer): Do not assign to
8492 unary_expression, multiplicative_expression,
8493 conditional_expression, expression.
8495 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8497 * c-pretty-print.h (c_pretty_printer::postfix_expression): Now a
8498 virtual member function.
8499 (pp_postfix_expression): Adjust.
8500 (pp_c_postfix_expression): Remove.
8501 * c-pretty-print.c (c_pretty_printer::postfix_expression): Rename
8502 from pp_c_postfix_expression. Adjust.
8503 (c_pretty_printer::c_pretty_printer): Do not assign to
8506 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8508 * c-pretty-print.h (c_pretty_printer::primary_expression): Now a
8509 virtua member function.
8510 (pp_primary_expression): Adjust.
8511 (pp_c_primary_expression): Remove.
8512 * c-pretty-print.c (c_pretty_printer::primary_expression): Rename
8513 from pp_c_primary_expression. Adjust.
8514 (pp_c_initializer_list): Use pp_primary_expression.
8515 (c_pretty_printer::c_pretty_printer): Do not assign to
8518 2013-08-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
8520 * c-pretty-print.h (c_pretty_printer::translate_string): Declare.
8521 * c-pretty-print.c (M_): Remove.
8522 (c_pretty_printer::translate_string): Define.
8523 (pp_c_type_specifier): Use it.
8524 (pp_c_primary_expression): Likewise.
8525 (pp_c_expression): Likewise.
8527 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8529 * c-pretty-print.h (c_pretty_printer::id_expression): Now a
8531 (pp_c_id_expression): Remove.
8532 (pp_id_expression): Adjust.
8533 * c-pretty-print.c (c_pretty_printer::id_expression): Rename from
8534 pp_c_id_expression. Adjust.
8535 (pp_c_postfix_expression): Use pp_id_expression.
8536 (c_pretty_printer::c_pretty_printer): Do not assign to id_expression.
8538 2013-08-24 Gabriel Dos Reis <gdr@integrable-solutions.net>
8540 * c-pretty-print.h (c_pretty_printer::constant): Now a virtual
8542 (pp_constant): Adjust.
8543 (pp_c_constant): Remove.
8544 * c-pretty-print.c (c_pretty_printer::constant): Rename from
8545 pp_c_constant. Adjust.
8547 (pp_c_primary_expression): Call pp_constant in lieu of pp_c_constant.
8548 (c_pretty_printer::c_pretty_printer): Remove assignment to constant.
8550 2013-08-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8552 * c-pretty-print.h (pp_c_pretty_printer_init): Remove.
8553 (c_pretty_printer::c_pretty_printer): Declare.
8554 * c-pretty-print.c (pretty_printer::c_pretty_printer): Rename from
8555 c_pretty_printer_init. Adjust.
8556 (print_c_tree): Do not call c_pretty_printer_init.
8557 * c-ada-spec.c (dump_ads): Remove call to pp_construct.
8559 2013-08-09 Arnaud Charlet <charlet@adacore.com>
8561 * c-ada-spec.c (print_ada_declaration): Prevent accessing null asm name
8563 2013-08-05 Paolo Carlini <paolo.carlini@oracle.com>
8566 * c-common.c (pointer_int_sum): Add bool parameter.
8567 * c-common.h (pointer_int_sum): Adjust declaration.
8569 2013-08-05 Gabriel Dos Reis <gdr@integrable-solutions.net>
8571 * c-pretty-print.c (print_c_tree): Simplify. Use non-static local
8572 c_pretty_printer variable.
8574 2013-08-04 Gabriel Dos Reis <gdr@integrable-solutions.net>
8576 * c-pretty-print.h (c_pretty_printer): Derive from pretty_printer.
8578 (pp_c_base): Likewise. Adjust users.
8579 * c-pretty-print.c (pp_c_maybe_whitespace): Adjust.
8580 (pp_c_whitespace): Do not call pp_base.
8581 (pp_c_left_paren): Likewise.
8582 (pp_c_right_paren): Likewise.
8583 (pp_c_left_brace): Likewise.
8584 (pp_c_right_brace): Likewise.
8585 (pp_c_left_bracket): Likewise.
8586 (pp_c_right_bracket): Likewise.
8587 (pp_c_dot): Likewise.
8588 (pp_c_ampersand): Likewise.
8589 (pp_c_star): Likewise.
8590 (pp_c_arrow): Likewise.
8591 (pp_c_semicolon): Likewise.
8592 (pp_c_complement): Likewise.
8593 (pp_c_exclamation): Likewise.
8594 (pp_c_direct_declarator): Likewise.
8595 (pp_c_ws_string): Likewise.
8596 (pp_c_identifier): Likewise.
8597 (pp_c_statement): Likewise.
8598 (print_c_tree): Likewise.
8600 2013-08-04 Ed Smith-Rowland <3dw4rd@verizon.net>
8603 * c-common.c (c_parse_error): Catch user-defined literal tokens and
8604 provide useful error strings.
8606 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8608 * c-ada-spec.c (pp_ada_tree_identifier): Use specialized pretty
8609 printer functions instead of pp_string or operators and punctuators.
8610 (dump_generic_ada_node): Likewise.
8611 * c-pretty-print.c (pp_c_type_specifier): Likewise.
8612 (pp_c_relational_expression): Likewise.
8613 (pp_c_logical_or_expression): Likewise.
8615 2013-08-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
8617 * c-ada-spec.c (print_ada_macros): Use specialized pretty printer
8618 functions instead of pp_character.
8619 (pp_ada_tree_identifier): Likewise.
8620 (dump_ada_double_name): Likewise.
8621 (dump_ada_function_declaration): Likewise.
8622 (dump_ada_array_domains): Likewise.
8623 (dump_template_types): Likewise.
8624 (dump_generic_ada_node): Likewise.
8625 (print_ada_declaration): Likewise.
8626 (print_ada_struct_decl): Likewise.
8627 * c-pretty-print.c (pp_c_integer_constant): Likewise.
8629 2013-07-23 Tom Tromey <tromey@redhat.com>
8631 * c-common.h (enum rid) <RID_GENERIC>: New constant.
8632 * c-common.c (c_common_reswords): Add _Generic.
8634 2013-07-21 OndÅ
\99ej BÃlka <neleai@seznam.cz>
8636 * c-common.c: Fix typos.
8637 * c-common.h: Likewise.
8639 2013-07-13 Lubos Lunak <l.lunak@suse.cz>
8642 * c-common.c (c_common_attribute_table): Add warn_unused.
8643 (handle_warn_unused_attribute): New.
8645 2013-07-10 Jakub Jelinek <jakub@redhat.com>
8647 * c-ppoutput.c (scan_translation_unit): Call account_for_newlines
8648 for all CPP_TOKEN_FLD_STR tokens, not just CPP_COMMENT.
8650 2013-07-10 Paolo Carlini <paolo.carlini@oracle.com>
8653 * c.opt: Add Wconditionally-supported.
8655 2013-07-08 Graham Stott <graham.stott@btinternet.com>
8657 * array-notation-common.c (length_mismatch_in_expr_p): Delete
8658 unused variables l_length and l_node.
8660 2013-07-04 Joern Rennecke <joern.rennecke@embecosm.com>
8663 * c-common.c (complete_array_type): Delay folding first index
8664 like other indices. When folding, check for index overflow.
8666 2013-06-27 Marc Glisse <marc.glisse@inria.fr>
8669 * c-common.h (c_build_vec_perm_expr): New complain argument.
8670 * c-common.c (c_build_vec_perm_expr): Likewise.
8671 Use save_expr also in C++.
8673 2013-06-22 Gabriel Dos Reis <gdr@integrable-solutions.net>
8675 * c-common.c (c_common_nodes_and_builtins): Use cxx11 in lieu of cxx0x.
8676 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
8677 * c-opts.c (c_common_post_options): Likewise.
8679 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8681 * array-notation-common.c (length_mismatch_in_expr): Changed the
8682 parameter type's from a dynamic array to a vec_tree. Also removed
8683 the size parameters.
8684 * c-common.h (length_mismatch_in_expr_p): Fixed prototype's as per
8687 2013-06-21 Balaji V. Iyer <balaji.v.iyer@intel.com>
8689 * c-common.h (struct cilkplus_an_parts): New structure.
8690 (struct cilkplus_an_loop_parts): Likewise.
8691 (cilkplus_extract_an_triplets): New prototype.
8692 (fix_sec_implicit_args): Likewise.
8693 * array-notation-common.c (cilkplus_extract_an_triplets): New function.
8694 (fix_sec_implicit_args): Likewise.
8696 2013-06-20 Balaji V. Iyer <balaji.v.iyer@intel.com>
8698 * array-notation-common.c (find_inv_trees): Removed an unwanted
8700 * c-common.h (struct inv_list::additional_tcodes): Changed type from
8701 enum rid to enum tree_code.
8703 2013-06-11 Jan Hubicka <jh@suse.cz>
8705 * c-common.c (handle_alias_ifunc_attribute): Do not set
8706 DECL_EXTERNAL for weakref variables.
8707 * c-pragma.c (handle_pragma_weak): Make sure aliases
8708 are not declared as external.
8710 2013-06-07 Balaji V. Iyer <balaji.v.iyer@intel.com>
8712 * array-notation-common.c (length_mismatch_in_expr_p): Moved this
8713 function from c/c-array-notation.c.
8714 (is_cilkplus_reduce_builtin): Likewise.
8715 (find_rank): Likewise.
8716 (extract_array_notation_exprs): Likewise.
8717 (replace_array_notations): Likewise.
8718 (find_inv_trees): Likewise.
8719 (replace_inv_trees): Likewise.
8720 (contains_array_notation_expr): Likewise.
8721 (find_correct_array_notation_type): Likewise.
8722 * c-common.h (struct inv_list): Moved this struct from the file
8723 c/c-array-notation.c and added a new field called additional tcodes.
8724 (length_mismatch_in_expr_p): New prototype.
8725 (is_cilkplus_reduce_builtin): Likewise.
8726 (find_rank): Likewise.
8727 (extract_array_notation_exprs): Likewise.
8728 (replace_array_notation): Likewise.
8729 (find_inv_trees): Likewise.
8730 (replace_inv_trees): Likewise.
8731 (find_correct_array_notation_type): Likewise.
8733 2013-05-28 Balaji V. Iyer <balaji.v.iyer@intel.com>
8735 * c-common.c (c_define_builtins): When cilkplus is enabled, the
8736 function array_notation_init_builtins is called.
8737 (c_common_init_ts): Added ARRAY_NOTATION_REF as typed.
8738 * c-common.def (ARRAY_NOTATION_REF): New tree.
8739 * c-common.h (build_array_notation_expr): New function declaration.
8740 (build_array_notation_ref): Likewise.
8741 (extract_sec_implicit_index_arg): New extern declaration.
8742 (is_sec_implicit_index_fn): Likewise.
8743 (ARRAY_NOTATION_CHECK): New define.
8744 (ARRAY_NOTATION_ARRAY): Likewise.
8745 (ARRAY_NOTATION_START): Likewise.
8746 (ARRAY_NOTATION_LENGTH): Likewise.
8747 (ARRAY_NOTATION_STRIDE): Likewise.
8748 * c-pretty-print.c (pp_c_postifix_expression): Added a new case for
8750 (pp_c_expression): Likewise.
8751 * c.opt (flag_enable_cilkplus): New flag.
8752 * array-notation-common.c: New file.
8754 2013-05-14 Jakub Jelinek <jakub@redhat.com>
8757 * c-common.c (verify_tree): Don't recurse into SIZEOF_EXPR.
8759 2013-05-10 Marc Glisse <marc.glisse@inria.fr>
8761 * c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
8764 2013-05-07 Han Shen <shenhan@google.com>
8766 * c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
8768 2013-04-29 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
8770 * c-common.c (check_user_alignment): Emit error for negative values.
8772 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8774 * c-opts.c (set_std_cxx11): Use CLK_CXX1Y and CLK_GNUCXX1Y.
8776 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8778 * c-cppbuiltin.c (c_cpp_builtins): Do not define
8779 __GXX_EXPERIMENTAL_CXX1Y__.
8781 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8782 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
8784 * c.opt ([Wpointer-arith]): Enabled by -Wpedantic, as documented.
8785 * c-common.c (pointer_int_sum): Change -Wpointer-arith pedwarns
8786 to simply use OPT_Wpointer_arith.
8787 (c_sizeof_or_alignof_type): Likewise.
8789 2013-04-24 Paolo Carlini <paolo.carlini@oracle.com>
8791 * c-cppbuiltin.c (c_cpp_builtins): Define __GXX_EXPERIMENTAL_CXX1Y__.
8793 2013-04-12 Jakub Jelinek <jakub@redhat.com>
8795 * c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
8796 gcc_cdiag_char_table, gcc_cxxdiag_char_table): Add %r and %R format
8799 2013-04-07 Steven Bosscher <steven@gcc.gnu.org>
8801 * c-pragma.c (add_to_renaming_pragma_list): Fix leading comment.
8803 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
8805 * c-common.c (pointer_int_sum): Remove dead code.
8807 2013-03-09 Richard Sandiford <rdsandiford@googlemail.com>
8810 * c-common.c (handle_optimize_attribute): Don't call
8811 save_optabs_if_changed.
8813 2013-03-05 Jakub Jelinek <jakub@redhat.com>
8816 * c-pch.c (pch_init): Free target_validity at the end.
8818 2013-03-04 Jakub Jelinek <jakub@redhat.com>
8820 * c-pretty-print.c (pp_c_pretty_printer_init): Clear pp->flags.
8822 2013-02-28 Konstantin Serebryany <konstantin.s.serebryany@gmail.com>
8823 Jakub Jelinek <jakub@redhat.com>
8826 * c-common.c (handle_no_sanitize_address_attribute): New function.
8827 (c_common_attribute_table): Add no_sanitize_address attribute.
8828 (handle_no_address_safety_analysis_attribute): Add
8829 no_sanitize_address attribute, not no_address_safety_analysis
8832 2013-02-18 Aldy Hernandez <aldyh@redhat.com>
8835 * c-common.c (handle_optimize_attribute): Call
8836 save_optabs_if_changed.
8838 2013-02-18 Jakub Jelinek <jakub@redhat.com>
8839 Steven Bosscher <steven@gcc.gnu.org>
8842 * c-opts.c (c_common_post_options): If debug info is enabled
8843 and non-dwarf*, refuse to load PCH files and when writing PCH
8846 2013-02-05 Jakub Jelinek <jakub@redhat.com>
8849 * c-common.c (handle_error_attribute): Fix condition.
8851 2013-01-30 Jakub Jelinek <jakub@redhat.com>
8854 * c-common.c (handle_target_attribute): Revert 2012-12-26 change.
8856 2013-01-18 Jason Merrill <jason@redhat.com>
8859 * c.opt (-fextern-tls-init): New.
8860 * c-opts.c (c_common_post_options): Handle it.
8862 2013-01-09 Jakub Jelinek <jakub@redhat.com>
8865 * c-common.c (c_fully_fold_internal): Warn for LSHIFT_EXPR and
8866 RSHIFT_EXPR, if orig_op1 isn't INTEGER_CST, op1 is INTEGER_CST
8867 and is either negative or bigger or equal to type precision
8868 of the first operand.
8870 2012-12-03 Marek Polacek <polacek@redhat.com>
8873 * c-common.c (check_user_alignment): Swap order of tests,
8874 check TREE_CODE first.
8876 2012-11-29 Ed Smith-Rowland <3dw4rd@verizon.net>
8879 * c-common.h (overflow_type): New enum.
8880 (build_userdef_literal): Add overflow_type argument.
8881 (tree_userdef_literal): Add overflow_type.
8882 (USERDEF_LITERAL_OVERFLOW): New access macro.
8883 * c-common.c (build_userdef_literal): Add overflow_type
8885 * c-lex.c (c_lex_with_flags): Add overflow_type to
8886 build_userdef_literal calls.
8887 (interpret_integer, interpret_float): Add overflow_type argument.
8889 2012-11-28 Richard Biener <rguenther@suse.de>
8892 * c-gimplify.c (c_gimplify_expr): Gimplify self-modify expressions
8893 here and use a type with proper overflow behavior for types that would
8894 need to be promoted for the arithmetic.
8896 2012-11-23 Jakub Jelinek <jakub@redhat.com>
8899 * c-common.c (handle_no_address_safety_analysis_attribute): New
8901 (c_common_attribute_table): Add no_address_safety_analysis.
8903 2012-11-16 Simon Baldwin <simonb@google.com>
8905 * c.opt: Add f[no-]canonical-system-headers.
8906 * c-opts.c (c_common_handle_option): Handle
8907 OPT_fcanonical_system_headers.
8909 2012-11-09 Ed Smith-Rowland <3dw4rd@verizon.net>
8912 * c-opts.c (c_common_handle_option): Set new flags.
8913 * c.opt: Describe new flags.
8915 2012-11-09 Jason Merrill <jason@redhat.com>
8917 * c.opt (Wabi-tag): New.
8919 2012-11-09 Andi Kleen <ak@linux.intel.com>
8922 * c-common.c (get_atomic_generic_size): Mask with
8925 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8928 * c.opt (Wformat): Make it Alias Wformat=1.
8929 (Wformat-contains-nul,Wformat-extra-args,Wformat-nonliteral,
8930 Wformat-security,Wformat-y2k,Wformat-zero-length): Use
8932 (Wformat=): RejectNegative. Use LangEnabledBy.
8933 (Wnonnull): Use LangEnabledBy.
8934 * c-opts.c (c_common_handle_option): Do not handle Wformat here.
8935 * c-format.c (set_Wformat): Delete.
8936 (decode_format_attr): Replace OPT_Wformat with OPT_Wformat_.
8937 (maybe_read_dollar_number): Likewise.
8938 (avoid_dollar_number): Likewise.
8939 (finish_dollar_format_checking): Likewise.
8940 (check_format_info): Likewise.
8941 (check_format_info_main): Likewise.
8942 (check_format_types): Likewise.
8943 (format_type_warning): Likewise.
8944 * c-common.c (int): Likewise.
8945 (check_function_sentinel): Likewise.
8946 * c-common.h (warn_format,set_Wformat): Do not declare here.
8948 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8951 * c.opt(Warray-bounds,Wdelete-non-virtual-dtor,Wenum-compare,
8952 Wmain,Woverlength-strings, Wunknown-pragmas,Wunused-macros):
8954 (Wswitch,Wswitch-default,Wswitch-enum): Likewise. Move here from
8956 (Wvariadic-macros): Init(1).
8957 * c-opts.c (c_common_handle_option): Do not handle them
8959 (c_common_post_options): Likewise.
8960 (sanitize_cpp_opts): warn_unused_macros is now
8961 cpp_warn_unused_macros.
8962 (push_command_line_include): Likewise.
8963 * c-common.c (warn_unknown_pragmas): Do not define.
8964 * c-common.h (warn_unknown_pragmas): Do not declare.
8966 2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
8969 * c-common.c (conversion_warning): Handle conditional expressions.
8971 2012-10-29 Jonathan Wakely <jwakely.gcc@gmail.com>
8974 * c.opt (Wreturn_local_addr): Define new option.
8976 2012-10-25 Jason Merrill <jason@redhat.com>
8978 * c.opt (Wvirtual-move-assign): New.
8980 * c.opt (Winherited-variadic-ctor): New.
8982 2012-10-25 Marc Glisse <marc.glisse@inria.fr>
8985 * c-common.c (scalar_to_vector): Handle VEC_COND_EXPR.
8987 2012-10-23 Joseph Myers <joseph@codesourcery.com>
8989 * c-common.h (pch_cpp_save_state): Declare.
8990 * c-target.def (c_preinclude): New hook.
8991 * c-opts.c (done_preinclude): New.
8992 (push_command_line_include): Handle default preincluded header.
8993 (cb_file_change): Call pch_cpp_save_state when calling
8994 push_command_line_include.
8995 * c-pch.c (pch_ready_to_save_cpp_state, pch_cpp_state_saved)
8996 (pch_cpp_save_state): New.
8997 (pch_init): Call pch_cpp_save_state conditionally, instead of
8998 calling cpp_save_state.
9000 2012-10-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
9004 * c.opt (Waddress,Wchar-subscripts,Wsign-conversion,Wimplicit,
9005 Wimplicit-function-declaration,Wimplicit-int,Wsizeof-pointer-memaccess,
9006 Wnarrowing,Wparentheses,Wpointer-sign,Wreturn-type,Wsequence-point,
9007 Wsign-compare,Wuninitialized,Wmaybe-uninitialized,Wunused,
9008 Wvolatile-register-var): Add LangEnabledBy or EnabledBy.
9009 * c-opts.c (c_common_handle_option): Remove explicit handling from
9011 (c_common_post_options): Likewise.
9013 2012-10-18 Eric Botcazou <ebotcazou@adacore.com>
9015 * c-ada-spec.c (LOCATION_COL): Delete.
9016 (compare_location): New function.
9017 (compare_node): Use it.
9018 (compare_comment): Likewise.
9020 2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
9024 * c.opt (Wstrict-aliasing=,Wstrict-overflow=): Use LangEnabledBy.
9025 * c-opts.c (c_common_handle_option): Do not set them here. Add
9027 (c_common_post_options): Likewise.
9029 2012-10-16 Eric Botcazou <ebotcazou@adacore.com>
9031 * c-ada-spec.c (ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX): Define.
9032 (dump_generic_ada_node) <INTEGER_CST>: Deal with sizetype specially.
9033 Remove POINTER_TYPE handling, add large unsigned handling and use
9034 ADA_HOST_WIDE_INT_PRINT_DOUBLE_HEX for big numbers.
9036 2012-10-12 Jakub Jelinek <jakub@redhat.com>
9039 * c-common.h (sizeof_pointer_memaccess_warning): Adjust prototype.
9040 * c-common.c (sizeof_pointer_memaccess_warning): Take array of 3
9041 locs and array of 3 trees instead of just single loc and single
9042 sizeof_arg tree. Handle __builtin___*_chk builtins too, and
9043 also stpncpy, bcopy, bcmp, bzero, snprintf and vsnprintf builtins.
9044 For *cmp* builtins that take two sources strings report warnings
9045 about first and second source, not about destination and source.
9047 2012-10-12 Marc Glisse <marc.glisse@inria.fr>
9050 * c-common.h (enum ref_operator) [RO_ARROW_STAR]: New.
9052 2012-10-11 Eric Botcazou <ebotcazou@adacore.com>
9054 * c-ada-spec.c (dump_ada_template): Bail out for template declarations
9055 declaring something coming from another file.
9057 2012-10-10 Arnaud Charlet <charlet@adacore.com>
9060 * c-ada-spec.c (print_ada_struct_decl): Increase buf size.
9062 2012-10-09 Paolo Carlini <paolo.carlini@oracle.com>
9065 * c-common.c (warn_about_parentheses): Add location_t parameter;
9066 use EXPR_LOC_OR_LOC.
9067 * c-common.h: Update declaration.
9069 2012-10-09 Marc Glisse <marc.glisse@inria.fr>
9072 * c-common.c (scalar_to_vector): Moved from c-typeck.c. Support
9073 more operations. Make error messages optional.
9074 * c-common.h (enum stv_conv): Moved from c-typeck.c.
9075 (scalar_to_vector): Declare.
9077 2012-10-08 Jason Merrill <jason@redhat.com>
9079 * c-common.c (c_common_reswords): Add thread_local.
9081 2012-10-08 Dodji Seketeli <dodji@redhat.com>
9083 PR c++/53528 C++11 attribute support
9084 * c-common.h (bitfield_p, cxx_fundamental_alignment_p): Declare
9086 * c-common.c (check_cxx_fundamental_alignment_constraints): New
9088 (handle_aligned_attribute): In choose strictest alignment
9089 among many. Use new check_cxx_fundamental_alignment_constraints.
9090 (handle_transparent_union_attribute): In c++11 attribute syntax,
9091 don't look through typedefs.
9093 2012-10-04 Arnaud Charlet <charlet@adacore.com>
9095 * c-ada-spec.c (print_ada_declaration): Remove handling of TDF_RAW.
9096 * c.opt (-fdump-ada-spec, -fdump-ada-spec-slim): Move switch definition
9099 2012-09-25 Dehao Chen <dehao@google.com>
9102 * c-pch.c (c_common_read_pch): Rebuild the location_adhoc_data
9103 map when read in the pch.
9105 2012-09-18 Arnaud Charlet <charlet@adacore.com>
9107 * c-ada-spec.c: Style fixes.
9109 2012-09-18 Thomas Quinot <quinot@adacore.com>
9111 * c.opt (-fada-spec-parent): Define new command line switch.
9112 * c-ada-spec.c (get_ada_package): When -fada-spec-parent
9113 is specified, generate binding spec as a child of the specified unit.
9115 2012-09-13 Paolo Carlini <paolo.carlini@oracle.com>
9116 Manuel López-Ibáñez <manu@gcc.gnu.org>
9119 * c.opt ([Winit-self]): Enabled by -Wall in C++.
9121 2012-08-23 Arnaud Charlet <charlet@adacore.com>
9123 * c-ada-spec.c (dump_generic_ada_node): Fix handling of name_only
9124 for pointers, and add missing Convention C pragma.
9125 (print_ada_struct_decl): Add missing aliased keyword.
9126 (dump_ads): Add pragma Ada_2005 and Style_Checks (Off).
9128 2012-08-17 Jakub Jelinek <jakub@redhat.com>
9130 * c-common.c (sizeof_pointer_memaccess_warning): New function.
9131 * c.opt (-Wsizeof-pointer-memaccess): Add new option.
9132 * c-opts.c (c_common_handle_option): Enable it for -Wall.
9133 * c-common.h (sizeof_pointer_memaccess_warning): Add prototype.
9134 * c-common.def (SIZEOF_EXPR): Moved here from cp-tree.def.
9136 2012-08-10 Richard Guenther <rguenther@suse.de>
9138 * c-pretty-print.c (pp_c_expression): Handle anonymous SSA names.
9140 2012-08-07 Steven Bosscher <steven@gcc.gnu.org>
9142 * c-pretty-print.c (pp_c_function_definition): Use pp_newline_and_flush
9143 instead of separate pp_newline and pp_flush.
9144 (print_c_tree): Likewise.
9146 2012-07-26 Richard Henderson <rth@redhat.com>
9148 * c-common.c (handle_hot_attribute): Allow labels.
9149 (handle_cold_attribute): Likewise.
9151 2012-07-20 Jakub Jelinek <jakub@redhat.com>
9154 * c-common.c (check_function_nonnull): Handle multiple nonnull
9155 attributes properly.
9157 2012-07-16 Steven Bosscher <steven@gcc.gnu.org>
9159 * c-gimplify.c: Include dumpfile.h instead of tree-dump.h.
9160 * c-ada-spec.c: Likewise.
9161 * c-dump.c (dump_stmt): Move to cp/dump.c, the only user.
9163 2012-07-14 Steven Bosscher <steven@gcc.gnu.org>
9165 * c-pch.c (CHECK_NO_ASM_OUT_DURING_PCH): Do not define.
9166 Remove code conditional on it.
9168 2012-07-11 Steven Bosscher <steven@gcc.gnu.org>
9170 * c-gimplify.c: Do not include basic-block.h.
9171 * c-common.c: Do not include linfuncs.h.
9173 2012-07-08 Steven Bosscher <steven@gcc.gnu.org>
9175 * c-common.h: Include tree.h.
9177 2012-07-02 Jason Merrill <jason@redhat.com>
9180 * c-common.c (get_priority): Call default_conversion.
9182 2012-07-01 Uros Bizjak <ubizjak@gmail.com>
9184 * c-pch.c (c_common_write_pch): Remove unused variables.
9186 2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
9188 * cppspec.c: Moved from gcc/ to here.
9190 2012-06-27 Kai Tietz <ktietz@redhat.com>
9192 PR preprocessor/37215
9193 * c-ppoutput.c (preprocess_file): Check for nonempty buffer.
9195 2012-06-21 Steven Bosscher <steven@gcc.gnu.org>
9197 * c-common.h (c_common_print_pch_checksum): Remove.
9198 * c-pch.c: Do not include output.h.
9199 (CHECK_NO_ASM_OUT_DURING_PCH): Define and add FIXME.
9200 (asm_out_file): Define iff CHECK_NO_ASM_OUT_DURING_PCH isdefined.
9201 (asm_file_startpos): Define iff CHECK_NO_ASM_OUT_DURING_PCH is defined.
9202 (struct c_pch_header): Remove.
9203 (get_ident): Update gpch version.
9204 (pch_init): Do not print executable_checksum to asm_out_file.
9205 Do not fail if there is no asm_out_file to read back from. Set
9206 asm_file_startpos only if CHECK_NO_ASM_OUT_DURING_PCH is defined.
9207 (c_common_write_pch): Verify that nothing was written to asm_out_file
9208 since pch_init was called. Do not write a c_pch_header, and do not
9209 copy from asm_out_file to the PCH.
9210 (c_common_read_pch): Do not read a c_pch_header, and do not restore
9211 the content of asm_out_file from the PCH.
9212 (c_common_print_pch_checksum): Remove.
9213 * c-opts.c (c_common_init): Print out executable_checksum directly.
9215 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
9217 * c-target.def (objc_declare_unresolved_class_reference,
9218 objc_declare_class_definition): Add new hooks.
9220 2012-06-19 Steven Bosscher <steven@gcc.gnu.org>
9222 * c-lex.c: Do not include output.h.
9223 (cb_ident): Try to put out .ident with targetm.asm_out.output_ident.
9224 Remove uses of ASM_OUTPUT_IDENT.
9226 2012-06-15 Marc Glisse <marc.glisse@inria.fr>
9229 * c-common.h (c_build_vec_perm_expr): Move decl here.
9230 * c-common.c (c_build_vec_perm_expr): Move definition
9233 2012-06-06 Steven Bosscher <steven@gcc.gnu.org>
9235 * c.opt (fconserve-space): Turn into a no-op.
9237 2012-06-04 Sterling Augustine <saugustine@google.com>
9239 * c-pretty-print.h (pp_c_flag_gnu_v3): New enumerator.
9240 * c-pretty-print.c (pp_c_specifier_qualifier_list): Check it at
9241 both the start and end of the function.
9243 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
9245 * c-common.c: Do not include output.h.
9246 * c-pragma.c: Likewise.
9248 2012-06-04 Steven Bosscher <steven@gcc.gnu.org>
9250 * error.c (dump_decl): Check pp_c_flag_gnu_v3.
9251 (decl_as_dwarf_string, lang_decl_dwarf_name): New functions.
9252 (lang_decl_name): Handle namespace decls.
9254 2012-05-31 Steven Bosscher <steven@gcc.gnu.org>
9256 * c-ada-spec.c: Do not include output.h.
9257 * c-semantics.c: Likewise.
9259 2012-05-29 Joseph Myers <joseph@codesourcery.com>
9261 * c-common.c: Fix typo.
9263 2012-05-29 Michael Matz <matz@suse.de>
9265 * c-common.h (c_expand_decl): Remove prototype.
9267 2012-05-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
9269 * c.opt (Wmissing-braces): Use LangEnabledBy(C ObjC,Wall).
9270 * c-opts.c (c_common_handle_option): Remove code handling
9271 warn_missing_braces.
9273 2012-05-28 Paolo Carlini <paolo.carlini@oracle.com>
9276 * c-opts.c (c_common_handle_option): For C++ -Wall doesn't enable
9279 2012-05-22 Dodji Seketeli <dodji@redhat.com>
9282 * c.opt (Wunused-local-typedefs): Use EnabledBy(Wunused).
9284 2012-05-17 Manuel López-Ibáñez <manu@gcc.gnu.org>
9286 * c.opt (--pedantic-errors,-pedantic-errors): Do not handle here.
9287 * c-opts.c (c_common_handle_option): Do not handle explicitly
9288 Wreturn-type, Wwrite-strings, warn_ecpp, and -pedantic-errors.
9290 2012-05-16 Dodji Seketeli <dodji@redhat.com>
9292 PR preprocessor/7263
9293 * c-lex.c (c_lex_with_flags): Pass a virtual location to the call
9294 to cpp_classify_number. For diagnostics, use the precise location
9295 instead of the global input_location.
9297 2012-05-15 Paolo Carlini <paolo.carlini@oracle.com>
9300 * c-common.c (shorten_compare): Check c_inhibit_evaluation_warnings.
9302 2012-05-14 Bernd Schmidt <bernds@codesourcery.com>
9304 * c-common.c (DEF_ATTR_STRING): Define and undefine as necessary.
9306 2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
9309 * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init,
9310 Wreorder): Use LangEnabledBy.
9311 * c-opts.c (c_common_handle_option): Do not enable them
9312 explicitly. Call lang-specific generated functions.
9313 (c_common_post_options): Do not set them here.
9315 2012-05-13 Manuel López-Ibáñez <manu@gcc.gnu.org>
9317 * c.opt (Wclobbered,Wempty-body,Wignored-qualifiers,
9318 Wmissing-field-initializers,Wmissing-parameter-type,
9319 Wold-style-declaration,Woverride-init): Use EnabledBy.
9320 * c-opts.c (c_common_post_options): Do not set here explicitly.
9322 2012-05-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9325 * c-opts.c (c_common_handle_option): Use handle_generated_option
9326 to enable sub-options.
9328 2012-05-10 Paolo Carlini <paolo.carlini@oracle.com>
9331 * c-common.c (warnings_for_convert_and_check): Use warning_at.
9333 2012-05-10 Richard Guenther <rguenther@suse.de>
9335 * c-common.c (c_sizeof_or_alignof_type): Remove assert and
9336 adjust commentary about TYPE_IS_SIZETYPE types.
9338 2012-05-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
9341 * c-common.c (warn_logical_operator): Check that argument of
9342 integer_zerop is not NULL.
9344 2012-05-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
9347 * c-common.c (warn_logical_operator): Do not warn if either side
9348 is already true or false.
9350 2012-05-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
9353 * c-common.c (expr_original_type): New.
9354 (shorten_compare): Do not warn for enumeration types.
9356 2012-05-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
9358 * c.opt (fpermissive): Add Var(flag_permissive).
9360 2012-04-30 Marc Glisse <marc.glisse@inria.fr>
9363 * c-common.c (convert_vector_to_pointer_for_subscript): New function.
9364 * c-common.h (convert_vector_to_pointer_for_subscript): Declare it.
9366 2012-04-30 Dodji Seketeli <dodji@redhat.com>
9368 Add -Wvarargs option
9369 * c.opt (Wvarargs): Define new option.
9371 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9373 * c-common.c (check_function_arguments): Replace
9374 Wmissing-format-attribute with Wsuggest-attribute=format.
9376 2012-04-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
9378 * c.opt (Wsuggest-attribute=format): New. Alias of
9379 Wmissing-format-attribute.
9380 * c-format.c (decode_format_type): Replace
9381 Wmissing-format-attribute with Wsuggest-attribute=format.
9382 (check_function_format): Likewise.
9384 2012-04-27 Ollie Wild <aaw@google.com>
9386 * c-common.c: Add CPP_W_LITERAL_SUFFIX mapping.
9387 * c-opts.c (c_common_handle_option): Handle OPT_Wliteral_suffix.
9388 * c.opt: Add Wliteral-suffix.
9390 2012-04-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9393 * c.opt (Wpedantic): New.
9394 (pedantic): Alias Wpedantic.
9395 * c-opts.c (c_common_handle_option): Replace -pedantic with -Wpedantic.
9396 (c_common_post_options): Likewise.
9397 (sanitize_cpp_opts): Likewise.
9398 * c-lex.c (interpret_float): Likewise.
9399 * c-format.c (check_format_types): Likewise.
9400 * c-common.c (pointer_int_sum): Likewise.
9401 (c_sizeof_or_alignof_type): Likewise.
9402 (c_add_case_label): Likewise.
9403 (c_do_switch_warnings): Likewise.
9404 * c-pragma.c (handle_pragma_float_const_decimal64): Likewise.
9406 2012-04-15 Jason Merrill <jason@redhat.com>
9409 * c-format.c (CPLUSPLUS_STD_VER): C++11 inherits from C99.
9410 (C_STD_NAME): Distinguish between C++98 and C++11.
9412 2012-04-11 Eric Botcazou <ebotcazou@adacore.com>
9415 * c-common.h (uint16_type_node): Rename into...
9416 (c_uint16_type_node): ...this.
9417 * c-common.c (c_common_nodes_and_builtins): Adjust for above renaming.
9418 * c-cppbuiltin.c (builtin_define_stdint_macros): Likewise.
9420 2012-04-10 Manuel López-Ibáñez <manu@gcc.gnu.org>
9422 * c-common.c (warn_if_unused_value): Move definition to here.
9423 * c-common.h (warn_if_unused_value): Move declaration to here.
9425 2012-03-23 William Bader <williambader@hotmail.com>
9427 * c-lex.c (c_lex_with_flags): Avoid declarations after stmts.
9429 2012-03-20 Jason Merrill <jason@redhat.com>
9431 * c-common.h (enum cxx_dialect): Add cxx1y.
9432 * c-common.c (c_common_nodes_and_builtins): Use >= for cxx_dialect
9434 * c-cppbuiltin.c (c_cpp_builtins): Likewise.
9435 * c-opts.c (c_common_post_options): Likewise.
9436 (set_std_cxx1y): New.
9437 (c_common_handle_option): Call it.
9438 * c.opt (-std=c++1y, -std=gnu++1y): New flags.
9440 2012-03-19 Paolo Carlini <paolo.carlini@oracle.com>
9443 * c.opt ([Wuseless-cast]): Add.
9445 2012-03-16 Richard Guenther <rguenther@suse.de>
9447 * c-pretty-print.c (pp_c_initializer_list): Adjust.
9449 2012-03-15 Manuel López-Ibáñez <manu@gcc.gnu.org>
9452 * c.opt (ftemplate-backtrace-limit) Add.
9454 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9456 * c-cppbuiltin.c (c_cpp_builtins): Remove #pragma extern_prefix
9458 * c-pragma.c (handle_pragma_extern_prefix): Remove.
9459 (init_pragma): Don't register extern_prefix.
9461 2012-03-12 Richard Guenther <rguenther@suse.de>
9463 * c-common.c (c_common_get_narrower): Use c_common_type_for_size.
9464 (builtin_type_for_size): Likewise.
9466 2012-02-13 Jakub Jelinek <jakub@redhat.com>
9469 * c-common.c (sync_resolve_params): Don't decide whether to convert
9470 or not based on TYPE_SIZE comparison, convert whenever arg_type
9471 is unsigned INTEGER_TYPE.
9473 2012-02-06 Paolo Carlini <paolo.carlini@oracle.com>
9476 * c.opt ([Wunused-local-typedefs]): Fix description.
9478 2012-01-24 Mike Stump <mikestump@comcast.net>
9480 * c-common.c (c_common_type_for_mode): Match signed/unsigned types
9483 2012-01-18 Richard Guenther <rguenther@suse.de>
9485 * c-opts.c (c_common_post_options): Reset LTO flags if
9486 we are about to generate a PCH.
9488 2012-01-17 Paolo Carlini <paolo.carlini@oracle.com>
9491 * c-pretty-print.c (pp_c_integer_constant): For unsigned constants
9492 use pp_unsigned_wide_integer.
9494 2012-01-10 Richard Guenther <rguenther@suse.de>
9497 * c-opts.c (c_common_handle_option): Move -Werror handling
9498 to language independent code.
9500 2012-01-05 Richard Guenther <rguenther@suse.de>
9503 * c.opt (Wmudflap, fmudflap, fmudflapth, fmudflapir): Move here
9506 2011-12-30 Paolo Carlini <paolo.carlini@oracle.com>
9509 * c-common.c (c_sizeof_or_alignof_type): In C++ allow for alignof
9510 of array types with an unknown bound.
9512 2011-12-20 Joseph Myers <joseph@codesourcery.com>
9514 * c-common.c (flag_isoc99): Update comment to refer to C11.
9515 (flag_isoc1x): Change to flag_isoc11.
9516 * c-common.h (flag_isoc99): Update comment to refer to C11.
9517 (flag_isoc1x): Change to flag_isoc11.
9518 * c-cppbuiltin.c (cpp_atomic_builtins): Change comment to refer to
9520 * c-opts.c (set_std_c1x): Change to set_std_c11.
9521 (c_common_handle_option): Handle OPT_std_c11 and OPT_std_gnu11.
9523 (set_std_c89, set_std_c99, set_std_c11): Use flag_isoc11.
9524 (set_std_c1): Use CLK_STDC11 and CLK_GNUC11.
9525 * c.opt (std=c1x): Change to std=c11. Document as non-draft
9527 (std=c1x, std=iso9899:2011): Add as aliases of std=c11.
9528 (std=gnu1x): Change to std=gnu11. Refer to non-draft standard.
9529 (std=gnu1x): Make alias of std=gnu11.
9531 2011-12-19 Jason Merrill <jason@redhat.com>
9534 * c-common.c (handle_transparent_union_attribute): Check the first
9535 field if the type is complete.
9537 2011-12-15 Jonathan Wakely <jwakely.gcc@gmail.com>
9540 * c-common.c (RID_IS_FINAL): Add.
9541 * c-common.h (RID_IS_FINAL): Add.
9543 2011-11-30 Iain Sandoe <iains@gcc.gnu.org>
9545 * c.opt (fgnu-runtime): Provide full description.
9546 (fnext-runtime): Likewise.
9547 * c-opts.c (OPT_fgnu_runtime, OPT_fnext_runtime) Remove.
9549 2011-11-28 Andrew MacLeod <amacleod@redhat.com>
9551 * c-cpp-builtin.c (cpp_atomic_builtins):New. Emit all atomic
9552 predefines in one place. Add LOCK_FREE predefines.
9553 (c_cpp_builtins): Move Legacy HAVE_SYNC predefines to
9556 2011-11-24 Andrew MacLeod <amacleod@redhat.com>
9559 * c-common.c (get_atomic_generic_size): Check for various error
9561 (resolve_overloaded_atomic_exchange,
9562 resolve_overloaded_atomic_compare_exchange,
9563 resolve_overloaded_atomic_load, resolve_overloaded_atomic_store): Return
9564 error_mark_node for error conditions.
9566 2011-11-08 Richard Guenther <rguenther@suse.de>
9569 * c-pretty-print.c (pp_c_expression): Handle SSA_NAMEs.
9571 2011-11-07 Richard Henderson <rth@redhat.com>
9572 Aldy Hernandez <aldyh@redhat.com>
9573 Torvald Riegel <triegel@redhat.com>
9575 Merged from transactional-memory.
9577 * c-common.c (handle_tm_wrap_attribute,
9578 handle_tm_attribute, ignore_attribute, parse_tm_stmt_attr): New.
9579 (struct c_common_reswords): Added __transaction* keywords.
9580 (struct c_common_attribute_table): Added transaction* and tm_regparm
9582 * c-common.h: Added RID_TRANSACTION*. Added TM_ATTR* and TM_STMT*
9584 (parse_tm_stmt_attr, tm_attr_to_mask, tm_mask_to_attr,
9585 find_tm_attribute): Declare.
9587 2011-11-07 Jason Merrill <jason@redhat.com>
9590 * c-common.c, c-common.h: Revert yesterday's changes.
9592 2011-11-06 Jason Merrill <jason@redhat.com>
9595 * c-common.c (decl_has_visibility_attr): Split out from...
9596 (c_determine_visibility): ...here.
9597 * c-common.h: Declare it.
9599 2011-11-06 Joseph Myers <joseph@codesourcery.com>
9601 * c-common.c (c_common_reswords): Add _Alignas and _Alignof.
9602 (c_sizeof_or_alignof_type): Diagnose alignof applied to a function
9604 (check_user_alignment): New. Split out of
9605 handle_aligned_attribute. Disallow integer constants with
9606 noninteger types. Conditionally allow zero.
9607 (handle_aligned_attribute): Use check_user_alignment.
9608 * c-common.h (RID_ALIGNAS, check_user_alignment): New.
9610 2011-11-06 Andrew MacLeod <amacleod@redhat.com>
9611 Richard Henderson <rth@redhat.com>
9613 Merged from cxx-mem-model.
9615 * c-cppbuiltin.c (c_cpp_builtins): Test both atomic and sync patterns.
9616 * c-common.c (sync_resolve_params, sync_resolve_return): Only tweak
9617 parameters that are the same type size.
9618 (get_atomic_generic_size): New. Find size of generic
9619 atomic function parameters and do typechecking.
9620 (add_atomic_size_parameter): New. Insert size into parameter list.
9621 (resolve_overloaded_atomic_exchange): Restructure __atomic_exchange to
9622 either __atomic_exchange_n or external library call.
9623 (resolve_overloaded_atomic_compare_exchange): Restructure
9624 __atomic_compare_exchange to either _n variant or external library call.
9625 (resolve_overloaded_atomic_load): Restructure __atomic_load to either
9626 __atomic_load_n or an external library call.
9627 (resolve_overloaded_atomic_store): Restructure __atomic_store to either
9628 __atomic_store_n or an external library call.
9629 (resolve_overloaded_builtin): Handle new __atomic builtins.
9631 2011-11-04 Eric Botcazou <ebotcazou@adacore.com>
9634 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Call fold_offsetof_1.
9635 (fold_offsetof_1): Make global. Remove STOP_REF argument and adjust.
9636 <INDIRECT_REF>: Return the argument.
9637 <ARRAY_REF>: Remove special code for negative offset.
9638 Call fold_build_pointer_plus instead of size_binop.
9639 (fold_offsetof): Remove STOP_REF argument and adjust.
9640 * c-common.h (fold_offsetof_1): Declare.
9641 (fold_offsetof): Remove STOP_REF argument.
9643 2011-11-02 Paolo Carlini <paolo.carlini@oracle.com>
9646 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9647 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9648 Wnarrowing for C++0x and C++98.
9649 * c.opt ([Wnarrowing]): Update.
9651 2011-11-01 Paolo Carlini <paolo.carlini@oracle.com>
9654 * c.opt: Add Wzero-as-null-pointer-constant.
9656 2011-10-31 Jason Merrill <jason@redhat.com>
9658 * c.opt (-fdeduce-init-list): Off by default.
9661 * c-common.h (cxx_dialect): Add cxx11 and cxx03.
9662 * c.opt: Add -std=c++11, -std=gnu++11, -std=gnu++03,
9664 * c-opts.c (set_std_cxx11): Rename from set_std_cxx0x.
9666 2011-10-27 Roberto Agostino Vitillo <ravitillo@lbl.gov>
9669 * c.opt (fvisibility-inlines-hidden): Description change.
9671 2011-10-26 Ed Smith-Rowland <3dw4rd@verizon.net>
9673 Implement C++11 user-defined literals.
9674 * c-common.c (build_userdef_literal): New.
9675 * c-common.def: New tree code.
9676 * c-common.h (tree_userdef_literal): New tree struct and accessors.
9677 * c-lex.c (interpret_float): Add suffix parm.
9678 (c_lex_with_flags): Build literal tokens.
9680 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9684 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9687 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9688 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9689 Wnarrowing for C++0x and C++98.
9690 * c.opt ([Wnarrowing]): Update.
9692 2011-10-23 Paolo Carlini <paolo.carlini@oracle.com>
9695 * c-opts.c (c_common_handle_option): Enable -Wnarrowing as part
9696 of -Wall; include -Wnarrowing in -Wc++0x-compat; adjust default
9697 Wnarrowing for C++0x and C++98.
9698 * c.opt ([Wnarrowing]): Update.
9700 2011-10-21 Paolo Carlini <paolo.carlini@oracle.com>
9703 * c-common.c (conversion_warning): Remove code looking for
9704 artificial operands.
9706 2011-10-18 Dodji Seketeli <dodji@redhat.com>
9709 * c-lex.c (fe_file_change): Use LINEMAP_SYSP when
9710 !NO_IMPLICIT_EXTERN_C.
9712 2011-10-17 Michael Spertus <mike_spertus@symantec.com>
9714 * c-common.c (c_common_reswords): Add __bases,
9716 * c-common.h: Add RID_BASES and RID_DIRECT_BASES.
9718 2011-10-17 Paolo Carlini <paolo.carlini@oracle.com>
9721 * c.opt ([Wnonnull]): Add C++ and Objective-C++.
9723 2011-10-15 Tom Tromey <tromey@redhat.com>
9724 Dodji Seketeli <dodji@redhat.com>
9726 * c.opt (fdebug-cpp): New option.
9727 * c-opts.c (c_common_handle_option): Handle the option.
9728 * c-ppoutput.c (maybe_print_line_1): New static function. Takes an
9729 output stream in parameter. Factorized from ...
9730 (maybe_print_line): ... this. Dump location debug information when
9731 -fdebug-cpp is in effect.
9732 (print_line_1): New static function. Takes an output stream in
9733 parameter. Factorized from ...
9734 (print_line): ... here. Dump location information when -fdebug-cpp
9736 (scan_translation_unit): Dump location information when
9737 -fdebug-cpp is in effect.
9739 2011-10-15 Tom Tromey <tromey@redhat.com>
9740 Dodji Seketeli <dodji@redhat.com>
9742 * c.opt (ftrack-macro-expansion): New option. Handle it with and
9744 * c-opts.c (c_common_handle_option)<case
9745 OPT_ftrack_macro_expansion_, case OPT_ftrack_macro_expansion>: New
9746 cases. Handle -ftrack-macro-expansion with and without argument.
9748 2011-10-15 Tom Tromey <tromey@redhat.com>
9749 Dodji Seketeli <dodji@redhat.com>
9751 * c-ppoutput.c (scan_translation_unit, maybe_print_line)
9752 (print_line, cb_define, do_line_change): Adjust to avoid touching
9753 the internals of struct line_map. Use the public API instead.
9754 * c-pch.c (c_common_read_pch): Likewise.
9755 * c-lex.c (fe_file_change): Likewise.
9757 2011-10-14 Paolo Carlini <paolo.carlini@oracle.com>
9760 * c.opt ([Wformat-zero-length]): Add C++ and Objective-C++.
9762 2011-10-11 Paolo Carlini <paolo.carlini@oracle.com>
9765 * c-pretty-print.c (pp_c_floating_constant): Output
9766 max_digits10 (in the ISO C++ WG N1822 sense) decimal digits.
9768 2011-10-11 Michael Meissner <meissner@linux.vnet.ibm.com>
9770 * c-common.c (def_builtin_1): Delete old interface with two
9771 parallel arrays to hold standard builtin declarations, and replace
9772 it with a function based interface that can support creating
9773 builtins on the fly in the future. Change all uses, and poison
9774 the old names. Make sure 0 is not a legitimate builtin index.
9775 * c-omp.c (c_finish_omp_barrier): Ditto.
9776 (c_finish_omp_taskwait): Ditto.
9777 (c_finish_omp_flush): Ditto.
9779 2011-10-11 Tristan Gingold <gingold@adacore.com>
9781 * c.opt: (fallow-parameterless-variadic-functions): New.
9783 2011-09-08 Dodji Seketeli <dodji@redhat.com>
9785 PR c++/33255 - Support -Wunused-local-typedefs warning
9786 * c-common.h (struct c_language_function::local_typedefs): New
9788 (record_locally_defined_typedef, maybe_record_typedef_use)
9789 (maybe_warn_unused_local_typedefs): Declare new functions.
9790 * c-common.c (record_locally_defined_typedef)
9791 (maybe_record_typedef_use)
9792 (maybe_warn_unused_local_typedefs): Define new functions.
9793 * c.opt: Declare new -Wunused-local-typedefs flag.
9795 2011-09-06 Eric Botcazou <ebotcazou@adacore.com>
9798 * c-common.c (c_fully_fold_internal) <ADDR_EXPR>: Fold offsetof-like
9801 2011-09-05 Richard Guenther <rguenther@suse.de>
9803 * c-common.c (complete_array_type): Use ssize_int (-1) instead
9804 of integer_minus_one_node for empty array upper bounds.
9806 2011-08-28 Dodji Seketeli <dodji@redhat.com>
9808 * c-pch.c (c_common_read_pch): Call linemap_add with LC_ENTER as
9809 it's the first time it's being called on this main TU.
9811 2011-08-24 Richard Guenther <rguenther@suse.de>
9814 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Fix conditional.
9816 2011-08-22 Gabriel Charette <gchare@google.com>
9818 * c-opts.c (c_finish_options): Force BUILTINS_LOCATION for tokens
9819 defined in cpp_init_builtins and c_cpp_builtins.
9821 2011-08-19 Joseph Myers <joseph@codesourcery.com>
9823 * c-common.c (c_common_reswords): Add __builtin_complex.
9824 * c-common.h (RID_BUILTIN_COMPLEX): New.
9826 2011-08-18 Joseph Myers <joseph@codesourcery.com>
9828 * c-common.c (c_common_reswords): Add _Noreturn.
9829 (keyword_is_function_specifier): Handle RID_NORETURN.
9830 * c-common.h (RID_NORETURN): New.
9832 2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
9834 * c-common.c (unsafe_conversion_p): New function. Check if it is
9835 unsafe to convert an expression to the type.
9836 (conversion_warning): Adjust, use unsafe_conversion_p.
9837 * c-common.h (unsafe_conversion_p): New function declaration.
9839 2011-08-02 Jakub Jelinek <jakub@redhat.com>
9841 * c-common.h (c_finish_omp_atomic): Adjust prototype.
9842 (c_finish_omp_taskyield): New prototype.
9843 * c-omp.c (c_finish_omp_atomic): Add OPCODE, V, LHS1 and RHS1
9844 arguments. Handle OMP_ATOMIC_READ, OMP_ATOMIC_CAPTURE_OLD and
9845 OMP_ATOMIC_CAPTURE_NEW in addition to OMP_ATOMIC. If LHS1
9846 or RHS1 have side-effects, evaluate those too in the right spot,
9847 if it is a decl and LHS is also a decl, error out if they
9849 (c_finish_omp_taskyield): New function.
9850 * c-cppbuiltin.c (c_cpp_builtins): Change _OPENMP to 201107.
9851 * c-pragma.c (omp_pragmas): Add taskyield.
9852 * c-pragma.h (enum pragma_kind): Add PRAGMA_OMP_TASKYIELD.
9853 (enum pragma_omp_clause): Add PRAGMA_OMP_CLAUSE_FINAL and
9854 PRAGMA_OMP_CLAUSE_MERGEABLE.
9856 2011-07-25 Dodji Seketeli <dodji@redhat.com>
9858 * c-common.h (set_underlying_type): Remove parm name from
9861 2011-07-25 Romain Geissler <romain.geissler@gmail.com>
9863 * c-pretty-print.h: Search c-common.h in c-family.
9865 2011-07-22 Jason Merrill <jason@redhat.com>
9868 * c.opt (Wnarrowing): New.
9871 * c-common.h: Declare c_linkage_bindings.
9872 * c-pragma.c (handle_pragma_redefine_extname): Use it.
9875 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99.
9876 * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well
9877 as flag_isoc99 for 'restrict'.
9878 (pp_c_specifier_qualifier_list): Likewise for _Complex.
9880 2011-07-21 Ian Lance Taylor <iant@google.com>
9883 * c-common.c (c_disable_warnings): New static function.
9884 (c_enable_warnings): New static function.
9885 (c_fully_fold_internal): Change local unused_p to bool. Call
9886 c_disable_warnings and c_enable_warnings rather than change
9887 c_inhibit_evaluation_warnings.
9889 2011-07-20 Jason Merrill <jason@redhat.com>
9891 PR c++/6709 (DR 743)
9892 PR c++/42603 (DR 950)
9893 * c-common.h (CPP_KEYWORD, CPP_TEMPLATE_ID): Move from cp/parser.h.
9894 (CPP_NESTED_NAME_SPECIFIER, N_CP_TTYPES): Likewise.
9895 (CPP_DECLTYPE): New.
9896 * c-common.c (c_parse_error): Handle CPP_DECLTYPE.
9898 2011-07-19 Richard Guenther <rguenther@suse.de>
9900 * c-common.c (pointer_int_sum): Use fold_build_pointer_plus.
9901 * c-omp.c (c_finish_omp_for): Likewise.
9903 2011-07-12 Eric Botcazou <ebotcazou@adacore.com>
9905 * c-ada-spec.c (dump_nested_types): Put semi-colon after empty loop
9906 body on the next line.
9908 2011-07-08 Jason Merrill <jason@redhat.com>
9911 * c-omp.c (check_omp_for_incr_expr): Handle preevaluation.
9914 * c-common.c (c_apply_type_quals_to_decl): Don't check
9915 TYPE_NEEDS_CONSTRUCTING.
9917 2011-07-06 Richard Guenther <rguenther@suse.de>
9919 * c-common.c (c_common_nodes_and_builtins):
9920 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
9922 2011-07-05 Richard Guenther <rguenther@suse.de>
9924 * c-common.c (c_common_nodes_and_builtins): Build all common
9927 2011-06-27 Jakub Jelinek <jakub@redhat.com>
9929 * c-common.h (c_tree_chain_next): New static inline function.
9931 * c-common.c (check_builtin_function_arguments): Handle
9932 BUILT_IN_ASSUME_ALIGNED.
9934 2011-06-21 Andrew MacLeod <amacleod@redhat.com>
9936 * c-common.c: Add sync_ or SYNC__ to builtin names.
9937 * c-omp.c: Add sync_ or SYNC__ to builtin names.
9939 2011-06-20 Pierre Vittet <piervit@pvittet.com>
9941 * c-pragma.h (pragma_handler_1arg, pragma_handler_2arg): New
9943 (gen_pragma_handler): New union.
9944 (internal_pragma_handler): New type.
9945 (c_register_pragma_with_data)
9946 (c_register_pragma_with_expansion_and_data): New functions.
9948 * c-pragma.c (registered_pragmas, c_register_pragma_1)
9949 (c_register_pragma, c_register_pragma_with_expansion)
9950 (c_invoke_pragma_handler): Changed to work with
9951 internal_pragma_handler.
9952 (c_register_pragma_with_data)
9953 (c_register_pragma_with_expansion_and_data): New functions.
9955 2011-06-14 Joseph Myers <joseph@codesourcery.com>
9957 * c-common.c: Include common/common-target.h.
9958 (handle_section_attribute): Use
9959 targetm_common.have_named_sections.
9960 * c-cppbuiltin.c: Include common/common-target.h.
9961 (c_cpp_builtins): Use targetm_common.except_unwind_info.
9963 2011-06-10 Richard Guenther <rguenther@suse.de>
9965 * c-pretty-print.c (pp_c_type_specifier): Use pp_c_identifier
9966 to print a IDENTIFIER_NODE.
9968 2011-06-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9969 Joseph Myers <joseph@codesourcery.com>
9971 * c.opt (fbuilding-libgcc): New option.
9972 * c-cppbuiltin.c (c_cpp_builtins): Define
9973 __LIBGCC_TRAMPOLINE_SIZE__ if flag_building_libgcc.
9975 2011-06-07 Jason Merrill <jason@redhat.com>
9977 * c-common.c (max_tinst_depth): Lower default to 900.
9979 * c-format.c (gcc_cxxdiag_char_table): Add 'S' format.
9981 2011-06-07 Richard Guenther <rguenther@suse.de>
9983 * c-common.c (c_common_nodes_and_builtins): Do not set
9984 size_type_node or call set_sizetype.
9986 2011-06-07 Dodji Seketeli <dodji@redhat.com>
9989 * c-pretty-print.c (pp_c_integer_constant): Consider the canonical
9990 type when using pointer comparison to compare types.
9992 2011-06-02 Jonathan Wakely <jwakely.gcc@gmail.com>
9994 * c.opt: Add -Wdelete-non-virtual-dtor.
9995 * c-opts.c (c_common_handle_option): Include it in -Wall.
9997 2011-05-30 Nathan Froyd <froydnj@gcc.gnu.org>
10002 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10004 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
10007 2011-05-27 Jakub Jelinek <jakub@redhat.com>
10010 * c-common.c (c_common_truthvalue_conversion) <case COND_EXPR>: For
10011 C++ don't call c_common_truthvalue_conversion on void type arms.
10013 2011-05-27 Nathan Froyd <froydnj@codesourcery.com>
10015 * c-common.h (struct stmt_tree_s) [x_cur_stmt_list]: Change to a VEC.
10016 (stmt_list_stack): Define.
10017 (cur_stmt_list): Adjust for new type of x_cur_stmt_list.
10018 * c-semantics.c (push_stmt_list, pop_stmt_list): Likewise.
10020 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10022 * c-common.c (warning_candidate_p): Check for BLOCKs.
10024 2011-05-26 Nathan Froyd <froydnj@codesourcery.com>
10026 * c-common.h (struct c_common_identifier): Inherit from tree_typed,
10029 2011-05-25 Jakub Jelinek <jakub@redhat.com>
10031 * c-common.c (def_fn_type): Remove extra va_end.
10033 2011-05-23 Jason Merrill <jason@redhat.com>
10036 * c-common.c (c_common_get_narrower): New.
10037 (shorten_binary_op, shorten_compare, warn_for_sign_compare): Use it.
10039 2011-05-23 Nathan Froyd <froydnj@codesourcery.com>
10041 * c-common.h (check_function_arguments): Tweak prototype of
10042 check_function_arguments.
10043 * c-common.c (check_function_arguments): Likewise. Adjust
10044 calls to check_function_nonnull, check_function_format, and
10045 check_function_sentinel.
10046 (check_function_sentinel): Take a FUNCTION_TYPE rather than
10047 separate attributes and typelist arguments. Use
10048 FOREACH_FUNCTION_ARGS to iterate over argument types.
10050 2011-05-15 Paolo Carlini <paolo.carlini@oracle.com>
10052 * c-common.c (c_common_reswords): Reorder.
10053 * c-common.h (rid): Likewise.
10055 2011-05-10 Nathan Froyd <froydnj@codesourcery.com>
10057 * c-common.c (def_fn_type): Don't call build_function_type, call
10058 build_function_type_array or build_varargs_function_type_array
10060 (c_common_nodes_and_builtins): Likewise.
10062 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
10064 * c-common.c (c_add_case_label): Omit the loc argument to
10066 * c-common.h (build_case_label): Remove.
10067 * c-semantics.c (build_case_label): Remove.
10069 2011-05-05 Joseph Myers <joseph@codesourcery.com>
10071 * c-objc.h (objc_start_method_definition): Update prototype.
10072 * stub-objc.c (objc_start_method_definition): Add extra parameter.
10074 2011-05-04 Nathan Froyd <froydnj@codesourcery.com>
10076 * c-common.c (check_main_parameter_types): Reindent. Don't use
10077 TYPE_ARG_TYPES directly.
10078 (handle_nonnull_attribute): Likewise.
10079 (sync_resolve_params): Likewise.
10080 * c-format.c (handle_format_arg_attribute): Likewise. Adjust call
10081 to check_format_string.
10082 (handle_format_attribute): Likewise.
10083 (check_format_string): Take a function type to examine instead of
10084 a type list. Use a function_arg_iterator to step through argument
10087 2011-05-04 Richard Guenther <rguenther@suse.de>
10089 * c-common.c (fix_string_type): Use size_int for index type bounds.
10090 (start_fname_decls): Do not pass NULL to build_int_cst.
10091 (c_init_attributes): Likewise.
10092 * c-lex.c (c_lex_with_flags): Likewise.
10094 2011-04-27 Jason Merrill <jason@redhat.com>
10096 * c-common.c (make_tree_vector_from_list): New.
10097 * c-common.h: Declare it.
10099 2011-04-26 Richard Guenther <rguenther@suse.de>
10101 PR preprocessor/48248
10102 * c-ppoutput.c (maybe_print_line): Always optimize newlines
10103 for output size with -P.
10105 2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
10107 * c-common.c (struct c_common_resword): Add __underlying_type.
10108 * c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
10110 2011-04-20 Jim Meyering <meyering@redhat.com>
10112 * c-format.c (init_dollar_format_checking): Remove useless
10115 2011-04-15 Nicola Pero <nicola.pero@meta-innovation.com>
10117 * c-objc.h (objc_get_interface_ivars): Removed.
10118 (objc_detect_field_duplicates): New.
10119 * stub-objc.c: Likewise.
10121 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
10123 * stub-objc.c (objc_declare_protocols): Renamed to
10124 objc_declare_protocol.
10125 * c-objc.h: Likewise.
10127 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com>
10129 * stub-objc.c (objc_declare_class): Updated argument name.
10131 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
10133 * c-common.h (c_common_init_ts): Declare.
10134 * c-common.c (c_common_init_ts): Define.
10136 2011-04-12 Nicola Pero <nicola.pero@meta-innovation.com>
10138 * c-objc.h (objc_build_message_expr): Updated prototype.
10139 * stub-objc.c (objc_build_message_expr): Likewise.
10141 2011-04-12 Martin Jambor <mjambor@suse.cz>
10143 * c-gimplify.c (c_genericize): Call cgraph_get_create_node instead
10146 2011-04-11 Richard Guenther <rguenther@suse.de>
10148 * c-common.c (complete_array_type): Build a range type of
10151 2011-04-08 Nathan Froyd <froydnj@codesourcery.com>
10153 * c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
10154 (handle_type_generic_attribute): Likewise.
10156 2011-04-07 Jason Merrill <jason@redhat.com>
10159 * c-common.c (c_common_truthvalue_conversion): Don't ignore
10160 conversion from C++0x scoped enum.
10162 2011-04-06 Joseph Myers <joseph@codesourcery.com>
10164 * c-target-def.h: New file.
10165 * c-target.def: New file.
10166 * c-target.h: New file.
10167 * c-common.c (targetcm): Don't define here.
10168 * c-common.h (default_handle_c_option): Declare.
10169 * c-format.c: Include c-target.h instead of target.h.
10170 * c-opts.c: Include c-target.h instead of target.h. Explicitly
10172 (default_handle_c_option): Move from targhooks.c.
10174 2011-03-29 Jakub Jelinek <jakub@redhat.com>
10176 PR preprocessor/48248
10177 * c-ppoutput.c (print): Add src_file field.
10178 (init_pp_output): Initialize it.
10179 (maybe_print_line): Don't optimize by adding up to 8 newlines
10180 if map->to_file and print.src_file are different file.
10181 (print_line): Update print.src_file.
10183 2011-03-25 Kai Tietz <ktietz@redhat.com>
10185 * c-ada-spec.c (compare_comment): Use filename_cmp
10186 instead of strcmp for filename.
10188 2011-03-25 Jeff Law <law@redhat.com>
10190 * c-common.c (def_fn_type): Add missing va_end.
10192 2011-03-25 Jason Merrill <jason@redhat.com>
10194 * c.opt: Add -std=c++03.
10196 2011-03-22 Eric Botcazou <ebotcazou@adacore.com>
10198 * c-ada-spec.c (dump_ada_template): Skip non-class instances.
10200 2011-03-17 Kai Tietz <ktietz@redhat.com>
10203 * c-pretty-print.c (pp_c_specifier_qualifier_list):
10204 Display allowed attributes for function pointer types.
10205 (pp_c_attributes_display): New function to display
10206 attributes having affects_type_identity flag set to true.
10207 * c-pretty-print.h (pp_c_attributes_display): New prototype.
10209 * c-common.c (c_common_attribute_table):
10211 (c_common_format_attribute_table): Likewise.
10213 2011-03-18 Jason Merrill <jason@redhat.com>
10215 * c.opt (fconstexpr-depth): Add Var(max_constexpr_depth).
10216 * c-common.h: Don't declare it here.
10217 * c-common.c: Or define it here.
10218 * c-opts.c (c_common_handle_option): Or set it here.
10221 * c-common.c (handle_transparent_union_attribute): Don't
10222 make a duplicate type in C++.
10224 2011-03-15 Jason Merrill <jason@redhat.com>
10226 * c-common.c (max_constexpr_depth): New.
10227 * c-common.h: Declare it.
10228 * c-opts.c (c_common_handle_option): Set it.
10229 * c.opt (fconstexpr-depth): New option.
10231 2011-03-11 Jason Merrill <jason@redhat.com>
10233 * c-common.c (attribute_takes_identifier_p): Add missing const.
10236 * c-common.c (attribute_takes_identifier_p): Assume that an
10237 unknown attribute takes an identifier.
10239 2011-03-07 Nathan Froyd <froydnj@codesourcery.com>
10242 * c-common.c (c_type_hash): Call list_length instead of iterating
10243 through DECL_CHAIN. Rename 'i' to 'n_elements'.
10245 2011-02-19 Jakub Jelinek <jakub@redhat.com>
10248 * c-common.c (c_fully_fold_internal): Handle VIEW_CONVERT_EXPR.
10250 2011-02-17 Iain Sandoe <iains@gcc.gnu.org>
10252 * c.opt (fobjc-abi-version=) New.
10253 (fobjc-nilcheck): New.
10255 2011-02-03 Nathan Froyd <froydnj@codesourcery.com>
10258 * c-common.h (keyword_is_decl_specifier): Declare.
10259 * c-common.c (keyword_is_decl_specifier): Define.
10260 (keyword_is_function_specifier): New function.
10262 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10265 * c-lex.c (interpret_float): If CPP_N_IMAGINARY, ensure
10266 EXCESS_PRECISION_EXPR is created with COMPLEX_TYPE instead of
10269 2011-01-26 Arnaud Charlet <charlet@adacore.com>
10271 * c-ada-spec.c (dump_generic_ada_node): Avoid dereferencing null type.
10273 2011-01-26 Jakub Jelinek <jakub@redhat.com>
10276 * c-opts.c (c_common_post_options): Call c_common_no_more_pch
10277 after init_c_lex if pch_file is set.
10279 2011-01-26 Dave Korn <dave.korn.cygwin@gmail.com>
10282 * c.opt (-fkeep-inline-dllexport): New switch.
10284 2011-01-12 Richard Guenther <rguenther@suse.de>
10286 PR middle-end/32511
10287 * c-common.c (handle_weak_attribute): Warn instead of error
10288 on declaring an inline function weak.
10290 2011-01-05 Tom Tromey <tromey@redhat.com>
10292 * c-common.h (lvalue_error): Update.
10293 * c-common.c (lvalue_error): Add 'loc' argument. Call error_at,
10296 2010-12-29 Nicola Pero <nicola.pero@meta-innovation.com>
10299 * c-objc.h (objc_finish_message_expr): Added argument to
10302 2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
10304 * c-common.c (handle_nonnull_attribute, handle_sentinel_attribute):
10307 2010-12-18 Nicola Pero <nicola.pero@meta-innovation.com>
10309 * c-objc.h (objc_maybe_warn_exceptions): New.
10310 * stub-objc.c (objc_maybe_warn_exceptions): New.
10312 2010-12-10 Nathan Froyd <froydnj@codesourcery.com>
10314 * c-common.h (readonly_error): Declare.
10315 * c-common.c (readonly_error): Define.
10317 2010-12-09 Nathan Froyd <froydnj@codesourcery.com>
10319 * c-common.h (invalid_indirection_error): Declare.
10320 * c-common.c (invalid_indirection_error): Define.
10322 2010-12-03 Richard Guenther <rguenther@suse.de>
10325 * c-pretty-print.c (pp_c_postfix_expression): Handle MEM_REF.
10326 (pp_c_unary_expression): Likewise.
10327 (pp_c_expression): Likewise.
10329 2010-11-30 Nicola Pero <nicola.pero@meta-innovation.com>
10331 * c-common.h (objc_finish_function): New.
10332 (objc_non_volatilized_type): Removed.
10333 (objc_type_quals_match): Removed.
10334 * stub-objc.c (objc_finish_function): New.
10335 (objc_non_volatilized_type): Removed.
10336 (objc_type_quals_match): Removed.
10338 2010-11-30 Joseph Myers <joseph@codesourcery.com>
10340 * c-common.h (parse_optimize_options): Declare.
10341 * c-cppbuiltin.c, c-format.c, c-gimplify.c, c-lex.c, c-omp.c,
10342 c-pch.c, c-pragma.c, c-semantics.c: Don't include toplev.h.
10344 2010-11-29 Joseph Myers <joseph@codesourcery.com>
10346 * c-opts.c (check_deps_environment_vars): Use getenv instead of
10348 * c-pch.c (O_BINARY): Don't define here.
10349 * c-pragma.h: Include "cpplib.h" instead of <cpplib.h>.
10351 2010-11-25 Joseph Myers <joseph@codesourcery.com>
10353 * c-cppbuiltin.c (c_cpp_builtins): Pass &global_options to
10354 targetm.except_unwind_info.
10356 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10358 * c-opts.c (c_common_handle_option): Pass location to
10359 set_struct_debug_option.
10361 2010-11-23 Joseph Myers <joseph@codesourcery.com>
10363 * c-common.c (visibility_options): Move from ../opts.c.
10364 * c-common.h (struct visibility_flags, visibility_options):
10366 * c-opts.c (finish_options): Rename to c_finish_options.
10367 (c_common_init): Update call to finish_options.
10369 2010-11-22 Nicola Pero <nicola.pero@meta-innovation.com>
10372 * c-lex.c (lex_string): Check that each string in an Objective-C
10373 string concat sequence starts with either one or zero '@', and
10374 that there are no spurious '@' signs at the end.
10376 2010-11-20 Joseph Myers <joseph@codesourcery.com>
10378 * c-pragma.c: Remove conditionals on HANDLE_PRAGMA_PACK,
10379 HANDLE_PRAGMA_PACK_PUSH_POP, HANDLE_PRAGMA_WEAK and
10380 HANDLE_PRAGMA_VISIBILITY.
10381 * c-pragma.h (HANDLE_PRAGMA_WEAK, HANDLE_PRAGMA_PACK,
10382 HANDLE_PRAGMA_VISIBILITY): Don't define.
10383 (HANDLE_SYSV_PRAGMA, HANDLE_PRAGMA_PACK_PUSH_POP): Don't test.
10385 2010-11-20 Nathan Froyd <froydnj@codesourcery.com>
10390 * c-common.h (keyword_begins_type_specifier): Declare.
10391 (keyword_is_storage_class_specifier): Declare.
10392 (keyword_is_type_qualifier): Declare.
10393 * c-common.c (keyword_begins_type_specifier): New function.
10394 (keyword_is_storage_class_specifier): New function.
10395 (keyword_is_type_qualifier): Declare.
10397 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10400 * c-common.c (in_late_binary_op): Define.
10401 (c_common_truthvalue_conversion): Check in_late_binary_op before
10402 calling c_save_expr.
10403 * c-common.h (in_late_binary_op): Declare.
10405 2010-11-19 Joseph Myers <joseph@codesourcery.com>
10407 * c-opts.c (c_common_handle_option): Update calls to
10408 set_struct_debug_option.
10410 2010-11-19 Nicola Pero <nicola.pero@meta-innovation.com>
10412 * c-common.h (objc_declare_protocols): Added additional argument.
10413 * stub-objc.c (objc_declare_protocol): Same change.
10415 2010-11-18 Nathan Froyd <froydnj@codesourcery.com>
10418 * c-common.h (build_real_imag_expr): Declare.
10419 * c-semantics.c (build_real_imag_expr): Define.
10421 2010-11-17 Joseph Myers <joseph@codesourcery.com>
10423 * c-opts.c (c_common_parse_file): Take no arguments.
10424 * c-common.h (c_common_parse_file): Update prototype.
10426 2010-11-16 Jakub Jelinek <jakub@redhat.com>
10429 * c-common.c (warning_candidate_p): Don't track non-const calls
10432 2010-11-15 Ian Lance Taylor <iant@google.com>
10434 * c-lex.c (init_c_lex): Set macro debug callbacks if
10435 flag_dump_go_spec is set.
10437 2010-11-15 Nicola Pero <nicola.pero@meta-innovation.com>
10439 * c-common.h (objc_build_incr_expr_for_property_ref): New.
10440 * stub-objc.c (objc_build_incr_expr_for_property_ref): New.
10442 2010-11-15 Nathan Froyd <froydnj@codesourcery.com>
10444 PR preprocessor/45038
10445 * c-cppbuiltin.c (c_cpp_builtins): Use different format for C++
10448 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10450 * c-common.h (c_family_lang_mask): Declare.
10451 * c-opts.c (c_family_lang_mask): Make extern.
10452 * c-pragma.c (handle_pragma_diagnostic): Use
10453 control_warning_option.
10455 2010-11-12 Joseph Myers <joseph@codesourcery.com>
10457 * c-common.c (parse_optimize_options): Update call to
10459 * c-common.h (c_common_handle_option): Update prototype.
10460 * c-opts.c (c_common_handle_option): Take location_t parameter and
10461 pass it to other functions.
10463 2010-11-11 Joseph Myers <joseph@codesourcery.com>
10465 * c-opts.c (warning_as_error_callback): Remove.
10466 (c_common_initialize_diagnostics): Don't call
10467 register_warning_as_error_callback.
10468 (c_common_handle_option): Handle -Werror=normalized= here.
10470 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10472 * c-common.c (handle_mode_attribute): Use %' and word "signedness"
10474 * c-opts.c (c_common_parse_file): Start diagnostics with lowercase
10476 * c-pragma.c (handle_pragma_target, handle_pragma_optimize):
10477 Remove trailing '.' from diagnostics.
10478 * c.opt (Wwrite-strings_: Avoid '`' in help text.
10480 2010-11-10 Joseph Myers <joseph@codesourcery.com>
10482 * c-common.c (parse_optimize_options): Pass global_dc to
10484 * c-opts.c (c_common_handle_option): Pass &global_options to
10485 set_Wstrict_aliasing.
10486 * c.opt (v): Don't mark Common or document here.
10488 2010-11-06 Iain Sandoe <iains@gcc.gnu.org>
10491 * c-format.c (format_type): New type gcc_objc_string_format_type.
10492 (valid_stringptr_type_p): New.
10493 (handle_format_arg_attribute): Use valid_stringptr_type_p ().
10494 (check_format_string): Pass expected type, use
10495 valid_stringptr_type_p (), check that the format string types are
10496 consistent with the format specification.
10497 (decode_format_attr): Warn if NSString is used outside objective-c.
10498 (format_types_orig): Add NSString.
10499 (format_name): New.
10500 (format_flags): New.
10501 (check_format_arg): Handle format strings requiring an external parser.
10502 first_target_format_type: New variable.
10503 (handle_format_attribute): Set up first_target_format_type, pass the
10504 expected format arg string type to check_format_string().
10505 * c-common.h (FMT_FLAG_PARSE_ARG_CONVERT_EXTERNAL): New flag.
10506 * stub-objc.c (objc_string_ref_type_p): New.
10507 (objc_check_format_arg): New.
10509 2010-11-04 Nicola Pero <nicola.pero@meta-innovation.com>
10511 Fixed using the Objective-C 2.0 dot-syntax with class names.
10512 * c-common.h (objc_build_class_component_ref): New.
10513 * stub-objc.c (objc_build_class_component_ref): New.
10515 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10517 * c.opt (Wproperty-assign-default): New option.
10519 2010-11-03 Nicola Pero <nicola.pero@meta-innovation.com>
10521 Implemented -fobjc-std=objc1 flag.
10522 * c.opt (fobjc-std=objc1): New option.
10524 2010-11-01 Nicola Pero <nicola.pero@meta-innovation.com>
10526 Implemented format and noreturn attributes for Objective-C methods.
10527 * c-common.c (handle_noreturn_attribute): Recognize 'noreturn'
10528 attribute for Objective-C methods.
10530 2010-10-31 Jason Merrill <jason@redhat.com>
10532 * c-common.c (conversion_warning, warn_for_collisions_1): Use
10535 2010-10-30 Nicola Pero <nicola.pero@meta-innovation.com>
10537 Implemented Objective-C 2.0 @property, @synthesize and @dynamic.
10538 * c-common.h (enum rid): Removed RID_COPIES and RID_IVAR.
10539 (objc_add_property_declaration): Removed arguments for copies and
10541 (objc_build_getter_call): Renamed to
10542 objc_maybe_build_component_ref.
10543 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10544 (objc_is_property_ref): New.
10545 * c-common.c (c_common_reswords): Removed copies and ivar.
10546 * stub-objc.c (objc_add_property_declaration): Removed arguments
10547 for copies and ivar.
10548 (objc_build_getter_call): Renamed to
10549 objc_maybe_build_component_ref.
10550 (objc_build_setter_call): Renamed to objc_maybe_build_modify_expr.
10551 (objc_is_property_ref): New.
10553 2010-10-29 Arnaud Charlet <charlet@adacore.com>
10554 Matthew Gingell <gingell@adacore.com>
10556 * c-ada-spec.c (separate_class_package): New function.
10557 (pp_ada_tree_identifier): Prefix references to C++ classes with the
10558 name of their enclosing package.
10559 (print_ada_declaration): Use separate_class_package.
10561 2010-10-27 Jason Merrill <jason@redhat.com>
10563 * c-common.c (c_common_reswords): Add __is_literal_type.
10564 * c-common.h (enum rid): Add RID_IS_LITERAL_TYPE.
10566 * c-common.c (check_case_value): Remove special C++ code.
10568 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10570 * c-common.h (enum rid): Added RID_READWRITE, RID_ASSIGN,
10571 RID_RETAIN, RID_COPY and RID_NONATOMIC. Updated RID_FIRST_PATTR
10572 and RID_LAST_PATTR.
10573 (objc_add_property_declaration): Added additional arguments.
10574 (objc_property_attribute_kind): Removed.
10575 (objc_set_property_attr): Removed.
10576 * c-common.c (c_common_reswords): Added readwrite, assign, retain,
10577 copy and nonatomic.
10578 * stub-objc.c (objc_add_property_declaration): Added additional
10580 (objc_set_property_attr): Removed.
10582 2010-10-27 Nicola Pero <nicola.pero@meta-innovation.com>
10584 * c-common.h (objc_add_property_variable): Renamed to
10585 objc_add_property_declaration. Added location argument.
10586 * stub-objc.c (objc_add_property_variable): Same change.
10588 2010-10-23 Nicola Pero <nicola.pero@meta-innovation.com>
10590 * c-common.h (objc_maybe_printable_name): New.
10591 * stub-objc.c (objc_maybe_printable_name): New.
10593 2010-10-22 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
10594 Andrew Pinski <pinskia@gmail.com>
10596 * c-common.h (c_common_mark_addressable_vec): Declare.
10597 * c-common.c (c_common_mark_addressable_vec): New function.
10599 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10601 * c-common.h (objc_set_method_type): Removed.
10602 (objc_add_method_declaration): Added boolean argument.
10603 (objc_start_method_definition): Same change.
10604 (objc_build_method_signature): Same change.
10605 * stub-objc.c (objc_set_method_type): Removed.
10606 (objc_add_method_declaration): Added boolean argument.
10607 (objc_start_method_definition): Same change.
10608 (objc_build_method_signature): Same change.
10610 2010-10-20 Nicola Pero <nicola.pero@meta-innovation.com>
10612 * c-common.h (finish_file): Removed.
10613 (objc_write_global_declarations): New.
10614 * c-opts.c (c_common_parse_file): Do not call finish_file.
10615 * stub-objc.c (objc_write_global_declarations): New.
10617 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10619 Implemented parsing @synthesize and @dynamic for
10620 Objective-C/Objective-C++.
10621 * c-common.h (enum rid): Add RID_AT_SYNTHESIZE and RID_AT_DYNAMIC.
10622 (objc_add_synthesize_declaration): New.
10623 (objc_add_dynamic_declaration): New.
10624 * c-common.c (c_common_reswords): Add synthesize and dynamic.
10625 * stub-objc.c (objc_add_synthesize_declaration): New.
10626 (objc_add_dynamic_declaration): New.
10628 2010-10-18 Michael Meissner <meissner@linux.vnet.ibm.com>
10631 * c-cppbuiltin.c (mode_has_fma): Move function here from
10632 builtins.c. Don't use the fma optab, instead just use the
10633 HAVE_fma* macros, so that __FP_FAST_FMA* will be defined when
10636 2010-10-18 Nicola Pero <nicola.pero@meta-innovation.com>
10638 Merge from 'apple/trunk' branch on FSF servers.
10640 2005-11-08 Fariborz Jahanian <fjahanian@apple.com>
10643 * c-common.h (objc_non_volatilized_type): New declaration
10644 * stub-objc.c (objc_non_volatilized_type): New stub.
10646 2010-10-17 Nicola Pero <nicola.pero@meta-innovation.com>
10648 Merge from 'apple/trunk' branch on FSF servers.
10650 2006-03-27 Fariborz Jahanian <fjahanian@apple.com>
10653 * c-common.h (objc_diagnose_private_ivar): New decl.
10654 * stub-objc.c (objc_diagnose_private_ivar): New stub.
10656 2010-10-17 Iain Sandoe <iains@gcc.gnu.org>
10658 * c-common.c (c_common_reswords): Add package, RID_AT_PACKAGE.
10659 * c-common.h (enum rid): Add RID_AT_PACKAGE.
10660 (objc_ivar_visibility_kind): New enum.
10661 (objc_set_visibility): Adjust prototype to use visibility enum.
10662 * stub-objc.c (objc_set_visibility): Adjust stub to use
10665 2010-10-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10667 * c-cppbuiltin.c (builtin_define_float_constants): Emit
10668 __FP_FAST_FMA, __FP_FAST_FMAF, and __FP_FAST_FMAL if the machine
10669 has the appropriate fma builtins.
10670 (c_cpp_builtins): Adjust call to builtin_define_float_constants.
10672 2010-10-14 Iain Sandoe <iains@gcc.gnu.org>
10674 merge from FSF apple 'trunk' branch.
10675 2006 Fariborz Jahanian <fjahanian@apple.com>
10677 Radars 4436866, 4505126, 4506903, 4517826
10678 * c-common.c (c_common_resword): Define @property and its attributes.
10679 * c-common.h: Define property attribute enum entries.
10680 (OBJC_IS_PATTR_KEYWORD): New.
10681 (objc_property_attribute_kind): New enum.
10682 Declare objc_set_property_attr (), objc_add_property_variable (),
10683 objc_build_getter_call () and objc_build_setter_call ().
10684 * stub-objc.c (objc_set_property_attr): New stub.
10685 (objc_add_property_variable): Likewise.
10686 (objc_build_getter_call): Likewise.
10687 (objc_build_setter_call) Likewise.
10689 2010-10-13 Iain Sandoe <iains@gcc.gnu.org>
10691 merge from FSF apple 'trunk' branch.
10692 2006-04-26 Fariborz Jahanian <fjahanian@apple.com>
10694 Radar 3803157 (method attributes)
10695 * c-common.c (handle_deprecated_attribute): Recognize
10696 objc methods as valid declarations.
10697 * c-common.h: Declare objc_method_decl ().
10698 * stub-objc.c (objc_method_decl): New stub.
10700 2010-10-08 Joseph Myers <joseph@codesourcery.com>
10702 * c-common.c (parse_optimize_options): Call
10703 decode_cmdline_options_to_array_default_mask before
10704 decode_options. Update arguments to decode_options.
10705 * c-common.h (c_common_init_options_struct): Declare.
10706 * c-opts.c (c_common_init_options_struct): New. Split out from
10707 c_common_init_options.
10709 2010-10-06 Nicola Pero <nicola.pero@meta-innovation.com>
10711 Implemented fast enumeration for Objective-C.
10712 * c-common.h (objc_finish_foreach_loop): New.
10713 * stub-objc.c (objc_finish_foreach_loop): New.
10715 2010-10-05 Joseph Myers <joseph@codesourcery.com>
10717 * c-common.h (struct diagnostic_context): Don't declare here.
10718 (c_common_initialize_diagnostics): Declare using
10719 diagnostic_context typedef.
10720 * c-opts.c (c_common_handle_option): Pass global_dc to
10721 handle_generated_option.
10723 2010-10-04 Joseph Myers <joseph@codesourcery.com>
10725 * c-opts.c (c_common_handle_option): Pass &global_options_set to
10726 handle_generated_option.
10728 2010-10-03 Ian Lance Taylor <iant@google.com>
10730 * c.opt (-fplan9-extensions): New option.
10732 2010-10-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10734 * c-cppbuiltin.c (define__GNUC__, builtin_define_type_precision):
10736 (c_cpp_builtins): Call functions from cppbuiltin.c instead
10737 of duplicating code.
10739 2010-09-30 Iain Sandoe <iains@gcc.gnu.org>
10741 * c-common.c: Add two new entries for @optional
10742 and @required keywords.
10744 merge from FSF 'apple/trunk' branch.
10745 2006-01-30 Fariborz Jahanian <fjahanian@apple.com>
10748 * c-common.h (RID_AT_OPTIONAL, RID_AT_REQUIRED): Two new
10749 objective-c keywords.
10750 (objc_set_method_opt): New declaration.
10751 * stub-objc.c (objc_set_method_opt): New stub.
10753 2010-09-30 Joseph Myers <joseph@codesourcery.com>
10755 * c-common.c (handle_optimize_attribute): Pass &global_options to
10756 cl_optimization_save and cl_optimization_restore.
10757 * c-opts.c (c_common_handle_option): Pass &global_options to
10758 handle_generated_option.
10759 * c-pragma.c (handle_pragma_diagnostic): Use option_flag_var.
10760 (handle_pragma_pop_options, handle_pragma_reset_options): Pass
10761 &global_options to cl_optimization_restore.
10763 2010-09-30 Nicola Pero <nicola.pero@meta-innovation.com>
10765 * c-lex.c (c_lex_with_flags): Updated comments for CPP_AT_NAME
10766 Objective-C/Objective-C++ keywords.
10768 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10770 Merge from 'apple/trunk' branch on FSF servers.
10772 2005-10-04 Fariborz Jahanian <fjahanian@apple.com>
10775 * c-common.h (objc_check_global_decl): New declaration.
10776 * stub-objc.c (objc_check_global_decl): New stub.
10778 2010-09-29 Joseph Myers <joseph@codesourcery.com>
10780 * c.opt: Don't use VarExists.
10782 2010-09-29 Joseph Myers <joseph@codesourcery.com>
10784 * c-common.c (c_cpp_error): Update names of diagnostic_context
10786 * c-cppbuiltin.c (c_cpp_builtins_optimize_pragma): Update names of
10787 cl_optimization members.
10788 * c-opts.c (warning_as_error_callback, c_common_handle_option,
10789 sanitize_cpp_opts, finish_options): Update names of cpp_options
10792 2010-09-29 Nicola Pero <nicola.pero@meta-innovation.com>
10794 * c-common.h (OBJC_IS_CXX_KEYWORD): New macro. Updated comments.
10795 (objc_is_reserved_word): Removed.
10796 * c-common.c: Updated comments.
10797 * c-lex.c (c_lex_with_flags): Use OBJC_IS_CXX_KEYWORD instead of
10798 objc_is_reserved_word.
10799 * stub-objc.c (objc_is_reserved_word): Removed.
10801 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10803 * c-common.h (objc_add_method_declaration): Adjust prototype to
10804 include attributes.
10805 (objc_start_method_definition): Likewise.
10806 (objc_build_keyword_decl): Likewise.
10807 * stub-objc.c:(objc_add_method_declaration): Handle attributes.
10808 (objc_start_method_definition): Likewise.
10809 (objc_build_keyword_decl): Likewise.
10811 2010-09-28 Iain Sandoe <iains@gcc.gnu.org>
10813 * c-common.h (objc_start_class_interface): Adjust prototype.
10814 (objc_start_category_interface): Likewise.
10815 (objc_start_protocol): Likewise.
10816 * stub-objc.c (objc_start_protocol): Adjust for extra argument.
10817 (objc_start_class_interface): Likewise.
10818 (objc_start_category_interface): Likewise.
10820 2010-09-27 Ian Lance Taylor <iant@google.com>
10822 * c-common.c (c_common_attribute_table): Add no_split_stack.
10823 (handle_no_split_stack_attribute): New static function.
10825 2010-09-27 Nicola Pero <nicola.pero@meta-innovation.com>
10827 Merge from 'apple/trunk' branch on FSF servers.
10829 2005-12-15 Fariborz Jahanian <fjahanian@apple.com>
10832 * c-common.h (objc_have_common_type): New declaration.
10833 * stub-objc.c (objc_have_common_type): New stub.
10835 2005-06-22 Ziemowit Laski <zlaski@apple.com>
10838 * c-common.h (objc_common_type): New prototype.
10839 * stub-objc.c (objc_common_type): New stub.
10841 2010-09-24 Jan Hubicka <jh@suse.cz>
10843 * c-common.c (handle_leaf_attribute): New function.
10844 (struct attribute_spec c_common_att): Add leaf.
10846 2010-09-22 Joseph Myers <joseph@codesourcery.com>
10848 * c.opt (-all-warnings, -ansi, -assert, -assert=, -comments,
10849 -comments-in-macros, -define-macro, -define-macro=, -dependencies,
10850 -dump, -dump=, -imacros, -imacros=, -include, -include=,
10851 -include-barrier, -include-directory, -include-directory=,
10852 -include-directory-after, -include-directory-after=,
10853 -include-prefix, -include-prefix=, -include-with-prefix,
10854 -include-with-prefix=, -include-with-prefix-after,
10855 -include-with-prefix-after=, -include-with-prefix-before,
10856 -include-with-prefix-before=, -no-integrated-cpp,
10857 -no-line-commands, -no-standard-includes, -no-warnings, -output,
10858 -output=, -pedantic, -pedantic-errors, -preprocess,
10859 -print-missing-file-dependencies, -trace-includes, -traditional,
10860 -traditional-cpp, -trigraphs, -undefine-macro, -undefine-macro=,
10861 -user-dependencies, -verbose, -write-dependencies,
10862 -write-user-dependencies, no-integrated-cpp, traditional): New.
10864 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10867 * c-common.h (objc_start_method_definition): Return bool instead
10869 * stub-objc.c (objc_start_method_definition): Return bool instead
10872 2010-09-21 Nicola Pero <nicola.pero@meta-innovation.com>
10875 * c-common.h (objc_get_interface_ivars): New declaration.
10876 * stub-objc.c (objc_get_interface_ivars): New stub.
10878 2010-09-15 Ian Lance Taylor <iant@google.com>
10880 * c-common.c (parse_optimize_options): Do not capitalize warning
10881 messages. Remove period at end of warning message.
10883 2010-09-09 Nathan Sidwell <nathan@codesourcery.com>
10885 * c-common.c (handle_alias_ifunc_attribute): New, broken out of ...
10886 (handle_alias_attribute): ... here.
10887 (handle_ifunc_attribute): New.
10889 2010-09-06 Mark Mitchell <mark@codesourcery.com>
10891 * c-common.h (do_warn_double_promotion): Declare.
10892 * c-common.c (do_warn_double_promotion): Define.
10894 2010-09-05 Mark Mitchell <mark@codesourcery.com>
10896 * c.opt (Wdouble-promotion): New.
10898 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10900 * c.opt (falt-external-templates, fhuge-objects, fvtable-gc,
10901 fvtable-thunks, fxref): Mark no longer supported in help text.
10903 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10905 * c.opt (Wimport, fall-virtual, falt-external-templates,
10906 fdefault-inline, fenum-int-equiv, fexternal-templates,
10907 fguiding-decls, fhonor-std, fhuge-objects, flabels-ok,
10908 fname-mangling-version-, fnew-abi, fnonnull-objects,
10909 foptional-diags, fsquangle, fstrict-prototype, fthis-is-variable,
10910 fvtable-gc, fvtable-thunks, fxref): Mark with Ignore and Warn as
10912 (fhandle-exceptions): Mark with Alias and Warn.
10913 * c-opts.c (c_common_handle_option): Don't handle options marked
10916 2010-09-02 Joseph Myers <joseph@codesourcery.com>
10918 * c.opt (Wcomments, Werror-implicit-function-declaration,
10919 ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
10920 std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
10922 * c-common.c (option_codes): Use OPT_Wcomment instead of
10924 * c-opts.c (warning_as_error_callback, c_common_handle_option):
10925 Don't handle options marked as aliases.
10927 2010-08-25 Richard Guenther <rguenther@suse.de>
10929 * c-common.c (c_common_get_alias_set): Remove special
10930 handling for pointers.
10932 2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
10934 * c-common.c: Use FOR_EACH_VEC_ELT.
10935 * c-gimplify.c: Likewise.
10936 * c-pragma.c: Likewise.
10938 2010-08-16 Joseph Myers <joseph@codesourcery.com>
10940 * c.opt (MDX): Change back to MD. Mark NoDriverArg instead of
10942 (MMDX): Change back to MMD. Mark NoDriverArg instead of
10944 * c-opts.c (c_common_handle_option): Use OPT_MD and OPT_MMD
10945 instead of OPT_MDX and OPT_MMDX.
10947 2010-08-16 Joseph Myers <joseph@codesourcery.com>
10949 * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver.
10951 2010-08-12 Joseph Myers <joseph@codesourcery.com>
10953 * c.opt (MD, MMD): Change to MDX and MMDX.
10954 * c-opts.c (c_common_handle_option): Use OPT_MMD and OPT_MMDX.
10956 2010-08-11 Joseph Myers <joseph@codesourcery.com>
10958 * c-opts.c (c_common_handle_option): Call handle_generated_option
10959 instead of handle_option.
10961 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10963 * c-pragma.c (add_to_renaming_pragma_list): Fix call to VEC_safe_push.
10964 (maybe_apply_renaming_pragma): Delete unneeded declarations.
10966 2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
10968 * c-pragma.c (pending_redefinition): Declare. Declare a VEC of it.
10969 (pending_redefine_extname): Change type to a VEC.
10970 (add_to_renaming_pragma_list): Update for new type of
10971 pending_redefine_extname.
10972 (maybe_apply_renaming_pragma): Likewise.
10974 2010-08-04 Arnaud Charlet <charlet@adacore.com>
10976 * c-ada-spec.c (dump_ada_template): Mark underlying instance type as
10978 (dump_generic_ada_node): Code clean up. Use TREE_VISITED flag to
10979 decide whether a type has already been declared/seen.
10980 Do not go to the original type.
10981 (dump_nested_types): New parameter forward.
10982 Generate forward declaration if needed and mark type as visited.
10983 (print_ada_declaration): Call dump_nested_types if not already done.
10984 Mark types as visited.
10986 2010-08-03 Joseph Myers <joseph@codesourcery.com>
10988 * c.opt (-print-pch-checksum): Remove option.
10989 * c-opts.c (c_common_handle_option): Don't handle
10990 OPT_print_pch_checksum.
10992 2010-07-27 Joseph Myers <joseph@codesourcery.com>
10994 * c-common.h (c_common_handle_option): Update prototype and return
10996 * c-opts.c (c_common_handle_option): Update prototype and return
10997 value type. Update calls to handle_option and
10998 enable_warning_as_error.
11000 2010-07-27 Jakub Jelinek <jakub@redhat.com>
11003 * c-pretty-print.c (pp_c_expression): Handle C_MAYBE_CONST_EXPR.
11005 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11007 * c-common.h (c_common_missing_argument): Remove.
11008 * c-opts.c (c_common_missing_argument): Remove.
11009 * c.opt (A, D, F, I, MD, MMD, MQ, MT, U, fconstant-string-class=,
11010 idirafter, imacros, include, isysroot, isystem, iquote): Add
11012 * c-objc-common.h (LANG_HOOKS_MISSING_ARGUMENT): Remove.
11014 2010-07-27 Joseph Myers <joseph@codesourcery.com>
11016 * c-common.h (c_common_option_lang_mask,
11017 c_common_initialize_diagnostics, c_common_complain_wrong_lang_p):
11019 (c_common_init_options): Update prototype.
11020 * c-opts.c (c_common_option_lang_mask): New.
11021 (c_common_initialize_diagnostics): Split out of
11022 c_common_init_options.
11023 (accept_all_c_family_options, c_common_complain_wrong_lang_p):
11025 (c_common_init_options): Update prototype. Use decoded options in
11026 search for -lang-asm.
11028 2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
11030 * c-common.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
11031 * c-format.c: Likewise.
11033 2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
11035 * c-common.h: Include diagnostic-core.h. Error if already
11037 * c-semantics.c: Do not define GCC_DIAG_STYLE here.
11039 2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org>
11041 * c-common.c (IN_GCC_FRONTEND): Do not undef.
11042 Do not include expr.h
11043 (vector_mode_valid_p): Move here.
11045 2010-06-21 DJ Delorie <dj@redhat.com>
11047 * c-pragma.c (handle_pragma_diagnostic): Add push/pop,
11048 allow these pragmas anywhere.
11050 2010-06-14 Jakub Jelinek <jakub@redhat.com>
11053 * c-cppbuiltin.c: Include gt-c-family-c-cppbuiltin.h.
11054 (lazy_hex_fp_values, lazy_hex_fp_value_count): Add GTY(()) markers.
11055 (lazy_hex_fp_value, builtin_define_with_hex_fp_value): Use
11056 ggc_strdup instead of xstrdup.
11058 2010-06-10 Jakub Jelinek <jakub@redhat.com>
11060 * c-cppbuiltin.c: Include cpp-id-data.h.
11061 (lazy_hex_fp_values, lazy_hex_fp_value_count): New variables.
11062 (lazy_hex_fp_value): New function.
11063 (builtin_define_with_hex_fp_value): Provide definitions lazily.
11065 2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
11067 * c-gimplify.c: Do not include tree-flow.h
11069 2010-06-29 Joern Rennecke <joern.rennecke@embecosm.com>
11072 * c-common.c: Rename targetm member:
11073 targetm.enum_va_list -> targetm.enum_va_list_p
11075 2010-06-28 Anatoly Sokolov <aesok@post.ru>
11077 * c-common.c (shorten_compare): Adjust call to force_fit_type_double.
11079 2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
11081 * c-cppbuiltin.c: Do not include except.h.
11083 2010-06-24 Andi Kleen <ak@linux.intel.com>
11085 * c-common.c (warn_for_omitted_condop): New.
11086 * c-common.h (warn_for_omitted_condop): Add prototype.
11088 2010-06-21 Joseph Myers <joseph@codesourcery.com>
11090 * c.opt (lang-objc): Remove.
11091 * c-opts.c (c_common_handle_option): Don't handle OPT_lang_objc.
11093 2010-06-21 Joern Rennecke <joern.rennecke@embecosm.com>
11095 * c-opts.c: Include "tm_p.h".
11097 2010-06-20 Joseph Myers <joseph@codesourcery.com>
11099 * c-common.c (parse_optimize_options): Update call to
11102 2010-06-18 Nathan Froyd <froydnj@codesourcery.com>
11104 * c-common.c (record_types_used_by_current_var_decl): Adjust for
11105 new type of types_used_by_cur_var_decl.
11107 2010-06-17 Joern Rennecke <joern.rennecke@embecosm.com>
11110 * c-cppbuiltin.c (builtin_define_with_hex_fp_value): Add cast
11111 for C++ standard compliance.
11113 2010-06-16 Jason Merrill <jason@redhat.com>
11115 * c.opt: Add -Wnoexcept.
11117 2010-06-16 Richard Guenther <rguenther@suse.de>
11120 * c-common.c (c_common_truthvalue_conversion): Remove
11121 premature and wrong optimization concering ADDR_EXPRs.
11123 2010-06-15 Arnaud Charlet <charlet@adacore.com>
11125 * c-ada-spec.c (dump_sloc): Remove column info.
11126 (is_simple_enum): New function.
11127 (dump_generic_ada_node, print_ada_declaration): Map C enum types to Ada
11128 enum types when relevant.
11130 2010-06-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
11132 * c-common.c (conversion_warning): Warn at expression
11135 2010-06-10 Joseph Myers <joseph@codesourcery.com>
11137 * c-opts.c (c_common_handle_option): Don't handle
11140 2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
11142 * c-pragma.c (push_alignment): Use typed GC allocation.
11143 (handle_pragma_push_options): Likewise.
11145 * c-common.c (parse_optimize_options): Likewise.
11147 * c-common.h (struct sorted_fields_type): Add variable_size GTY
11150 2010-06-07 Joseph Myers <joseph@codesourcery.com>
11152 * c-common.c (flag_preprocess_only, flag_undef, flag_no_builtin,
11153 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
11154 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
11155 flag_signed_bitfields, warn_strict_null_sentinel,
11156 flag_nil_receivers, flag_zero_link, flag_replace_objc_classes,
11157 flag_gen_declaration, flag_no_gnu_keywords,
11158 flag_implement_inlines, flag_implicit_templates,
11159 flag_implicit_inline_templates, flag_optional_diags,
11160 flag_elide_constructors, flag_default_inline, flag_rtti,
11161 flag_conserve_space, flag_access_control, flag_check_new,
11162 flag_new_for_scope, flag_weak, flag_working_directory,
11163 flag_use_cxa_atexit, flag_use_cxa_get_exception_ptr,
11164 flag_enforce_eh_specs, flag_threadsafe_statics,
11165 flag_pretty_templates): Remove.
11166 * c-common.h (flag_preprocess_only, flag_nil_receivers,
11167 flag_objc_exceptions, flag_objc_sjlj_exceptions, flag_zero_link,
11168 flag_replace_objc_classes, flag_undef, flag_no_builtin,
11169 flag_no_nonansi_builtin, flag_short_double, flag_short_wchar,
11170 flag_lax_vector_conversions, flag_ms_extensions, flag_no_asm,
11171 flag_const_strings, flag_signed_bitfields, flag_gen_declaration,
11172 flag_no_gnu_keywords, flag_implement_inlines,
11173 flag_implicit_templates, flag_implicit_inline_templates,
11174 flag_optional_diags, flag_elide_constructors, flag_default_inline,
11175 flag_rtti, flag_conserve_space, flag_access_control,
11176 flag_check_new, flag_new_for_scope, flag_weak,
11177 flag_working_directory, flag_use_cxa_atexit,
11178 flag_use_cxa_get_exception_ptr, flag_enforce_eh_specs,
11179 flag_threadsafe_statics, flag_pretty_templates,
11180 warn_strict_null_sentinel): Remove.
11181 * c.opt (E, Wstrict-null-sentinel, faccess-control, fasm,
11182 fbuiltin, fcheck-new, fconserve-space, felide-constructors,
11183 fenforce-eh-specs, ffor-scope, fgnu-keywords, fimplement-inlines,
11184 fimplicit-inline-templates, fimplicit-templates,
11185 flax-vector-conversions, fms-extensions, fnil-receivers,
11186 fnonansi-builtins, fpretty-templates, freplace-objc-classes,
11187 frtti, fshort-double, fshort-enums, fshort-wchar,
11188 fsigned-bitfields, fsigned-char, fstats, fthreadsafe-statics,
11189 funsigned-bitfields, funsigned-char, fuse-cxa-atexit,
11190 fuse-cxa-get-exception-ptr, fweak, fworking-directory, fzero-link,
11191 gen-decls, undef): Use Var.
11192 (fdefault-inline, foptional-diags): Document as doing nothing.
11193 * c-opts.c (c_common_handle_option): Remove cases for options now
11194 using Var. Mark ignored options as such.
11196 2010-06-05 Steven Bosscher <steven@gcc.gnu.org>
11198 * c-common.c: Moved to here from parent directory.
11199 * c-common.def: Likewise.
11200 * c-common.h: Likewise.
11201 * c-cppbuiltin.c: Likewise.
11202 * c-dump.c: Likewise.
11203 * c-format.c: Likewise.
11204 * c-format.h : Likewise.
11205 * c-gimplify.c: Likewise.
11206 * c-lex.c: Likewise.
11207 * c-omp.c: Likewise.
11209 * c-opts.c: Likewise.
11210 * c-pch.c: Likewise.
11211 * c-ppoutput.c: Likewise.
11212 * c-pragma.c: Likewise.
11213 * c-pragma.h: Likewise.
11214 * c-pretty-print.c: Likewise.
11215 * c-pretty-print.h: Likewise.
11216 * c-semantics.c: Likewise.
11217 * stub-objc.c: Likewise.
11219 * c-common.c: Include gt-c-family-c-common.h.
11220 * c-pragma.c: Include gt-c-family-c-pragma.h.
11222 Copyright (C) 2010-2020 Free Software Foundation, Inc.
11224 Copying and distribution of this file, with or without modification,
11225 are permitted in any medium without royalty provided the copyright
11226 notice and this notice are preserved.