aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2000-01-17 04:15:50 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2000-01-17 04:15:50 +0000
commit39ac3e4f68b746afd0069f8c74355ecb34deeb73 (patch)
treed306ae058c31139bf2823000531e4d39312e2043 /gcc/tree.h
parentbbd15aac6fc179e9cb610f89f681c574a68f038c (diff)
downloadgcc-39ac3e4f68b746afd0069f8c74355ecb34deeb73.zip
gcc-39ac3e4f68b746afd0069f8c74355ecb34deeb73.tar.gz
gcc-39ac3e4f68b746afd0069f8c74355ecb34deeb73.tar.bz2
* tree.h (BINFO_VPTR_FIELD): Augment documentation.
From-SVN: r31453
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 050f73b..52997b16 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -1026,9 +1026,13 @@ struct tree_type
#define BINFO_BASETYPE(NODE,N) TREE_VEC_ELT (BINFO_BASETYPES (NODE), (N))
#define TYPE_BINFO_BASETYPE(NODE,N) BINFO_TYPE (TREE_VEC_ELT (BINFO_BASETYPES (TYPE_BINFO (NODE)), (N)))
-/* For a BINFO record describing an inheritance, this yields a pointer
- to the artificial FIELD_DECL node which contains the "virtual base
- class pointer" for the given inheritance. */
+/* For a BINFO record describing a virtual base class, i.e., one where
+ TREE_VIA_VIRTUAL is set, this field assists in locating the virtual
+ base. The actual contents are language-dependent. Under the old
+ ABI, the C++ front-end uses a FIELD_DECL whose contents are a
+ pointer to the virtual base; under the new ABI this field is
+ instead a INTEGER_CST giving an offset into the vtable where the
+ offset to the virtual base can be found. */
#define BINFO_VPTR_FIELD(NODE) TREE_VEC_ELT ((NODE), 5)
/* The size of a base class subobject of this type. Not all frontends