diff options
author | Mark Mitchell <mark@codesourcery.com> | 2004-07-20 02:46:38 +0000 |
---|---|---|
committer | Mark Mitchell <mmitchel@gcc.gnu.org> | 2004-07-20 02:46:38 +0000 |
commit | 31aedc36c0234bfa1b6902e748032b9c49ed2f03 (patch) | |
tree | afc70f11d77ae96073c390118f32c23efadd5ffc | |
parent | e05de6f246b5bb905229c0f9365010d7adf15bdc (diff) | |
download | gcc-31aedc36c0234bfa1b6902e748032b9c49ed2f03.zip gcc-31aedc36c0234bfa1b6902e748032b9c49ed2f03.tar.gz gcc-31aedc36c0234bfa1b6902e748032b9c49ed2f03.tar.bz2 |
Revert patch for PR c++/16623.
From-SVN: r84942
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/class.c | 6 | ||||
-rw-r--r-- | gcc/cp/cp-tree.h | 8 | ||||
-rw-r--r-- | gcc/cp/method.c | 2 |
4 files changed, 6 insertions, 14 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 84b4bdd..27e45ee 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2004-07-19 Mark Mitchell <mark@codesourcery.com> + + Revert patch for PR c++/16623. + 2004-07-19 Kelley Cook <kcook@gcc.gnu.org> * except.c: Remove two spurious carriage returns. diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 75f7152..69f6d9e 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -2558,11 +2558,7 @@ add_implicitly_declared_members (tree t, of the parameter to the assignment operator will be a const or non-const reference. */ if (!TYPE_HAS_ASSIGN_REF (t) && !TYPE_FOR_JAVA (t)) - { - TYPE_HAS_ASSIGN_REF (t) = 1; - TYPE_HAS_CONST_ASSIGN_REF (t) = !cant_have_const_assignment; - CLASSTYPE_LAZY_ASSIGNMENT_OP (t) = 1; - } + TYPE_HAS_CONST_ASSIGN_REF (t) = !cant_have_const_assignment; /* Now, hook all of the new functions on to TYPE_METHODS, and add them to the CLASSTYPE_METHOD_VEC. */ diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index ad8e8dd..ca7eae3 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -989,7 +989,6 @@ struct lang_type_class GTY(()) unsigned lazy_default_ctor : 1; unsigned lazy_copy_ctor : 1; - unsigned lazy_assignment_op : 1; unsigned has_const_init_ref : 1; unsigned has_complex_init_ref : 1; unsigned has_complex_assign_ref : 1; @@ -1003,7 +1002,7 @@ struct lang_type_class GTY(()) /* There are some bits left to fill out a 32-bit word. Keep track of this by updating the size of this bitfield whenever you add or remove a flag. */ - unsigned dummy : 8; + unsigned dummy : 9; tree primary_base; tree vfields; @@ -1098,11 +1097,6 @@ struct lang_type GTY(()) #define CLASSTYPE_LAZY_COPY_CTOR(NODE) \ (LANG_TYPE_CLASS_CHECK (NODE)->lazy_copy_ctor) -/* Nonzero means that NODE (a class type) has an assignment operator - -- but that it has not yet been declared. */ -#define CLASSTYPE_LAZY_ASSIGNMENT_OP(NODE) \ - (LANG_TYPE_CLASS_CHECK (NODE)->lazy_assignment_op) - /* Nonzero means that this _CLASSTYPE node overloads operator=(X&). */ #define TYPE_HAS_ASSIGN_REF(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->has_assign_ref) diff --git a/gcc/cp/method.c b/gcc/cp/method.c index e3c65f8..802d4c0 100644 --- a/gcc/cp/method.c +++ b/gcc/cp/method.c @@ -1068,8 +1068,6 @@ lazily_declare_fn (special_function_kind sfk, tree type) /* Create appropriate clones. */ clone_function_decl (fn, /*update_method_vec=*/true); } - else if (sfk == sfk_assignment_operator) - CLASSTYPE_LAZY_ASSIGNMENT_OP (type) = 0; return fn; } |