OSDN Git Service

* doc/c-tree.texi (Expression trees): Add VTABLE_REF.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Oct 2001 00:38:08 +0000 (00:38 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 12 Oct 2001 00:38:08 +0000 (00:38 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@46218 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/doc/c-tree.texi

index c9753ca..ca80a41 100644 (file)
@@ -1,5 +1,9 @@
 2001-10-11  Richard Henderson  <rth@redhat.com>
 
+       * doc/c-tree.texi (Expression trees): Add VTABLE_REF.
+
+2001-10-11  Richard Henderson  <rth@redhat.com>
+
        * dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
        fall back to add_AT_long_long for large CONST_INT.
 
index 85962c7..9eccc0d 100644 (file)
@@ -1741,6 +1741,7 @@ This macro returns the attributes on the type @var{type}.
 @tindex EXIT_EXPR
 @tindex CLEANUP_POINT_EXPR
 @tindex ARRAY_REF
+@tindex VTABLE_REF
 
 The internal representation for expressions is for the most part quite
 straightforward.  However, there are a few facts that one must bear in
@@ -2253,4 +2254,15 @@ list.  In this case, the value of the expression is the @code{VAR_DECL}
 given by the third operand to the @code{AGGR_INIT_EXPR}; constructors do
 not return a value.
 
+@item VTABLE_REF
+A @code{VTABLE_REF} indicates that the interior expression computes
+a value that is a vtable entry.  It is used with @option{-fvtable-gc}
+to track the reference through to front end to the middle end, at
+which point we transform this to a @code{REG_VTABLE_REF} note, which
+survives the balance of code generation.
+
+The first operand is the expression that computes the vtable reference.
+The second operand is the @code{VAR_DECL} of the vtable.  The third
+operand is an @code{INTEGER_CST} of the byte offset into the vtable.
+
 @end table