]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/c-family/ChangeLog
Implement P0012R1, Make exception specifications part of the type system.
[gcc.git] / gcc / c-family / ChangeLog
index bfa606b3191029b5ce9e8009f0276f7934d5dd3f..5207c34c912a79eec6c10fac3c9814efd637d39f 100644 (file)
@@ -1,3 +1,336 @@
+2016-11-07  Jason Merrill  <jason@redhat.com>
+
+       * c.opt (Wc++1z-compat): New.
+       * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_noexcept_function_type.
+
+2016-11-07  Martin Liska  <mliska@suse.cz>
+
+       * c-warn.c (warn_for_unused_label): Save all labels used
+       in goto or in &label.
+
+2016-11-03  Jason Merrill  <jason@redhat.com>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Correct
+       __cpp_inheriting_constructors.
+
+2016-11-01  Jason Merrill  <jason@redhat.com>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Update
+       __cpp_inheriting_constructors.
+
+       * c.opt (-fnew-inheriting-ctors): New.
+       * c-opts.c: Default to on for ABI 11+.
+
+2016-10-31  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/77948
+       * c.opt (fext-numeric-literals): Add Var and Init.
+       * c-opts.c (c_common_handle_option): Don't clear
+       cpp_opts->ext_numeric_literals for -std=c++{11,14,1z}.
+       (c_common_post_options): Clear it here if not set
+       explicitly.
+
+2016-10-28  Aldy Hernandez  <aldyh@redhat.com>
+
+       PR debug/77773
+       * c-pretty-print.c (simple_type_specifier): Do not dereference `t'
+       if NULL.
+
+2016-10-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-common.h (enum rid): Add RID_BUILTIN_LAUNDER.
+       * c-common.c (c_common_reswords): Add __builtin_launder.
+
+2016-10-24  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * c-common.c (c_common_truthvalue_conversion): Warn for
+       multiplications in boolean context.  Fix the quoting of '<<' and '<'
+       in the shift warning.
+
+2016-10-20  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * c-common.c (c_common_truthvalue_conversion): Fix the comment.
+
+2016-10-20  Jason Merrill  <jason@redhat.com>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_concepts value.
+
+2016-10-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * c-common.c (c_common_truthvalue_conversion): Warn only for signed
+       integer shift ops in boolean context.
+
+2016-10-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * c.opt (Walloca): New.
+       (Walloca-larger-than=): New.
+       (Wvla-larger-than=): New.
+
+2016-10-17  Marek Polacek  <polacek@redhat.com>
+
+       * c-warn.c (find_array_ref_with_const_idx_r): Remove parameter names.
+       Return immediately when finding a match.
+       (warn_tautological_cmp): Remove a boolean variable that is no longer
+       needed.
+
+2016-10-17  Marek Polacek  <polacek@redhat.com>
+
+       * c-attribs.c: New file.
+       * c-common.c: Move attributes handling to c-attribs.c.
+       (get_nonnull_operand): No longer static.
+       * c-common.h: Move the declarations from c-attribs.c to its own section.
+
+2016-10-14  Jason Merrill  <jason@redhat.com>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_aggregate_bases
+       and __cpp_deduction_guides.
+
+2016-10-13  Jason Merrill  <jason@redhat.com>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Add __cpp_inline_variables.
+
+2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * c-cppbuiltin.c: Include memmodel.h.
+       * c-opts.c: Likewise.
+       * c-pragma.c: Likewise.
+       * c-warn.c: Likewise.
+
+2016-10-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
+       (Wimplicit-fallthrough=): Enable for these languages by -Wextra.
+       * c-opts.c (sanitize_cpp_opts): Initialize
+       cpp_opts->cpp_warn_implicit_fallthrough.
+
+2016-10-11  Marek Polacek  <polacek@redhat.com>
+
+       * c-common.c (warning_candidate_p): Change the return type to bool
+       and return true/false instead of 1/0.
+       (vector_mode_valid_p): Likewise.
+
+2016-10-11  Marek Polacek  <polacek@redhat.com>
+
+       * c-common.c (fold_for_warn): No longer static.
+       (bool_promoted_to_int_p): Likewise.
+       (c_common_get_narrower): Likewise.
+       (constant_expression_warning): Move to c-warn.c.
+       (constant_expression_error): Likewise.
+       (overflow_warning): Likewise.
+       (warn_logical_operator): Likewise.
+       (find_array_ref_with_const_idx_r): Likewise.
+       (warn_tautological_cmp): Likewise.
+       (expr_has_boolean_operands_p): Likewise.
+       (warn_logical_not_parentheses): Likewise.
+       (warn_if_unused_value): Likewise.
+       (strict_aliasing_warning): Likewise.
+       (sizeof_pointer_memaccess_warning): Likewise.
+       (check_main_parameter_types): Likewise.
+       (conversion_warning): Likewise.
+       (warnings_for_convert_and_check): Likewise.
+       (match_case_to_enum_1): Likewise.
+       (match_case_to_enum): Likewise.
+       (c_do_switch_warnings): Likewise.
+       (warn_for_omitted_condop): Likewise.
+       (readonly_error): Likewise.
+       (lvalue_error): Likewise.
+       (invalid_indirection_error): Likewise.
+       (warn_array_subscript_with_type_char): Likewise.
+       (warn_about_parentheses): Likewise.
+       (warn_for_unused_label): Likewise.
+       (warn_for_div_by_zero): Likewise.
+       (warn_for_memset): Likewise.
+       (warn_for_sign_compare): Likewise.
+       (do_warn_double_promotion): Likewise.
+       (do_warn_unused_parameter): Likewise.
+       (record_locally_defined_typedef): Likewise.
+       (maybe_record_typedef_use): Likewise.
+       (maybe_warn_unused_local_typedefs): Likewise.
+       (maybe_warn_bool_compare): Likewise.
+       (maybe_warn_shift_overflow): Likewise.
+       (warn_duplicated_cond_add_or_warn): Likewise.
+       (diagnose_mismatched_attributes): Likewise.
+       * c-common.h: Move the declarations from c-warn.c to its own section.
+       * c-warn.c: New file.
+
+2016-10-08  Jason Merrill  <jason@redhat.com>
+
+       * c-common.c (c_common_truthvalue_conversion): Don't distribute
+       into COND_EXPR in C++.
+
+2016-10-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-lex.c (c_lex_with_flags) <case CPP_COMMENT>: For CPP_COMMENT
+       token with PREV_FALLTHROUGH, skip all following CPP_PADDING and
+       CPP_COMMENT tokens and set add_flags to PREV_FALLTHROUGH afterwards.
+
+2016-10-07  Jakub Jelinek  <jakub@redhat.com>
+
+       Implement LWG2296 helper intrinsic
+       * c-common.h (enum rid): Add RID_ADDRESSOF.
+       * c-common.c (c_common_reswords): Add __builtin_addressof.
+
+2016-10-07  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR c++/77700
+       * c-common.c (c_common_truthvalue_conversion): Warn also for
+       suspicious enum values in boolean context.
+
+2016-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       Implement P0258R2 - helper for C++17
+       std::has_unique_object_representations trait
+       * c-common.h (enum rid): Add RID_HAS_UNIQUE_OBJ_REPRESENTATIONS.
+       * c-common.c (c_common_reswords): Add
+       __has_unique_object_representations.
+
+2016-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/66343
+       * c-ubsan.c (ubsan_instrument_return): Don't call
+       initialize_sanitizer_builtins here.
+
+2016-10-05  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * c-common.c (c_common_truthvalue_conversion): Warn also for suspicious
+       conditional expression in boolean context when only one arm is
+       non-boolean.
+
+2016-10-05  Jakub Jelinek  <jakub@redhat.com>
+
+       PR sanitizer/77823
+       * c-ubsan.c (ubsan_instrument_shift): Return NULL_TREE if type0
+       is not integral.
+
+       * c-common.c (c_common_reswords): Update comment for C++11.
+
+2016-10-04  Jason Merrill  <jason@redhat.com>
+
+       * c-common.c (make_tree_vector_from_ctor): New.
+       * c-common.h: Declare it.
+
+2016-10-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Don't define
+       __LIBGCC_JCR_SECTION_NAME__.
+
+2016-10-03  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * c-common.c (c_common_truthvalue_conversion): Warn for suspicious
+       left shift in boolean context.
+
+2016-09-29  Jakub Jelinek  <jakub@redhat.com>
+
+       Implement P0001R1 - C++17 removal of register storage class specifier
+       * c.opt (Wregister): New warning.
+       * c-opts.c (c_common_post_options): Enable -Wregister by
+       default for C++17.
+
+2016-09-29  James Greenhalgh  <james.greenhalgh@arm.com>
+
+       * c-opts.c (c_common_post_options): Remove special case for
+       TARGET_FLT_EVAL_METHOD_NON_DEFAULT with -fexcess-precision=standard
+       in C++.
+
+2016-09-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_capture_star_this for
+       -std=c++1z.
+
+       * c-ada-spec.c (print_ada_declaration): Remove break after return.
+
+2016-09-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
+
+       * c-common.c: Include memmodel.h.
+
+2016-09-26  Marek Polacek  <polacek@redhat.com>
+
+       * c-lex.c (c_common_has_attribute): Handle attribute fallthrough.
+
+2016-09-26  Marek Polacek  <polacek@redhat.com>
+
+       PR c/7652
+       * c-common.c (c_common_attribute_table): Add fallthrough attribute.
+       (handle_fallthrough_attribute): New function.
+       (attribute_fallthrough_p): New function.
+       * c-common.h (attribute_fallthrough_p): Declare.
+
+2016-09-24  Marek Polacek  <polacek@redhat.com>
+
+       PR c/77490
+       * c.opt (Wbool-operation): New.
+
+2016-09-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       * c-common.c (c_common_truthvalue_conversion): Inhibit
+       Wint-in-bool-context warning with from_macro_definition_at.
+       Mention the expression will always evaluate to true.
+
+2016-09-21  Martin Sebor  <msebor@redhat.com>
+
+       PR bootstrap/77676
+       * c.opt (fprintf-return-value): Temporarily initialize to zero
+       to unblock bootstrap failures.
+
+2016-09-21  Jakub Jelinek  <jakub@redhat.com>
+
+       PR c++/77651
+       * c.opt (Waligned-new=): Add RejectNegative.
+       (faligned-new=): Likewise.  Spelling fix - change
+       aligned_new_threshhold to aligned_new_threshold.
+       * c-cppbuiltin.c (c_cpp_builtins): Change aligned_new_threshhold
+       to aligned_new_threshold.
+
+2016-09-20  Martin Sebor  <msebor@redhat.com>
+
+       PR middle-end/49905
+       * c.opt: Add -Wformat-length and -fprintf-return-value.
+
+2016-09-19  Bernd Edlinger  <bernd.edlinger@hotmail.de>
+
+       PR c++/77434
+       * c.opt (Wint-in-bool-context): New warning.
+       * c-common.c (c_common_truthvalue_conversion): Warn on integer
+       constants in boolean context.
+
+2016-09-19  Joseph Myers  <joseph@codesourcery.com>
+
+       * c-common.c (max_align_t_align): Also consider alignment of
+       float128_type_node.
+
+2016-09-15  Jason Merrill  <jason@redhat.com>
+
+       * c-common.c (check_cxx_fundamental_alignment_constraints): Check
+       DECL_EXTERNAL.
+
+2016-09-14  Jason Merrill  <jason@redhat.com>
+
+       * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
+       limit FIELD_DECL, either.
+
+2016-09-14  Marek Polacek  <polacek@redhat.com>
+
+       * c-common.c (c_common_truthvalue_conversion): Use false instead of 0.
+       * c-common.h (build_unary_op): Change nonconvert parameter type to bool.
+       * c-omp.c (c_finish_omp_atomic): Use false instead of 0.
+
+2016-09-13  David Malcolm  <dmalcolm@redhat.com>
+
+       * c-common.c (warn_logical_not_parentheses): Replace
+       rich_location::add_fixit_insert calls with add_fixit_insert_before
+       and add_fixit_insert_after, eliminating the "next_loc" calculation.
+
+2016-09-13  Jason Merrill  <jason@redhat.com>
+           Tom de Vries  <tom@codesourcery.com>
+
+       PR c++/77427
+       * c-common.c (set_underlying_type): Don't treat array as builtin type.
+
+2016-09-13  Jason Merrill  <jason@redhat.com>
+
+       * c-common.c (check_cxx_fundamental_alignment_constraints): Don't
+       limit types at all.
+
 2016-09-12  Jason Merrill  <jason@redhat.com>
 
        * c-common.c (check_cxx_fundamental_alignment_constraints): Fix
This page took 0.045624 seconds and 5 git commands to generate.