diff options
Diffstat (limited to 'gcc/target.h')
-rw-r--r-- | gcc/target.h | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/gcc/target.h b/gcc/target.h index 2bf35e2..c9c7b52 100644 --- a/gcc/target.h +++ b/gcc/target.h @@ -274,7 +274,24 @@ enum type_context_kind { TCTX_EXCEPTIONS, /* Capturing objects of type T by value in a closure. */ - TCTX_CAPTURE_BY_COPY + TCTX_CAPTURE_BY_COPY, + + /* Objects of type T appearing in OpenMP map clause. */ + TCTX_OMP_MAP, + + /* Objects of type T appearing in OpenMP target region + without explicit map. */ + TCTX_OMP_MAP_IMP_REF, + + /* Objects of type T appearing in OpenMP private clause. */ + TCTX_OMP_PRIVATE, + + /* Objects of type T appearing in OpenMP firstprivate clause. */ + TCTX_OMP_FIRSTPRIVATE, + + /* Objects of type T appearing in OpenMP device clauses. */ + TCTX_OMP_DEVICE_ADDR + }; enum poly_value_estimate_kind @@ -343,6 +360,24 @@ mode_can_transfer_bits (machine_mode mode) return true; } +/* Return true if OpenMP context types. */ + +inline bool +omp_type_context (type_context_kind context) +{ + switch (context) + { + case TCTX_OMP_MAP: + case TCTX_OMP_MAP_IMP_REF: + case TCTX_OMP_PRIVATE: + case TCTX_OMP_FIRSTPRIVATE: + case TCTX_OMP_DEVICE_ADDR: + return true; + default: + return false; + } +} + #ifdef GCC_TM_H #ifndef CUMULATIVE_ARGS_MAGIC |