Commit c0cdf62c by Nathan Sidwell Committed by Nathan Sidwell

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
parent 1a08d2da
2016-09-26 Nathan Sidwell <nathan@acm.org>
* 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 <polacek@redhat.com> 2016-09-26 Marek Polacek <polacek@redhat.com>
PR c/7652 PR c/7652
......
...@@ -1747,7 +1747,7 @@ expand_default_init (tree binfo, tree true_exp, tree exp, tree init, int flags, ...@@ -1747,7 +1747,7 @@ expand_default_init (tree binfo, tree true_exp, tree exp, tree init, int flags,
ctor_name = base_ctor_identifier; ctor_name = base_ctor_identifier;
rval = build_special_member_call (exp, ctor_name, &parms, binfo, flags, rval = build_special_member_call (exp, ctor_name, &parms, binfo, flags,
complain); complain);
} }
if (parms != NULL) if (parms != NULL)
release_tree_vector (parms); release_tree_vector (parms);
......
...@@ -1129,7 +1129,11 @@ process_subob_fn (tree fn, tree *spec_p, bool *trivial_p, ...@@ -1129,7 +1129,11 @@ process_subob_fn (tree fn, tree *spec_p, bool *trivial_p,
bool diag, tree arg, bool dtor_from_ctor = false) bool diag, tree arg, bool dtor_from_ctor = false)
{ {
if (!fn || fn == error_mark_node) if (!fn || fn == error_mark_node)
goto bad; {
if (deleted_p)
*deleted_p = true;
return;
}
if (spec_p) if (spec_p)
{ {
...@@ -1162,12 +1166,6 @@ process_subob_fn (tree fn, tree *spec_p, bool *trivial_p, ...@@ -1162,12 +1166,6 @@ process_subob_fn (tree fn, tree *spec_p, bool *trivial_p,
explain_invalid_constexpr_fn (fn); explain_invalid_constexpr_fn (fn);
} }
} }
return;
bad:
if (deleted_p)
*deleted_p = true;
} }
/* Subroutine of synthesized_method_walk to allow recursion into anonymous /* Subroutine of synthesized_method_walk to allow recursion into anonymous
...@@ -1931,12 +1929,6 @@ implicitly_declare_fn (special_function_kind kind, tree type, ...@@ -1931,12 +1929,6 @@ implicitly_declare_fn (special_function_kind kind, tree type,
DECL_DEFAULTED_FN (fn) = 1; DECL_DEFAULTED_FN (fn) = 1;
if (cxx_dialect >= cxx11) 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_DELETED_FN (fn) = deleted_p;
DECL_DECLARED_CONSTEXPR_P (fn) = constexpr_p; DECL_DECLARED_CONSTEXPR_P (fn) = constexpr_p;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment