+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>
PR c/7652
ctor_name = base_ctor_identifier;
rval = build_special_member_call (exp, ctor_name, &parms, binfo, flags,
complain);
- }
+ }
if (parms != NULL)
release_tree_vector (parms);
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)
{
explain_invalid_constexpr_fn (fn);
}
}
-
- return;
-
- bad:
- if (deleted_p)
- *deleted_p = true;
}
/* Subroutine of synthesized_method_walk to allow recursion into anonymous
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;
}