aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2012-07-13 11:08:55 -0400
committerJason Merrill <jason@gcc.gnu.org>2012-07-13 11:08:55 -0400
commitd1cb1990fb30a0a993980e5ffd02fc3cf81a114f (patch)
tree0f5a722b816b0be39c0dfe938d7aea114af6d549 /gcc/cp
parent78b4053c6e6305e332436cad04bac9ab76776bdf (diff)
downloadgcc-d1cb1990fb30a0a993980e5ffd02fc3cf81a114f.zip
gcc-d1cb1990fb30a0a993980e5ffd02fc3cf81a114f.tar.gz
gcc-d1cb1990fb30a0a993980e5ffd02fc3cf81a114f.tar.bz2
re PR regression/53953 (g++.dg/cpp0x/lambda/lambda-ice2.C (warnings and errors not matching))
PR c++/53953 * method.c (synthesized_method_walk): Initialize no_implicit_p sooner. From-SVN: r189465
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/method.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index c5f2312..1347b49 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 bd0792f..b0e9ece 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