* tree.h (BINFO_VPTR_FIELD): Augment documentation.
authorMark Mitchell <mark@codesourcery.com>
Mon, 17 Jan 2000 04:15:50 +0000 (04:15 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Mon, 17 Jan 2000 04:15:50 +0000 (04:15 +0000)
From-SVN: r31453

gcc/ChangeLog
gcc/tree.h

index de4e190b17b506cf5a848f12b72ade537318a04b..dd85b95f9336c5ab7444b24a3881eea5733532c8 100644 (file)
@@ -1,3 +1,7 @@
+2000-01-16  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.h (BINFO_VPTR_FIELD): Augment documentation.
+
 2000-01-16  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
 
        * aclocal.m4 (AC_FUNC_MMAP_ZERO): New macro.
index 050f73b54da6fef718da3fa23ec94689a62c7560..52997b168f6c53d0f6e3e416b37793f542147441 100644 (file)
@@ -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