diff --git a/flang/lib/Semantics/check-omp-loop.cpp b/flang/lib/Semantics/check-omp-loop.cpp index 9a78209369949..526e2d4658459 100644 --- a/flang/lib/Semantics/check-omp-loop.cpp +++ b/flang/lib/Semantics/check-omp-loop.cpp @@ -773,6 +773,20 @@ void OmpStructureChecker::Enter(const parser::OmpClause::Linear &x) { } } +void OmpStructureChecker::Enter(const parser::OmpClause::Sizes &c) { + CheckAllowedClause(llvm::omp::Clause::OMPC_sizes); + for (const parser::Cosubscript &v : c.v) + RequiresPositiveParameter(llvm::omp::Clause::OMPC_sizes, v, + /*paramName=*/"parameter", /*allowZero=*/false); +} + +void OmpStructureChecker::Enter(const parser::OmpClause::Looprange &x) { + CheckAllowedClause(llvm::omp::Clause::OMPC_looprange); + auto &[first, count]{x.v.t}; + RequiresConstantPositiveParameter(llvm::omp::Clause::OMPC_looprange, count); + RequiresConstantPositiveParameter(llvm::omp::Clause::OMPC_looprange, first); +} + void OmpStructureChecker::Enter(const parser::DoConstruct &x) { Base::Enter(x); loopStack_.push_back(&x); diff --git a/flang/lib/Semantics/check-omp-structure.cpp b/flang/lib/Semantics/check-omp-structure.cpp index f7778472f71f1..f5883d30c492a 100644 --- a/flang/lib/Semantics/check-omp-structure.cpp +++ b/flang/lib/Semantics/check-omp-structure.cpp @@ -3393,21 +3393,6 @@ void OmpStructureChecker::Enter(const parser::OmpClause &x) { } } -void OmpStructureChecker::Enter(const parser::OmpClause::Sizes &c) { - CheckAllowedClause(llvm::omp::Clause::OMPC_sizes); - for (const parser::Cosubscript &v : c.v) - RequiresPositiveParameter(llvm::omp::Clause::OMPC_sizes, v, - /*paramName=*/"parameter", /*allowZero=*/false); -} - -void OmpStructureChecker::Enter(const parser::OmpClause::Looprange &x) { - CheckAllowedClause(llvm::omp::Clause::OMPC_looprange); - auto &first = std::get<0>(x.v.t); - auto &count = std::get<1>(x.v.t); - RequiresConstantPositiveParameter(llvm::omp::Clause::OMPC_looprange, count); - RequiresConstantPositiveParameter(llvm::omp::Clause::OMPC_looprange, first); -} - // Restrictions specific to each clause are implemented apart from the // generalized restrictions.