diff options
| author | gdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-07 08:42:34 +0000 |
|---|---|---|
| committer | gdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-09-07 08:42:34 +0000 |
| commit | bc3a10965415ea39d6ef3cf31f4c0dd5b2ab1c94 (patch) | |
| tree | 151f28962d4420e64119e5c6c59e0afac5a5e412 | |
| parent | e80ebba8fcb5f0cf3ab9499f1018beb94e22f249 (diff) | |
| download | ppe42-gcc-bc3a10965415ea39d6ef3cf31f4c0dd5b2ab1c94.tar.gz ppe42-gcc-bc3a10965415ea39d6ef3cf31f4c0dd5b2ab1c94.zip | |
* ir.texi: Document type nodes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36231 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/cp/ir.texi | 37 |
2 files changed, 41 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 396a03211f8..537e57ad048 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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. diff --git a/gcc/cp/ir.texi b/gcc/cp/ir.texi index fa4ca87e741..8bd170a1bf1 100644 --- a/gcc/cp/ir.texi +++ b/gcc/cp/ir.texi @@ -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 |

