From b458c189b621e669fa0983f8b8049c650c1c66d1 Mon Sep 17 00:00:00 2001 From: jason Date: Fri, 13 Jul 2012 15:08:55 +0000 Subject: [PATCH] PR c++/53953 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189465 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/cp/ChangeLog | 5 +++++ gcc/cp/method.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c5f23123276..1347b496844 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2012-07-13 Jason Merrill + + PR c++/53953 + * method.c (synthesized_method_walk): Initialize no_implicit_p sooner. + 2012-07-12 Jason Merrill * pt.c (instantiate_decl): Check typedefs access here. diff --git a/gcc/cp/method.c b/gcc/cp/method.c index bd0792fae3b..b0e9ece3c20 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1120,6 +1120,9 @@ synthesized_method_walk (tree ctype, special_function_kind sfk, bool const_p, if (spec_p) *spec_p = (cxx_dialect >= cxx0x ? noexcept_true_spec : empty_except_spec); + if (no_implicit_p) + *no_implicit_p = false; + if (deleted_p) { /* "The closure type associated with a lambda-expression has a deleted @@ -1195,9 +1198,6 @@ synthesized_method_walk (tree ctype, special_function_kind sfk, bool const_p, if (trivial_p) *trivial_p = expected_trivial; - if (no_implicit_p) - *no_implicit_p = false; - /* The TYPE_HAS_COMPLEX_* flags tell us about constraints from base class versions and other properties of the type. But a subobject class can be trivially copyable and yet have overload resolution -- 2.11.4.GIT