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

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_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

      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

Field Documentation

◆ base

struct tree_base tree_typed::base

◆ type

tree tree_typed::type

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