aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/method.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index ef4e8ac..8865db3 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2012-07-18 Jason Merrill <jason@redhat.com>
+
+ * method.c (process_subob_fn): Make sure no_implicit_p is non-null
+ before trying to store through it.
+
2012-07-17 Jason Merrill <jason@redhat.com>
PR c++/53995
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index b0e9ece..20a6c87 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -949,7 +949,7 @@ process_subob_fn (tree fn, bool move_p, tree *spec_p, bool *trivial_p,
/* Core 1402: A non-trivial copy op suppresses the implicit
declaration of the move ctor/op=. */
- if (move_p && !move_fn_p (fn) && !trivial_fn_p (fn))
+ if (no_implicit_p && move_p && !move_fn_p (fn) && !trivial_fn_p (fn))
*no_implicit_p = true;
if (constexpr_p && !DECL_DECLARED_CONSTEXPR_P (fn))