diff options
Diffstat (limited to 'gcc/c-family/c-common.h')
-rw-r--r-- | gcc/c-family/c-common.h | 21 |
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 { |