aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h37
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