From c0cdf62c2e9c40c675c6b475f33e4313eaec2125 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Mon, 26 Sep 2016 10:29:53 +0000 Subject: [PATCH] init.c (expand_default_init): Fix } indentation. * init.c (expand_default_init): Fix } indentation. * method.c (process_subob_fn): Simplify control structure to remove gotos. (implicitly_declare_fn): Remove duplicated lambda ctor check. From-SVN: r240489 --- gcc/cp/ChangeLog | 7 +++++++ gcc/cp/init.c | 2 +- gcc/cp/method.c | 18 +++++------------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8f12833..f250a82 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2016-09-26 Nathan Sidwell + + * init.c (expand_default_init): Fix } indentation. + * method.c (process_subob_fn): Simplify control structure to + remove gotos. + (implicitly_declare_fn): Remove duplicated lambda ctor check. + 2016-09-26 Marek Polacek PR c/7652 diff --git a/gcc/cp/init.c b/gcc/cp/init.c index c64ec3f..798de08 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -1747,7 +1747,7 @@ expand_default_init (tree binfo, tree true_exp, tree exp, tree init, int flags, ctor_name = base_ctor_identifier; rval = build_special_member_call (exp, ctor_name, &parms, binfo, flags, complain); - } + } if (parms != NULL) release_tree_vector (parms); diff --git a/gcc/cp/method.c b/gcc/cp/method.c index 957ea39..5de20d4 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1129,7 +1129,11 @@ process_subob_fn (tree fn, tree *spec_p, bool *trivial_p, bool diag, tree arg, bool dtor_from_ctor = false) { if (!fn || fn == error_mark_node) - goto bad; + { + if (deleted_p) + *deleted_p = true; + return; + } if (spec_p) { @@ -1162,12 +1166,6 @@ process_subob_fn (tree fn, tree *spec_p, bool *trivial_p, explain_invalid_constexpr_fn (fn); } } - - return; - - bad: - if (deleted_p) - *deleted_p = true; } /* Subroutine of synthesized_method_walk to allow recursion into anonymous @@ -1931,12 +1929,6 @@ implicitly_declare_fn (special_function_kind kind, tree type, DECL_DEFAULTED_FN (fn) = 1; if (cxx_dialect >= cxx11) { - /* "The closure type associated with a lambda-expression has a deleted - default constructor and a deleted copy assignment operator." */ - if ((kind == sfk_constructor - || kind == sfk_copy_assignment) - && LAMBDA_TYPE_P (type)) - deleted_p = true; DECL_DELETED_FN (fn) = deleted_p; DECL_DECLARED_CONSTEXPR_P (fn) = constexpr_p; } -- 2.7.4