GCC Middle and Back End API Reference
tree_typed Struct Reference

#include <tree-core.h>

Collaboration diagram for tree_typed:

Data Fields

struct tree_base base
tree type

Detailed Description

@verbatim 

The following table lists the uses of each of the above flags and for which types of nodes they are defined.

addressable_flag:

TREE_ADDRESSABLE in
    VAR_DECL, PARM_DECL, RESULT_DECL, FUNCTION_DECL, LABEL_DECL
    SSA_NAME
    all types
    CONSTRUCTOR, IDENTIFIER_NODE
    STMT_EXPR

CALL_EXPR_TAILCALL in
    CALL_EXPR

CASE_LOW_SEEN in
    CASE_LABEL_EXPR

PREDICT_EXPR_OUTCOME in
    PREDICT_EXPR

static_flag:

TREE_STATIC in
    VAR_DECL, FUNCTION_DECL
    CONSTRUCTOR

TREE_NO_TRAMPOLINE in
    ADDR_EXPR

BINFO_VIRTUAL_P in
    TREE_BINFO

TREE_SYMBOL_REFERENCED in
    IDENTIFIER_NODE

CLEANUP_EH_ONLY in
    TARGET_EXPR, WITH_CLEANUP_EXPR

TRY_CATCH_IS_CLEANUP in
    TRY_CATCH_EXPR

ASM_INPUT_P in
    ASM_EXPR

TYPE_REF_CAN_ALIAS_ALL in
    POINTER_TYPE, REFERENCE_TYPE

CASE_HIGH_SEEN in
    CASE_LABEL_EXPR

ENUM_IS_SCOPED in
    ENUMERAL_TYPE

TRANSACTION_EXPR_OUTER in
    TRANSACTION_EXPR

public_flag:

TREE_OVERFLOW in
    INTEGER_CST, REAL_CST, COMPLEX_CST, VECTOR_CST

TREE_PUBLIC in
    VAR_DECL, FUNCTION_DECL
    IDENTIFIER_NODE

ASM_VOLATILE_P in
    ASM_EXPR

CALL_EXPR_VA_ARG_PACK in
    CALL_EXPR

TYPE_CACHED_VALUES_P in
    all types

SAVE_EXPR_RESOLVED_P in
    SAVE_EXPR

OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE in
    OMP_CLAUSE_LASTPRIVATE

OMP_CLAUSE_PRIVATE_DEBUG in
    OMP_CLAUSE_PRIVATE

OMP_CLAUSE_LINEAR_NO_COPYIN in
    OMP_CLAUSE_LINEAR

OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION in
    OMP_CLAUSE_MAP

OMP_CLAUSE_REDUCTION_OMP_ORIG_REF in
    OMP_CLAUSE_REDUCTION

TRANSACTION_EXPR_RELAXED in
    TRANSACTION_EXPR

private_flag:

TREE_PRIVATE in
    all decls

CALL_EXPR_RETURN_SLOT_OPT in
    CALL_EXPR

OMP_SECTION_LAST in
    OMP_SECTION

OMP_PARALLEL_COMBINED in
    OMP_PARALLEL

OMP_ATOMIC_SEQ_CST in
    OMP_ATOMIC*

OMP_CLAUSE_PRIVATE_OUTER_REF in
    OMP_CLAUSE_PRIVATE

OMP_CLAUSE_LINEAR_NO_COPYOUT in
    OMP_CLAUSE_LINEAR

TYPE_REF_IS_RVALUE in
    REFERENCE_TYPE

ENUM_IS_OPAQUE in
    ENUMERAL_TYPE

protected_flag:

TREE_PROTECTED in
    BLOCK
    all decls

CALL_FROM_THUNK_P and
CALL_ALLOCA_FOR_VAR_P in
    CALL_EXPR

side_effects_flag:

TREE_SIDE_EFFECTS in
    all expressions
    all decls
    all constants

FORCED_LABEL in
    LABEL_DECL

volatile_flag:

TREE_THIS_VOLATILE in
    all expressions
    all decls

TYPE_VOLATILE in
    all types

readonly_flag:

TREE_READONLY in
    all expressions
    all decls

TYPE_READONLY in
    all types

constant_flag:

TREE_CONSTANT in
    all expressions
    all decls
    all constants

TYPE_SIZES_GIMPLIFIED in
    all types

unsigned_flag:

TYPE_UNSIGNED in
    all types

DECL_UNSIGNED in
    all decls

asm_written_flag:

TREE_ASM_WRITTEN in
    VAR_DECL, FUNCTION_DECL, TYPE_DECL
    RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE
    BLOCK, STRING_CST

SSA_NAME_OCCURS_IN_ABNORMAL_PHI in
    SSA_NAME

used_flag:

TREE_USED in
    all expressions
    all decls
    IDENTIFIER_NODE

nothrow_flag:

TREE_NOTHROW in
    CALL_EXPR
    FUNCTION_DECL

TYPE_ALIGN_OK in
    all types

TREE_THIS_NOTRAP in
   INDIRECT_REF, MEM_REF, TARGET_MEM_REF, ARRAY_REF, ARRAY_RANGE_REF

SSA_NAME_IN_FREELIST in
   SSA_NAME

deprecated_flag:

TREE_DEPRECATED in
    all decls
    all types

IDENTIFIER_TRANSPARENT_ALIAS in
    IDENTIFIER_NODE

visited:

TREE_VISITED in
    all trees (used liberally by many passes)

saturating_flag:

TYPE_SATURATING in
    all types

VAR_DECL_IS_VIRTUAL_OPERAND in
    VAR_DECL

nowarning_flag:

TREE_NO_WARNING in
    all expressions
    all decls

TYPE_ARTIFICIAL in
    all types

default_def_flag:

TYPE_VECTOR_OPAQUE in
    VECTOR_TYPE

SSA_NAME_IS_DEFAULT_DEF in
    SSA_NAME

DECL_NONLOCAL_FRAME in
    VAR_DECL

TYPE_FINAL_P in
    RECORD_TYPE, UNION_TYPE and QUAL_UNION_TYPE

Field Documentation

struct tree_base tree_typed::base
tree tree_typed::type

The documentation for this struct was generated from the following file: