[flang-commits] [flang] 93e0df0 - [Flang][OpenMP] Allow zero trait score (#131473)
via flang-commits
flang-commits at lists.llvm.org
Mon Mar 17 02:49:12 PDT 2025
Author: Kiran Chandramohan
Date: 2025-03-17T09:49:08Z
New Revision: 93e0df07c2b32610ff8cc9451b5b5036f9a3ed37
URL: https://github.com/llvm/llvm-project/commit/93e0df07c2b32610ff8cc9451b5b5036f9a3ed37
DIFF: https://github.com/llvm/llvm-project/commit/93e0df07c2b32610ff8cc9451b5b5036f9a3ed37.diff
LOG: [Flang][OpenMP] Allow zero trait score (#131473)
Added:
Modified:
flang/lib/Semantics/check-omp-structure.cpp
flang/test/Semantics/OpenMP/metadirective-common.f90
Removed:
################################################################################
diff --git a/flang/lib/Semantics/check-omp-structure.cpp b/flang/lib/Semantics/check-omp-structure.cpp
index da17ac9609443..17ac6cfb8220f 100644
--- a/flang/lib/Semantics/check-omp-structure.cpp
+++ b/flang/lib/Semantics/check-omp-structure.cpp
@@ -4969,7 +4969,7 @@ void OmpStructureChecker::CheckTraitSetSelector(
void OmpStructureChecker::CheckTraitScore(const parser::OmpTraitScore &score) {
// [6.0:322:23]
// A score-expression must be a non-negative constant integer expression.
- if (auto value{GetIntValue(score)}; !value || value <= 0) {
+ if (auto value{GetIntValue(score)}; !value || value < 0) {
context_.Say(score.source,
"SCORE expression must be a non-negative constant integer expression"_err_en_US);
}
diff --git a/flang/test/Semantics/OpenMP/metadirective-common.f90 b/flang/test/Semantics/OpenMP/metadirective-common.f90
index 4988fae9e8edc..9225048ece3c1 100644
--- a/flang/test/Semantics/OpenMP/metadirective-common.f90
+++ b/flang/test/Semantics/OpenMP/metadirective-common.f90
@@ -21,6 +21,11 @@ subroutine f02
!$omp & when(user={condition(score(-2): .true.)}: nothing)
end
+subroutine f02_zero_score
+ !$omp metadirective &
+ !$omp & when(user={condition(score(0): .true.)}: nothing)
+end
+
subroutine f03(x)
integer :: x
!$omp metadirective &
More information about the flang-commits
mailing list