[clang] [llvm] Revert "[clang][OpenMP] ORDERED clause is allowed on FOR in 4.5+ (#22… (PR #225669)
Krzysztof Parzyszek via llvm-commits
llvm-commits at lists.llvm.org
Wed Sep 23 03:27:16 PDT 2026
https://github.com/kparzysz created https://github.com/llvm/llvm-project/pull/225669
…5106)"
This reverts commit b0d31f40189dbdcf8b62e2c6ef79b039c5202aba.
This missed the restriction that ORDERED is not allowed when DISTRIBUTE is a constituent construct.
>From eb68456e9d46d0be8722913d69f6e25d79236bb4 Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Wed, 23 Sep 2026 05:21:21 -0500
Subject: [PATCH] Revert "[clang][OpenMP] ORDERED clause is allowed on FOR in
4.5+ (#225106)"
This reverts commit b0d31f40189dbdcf8b62e2c6ef79b039c5202aba.
This missed the restriction that ORDERED is not allowed when DISTRIBUTE
is a constituent construct.
---
.../OpenMP/distribute_parallel_for_simd_loop_messages.cpp | 2 +-
.../target_teams_distribute_parallel_for_loop_messages.cpp | 2 +-
.../target_teams_distribute_parallel_for_messages.cpp | 2 +-
...get_teams_distribute_parallel_for_simd_loop_messages.cpp | 2 +-
.../target_teams_distribute_parallel_for_simd_messages.cpp | 2 +-
.../OpenMP/teams_distribute_parallel_for_loop_messages.cpp | 2 +-
.../test/OpenMP/teams_distribute_parallel_for_messages.cpp | 2 +-
.../teams_distribute_parallel_for_simd_loop_messages.cpp | 2 +-
.../OpenMP/teams_distribute_parallel_for_simd_messages.cpp | 2 +-
llvm/include/llvm/Frontend/OpenMP/OMP.td | 6 ------
10 files changed, 9 insertions(+), 15 deletions(-)
diff --git a/clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
index d9781482924d82..8195ed655f858b 100644
--- a/clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
+++ b/clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp
@@ -805,7 +805,7 @@ void test_loop_firstprivate_lastprivate() {
void test_ordered() {
#pragma omp target
#pragma omp teams
-#pragma omp distribute parallel for simd ordered // OK
+#pragma omp distribute parallel for simd ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp distribute parallel for simd'}}
for (int i = 0; i < 16; ++i)
;
}
diff --git a/clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp b/clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
index 63126e48369566..6e023066e2367a 100644
--- a/clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
+++ b/clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp
@@ -616,7 +616,7 @@ void test_loop_firstprivate_lastprivate() {
}
void test_ordered() {
-#pragma omp target teams distribute parallel for ordered // OK
+#pragma omp target teams distribute parallel for ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp target teams distribute parallel for'}}
for (int i = 0; i < 16; ++i)
;
}
diff --git a/clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp b/clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
index 6ce13d7c354860..b0ec2ba12f234a 100644
--- a/clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
+++ b/clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp
@@ -98,7 +98,7 @@ int main(int argc, char **argv) {
}
void test_ordered() {
-#pragma omp target teams distribute parallel for ordered // OK
+#pragma omp target teams distribute parallel for ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp target teams distribute parallel for'}}
for (int i = 0; i < 16; ++i)
;
#pragma omp target teams distribute parallel for order // omp45-error {{unexpected OpenMP clause 'order' in directive '#pragma omp target teams distribute parallel for'}} expected-error {{expected '(' after 'order'}}
diff --git a/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
index b36d93f783490f..605f82adb3de1f 100644
--- a/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
+++ b/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp
@@ -621,7 +621,7 @@ void test_loop_firstprivate_lastprivate() {
}
void test_ordered() {
-#pragma omp target teams distribute parallel for simd ordered // OK
+#pragma omp target teams distribute parallel for simd ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp target teams distribute parallel for simd'}}
for (int i = 0; i < 16; ++i)
;
}
diff --git a/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp b/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
index be6f139a64558e..3de30c3f6386ba 100644
--- a/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
+++ b/clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp
@@ -95,7 +95,7 @@ int main(int argc, char **argv) {
}
void test_ordered() {
-#pragma omp target teams distribute parallel for simd ordered // OK
+#pragma omp target teams distribute parallel for simd ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp target teams distribute parallel for simd'}}
for (int i = 0; i < 16; ++i)
;
}
diff --git a/clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp b/clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
index 04353c29682d29..67e3ce4dc15775 100644
--- a/clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
+++ b/clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp
@@ -704,7 +704,7 @@ void test_loop_firstprivate_lastprivate() {
void test_ordered() {
#pragma omp target
-#pragma omp teams distribute parallel for ordered // OK
+#pragma omp teams distribute parallel for ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp teams distribute parallel for'}}
for (int i = 0; i < 16; ++i)
;
}
diff --git a/clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp b/clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
index 8f4ff0f84bd852..df75759bcda99b 100644
--- a/clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
+++ b/clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp
@@ -119,7 +119,7 @@ int main(int argc, char **argv) {
void test_ordered() {
#pragma omp target
-#pragma omp teams distribute parallel for ordered // OK
+#pragma omp teams distribute parallel for ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp teams distribute parallel for'}}
for (int i = 0; i < 16; ++i)
;
#pragma omp target
diff --git a/clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp b/clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
index 16a899c84cdd46..7ee8b9c9d367f3 100644
--- a/clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
+++ b/clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp
@@ -706,7 +706,7 @@ void test_loop_firstprivate_lastprivate() {
void test_ordered() {
#pragma omp target
-#pragma omp teams distribute parallel for simd ordered // OK
+#pragma omp teams distribute parallel for simd ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp teams distribute parallel for simd'}}
for (int i = 0; i < 16; ++i)
;
}
diff --git a/clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp b/clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
index 9250f0492643f7..a94f64b38df8e3 100644
--- a/clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
+++ b/clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
@@ -119,7 +119,7 @@ int main(int argc, char **argv) {
void test_ordered() {
#pragma omp target
-#pragma omp teams distribute parallel for simd ordered // OK
+#pragma omp teams distribute parallel for simd ordered // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp teams distribute parallel for simd'}}
for (int i = 0; i < 16; ++i)
;
}
diff --git a/llvm/include/llvm/Frontend/OpenMP/OMP.td b/llvm/include/llvm/Frontend/OpenMP/OMP.td
index 8022c8c70cd1f1..0518752698e9d3 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMP.td
+++ b/llvm/include/llvm/Frontend/OpenMP/OMP.td
@@ -1624,7 +1624,6 @@ def OMP_DistributeParallelFor
VersionedClause<OMPC_Message, 60>,
VersionedClause<OMPC_NumThreads>,
VersionedClause<OMPC_Order, 50>,
- VersionedClause<OMPC_Ordered>,
VersionedClause<OMPC_ProcBind>,
VersionedClause<OMPC_Schedule>,
VersionedClause<OMPC_Severity, 60>,
@@ -1656,7 +1655,6 @@ def OMP_DistributeParallelForSimd
VersionedClause<OMPC_Message, 60>,
VersionedClause<OMPC_NumThreads>,
VersionedClause<OMPC_Order, 50>,
- VersionedClause<OMPC_Ordered>,
VersionedClause<OMPC_ProcBind>,
VersionedClause<OMPC_SafeLen>,
VersionedClause<OMPC_Schedule>,
@@ -2691,7 +2689,6 @@ def OMP_TargetTeamsDistributeParallelFor
VersionedClause<OMPC_NumThreads>,
VersionedClause<OMPC_OMPX_DynCGroupMem>,
VersionedClause<OMPC_Order, 50>,
- VersionedClause<OMPC_Ordered>,
VersionedClause<OMPC_ProcBind>,
VersionedClause<OMPC_Schedule>,
VersionedClause<OMPC_Severity, 60>,
@@ -2735,7 +2732,6 @@ def OMP_TargetTeamsDistributeParallelForSimd
VersionedClause<OMPC_NumThreads>,
VersionedClause<OMPC_OMPX_DynCGroupMem>,
VersionedClause<OMPC_Order, 50>,
- VersionedClause<OMPC_Ordered>,
VersionedClause<OMPC_ProcBind>,
VersionedClause<OMPC_SafeLen>,
VersionedClause<OMPC_Schedule>,
@@ -2991,7 +2987,6 @@ def OMP_TeamsDistributeParallelFor
VersionedClause<OMPC_NumTeams>,
VersionedClause<OMPC_NumThreads>,
VersionedClause<OMPC_Order, 50>,
- VersionedClause<OMPC_Ordered>,
VersionedClause<OMPC_ProcBind>,
VersionedClause<OMPC_Schedule>,
VersionedClause<OMPC_Severity, 60>,
@@ -3025,7 +3020,6 @@ def OMP_TeamsDistributeParallelForSimd
VersionedClause<OMPC_NumTeams>,
VersionedClause<OMPC_NumThreads>,
VersionedClause<OMPC_Order, 50>,
- VersionedClause<OMPC_Ordered>,
VersionedClause<OMPC_ProcBind>,
VersionedClause<OMPC_SafeLen>,
VersionedClause<OMPC_Schedule>,
More information about the llvm-commits
mailing list