Author: Krzysztof Parzyszek Date: 2026-09-21T13:51:12-05:00 New Revision: b0d31f40189dbdcf8b62e2c6ef79b039c5202aba
URL: https://github.com/llvm/llvm-project/commit/b0d31f40189dbdcf8b62e2c6ef79b039c5202aba DIFF: https://github.com/llvm/llvm-project/commit/b0d31f40189dbdcf8b62e2c6ef79b039c5202aba.diff LOG: [clang][OpenMP] ORDERED clause is allowed on FOR in 4.5+ (#225106) Several compound directives containing FOR were missing the ORDERED clause in the set of allowed (once) clauses. Added: Modified: clang/test/OpenMP/distribute_parallel_for_simd_loop_messages.cpp clang/test/OpenMP/target_teams_distribute_parallel_for_loop_messages.cpp clang/test/OpenMP/target_teams_distribute_parallel_for_messages.cpp clang/test/OpenMP/target_teams_distribute_parallel_for_simd_loop_messages.cpp clang/test/OpenMP/target_teams_distribute_parallel_for_simd_messages.cpp clang/test/OpenMP/teams_distribute_parallel_for_loop_messages.cpp clang/test/OpenMP/teams_distribute_parallel_for_messages.cpp clang/test/OpenMP/teams_distribute_parallel_for_simd_loop_messages.cpp clang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp llvm/include/llvm/Frontend/OpenMP/OMP.td Removed: ################################################################################ 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 8195ed655f858..d9781482924d8 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp distribute parallel for simd'}} +#pragma omp distribute parallel for simd ordered // OK 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 6e023066e2367..63126e4836956 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp target teams distribute parallel for'}} +#pragma omp target teams distribute parallel for ordered // OK 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 b0ec2ba12f234..6ce13d7c35486 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp target teams distribute parallel for'}} +#pragma omp target teams distribute parallel for ordered // OK 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 605f82adb3de1..b36d93f783490 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp target teams distribute parallel for simd'}} +#pragma omp target teams distribute parallel for simd ordered // OK 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 3de30c3f6386b..be6f139a64558 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp target teams distribute parallel for simd'}} +#pragma omp target teams distribute parallel for simd ordered // OK 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 67e3ce4dc1577..04353c29682d2 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp teams distribute parallel for'}} +#pragma omp teams distribute parallel for ordered // OK 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 df75759bcda99..8f4ff0f84bd85 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp teams distribute parallel for'}} +#pragma omp teams distribute parallel for ordered // OK 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 7ee8b9c9d367f..16a899c84cdd4 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp teams distribute parallel for simd'}} +#pragma omp teams distribute parallel for simd ordered // OK 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 a94f64b38df8e..9250f0492643f 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 // expected-error {{unexpected OpenMP clause 'ordered' in directive '#pragma omp teams distribute parallel for simd'}} +#pragma omp teams distribute parallel for simd ordered // OK 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 285a17d48757a..8b86278188843 100644 --- a/llvm/include/llvm/Frontend/OpenMP/OMP.td +++ b/llvm/include/llvm/Frontend/OpenMP/OMP.td @@ -1623,6 +1623,7 @@ 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>, @@ -1654,6 +1655,7 @@ 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>, @@ -2687,6 +2689,7 @@ 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>, @@ -2730,6 +2733,7 @@ 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>, @@ -2985,6 +2989,7 @@ 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>, @@ -3018,6 +3023,7 @@ 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>, _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
