aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKwok Cheung Yeung <kcy@codesourcery.com>2024-01-03 14:34:39 +0000
committerKwok Cheung Yeung <kcy@codesourcery.com>2024-01-03 15:15:17 +0000
commita56a693a74dd3bee71b1266b09dbd753694ace94 (patch)
tree30d2e3f7b9d2e6c796676aaf68e236543166473f
parent6ae84729940acff598e1a7f49d7b381025082ceb (diff)
downloadgcc-a56a693a74dd3bee71b1266b09dbd753694ace94.zip
gcc-a56a693a74dd3bee71b1266b09dbd753694ace94.tar.gz
gcc-a56a693a74dd3bee71b1266b09dbd753694ace94.tar.bz2
openmp: Adjust position of OMP_CLAUSE_INDIRECT in OpenMP clauses
Move OMP_CLAUSE_INDIRECT so that it is outside of the range checked by OMP_CLAUSE_SIZE and OMP_CLAUSE_DECL. 2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com> gcc/c/ * c-parser.cc (c_parser_omp_clause_name): Move handling of indirect clause to correspond to alphabetical order. gcc/cp/ * parser.cc (cp_parser_omp_clause_name): Move handling of indirect clause to correspond to alphabetical order. gcc/ * tree-core.h (enum omp_clause_code): Move OMP_CLAUSE_INDIRECT to before OMP_CLAUSE__SIMDUID_. * tree.cc (omp_clause_num_ops): Update position of entry for OMP_CLAUSE_INDIRECT to correspond with omp_clause_code. (omp_clause_code_name): Likewise.
-rw-r--r--gcc/c/c-parser.cc4
-rw-r--r--gcc/cp/parser.cc4
-rw-r--r--gcc/tree-core.h6
-rw-r--r--gcc/tree.cc4
4 files changed, 9 insertions, 9 deletions
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc
index 64e4360..e7b74fb 100644
--- a/gcc/c/c-parser.cc
+++ b/gcc/c/c-parser.cc
@@ -14899,10 +14899,10 @@ c_parser_omp_clause_name (c_parser *parser)
result = PRAGMA_OMP_CLAUSE_IN_REDUCTION;
else if (!strcmp ("inbranch", p))
result = PRAGMA_OMP_CLAUSE_INBRANCH;
- else if (!strcmp ("indirect", p))
- result = PRAGMA_OMP_CLAUSE_INDIRECT;
else if (!strcmp ("independent", p))
result = PRAGMA_OACC_CLAUSE_INDEPENDENT;
+ else if (!strcmp ("indirect", p))
+ result = PRAGMA_OMP_CLAUSE_INDIRECT;
else if (!strcmp ("is_device_ptr", p))
result = PRAGMA_OMP_CLAUSE_IS_DEVICE_PTR;
break;
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
index 1a6b539..37536fa 100644
--- a/gcc/cp/parser.cc
+++ b/gcc/cp/parser.cc
@@ -37645,10 +37645,10 @@ cp_parser_omp_clause_name (cp_parser *parser)
result = PRAGMA_OMP_CLAUSE_IN_REDUCTION;
else if (!strcmp ("inbranch", p))
result = PRAGMA_OMP_CLAUSE_INBRANCH;
- else if (!strcmp ("indirect", p))
- result = PRAGMA_OMP_CLAUSE_INDIRECT;
else if (!strcmp ("independent", p))
result = PRAGMA_OACC_CLAUSE_INDEPENDENT;
+ else if (!strcmp ("indirect", p))
+ result = PRAGMA_OMP_CLAUSE_INDIRECT;
else if (!strcmp ("is_device_ptr", p))
result = PRAGMA_OMP_CLAUSE_IS_DEVICE_PTR;
break;
diff --git a/gcc/tree-core.h b/gcc/tree-core.h
index d1c7136..8a89462 100644
--- a/gcc/tree-core.h
+++ b/gcc/tree-core.h
@@ -350,9 +350,6 @@ enum omp_clause_code {
/* OpenMP clause: doacross ({source,sink}:vec). */
OMP_CLAUSE_DOACROSS,
- /* OpenMP clause: indirect [(constant-integer-expression)]. */
- OMP_CLAUSE_INDIRECT,
-
/* Internal structure to hold OpenACC cache directive's variable-list.
#pragma acc cache (variable-list). */
OMP_CLAUSE__CACHE_,
@@ -497,6 +494,9 @@ enum omp_clause_code {
/* OpenMP clause: filter (integer-expression). */
OMP_CLAUSE_FILTER,
+ /* OpenMP clause: indirect [(constant-integer-expression)]. */
+ OMP_CLAUSE_INDIRECT,
+
/* Internally used only clause, holding SIMD uid. */
OMP_CLAUSE__SIMDUID_,
diff --git a/gcc/tree.cc b/gcc/tree.cc
index 82eff2b..8aee3ef 100644
--- a/gcc/tree.cc
+++ b/gcc/tree.cc
@@ -269,7 +269,6 @@ unsigned const char omp_clause_num_ops[] =
2, /* OMP_CLAUSE_MAP */
1, /* OMP_CLAUSE_HAS_DEVICE_ADDR */
1, /* OMP_CLAUSE_DOACROSS */
- 1, /* OMP_CLAUSE_INDIRECT */
2, /* OMP_CLAUSE__CACHE_ */
2, /* OMP_CLAUSE_GANG */
1, /* OMP_CLAUSE_ASYNC */
@@ -316,6 +315,7 @@ unsigned const char omp_clause_num_ops[] =
0, /* OMP_CLAUSE_ORDER */
0, /* OMP_CLAUSE_BIND */
1, /* OMP_CLAUSE_FILTER */
+ 1, /* OMP_CLAUSE_INDIRECT */
1, /* OMP_CLAUSE__SIMDUID_ */
0, /* OMP_CLAUSE__SIMT_ */
0, /* OMP_CLAUSE_INDEPENDENT */
@@ -362,7 +362,6 @@ const char * const omp_clause_code_name[] =
"map",
"has_device_addr",
"doacross",
- "indirect",
"_cache_",
"gang",
"async",
@@ -409,6 +408,7 @@ const char * const omp_clause_code_name[] =
"order",
"bind",
"filter",
+ "indirect",
"_simduid_",
"_simt_",
"independent",