cp-tree.h (lang_type): Move align into type_flags.
authorMark Mitchell <mark@codesourcery.com>
Wed, 1 Sep 1999 21:56:38 +0000 (21:56 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Wed, 1 Sep 1999 21:56:38 +0000 (21:56 +0000)
* cp-tree.h (lang_type): Move align into type_flags.
(CLASSTYPE_ALIGN): Adjust accordingly.
* call.c (direct_reference_binding): Remove misleading comment.

From-SVN: r29035

gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/cp-tree.h

index 68c3590..1f418a9 100644 (file)
@@ -1,3 +1,9 @@
+1999-09-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * cp-tree.h (lang_type): Move align into type_flags.
+       (CLASSTYPE_ALIGN): Adjust accordingly.
+       * call.c (direct_reference_binding): Remove misleading comment.
+
 1999-08-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * parse.y (language_string): Constify.
index eed211f..0eefa7f 100644 (file)
@@ -987,10 +987,9 @@ direct_reference_binding (type, conv)
 
 /* Returns the conversion path from type FROM to reference type TO for
    purposes of reference binding.  For lvalue binding, either pass a
-   reference type to FROM or an lvalue expression to EXPR.
-
-   Currently does not distinguish in the generated trees between binding to
-   an lvalue and a temporary.  Should it?  */
+   reference type to FROM or an lvalue expression to EXPR.  If the
+   reference will be bound to a temporary, NEED_TEMPORARY_P is set for
+   the conversion returned.  */
 
 static tree
 reference_binding (rto, rfrom, expr, flags)
index 40d280a..8448b10 100644 (file)
@@ -809,7 +809,9 @@ struct lang_type
       /* The MIPS compiler gets it wrong if this struct also
         does not fill out to a multiple of 4 bytes.  Add a
         member `dummy' with new bits if you go over the edge.  */
-      unsigned dummy : 14;
+      unsigned dummy : 6;
+      
+      unsigned char align;
     } type_flags;
 
   int vsize;
@@ -822,9 +824,6 @@ struct lang_type
 
   union tree_node *search_slot;
 
-  unsigned char align;
-  /* Room for another three unsigned chars.  */
-
   union tree_node *size;
 
   union tree_node *abstract_virtuals;
@@ -999,7 +998,7 @@ struct lang_type
 /* These are the size, mode and alignment of the type without its
    virtual base classes, for when we use this type as a base itself.  */
 #define CLASSTYPE_SIZE(NODE) (TYPE_LANG_SPECIFIC(NODE)->size)
-#define CLASSTYPE_ALIGN(NODE) (TYPE_LANG_SPECIFIC(NODE)->align)
+#define CLASSTYPE_ALIGN(NODE) (TYPE_LANG_SPECIFIC(NODE)->type_flags.align)
 
 /* A cons list of virtual functions which cannot be inherited by
    derived classes.  When deriving from this type, the derived