diff options
Diffstat (limited to 'gcc/cp/method.c')
-rw-r--r-- | gcc/cp/method.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/method.c b/gcc/cp/method.c index c21ae152d6b..a42ed60a99f 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -947,9 +947,10 @@ process_subob_fn (tree fn, bool move_p, tree *spec_p, bool *trivial_p, } } - /* Core 1402: A non-trivial copy op suppresses the implicit + /* Core 1402: A non-trivial non-move ctor suppresses the implicit declaration of the move ctor/op=. */ - if (no_implicit_p && move_p && !move_fn_p (fn) && !trivial_fn_p (fn)) + if (no_implicit_p && move_p && !move_signature_fn_p (fn) + && !trivial_fn_p (fn)) *no_implicit_p = true; if (constexpr_p && !DECL_DECLARED_CONSTEXPR_P (fn)) |