OSDN Git Service

* ir.texi: Document type nodes.
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Sep 2000 08:42:34 +0000 (08:42 +0000)
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 7 Sep 2000 08:42:34 +0000 (08:42 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36231 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/ir.texi

index 396a032..537e57a 100644 (file)
@@ -1,3 +1,7 @@
+2000-09-07  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * ir.texi: Document type nodes.
+
 2000-09-06  Mark Mitchell  <mark@codesourcery.com>
 
        * cp-tree.h (init_cp_semantics): Declare.
index fa4ca87..8bd170a 100644 (file)
@@ -319,11 +319,16 @@ The elements are indexed from zero.
 @tindex ARRAY_TYPE
 @tindex RECORD_TYPE
 @tindex UNION_TYPE
+@tindex UNKNOWN_TYPE
+@tindex OFFSET_TYPE
+@tindex TYPENAME_TYPE
+@tindex TYPEOF_TYPE
 @findex CP_TYPE_QUALS
 @findex TYPE_UNQUALIFIED
 @findex TYPE_QUAL_CONST
 @findex TYPE_QUAL_VOLATILE
 @findex TYPE_QUAL_RESTRICT
+@findex TYPE_MAIN_VARIANT
 @cindex qualified type
 @findex TYPE_SIZE
 @findex TYPE_ALIGN
@@ -331,6 +336,12 @@ The elements are indexed from zero.
 @findex TYPE_ARG_TYPES
 @findex TYPE_METHOD_BASETYPE
 @findex TYPE_PTRMEM_P
+@findex TYPE_OFFSET_BASETYPE
+@findex TREE_TYPE
+@findex TYPE_CONTEXT
+@findex TYPE_NAME
+@findex TYPENAME_TYPE_FULLNAME
+@findex TYPE_FIELDS
 
 All C++ types have corresponding tree nodes.  However, you should not
 assume that there is exactly one tree node corresponding to each C++
@@ -518,6 +529,32 @@ pointed to by the pointer-to-member function.  If
 @code{TYPE_PTRMEMFUNC_P} does not hold, this type is a class type.  For
 more information, see @pxref{Classes}.
 
+@item UNKNOWN_TYPE
+This node is used to represent a type the knowledge of which is
+unsufficiant for a sound processing.
+
+@item OFFSET_TYPE
+This node is used to represent a data member; for example a
+pointer-to-data-member is represented by a @code{POINTER_TYPE} whose
+@code{TREE_TYPE} is an @code{OFFSET_TYPE}.  For a data member @code{X::m}
+the @code{TYPE_OFFSET_BASETYPE} is @code{X} and the @code{TREE_TYPE} is
+the type of @code{m}.
+
+@item TYPENAME_TYPE
+Used to represent a construct of the form @code{typename T::A}.  The
+@code{TYPE_CONTEXT} is @code{T}; the @code{TYPE_NAME} is an
+@code{IDENTIFIER_NODE} for @code{A}. If the type is specified via a
+template-id, then @code{TYPENAME_TYPE_FULLNAME} yields a
+@code{TEMPLATE_ID_EXPR}.  The @code{TREE_TYPE} is non-@code{NULL} if the
+node is implicitly generated in support for the implicit typename
+extension; in which case the @code{TREE_TYPE} is a type node for the
+base-class.
+
+@item TYPEOF_TYPE
+Used to represent the @code{__typeof__} extension.  The
+@code{TYPE_FIELDS} is the expression the type of which is being
+represented. 
+
 @item UNION_TYPE
 Used to represent @code{union} types.  For more information, @pxref{Classes}.
 @end table