diff options
Diffstat (limited to 'gcc/cp/cp-tree.h')
-rw-r--r-- | gcc/cp/cp-tree.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 087a1c0..764c428 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -1630,17 +1630,21 @@ struct lang_type GTY(()) /* The index in the VTT where this subobject's sub-VTT can be found. NULL_TREE if there is no sub-VTT. */ -#define BINFO_SUBVTT_INDEX(NODE) TREE_VEC_ELT (NODE, 8) +#define BINFO_SUBVTT_INDEX(NODE) TREE_VEC_ELT (NODE, BINFO_ELTS + 0) /* The index in the VTT where the vptr for this subobject can be found. NULL_TREE if there is no secondary vptr in the VTT. */ -#define BINFO_VPTR_INDEX(NODE) TREE_VEC_ELT (NODE, 9) +#define BINFO_VPTR_INDEX(NODE) TREE_VEC_ELT (NODE, BINFO_ELTS + 1) /* The binfo of which NODE is a primary base. (This is different from BINFO_INHERITANCE_CHAIN for virtual base because a virtual base is sometimes a primary base for a class for which it is not an immediate base.) */ -#define BINFO_PRIMARY_BASE_OF(NODE) TREE_VEC_ELT (NODE, 10) +#define BINFO_PRIMARY_BASE_OF(NODE) TREE_VEC_ELT (NODE, BINFO_ELTS + 2) + +/* C++ binfos have 3 additional entries. */ + +#define BINFO_LANG_ELTS (BINFO_ELTS + 3) /* Nonzero if this binfo has lost its primary base binfo (because that is a nearly-empty virtual base that has been taken by some other |