[flang-commits] [flang] [Flang][OpenMP] Allow zero trait score (PR #131473)

via flang-commits flang-commits at lists.llvm.org
Sat Mar 15 14:32:33 PDT 2025


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-flang-semantics

Author: Kiran Chandramohan (kiranchandramohan)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/131473.diff


2 Files Affected:

- (modified) flang/lib/Semantics/check-omp-structure.cpp (+1-1) 
- (modified) flang/test/Semantics/OpenMP/metadirective-common.f90 (+5) 


``````````diff
diff --git a/flang/lib/Semantics/check-omp-structure.cpp b/flang/lib/Semantics/check-omp-structure.cpp
index 5fcebdca0bc5f..1da47be2fbf18 100644
--- a/flang/lib/Semantics/check-omp-structure.cpp
+++ b/flang/lib/Semantics/check-omp-structure.cpp
@@ -4942,7 +4942,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 &

``````````

</details>


https://github.com/llvm/llvm-project/pull/131473


More information about the flang-commits mailing list