diff options
author | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-13 15:08:55 +0000 |
---|---|---|
committer | jason <jason@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-07-13 15:08:55 +0000 |
commit | b458c189b621e669fa0983f8b8049c650c1c66d1 (patch) | |
tree | 0f5a722b816b0be39c0dfe938d7aea114af6d549 | |
parent | 4f4d16bc4591622869393efa796430de2e06a42e (diff) | |
download | gcc-b458c189b621e669fa0983f8b8049c650c1c66d1.tar.gz |
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
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | 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 <jason@redhat.com> + + PR c++/53953 + * method.c (synthesized_method_walk): Initialize no_implicit_p sooner. + 2012-07-12 Jason Merrill <jason@redhat.com> * 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 |