aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family/c-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/c-family/c-common.h')
-rw-r--r--gcc/c-family/c-common.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index ea6c297..e0a9715 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1301,11 +1301,15 @@ enum c_omp_region_type
C_ORT_TARGET = 1 << 3,
C_ORT_EXIT_DATA = 1 << 4,
C_ORT_INTEROP = 1 << 5,
+ C_ORT_DECLARE_MAPPER = 1 << 6,
+ C_ORT_UPDATE = 1 << 7,
C_ORT_OMP_DECLARE_SIMD = C_ORT_OMP | C_ORT_DECLARE_SIMD,
C_ORT_OMP_TARGET = C_ORT_OMP | C_ORT_TARGET,
C_ORT_OMP_EXIT_DATA = C_ORT_OMP | C_ORT_EXIT_DATA,
C_ORT_OMP_INTEROP = C_ORT_OMP | C_ORT_INTEROP,
- C_ORT_ACC_TARGET = C_ORT_ACC | C_ORT_TARGET
+ C_ORT_OMP_DECLARE_MAPPER = C_ORT_OMP | C_ORT_DECLARE_MAPPER,
+ C_ORT_ACC_TARGET = C_ORT_ACC | C_ORT_TARGET,
+ C_ORT_OMP_UPDATE = C_ORT_OMP | C_ORT_UPDATE
};
extern tree c_finish_omp_master (location_t, tree);
@@ -1343,6 +1347,9 @@ extern enum omp_clause_defaultmap_kind c_omp_predetermined_mapping (tree);
extern tree c_omp_check_context_selector (location_t, tree);
extern void c_omp_mark_declare_variant (location_t, tree, tree);
extern void c_omp_adjust_map_clauses (tree, bool);
+template<typename T> struct omp_mapper_list;
+extern void c_omp_find_nested_mappers (struct omp_mapper_list<tree> *, tree);
+extern tree c_omp_instantiate_mappers (tree, enum c_omp_region_type);
namespace omp_addr_tokenizer { struct omp_addr_token; }
typedef omp_addr_tokenizer::omp_addr_token omp_addr_token;
@@ -1402,12 +1409,12 @@ public:
bool maybe_zero_length_array_section (tree);
- tree expand_array_base (tree, vec<omp_addr_token *> &, tree, unsigned *,
- c_omp_region_type);
- tree expand_component_selector (tree, vec<omp_addr_token *> &, tree,
- unsigned *, c_omp_region_type);
- tree expand_map_clause (tree, tree, vec<omp_addr_token *> &,
- c_omp_region_type);
+ tree * expand_array_base (tree *, vec<omp_addr_token *> &, tree, unsigned *,
+ c_omp_region_type);
+ tree * expand_component_selector (tree *, vec<omp_addr_token *> &, tree,
+ unsigned *, c_omp_region_type);
+ tree * expand_map_clause (tree *, tree, vec<omp_addr_token *> &,
+ c_omp_region_type);
};
enum c_omp_directive_kind {