cp-tree.h (CLASSTYPE_VFIELDS, VF_*, BV_*): Add more documentation.

* cp-tree.h (CLASSTYPE_VFIELDS, VF_*, BV_*): Add more
	documentation.

From-SVN: r55863
This commit is contained in:
Nathan Sidwell 2002-07-30 05:03:42 +00:00 committed by Nathan Sidwell
parent 1dcd444b7e
commit 03fc215c4c
2 changed files with 22 additions and 12 deletions

View File

@ -1,3 +1,8 @@
2002-07-30 Nathan Sidwell <nathan@codesourcery.com>
* cp-tree.h (CLASSTYPE_VFIELDS, VF_*, BV_*): Add more
documentation.
2002-07-29 Alan Modra <amodra@bigpond.net.au>
* cp-tree.h: Comment typo fix.

View File

@ -1734,29 +1734,34 @@ struct lang_type GTY(())
/* Accessor macros for the vfield slots in structures. */
/* The virtual function pointer fields that this type contains. For a
vfield defined just for this class, or from a primary base, the
TREE_PURPOSE is NULL. Otherwise, the TREE_PURPOSE is the BINFO for
the class containing the vfield. The TREE_VALUE is the class where
the vfield was first defined. */
/* List of virtual table fields that this type contains (both the primary
and secondaries). The TREE_VALUE is the class type where the vtable
field was introduced. For a vtable field inherited from the primary
base, or introduced by this class, the TREE_PURPOSE is NULL. For
other vtable fields (those from non-primary bases), the
TREE_PURPOSE is the BINFO of the base through which the vtable was
inherited. */
#define CLASSTYPE_VFIELDS(NODE) (LANG_TYPE_CLASS_CHECK (NODE)->vfields)
/* Get the assoc info that caused this vfield to exist. */
/* Get the BINFO that introduced this vtable into the hierarchy (will
be NULL for those created at this level, or from a primary
hierarchy). */
#define VF_BINFO_VALUE(NODE) TREE_PURPOSE (NODE)
/* Get that same information as a _TYPE. */
/* Get the TYPE that introduced this vtable into the hierarchy (always
non-NULL). */
#define VF_BASETYPE_VALUE(NODE) TREE_VALUE (NODE)
/* Get the value of the top-most type dominating the non-`normal' vfields. */
#define VF_DERIVED_VALUE(NODE) \
(VF_BINFO_VALUE (NODE) ? BINFO_TYPE (VF_BINFO_VALUE (NODE)) : NULL_TREE)
/* Accessor macros for the BINFO_VIRTUALS list. */
/* The number of bytes by which to adjust the `this' pointer when
calling this virtual function. */
calling this virtual function. Subtract this value from the this
pointer. Always non-NULL, might be constant zero though. */
#define BV_DELTA(NODE) (TREE_PURPOSE (NODE))
/* If non-NULL, the vtable index at which to find the vcall offset
when calling this virtual function. */
when calling this virtual function. Add the value at that vtable
index to the this pointer. */
#define BV_VCALL_INDEX(NODE) (TREE_TYPE (NODE))
/* The function to call. */