GCC主要数据结构之c_typespec
2017-03-18 12:13
204 查看
/* A kind of type specifier. Note that this information is currently
only used to distinguish tag definitions, tag references and typeof
uses. */
enum c_typespec_kind {
/* No typespec. This appears only in struct c_declspec. */
ctsk_none,
/* A reserved keyword type specifier. */
ctsk_resword,
/* A reference to a tag, previously declared, such as "struct foo".
This includes where the previous declaration was as a different
kind of tag, in which case this is only valid if shadowing that
tag in an inner scope. */
ctsk_tagref,
/* A reference to a tag, not previously declared in a visible
scope. */
ctsk_tagfirstref,
/* A definition of a tag such as "struct foo { int a; }". */
ctsk_tagdef,
/* A typedef name. */
ctsk_typedef,
/* An ObjC-specific kind of type specifier. */
ctsk_objc,
/* A typeof specifier, or _Atomic ( type-name ). */
ctsk_typeof
};
/* A type specifier: this structure is created in the parser and
passed to declspecs_add_type only. */
struct c_typespec {
/* What kind of type specifier this is. */
enum c_typespec_kind kind;
/* Whether the expression has operands suitable for use in constant
expressions. */
bool expr_const_operands;
/* The specifier itself. */
tree spec;
/* An expression to be evaluated before the type specifier, in the
case of typeof specifiers, or NULL otherwise or if no such
expression is required for a particular typeof specifier. In
particular, when typeof is applied to an expression of variably
modified type, that expression must be evaluated in order to
determine array sizes that form part of the type, but the
expression itself (as opposed to the array sizes) forms no part
of the type and so needs to be recorded separately. */
tree expr;
};
相关文章推荐
- GCC主要数据结构之c_typespec_keyword
- GCC主要数据结构之constructor_stack
- GCC主要数据结构之cpp_callbacks
- GCC主要数据结构之cpp_buffer
- GCC主要数据结构之c_expr
- GCC主要数据结构之stmt_tree_s
- GCC主要数据结构之cpp_token
- GCC主要数据结构之c_declspecs
- GCC主要数据结构之cxx_dialect
- GCC主要数据结构之tree_base
- GCC主要数据结构之c_parser
- GCC主要数据结构之record_layout_info_s
- GCC主要数据结构之cpp_reader
- GCC主要数据结构之tree_node
- GCC主要数据结构之cpp_options
- GCC主要数据结构之c_declspec_word
- GCC主要数据结构之gcov_root
- GCC主要数据结构之c_lang
- GCC主要数据结构之struct gcov_info
- GCC主要数据结构之c_language_kind