Revert patch for PR c++/16623.
authorMark Mitchell <mark@codesourcery.com>
Tue, 20 Jul 2004 02:46:38 +0000 (02:46 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 20 Jul 2004 02:46:38 +0000 (02:46 +0000)
From-SVN: r84942

gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/cp-tree.h
gcc/cp/method.c

index 84b4bdd..27e45ee 100644 (file)
@@ -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.
index 75f7152..69f6d9e 100644 (file)
@@ -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.  */
index ad8e8dd..ca7eae3 100644 (file)
@@ -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)
 
index e3c65f8..802d4c0 100644 (file)
@@ -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;
 }