aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/class.c16
-rw-r--r--gcc/cp/cp-tree.h5
3 files changed, 13 insertions, 13 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 6b08e3c..ee0a612 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-04 Nathan Sidwell <nathan@codesourcery.com>
+
+ * cp-tree.h (VF_DERIVED_VALUE): Remove.
+ * class.c (finish_struct_1): Use VF_BINFO_VALUE not VF_DERIVED_VALUE.
+
2002-08-03 Nathan Sidwell <nathan@codesourcery.com>
PR 7470.
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index eabe544..7129308 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -5120,15 +5120,13 @@ finish_struct_1 (t)
{
tree vfields = CLASSTYPE_VFIELDS (t);
- while (vfields)
- {
- /* Mark the fact that constructor for T
- could affect anybody inheriting from T
- who wants to initialize vtables for VFIELDS's type. */
- if (VF_DERIVED_VALUE (vfields))
- TREE_ADDRESSABLE (vfields) = 1;
- vfields = TREE_CHAIN (vfields);
- }
+ for (vfields = CLASSTYPE_VFIELDS (t);
+ vfields; vfields = TREE_CHAIN (vfields))
+ /* Mark the fact that constructor for T could affect anybody
+ inheriting from T who wants to initialize vtables for
+ VFIELDS's type. */
+ if (VF_BINFO_VALUE (vfields))
+ TREE_ADDRESSABLE (vfields) = 1;
}
/* Make the rtl for any new vtables we have created, and unmark
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index 711fd81..5bdd419 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -1620,8 +1620,6 @@ struct lang_type GTY(())
#define VF_BASETYPE_VALUE(NODE) TREE_VALUE (NODE)
/* Accessor macros for the BINFO_VIRTUALS list. */
-#define VF_DERIVED_VALUE(NODE) \
- (VF_BINFO_VALUE (NODE) ? BINFO_TYPE (VF_BINFO_VALUE (NODE)) : NULL_TREE)
/* The number of bytes by which to adjust the `this' pointer when
calling this virtual function. Subtract this value from the this
@@ -1637,8 +1635,7 @@ struct lang_type GTY(())
#define BV_FN(NODE) (TREE_VALUE (NODE))
/* Nonzero if we should use a virtual thunk for this entry. */
-#define BV_USE_VCALL_INDEX_P(NODE) \
- (TREE_LANG_FLAG_0 (NODE))
+#define BV_USE_VCALL_INDEX_P(NODE) (TREE_LANG_FLAG_0 (NODE))
/* Nonzero for TREE_LIST node means that this list of things
is a list of parameters, as opposed to a list of expressions. */