From 39ac3e4f68b746afd0069f8c74355ecb34deeb73 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Mon, 17 Jan 2000 04:15:50 +0000 Subject: [PATCH] * tree.h (BINFO_VPTR_FIELD): Augment documentation. From-SVN: r31453 --- gcc/ChangeLog | 4 ++++ gcc/tree.h | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index de4e190b17b..dd85b95f933 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2000-01-16 Mark Mitchell + + * tree.h (BINFO_VPTR_FIELD): Augment documentation. + 2000-01-16 Alexandre Oliva * aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro. diff --git a/gcc/tree.h b/gcc/tree.h index 050f73b54da..52997b168f6 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 -- 2.30.2