On Thu, Dec 18, 2014 at 07:00:09PM +0100, Thomas Schwinge wrote: > > The point is that we now have lots of clauses, and making it clear what from > > those clauses are Cilk+, what are OpenACC, what are OpenMP will help with > > code readability.
So here is what I'd like to see with PRAGMA_O*_CLAUSE_*, it matches what we do already for Cilk+ and at least to me makes the code more readable. gomp-4_0-branch compiles with it, haven't tested anything. Note, it seems some of these OpenACC clauses are parsed only by C and not C++, e.g. vector clause, but they aren't listed on any acc constructs anyway. --- gcc/c-family/c-pragma.h.jj 2014-12-18 12:44:28.000000000 +0100 +++ gcc/c-family/c-pragma.h 2014-12-19 11:21:30.405501323 +0100 @@ -80,26 +80,17 @@ typedef enum pragma_omp_clause { PRAGMA_OMP_CLAUSE_NONE = 0, PRAGMA_OMP_CLAUSE_ALIGNED, - PRAGMA_OMP_CLAUSE_ASYNC, - PRAGMA_OMP_CLAUSE_AUTO, PRAGMA_OMP_CLAUSE_COLLAPSE, - PRAGMA_OMP_CLAUSE_COPY, PRAGMA_OMP_CLAUSE_COPYIN, - PRAGMA_OMP_CLAUSE_COPYOUT, PRAGMA_OMP_CLAUSE_COPYPRIVATE, - PRAGMA_OMP_CLAUSE_CREATE, PRAGMA_OMP_CLAUSE_DEFAULT, - PRAGMA_OMP_CLAUSE_DELETE, PRAGMA_OMP_CLAUSE_DEPEND, PRAGMA_OMP_CLAUSE_DEVICE, - PRAGMA_OMP_CLAUSE_DEVICEPTR, PRAGMA_OMP_CLAUSE_DIST_SCHEDULE, PRAGMA_OMP_CLAUSE_FINAL, PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, PRAGMA_OMP_CLAUSE_FOR, PRAGMA_OMP_CLAUSE_FROM, - PRAGMA_OMP_CLAUSE_GANG, - PRAGMA_OMP_CLAUSE_HOST, PRAGMA_OMP_CLAUSE_IF, PRAGMA_OMP_CLAUSE_INBRANCH, PRAGMA_OMP_CLAUSE_LASTPRIVATE, @@ -108,25 +99,16 @@ typedef enum pragma_omp_clause { PRAGMA_OMP_CLAUSE_MERGEABLE, PRAGMA_OMP_CLAUSE_NOTINBRANCH, PRAGMA_OMP_CLAUSE_NOWAIT, - PRAGMA_OMP_CLAUSE_NUM_GANGS, PRAGMA_OMP_CLAUSE_NUM_TEAMS, PRAGMA_OMP_CLAUSE_NUM_THREADS, - PRAGMA_OMP_CLAUSE_NUM_WORKERS, PRAGMA_OMP_CLAUSE_ORDERED, PRAGMA_OMP_CLAUSE_PARALLEL, - PRAGMA_OMP_CLAUSE_PRESENT, - PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY, - PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN, - PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT, - PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE, PRAGMA_OMP_CLAUSE_PRIVATE, PRAGMA_OMP_CLAUSE_PROC_BIND, PRAGMA_OMP_CLAUSE_REDUCTION, PRAGMA_OMP_CLAUSE_SAFELEN, PRAGMA_OMP_CLAUSE_SCHEDULE, PRAGMA_OMP_CLAUSE_SECTIONS, - PRAGMA_OMP_CLAUSE_SELF, - PRAGMA_OMP_CLAUSE_SEQ, PRAGMA_OMP_CLAUSE_SHARED, PRAGMA_OMP_CLAUSE_SIMDLEN, PRAGMA_OMP_CLAUSE_TASKGROUP, @@ -134,10 +116,6 @@ typedef enum pragma_omp_clause { PRAGMA_OMP_CLAUSE_TO, PRAGMA_OMP_CLAUSE_UNIFORM, PRAGMA_OMP_CLAUSE_UNTIED, - PRAGMA_OMP_CLAUSE_VECTOR, - PRAGMA_OMP_CLAUSE_VECTOR_LENGTH, - PRAGMA_OMP_CLAUSE_WAIT, - PRAGMA_OMP_CLAUSE_WORKER, /* Clauses for Cilk Plus SIMD-enabled function. */ PRAGMA_CILK_CLAUSE_NOMASK, @@ -149,7 +127,38 @@ typedef enum pragma_omp_clause { PRAGMA_CILK_CLAUSE_FIRSTPRIVATE = PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, PRAGMA_CILK_CLAUSE_LASTPRIVATE = PRAGMA_OMP_CLAUSE_LASTPRIVATE, PRAGMA_CILK_CLAUSE_REDUCTION = PRAGMA_OMP_CLAUSE_REDUCTION, - PRAGMA_CILK_CLAUSE_UNIFORM = PRAGMA_OMP_CLAUSE_UNIFORM + PRAGMA_CILK_CLAUSE_UNIFORM = PRAGMA_OMP_CLAUSE_UNIFORM, + + /* Clauses for OpenACC. */ + PRAGMA_OACC_CLAUSE_ASYNC = PRAGMA_CILK_CLAUSE_VECTORLENGTH + 1, + PRAGMA_OACC_CLAUSE_AUTO, + PRAGMA_OACC_CLAUSE_COPY, + PRAGMA_OACC_CLAUSE_COPYOUT, + PRAGMA_OACC_CLAUSE_CREATE, + PRAGMA_OACC_CLAUSE_DELETE, + PRAGMA_OACC_CLAUSE_DEVICEPTR, + PRAGMA_OACC_CLAUSE_GANG, + PRAGMA_OACC_CLAUSE_HOST, + PRAGMA_OACC_CLAUSE_NUM_GANGS, + PRAGMA_OACC_CLAUSE_NUM_WORKERS, + PRAGMA_OACC_CLAUSE_PRESENT, + PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY, + PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN, + PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT, + PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE, + PRAGMA_OACC_CLAUSE_SELF, + PRAGMA_OACC_CLAUSE_SEQ, + PRAGMA_OACC_CLAUSE_VECTOR, + PRAGMA_OACC_CLAUSE_VECTOR_LENGTH, + PRAGMA_OACC_CLAUSE_WAIT, + PRAGMA_OACC_CLAUSE_WORKER, + PRAGMA_OACC_CLAUSE_COLLAPSE = PRAGMA_OMP_CLAUSE_COLLAPSE, + PRAGMA_OACC_CLAUSE_COPYIN = PRAGMA_OMP_CLAUSE_COPYIN, + PRAGMA_OACC_CLAUSE_DEVICE = PRAGMA_OMP_CLAUSE_DEVICE, + PRAGMA_OACC_CLAUSE_FIRSTPRIVATE = PRAGMA_OMP_CLAUSE_FIRSTPRIVATE, + PRAGMA_OACC_CLAUSE_IF = PRAGMA_OMP_CLAUSE_IF, + PRAGMA_OACC_CLAUSE_PRIVATE = PRAGMA_OMP_CLAUSE_PRIVATE, + PRAGMA_OACC_CLAUSE_REDUCTION = PRAGMA_OMP_CLAUSE_REDUCTION } pragma_omp_clause; extern struct cpp_reader* parse_in; --- gcc/c/c-parser.c.jj 2014-12-18 12:44:29.000000000 +0100 +++ gcc/c/c-parser.c 2014-12-19 11:20:36.345440980 +0100 @@ -9831,7 +9831,7 @@ c_parser_omp_clause_name (c_parser *pars pragma_omp_clause result = PRAGMA_OMP_CLAUSE_NONE; if (c_parser_next_token_is_keyword (parser, RID_AUTO)) - result = PRAGMA_OMP_CLAUSE_AUTO; + result = PRAGMA_OACC_CLAUSE_AUTO; else if (c_parser_next_token_is_keyword (parser, RID_IF)) result = PRAGMA_OMP_CLAUSE_IF; else if (c_parser_next_token_is_keyword (parser, RID_DEFAULT)) @@ -9848,31 +9848,31 @@ c_parser_omp_clause_name (c_parser *pars if (!strcmp ("aligned", p)) result = PRAGMA_OMP_CLAUSE_ALIGNED; else if (!strcmp ("async", p)) - result = PRAGMA_OMP_CLAUSE_ASYNC; + result = PRAGMA_OACC_CLAUSE_ASYNC; break; case 'c': if (!strcmp ("collapse", p)) result = PRAGMA_OMP_CLAUSE_COLLAPSE; else if (!strcmp ("copy", p)) - result = PRAGMA_OMP_CLAUSE_COPY; + result = PRAGMA_OACC_CLAUSE_COPY; else if (!strcmp ("copyin", p)) result = PRAGMA_OMP_CLAUSE_COPYIN; else if (!strcmp ("copyout", p)) - result = PRAGMA_OMP_CLAUSE_COPYOUT; + result = PRAGMA_OACC_CLAUSE_COPYOUT; else if (!strcmp ("copyprivate", p)) result = PRAGMA_OMP_CLAUSE_COPYPRIVATE; else if (!strcmp ("create", p)) - result = PRAGMA_OMP_CLAUSE_CREATE; + result = PRAGMA_OACC_CLAUSE_CREATE; break; case 'd': if (!strcmp ("delete", p)) - result = PRAGMA_OMP_CLAUSE_DELETE; + result = PRAGMA_OACC_CLAUSE_DELETE; else if (!strcmp ("depend", p)) result = PRAGMA_OMP_CLAUSE_DEPEND; else if (!strcmp ("device", p)) result = PRAGMA_OMP_CLAUSE_DEVICE; else if (!strcmp ("deviceptr", p)) - result = PRAGMA_OMP_CLAUSE_DEVICEPTR; + result = PRAGMA_OACC_CLAUSE_DEVICEPTR; else if (!strcmp ("dist_schedule", p)) result = PRAGMA_OMP_CLAUSE_DIST_SCHEDULE; break; @@ -9886,11 +9886,11 @@ c_parser_omp_clause_name (c_parser *pars break; case 'g': if (!strcmp ("gang", p)) - result = PRAGMA_OMP_CLAUSE_GANG; + result = PRAGMA_OACC_CLAUSE_GANG; break; case 'h': if (!strcmp ("host", p)) - result = PRAGMA_OMP_CLAUSE_HOST; + result = PRAGMA_OACC_CLAUSE_HOST; break; case 'i': if (!strcmp ("inbranch", p)) @@ -9916,13 +9916,13 @@ c_parser_omp_clause_name (c_parser *pars else if (!strcmp ("nowait", p)) result = PRAGMA_OMP_CLAUSE_NOWAIT; else if (!strcmp ("num_gangs", p)) - result = PRAGMA_OMP_CLAUSE_NUM_GANGS; + result = PRAGMA_OACC_CLAUSE_NUM_GANGS; else if (!strcmp ("num_teams", p)) result = PRAGMA_OMP_CLAUSE_NUM_TEAMS; else if (!strcmp ("num_threads", p)) result = PRAGMA_OMP_CLAUSE_NUM_THREADS; else if (!strcmp ("num_workers", p)) - result = PRAGMA_OMP_CLAUSE_NUM_WORKERS; + result = PRAGMA_OACC_CLAUSE_NUM_WORKERS; else if (flag_cilkplus && !strcmp ("nomask", p)) result = PRAGMA_CILK_CLAUSE_NOMASK; break; @@ -9934,19 +9934,19 @@ c_parser_omp_clause_name (c_parser *pars if (!strcmp ("parallel", p)) result = PRAGMA_OMP_CLAUSE_PARALLEL; else if (!strcmp ("present", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT; + result = PRAGMA_OACC_CLAUSE_PRESENT; else if (!strcmp ("present_or_copy", p) || !strcmp ("pcopy", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY; + result = PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY; else if (!strcmp ("present_or_copyin", p) || !strcmp ("pcopyin", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN; + result = PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN; else if (!strcmp ("present_or_copyout", p) || !strcmp ("pcopyout", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT; + result = PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT; else if (!strcmp ("present_or_create", p) || !strcmp ("pcreate", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE; + result = PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE; else if (!strcmp ("private", p)) result = PRAGMA_OMP_CLAUSE_PRIVATE; else if (!strcmp ("proc_bind", p)) @@ -9964,13 +9964,13 @@ c_parser_omp_clause_name (c_parser *pars else if (!strcmp ("sections", p)) result = PRAGMA_OMP_CLAUSE_SECTIONS; else if (!strcmp ("seq", p)) - result = PRAGMA_OMP_CLAUSE_SEQ; + result = PRAGMA_OACC_CLAUSE_SEQ; else if (!strcmp ("shared", p)) result = PRAGMA_OMP_CLAUSE_SHARED; else if (!strcmp ("simdlen", p)) result = PRAGMA_OMP_CLAUSE_SIMDLEN; else if (!strcmp ("self", p)) - result = PRAGMA_OMP_CLAUSE_SELF; + result = PRAGMA_OACC_CLAUSE_SELF; break; case 't': if (!strcmp ("taskgroup", p)) @@ -9988,17 +9988,17 @@ c_parser_omp_clause_name (c_parser *pars break; case 'v': if (!strcmp ("vector", p)) - result = PRAGMA_OMP_CLAUSE_VECTOR; + result = PRAGMA_OACC_CLAUSE_VECTOR; else if (!strcmp ("vector_length", p)) - result = PRAGMA_OMP_CLAUSE_VECTOR_LENGTH; + result = PRAGMA_OACC_CLAUSE_VECTOR_LENGTH; else if (flag_cilkplus && !strcmp ("vectorlength", p)) result = PRAGMA_CILK_CLAUSE_VECTORLENGTH; break; case 'w': if (!strcmp ("wait", p)) - result = PRAGMA_OMP_CLAUSE_WAIT; + result = PRAGMA_OACC_CLAUSE_WAIT; else if (!strcmp ("worker", p)) - result = PRAGMA_OMP_CLAUSE_WORKER; + result = PRAGMA_OACC_CLAUSE_WORKER; break; } } @@ -10251,41 +10251,41 @@ c_parser_oacc_data_clause (c_parser *par enum omp_clause_map_kind kind; switch (c_kind) { - case PRAGMA_OMP_CLAUSE_COPY: + case PRAGMA_OACC_CLAUSE_COPY: kind = OMP_CLAUSE_MAP_FORCE_TOFROM; break; - case PRAGMA_OMP_CLAUSE_COPYIN: + case PRAGMA_OACC_CLAUSE_COPYIN: kind = OMP_CLAUSE_MAP_FORCE_TO; break; - case PRAGMA_OMP_CLAUSE_COPYOUT: + case PRAGMA_OACC_CLAUSE_COPYOUT: kind = OMP_CLAUSE_MAP_FORCE_FROM; break; - case PRAGMA_OMP_CLAUSE_CREATE: + case PRAGMA_OACC_CLAUSE_CREATE: kind = OMP_CLAUSE_MAP_FORCE_ALLOC; break; - case PRAGMA_OMP_CLAUSE_DELETE: + case PRAGMA_OACC_CLAUSE_DELETE: kind = OMP_CLAUSE_MAP_FORCE_DEALLOC; break; - case PRAGMA_OMP_CLAUSE_DEVICE: + case PRAGMA_OACC_CLAUSE_DEVICE: kind = OMP_CLAUSE_MAP_FORCE_TO; break; - case PRAGMA_OMP_CLAUSE_HOST: - case PRAGMA_OMP_CLAUSE_SELF: + case PRAGMA_OACC_CLAUSE_HOST: + case PRAGMA_OACC_CLAUSE_SELF: kind = OMP_CLAUSE_MAP_FORCE_FROM; break; - case PRAGMA_OMP_CLAUSE_PRESENT: + case PRAGMA_OACC_CLAUSE_PRESENT: kind = OMP_CLAUSE_MAP_FORCE_PRESENT; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY: kind = OMP_CLAUSE_MAP_TOFROM; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN: kind = OMP_CLAUSE_MAP_TO; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT: kind = OMP_CLAUSE_MAP_FROM; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE: kind = OMP_CLAUSE_MAP_ALLOC; break; default: @@ -10310,7 +10310,7 @@ c_parser_oacc_data_clause_deviceptr (c_p tree vars, t; /* Can't use OMP_CLAUSE_MAP here (that is, can't use the generic - c_parser_oacc_data_clause), as for PRAGMA_OMP_CLAUSE_DEVICEPTR, + c_parser_oacc_data_clause), as for PRAGMA_OACC_CLAUSE_DEVICEPTR, variable-list must only allow for pointer variables. */ vars = c_parser_omp_var_list_parens (parser, OMP_CLAUSE_ERROR, NULL); for (t = vars; t && t; t = TREE_CHAIN (t)) @@ -11592,99 +11592,99 @@ c_parser_oacc_all_clauses (c_parser *par switch (c_kind) { - case PRAGMA_OMP_CLAUSE_ASYNC: + case PRAGMA_OACC_CLAUSE_ASYNC: clauses = c_parser_oacc_clause_async (parser, clauses); c_name = "async"; break; - case PRAGMA_OMP_CLAUSE_COLLAPSE: + case PRAGMA_OACC_CLAUSE_COLLAPSE: clauses = c_parser_omp_clause_collapse (parser, clauses); c_name = "collapse"; break; - case PRAGMA_OMP_CLAUSE_COPY: + case PRAGMA_OACC_CLAUSE_COPY: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "copy"; break; - case PRAGMA_OMP_CLAUSE_COPYIN: + case PRAGMA_OACC_CLAUSE_COPYIN: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "copyin"; break; - case PRAGMA_OMP_CLAUSE_COPYOUT: + case PRAGMA_OACC_CLAUSE_COPYOUT: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "copyout"; break; - case PRAGMA_OMP_CLAUSE_CREATE: + case PRAGMA_OACC_CLAUSE_CREATE: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "create"; break; - case PRAGMA_OMP_CLAUSE_DELETE: + case PRAGMA_OACC_CLAUSE_DELETE: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "delete"; break; - case PRAGMA_OMP_CLAUSE_DEVICE: + case PRAGMA_OACC_CLAUSE_DEVICE: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "device"; break; - case PRAGMA_OMP_CLAUSE_DEVICEPTR: + case PRAGMA_OACC_CLAUSE_DEVICEPTR: clauses = c_parser_oacc_data_clause_deviceptr (parser, clauses); c_name = "deviceptr"; break; - case PRAGMA_OMP_CLAUSE_FIRSTPRIVATE: + case PRAGMA_OACC_CLAUSE_FIRSTPRIVATE: clauses = c_parser_omp_clause_firstprivate (parser, clauses); c_name = "firstprivate"; break; - case PRAGMA_OMP_CLAUSE_HOST: + case PRAGMA_OACC_CLAUSE_HOST: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "host"; break; - case PRAGMA_OMP_CLAUSE_IF: + case PRAGMA_OACC_CLAUSE_IF: clauses = c_parser_omp_clause_if (parser, clauses); c_name = "if"; break; - case PRAGMA_OMP_CLAUSE_NUM_GANGS: + case PRAGMA_OACC_CLAUSE_NUM_GANGS: clauses = c_parser_omp_clause_num_gangs (parser, clauses); c_name = "num_gangs"; break; - case PRAGMA_OMP_CLAUSE_NUM_WORKERS: + case PRAGMA_OACC_CLAUSE_NUM_WORKERS: clauses = c_parser_omp_clause_num_workers (parser, clauses); c_name = "num_workers"; break; - case PRAGMA_OMP_CLAUSE_PRESENT: + case PRAGMA_OACC_CLAUSE_PRESENT: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present"; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present_or_copy"; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present_or_copyin"; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present_or_copyout"; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present_or_create"; break; - case PRAGMA_OMP_CLAUSE_PRIVATE: + case PRAGMA_OACC_CLAUSE_PRIVATE: clauses = c_parser_omp_clause_private (parser, clauses); c_name = "private"; break; - case PRAGMA_OMP_CLAUSE_REDUCTION: + case PRAGMA_OACC_CLAUSE_REDUCTION: clauses = c_parser_omp_clause_reduction (parser, clauses); c_name = "reduction"; break; - case PRAGMA_OMP_CLAUSE_SELF: + case PRAGMA_OACC_CLAUSE_SELF: clauses = c_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "self"; break; - case PRAGMA_OMP_CLAUSE_VECTOR_LENGTH: + case PRAGMA_OACC_CLAUSE_VECTOR_LENGTH: clauses = c_parser_omp_clause_vector_length (parser, clauses); c_name = "vector_length"; break; - case PRAGMA_OMP_CLAUSE_WAIT: + case PRAGMA_OACC_CLAUSE_WAIT: clauses = c_parser_oacc_clause_wait (parser, clauses); c_name = "wait"; break; @@ -11990,18 +11990,18 @@ c_parser_oacc_cache (location_t loc, c_p LOC is the location of the #pragma token. */ -#define OACC_DATA_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DEVICEPTR) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE) ) +#define OACC_DATA_CLAUSE_MASK \ + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DEVICEPTR) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE) ) static tree c_parser_oacc_data (location_t loc, c_parser *parser) @@ -12027,19 +12027,19 @@ c_parser_oacc_data (location_t loc, c_pa */ #define OACC_KERNELS_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DEVICEPTR) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT) ) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DEVICEPTR) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT) ) static tree c_parser_oacc_kernels (location_t loc, c_parser *parser, char *p_name) @@ -12085,20 +12085,20 @@ c_parser_oacc_kernels (location_t loc, c */ #define OACC_ENTER_DATA_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT) ) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT) ) #define OACC_EXIT_DATA_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DELETE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT) ) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DELETE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT) ) static void c_parser_oacc_enter_exit_data (c_parser *parser, bool enter) @@ -12162,8 +12162,8 @@ c_parser_oacc_enter_exit_data (c_parser */ #define OACC_LOOP_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COLLAPSE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_REDUCTION) ) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COLLAPSE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_REDUCTION) ) static tree c_parser_oacc_loop (location_t loc, c_parser *parser, char *p_name) @@ -12190,23 +12190,23 @@ c_parser_oacc_loop (location_t loc, c_pa */ #define OACC_PARALLEL_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DEVICEPTR) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_NUM_GANGS) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_NUM_WORKERS) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_REDUCTION) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_VECTOR_LENGTH) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT) ) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DEVICEPTR) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_NUM_GANGS) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_NUM_WORKERS) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_REDUCTION) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_VECTOR_LENGTH) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT) ) static tree c_parser_oacc_parallel (location_t loc, c_parser *parser, char *p_name) @@ -12245,12 +12245,12 @@ c_parser_oacc_parallel (location_t loc, */ #define OACC_UPDATE_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DEVICE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_HOST) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_SELF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT) ) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DEVICE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_HOST) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_SELF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT) ) static void c_parser_oacc_update (c_parser *parser) @@ -12285,8 +12285,8 @@ c_parser_oacc_update (c_parser *parser) LOC is the location of the #pragma token. */ -#define OACC_WAIT_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) ) +#define OACC_WAIT_CLAUSE_MASK \ + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) ) static tree c_parser_oacc_wait (location_t loc, c_parser *parser, char *p_name) --- gcc/cp/parser.c.jj 2014-12-18 12:45:03.000000000 +0100 +++ gcc/cp/parser.c 2014-12-19 11:28:31.012190457 +0100 @@ -27458,7 +27458,7 @@ cp_parser_omp_clause_name (cp_parser *pa else if (cp_lexer_next_token_is_keyword (parser->lexer, RID_DEFAULT)) result = PRAGMA_OMP_CLAUSE_DEFAULT; else if (cp_lexer_next_token_is_keyword (parser->lexer, RID_DELETE)) - result = PRAGMA_OMP_CLAUSE_DELETE; + result = PRAGMA_OACC_CLAUSE_DELETE; else if (cp_lexer_next_token_is_keyword (parser->lexer, RID_PRIVATE)) result = PRAGMA_OMP_CLAUSE_PRIVATE; else if (cp_lexer_next_token_is_keyword (parser->lexer, RID_FOR)) @@ -27474,21 +27474,21 @@ cp_parser_omp_clause_name (cp_parser *pa if (!strcmp ("aligned", p)) result = PRAGMA_OMP_CLAUSE_ALIGNED; else if (!strcmp ("async", p)) - result = PRAGMA_OMP_CLAUSE_ASYNC; + result = PRAGMA_OACC_CLAUSE_ASYNC; break; case 'c': if (!strcmp ("collapse", p)) result = PRAGMA_OMP_CLAUSE_COLLAPSE; else if (!strcmp ("copy", p)) - result = PRAGMA_OMP_CLAUSE_COPY; + result = PRAGMA_OACC_CLAUSE_COPY; else if (!strcmp ("copyin", p)) result = PRAGMA_OMP_CLAUSE_COPYIN; else if (!strcmp ("copyout", p)) - result = PRAGMA_OMP_CLAUSE_COPYOUT; + result = PRAGMA_OACC_CLAUSE_COPYOUT; else if (!strcmp ("copyprivate", p)) result = PRAGMA_OMP_CLAUSE_COPYPRIVATE; else if (!strcmp ("create", p)) - result = PRAGMA_OMP_CLAUSE_CREATE; + result = PRAGMA_OACC_CLAUSE_CREATE; break; case 'd': if (!strcmp ("depend", p)) @@ -27496,7 +27496,7 @@ cp_parser_omp_clause_name (cp_parser *pa else if (!strcmp ("device", p)) result = PRAGMA_OMP_CLAUSE_DEVICE; else if (!strcmp ("deviceptr", p)) - result = PRAGMA_OMP_CLAUSE_DEVICEPTR; + result = PRAGMA_OACC_CLAUSE_DEVICEPTR; else if (!strcmp ("dist_schedule", p)) result = PRAGMA_OMP_CLAUSE_DIST_SCHEDULE; break; @@ -27510,7 +27510,7 @@ cp_parser_omp_clause_name (cp_parser *pa break; case 'h': if (!strcmp ("host", p)) - result = PRAGMA_OMP_CLAUSE_HOST; + result = PRAGMA_OACC_CLAUSE_HOST; break; case 'i': if (!strcmp ("inbranch", p)) @@ -27538,13 +27538,13 @@ cp_parser_omp_clause_name (cp_parser *pa else if (flag_cilkplus && !strcmp ("nomask", p)) result = PRAGMA_CILK_CLAUSE_NOMASK; else if (!strcmp ("num_gangs", p)) - result = PRAGMA_OMP_CLAUSE_NUM_GANGS; + result = PRAGMA_OACC_CLAUSE_NUM_GANGS; else if (!strcmp ("num_teams", p)) result = PRAGMA_OMP_CLAUSE_NUM_TEAMS; else if (!strcmp ("num_threads", p)) result = PRAGMA_OMP_CLAUSE_NUM_THREADS; else if (!strcmp ("num_workers", p)) - result = PRAGMA_OMP_CLAUSE_NUM_WORKERS; + result = PRAGMA_OACC_CLAUSE_NUM_WORKERS; break; case 'o': if (!strcmp ("ordered", p)) @@ -27554,19 +27554,19 @@ cp_parser_omp_clause_name (cp_parser *pa if (!strcmp ("parallel", p)) result = PRAGMA_OMP_CLAUSE_PARALLEL; else if (!strcmp ("present", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT; + result = PRAGMA_OACC_CLAUSE_PRESENT; else if (!strcmp ("present_or_copy", p) || !strcmp ("pcopy", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY; + result = PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY; else if (!strcmp ("present_or_copyin", p) || !strcmp ("pcopyin", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN; + result = PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN; else if (!strcmp ("present_or_copyout", p) || !strcmp ("pcopyout", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT; + result = PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT; else if (!strcmp ("present_or_create", p) || !strcmp ("pcreate", p)) - result = PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE; + result = PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE; else if (!strcmp ("private", p)) result = PRAGMA_OMP_CLAUSE_PRIVATE; else if (!strcmp ("proc_bind", p)) @@ -27584,7 +27584,7 @@ cp_parser_omp_clause_name (cp_parser *pa else if (!strcmp ("sections", p)) result = PRAGMA_OMP_CLAUSE_SECTIONS; else if (!strcmp ("self", p)) - result = PRAGMA_OMP_CLAUSE_SELF; + result = PRAGMA_OACC_CLAUSE_SELF; else if (!strcmp ("shared", p)) result = PRAGMA_OMP_CLAUSE_SHARED; else if (!strcmp ("simdlen", p)) @@ -27606,13 +27606,13 @@ cp_parser_omp_clause_name (cp_parser *pa break; case 'v': if (!strcmp ("vector_length", p)) - result = PRAGMA_OMP_CLAUSE_VECTOR_LENGTH; + result = PRAGMA_OACC_CLAUSE_VECTOR_LENGTH; else if (flag_cilkplus && !strcmp ("vectorlength", p)) result = PRAGMA_CILK_CLAUSE_VECTORLENGTH; break; case 'w': if (!strcmp ("wait", p)) - result = PRAGMA_OMP_CLAUSE_WAIT; + result = PRAGMA_OACC_CLAUSE_WAIT; break; } } @@ -27832,41 +27832,41 @@ cp_parser_oacc_data_clause (cp_parser *p enum omp_clause_map_kind kind; switch (c_kind) { - case PRAGMA_OMP_CLAUSE_COPY: + case PRAGMA_OACC_CLAUSE_COPY: kind = OMP_CLAUSE_MAP_FORCE_TOFROM; break; - case PRAGMA_OMP_CLAUSE_COPYIN: + case PRAGMA_OACC_CLAUSE_COPYIN: kind = OMP_CLAUSE_MAP_FORCE_TO; break; - case PRAGMA_OMP_CLAUSE_COPYOUT: + case PRAGMA_OACC_CLAUSE_COPYOUT: kind = OMP_CLAUSE_MAP_FORCE_FROM; break; - case PRAGMA_OMP_CLAUSE_CREATE: + case PRAGMA_OACC_CLAUSE_CREATE: kind = OMP_CLAUSE_MAP_FORCE_ALLOC; break; - case PRAGMA_OMP_CLAUSE_DELETE: + case PRAGMA_OACC_CLAUSE_DELETE: kind = OMP_CLAUSE_MAP_FORCE_DEALLOC; break; - case PRAGMA_OMP_CLAUSE_DEVICE: + case PRAGMA_OACC_CLAUSE_DEVICE: kind = OMP_CLAUSE_MAP_FORCE_TO; break; - case PRAGMA_OMP_CLAUSE_HOST: - case PRAGMA_OMP_CLAUSE_SELF: + case PRAGMA_OACC_CLAUSE_HOST: + case PRAGMA_OACC_CLAUSE_SELF: kind = OMP_CLAUSE_MAP_FORCE_FROM; break; - case PRAGMA_OMP_CLAUSE_PRESENT: + case PRAGMA_OACC_CLAUSE_PRESENT: kind = OMP_CLAUSE_MAP_FORCE_PRESENT; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY: kind = OMP_CLAUSE_MAP_TOFROM; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN: kind = OMP_CLAUSE_MAP_TO; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT: kind = OMP_CLAUSE_MAP_FROM; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE: kind = OMP_CLAUSE_MAP_ALLOC; break; default: @@ -27891,7 +27891,7 @@ cp_parser_oacc_data_clause_deviceptr (cp tree vars, t; /* Can't use OMP_CLAUSE_MAP here (that is, can't use the generic - cp_parser_oacc_data_clause), as for PRAGMA_OMP_CLAUSE_DEVICEPTR, + cp_parser_oacc_data_clause), as for PRAGMA_OACC_CLAUSE_DEVICEPTR, variable-list must only allow for pointer variables. */ vars = cp_parser_omp_var_list (parser, OMP_CLAUSE_ERROR, NULL); for (t = vars; t; t = TREE_CHAIN (t)) @@ -29069,92 +29069,92 @@ cp_parser_oacc_all_clauses (cp_parser *p switch (c_kind) { - case PRAGMA_OMP_CLAUSE_ASYNC: + case PRAGMA_OACC_CLAUSE_ASYNC: clauses = cp_parser_oacc_clause_async (parser, clauses); c_name = "async"; break; - case PRAGMA_OMP_CLAUSE_COLLAPSE: + case PRAGMA_OACC_CLAUSE_COLLAPSE: clauses = cp_parser_omp_clause_collapse (parser, clauses, here); c_name = "collapse"; break; - case PRAGMA_OMP_CLAUSE_COPY: + case PRAGMA_OACC_CLAUSE_COPY: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "copy"; break; - case PRAGMA_OMP_CLAUSE_COPYIN: + case PRAGMA_OACC_CLAUSE_COPYIN: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "copyin"; break; - case PRAGMA_OMP_CLAUSE_COPYOUT: + case PRAGMA_OACC_CLAUSE_COPYOUT: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "copyout"; break; - case PRAGMA_OMP_CLAUSE_CREATE: + case PRAGMA_OACC_CLAUSE_CREATE: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "create"; break; - case PRAGMA_OMP_CLAUSE_DELETE: + case PRAGMA_OACC_CLAUSE_DELETE: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "delete"; break; - case PRAGMA_OMP_CLAUSE_DEVICE: + case PRAGMA_OACC_CLAUSE_DEVICE: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "device"; break; - case PRAGMA_OMP_CLAUSE_DEVICEPTR: + case PRAGMA_OACC_CLAUSE_DEVICEPTR: clauses = cp_parser_oacc_data_clause_deviceptr (parser, clauses); c_name = "deviceptr"; break; - case PRAGMA_OMP_CLAUSE_HOST: + case PRAGMA_OACC_CLAUSE_HOST: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "host"; break; - case PRAGMA_OMP_CLAUSE_IF: + case PRAGMA_OACC_CLAUSE_IF: clauses = cp_parser_omp_clause_if (parser, clauses, here); c_name = "if"; break; - case PRAGMA_OMP_CLAUSE_NUM_GANGS: + case PRAGMA_OACC_CLAUSE_NUM_GANGS: clauses = cp_parser_omp_clause_num_gangs (parser, clauses); c_name = "num_gangs"; break; - case PRAGMA_OMP_CLAUSE_NUM_WORKERS: + case PRAGMA_OACC_CLAUSE_NUM_WORKERS: clauses = cp_parser_omp_clause_num_workers (parser, clauses); c_name = "num_workers"; break; - case PRAGMA_OMP_CLAUSE_PRESENT: + case PRAGMA_OACC_CLAUSE_PRESENT: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present"; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present_or_copy"; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present_or_copyin"; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present_or_copyout"; break; - case PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE: + case PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "present_or_create"; break; - case PRAGMA_OMP_CLAUSE_REDUCTION: + case PRAGMA_OACC_CLAUSE_REDUCTION: clauses = cp_parser_omp_clause_reduction (parser, clauses); c_name = "reduction"; break; - case PRAGMA_OMP_CLAUSE_SELF: + case PRAGMA_OACC_CLAUSE_SELF: clauses = cp_parser_oacc_data_clause (parser, c_kind, clauses); c_name = "self"; break; - case PRAGMA_OMP_CLAUSE_VECTOR_LENGTH: + case PRAGMA_OACC_CLAUSE_VECTOR_LENGTH: clauses = cp_parser_oacc_clause_vector_length (parser, clauses); c_name = "vector_length"; break; - case PRAGMA_OMP_CLAUSE_WAIT: + case PRAGMA_OACC_CLAUSE_WAIT: clauses = cp_parser_oacc_clause_wait (parser, clauses); c_name = "wait"; break; @@ -31429,18 +31429,18 @@ cp_parser_oacc_cache (cp_parser *parser, # pragma acc data oacc-data-clause[optseq] new-line structured-block */ -#define OACC_DATA_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DEVICEPTR) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE)) +#define OACC_DATA_CLAUSE_MASK \ + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DEVICEPTR) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE)) static tree cp_parser_oacc_data (cp_parser *parser, cp_token *pragma_tok) @@ -31470,20 +31470,20 @@ cp_parser_oacc_data (cp_parser *parser, */ #define OACC_ENTER_DATA_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT) ) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT) ) #define OACC_EXIT_DATA_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DELETE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT) ) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DELETE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT) ) static tree cp_parser_oacc_enter_exit_data (cp_parser *parser, cp_token *pragma_tok, @@ -31542,19 +31542,19 @@ cp_parser_oacc_enter_exit_data (cp_parse structured-block */ #define OACC_KERNELS_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DEVICEPTR) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT)) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DEVICEPTR) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT)) static tree cp_parser_oacc_kernels (cp_parser *parser, cp_token *pragma_tok) @@ -31578,8 +31578,8 @@ cp_parser_oacc_kernels (cp_parser *parse structured-block */ #define OACC_LOOP_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COLLAPSE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_REDUCTION)) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COLLAPSE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_REDUCTION)) static tree cp_parser_oacc_loop (cp_parser *parser, cp_token *pragma_tok) @@ -31603,23 +31603,23 @@ cp_parser_oacc_loop (cp_parser *parser, structured-block */ #define OACC_PARALLEL_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DEVICEPTR) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_NUM_GANGS) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_NUM_WORKERS) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPY) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYIN) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_COPYOUT) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_PRESENT_OR_CREATE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_REDUCTION) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_VECTOR_LENGTH) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT)) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DEVICEPTR) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_NUM_GANGS) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_NUM_WORKERS) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPY) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYIN) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_COPYOUT) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_PRESENT_OR_CREATE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_REDUCTION) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_VECTOR_LENGTH) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT)) static tree cp_parser_oacc_parallel (cp_parser *parser, cp_token *pragma_tok) @@ -31643,12 +31643,12 @@ cp_parser_oacc_parallel (cp_parser *pars */ #define OACC_UPDATE_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_DEVICE) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_HOST) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_IF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_SELF) \ - | (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_WAIT)) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_DEVICE) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_HOST) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_IF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_SELF) \ + | (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_WAIT)) static tree cp_parser_oacc_update (cp_parser *parser, cp_token *pragma_tok) @@ -31681,7 +31681,7 @@ cp_parser_oacc_update (cp_parser *parser */ #define OACC_WAIT_CLAUSE_MASK \ - ( (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_ASYNC)) + ( (OMP_CLAUSE_MASK_1 << PRAGMA_OACC_CLAUSE_ASYNC)) static tree cp_parser_oacc_wait (cp_parser *parser, cp_token *pragma_tok) Jakub