aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>1999-09-01 21:56:38 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1999-09-01 21:56:38 +0000
commitc7f9c6f5e30e4bc6e6b1baa083f76edb8cec2403 (patch)
treeaf4f5823ff7680f79711fc0f8bd9c6672f197291 /gcc
parent2219e9215ef55ec201a8395ccd0d194f69d4c794 (diff)
downloadgcc-c7f9c6f5e30e4bc6e6b1baa083f76edb8cec2403.zip
gcc-c7f9c6f5e30e4bc6e6b1baa083f76edb8cec2403.tar.gz
gcc-c7f9c6f5e30e4bc6e6b1baa083f76edb8cec2403.tar.bz2
cp-tree.h (lang_type): Move align into type_flags.
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/call.c7
-rw-r--r--gcc/cp/cp-tree.h9
3 files changed, 13 insertions, 9 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 68c35907..1f418a9 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -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.
diff --git a/gcc/cp/call.c b/gcc/cp/call.c
index eed211f..0eefa7f 100644
--- a/gcc/cp/call.c
+++ b/gcc/cp/call.c
@@ -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)
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 40d280a..8448b10 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -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