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
OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE in
OMP_CLAUSE
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_BASIC_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
MUST_TAIL_CALL in
CALL_EXPR
public_flag:
TREE_OVERFLOW in
INTEGER_CST, REAL_CST, COMPLEX_CST, VECTOR_CST
TREE_PUBLIC in
VAR_DECL, FUNCTION_DECL
IDENTIFIER_NODE
CONSTRUCTOR_NO_CLEARING in
CONSTRUCTOR
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_{,TASK_,IN_}REDUCTION
OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT in
OMP_CLAUSE_USE_DEVICE_PTR
TRANSACTION_EXPR_RELAXED in
TRANSACTION_EXPR
FALLTHROUGH_LABEL_P in
LABEL_DECL
SSA_NAME_IS_VIRTUAL_OPERAND in
SSA_NAME
EXPR_LOCATION_WRAPPER_P in
NON_LVALUE_EXPR, VIEW_CONVERT_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_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 and
CALL_FROM_NEW_OR_DELETE_P in
CALL_EXPR
OMP_CLAUSE_LINEAR_VARIABLE_STRIDE in
OMP_CLAUSE_LINEAR
ASM_INLINE_P in
ASM_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
OMP_CLAUSE_MAP_READONLY in
OMP_CLAUSE_MAP
OMP_CLAUSE__CACHE__READONLY in
OMP_CLAUSE__CACHE_
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
TREE_THIS_NOTRAP in
INDIRECT_REF, MEM_REF, TARGET_MEM_REF, ARRAY_REF, ARRAY_RANGE_REF
SSA_NAME_IN_FREE_LIST in
SSA_NAME
DECL_NONALIASED in
VAR_DECL
CHREC_NOWRAP in
POLYNOMIAL_CHREC
deprecated_flag:
TREE_DEPRECATED in
all decls
all types
IDENTIFIER_TRANSPARENT_ALIAS in
IDENTIFIER_NODE
SSA_NAME_POINTS_TO_READONLY_MEMORY in
SSA_NAME
unavailable_flag:
TREE_UNAVAILABLE in
all decls
all types
visited:
TREE_VISITED in
all trees (used liberally by many passes)
saturating_flag:
TYPE_REVERSE_STORAGE_ORDER in
RECORD_TYPE, UNION_TYPE, QUAL_UNION_TYPE, ARRAY_TYPE
TYPE_SATURATING in
other 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_FINAL_P in
RECORD_TYPE, UNION_TYPE and QUAL_UNION_TYPE
TYPE_VECTOR_OPAQUE in
VECTOR_TYPE
SSA_NAME_IS_DEFAULT_DEF in
SSA_NAME
DECL_NONLOCAL_FRAME in
VAR_DECL
REF_REVERSE_STORAGE_ORDER in
BIT_FIELD_REF, MEM_REF
FUNC_ADDR_BY_DESCRIPTOR in
ADDR_EXPR
CALL_EXPR_BY_DESCRIPTOR in
CALL_EXPR