[llvm-branch-commits] [flang] [flang][OpenMP] Extract OMP version hint into helper functions, NFC (PR #113621)
via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Thu Oct 24 14:26:48 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-semantics
Author: Krzysztof Parzyszek (kparzysz)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/113621.diff
1 Files Affected:
- (modified) flang/lib/Semantics/check-omp-structure.cpp (+15-9)
``````````diff
diff --git a/flang/lib/Semantics/check-omp-structure.cpp b/flang/lib/Semantics/check-omp-structure.cpp
index 892745c9c36b6b..e9a2fcecd9efe6 100644
--- a/flang/lib/Semantics/check-omp-structure.cpp
+++ b/flang/lib/Semantics/check-omp-structure.cpp
@@ -38,6 +38,16 @@ namespace Fortran::semantics {
CheckAllowedClause(llvm::omp::Y); \
}
+std::string ThisVersion(unsigned version) {
+ std::string tv{
+ std::to_string(version / 10) + "." + std::to_string(version % 10)};
+ return "OpenMP v" + tv;
+}
+
+std::string TryVersion(unsigned version) {
+ return "try -fopenmp-version=" + std::to_string(version);
+}
+
// 'OmpWorkshareBlockChecker' is used to check the validity of the assignment
// statements and the expressions enclosed in an OpenMP Workshare construct
class OmpWorkshareBlockChecker {
@@ -200,14 +210,10 @@ bool OmpStructureChecker::CheckAllowedClause(llvmOmpClause clause) {
auto clauseName{parser::ToUpperCaseLetters(getClauseName(clause).str())};
auto dirName{parser::ToUpperCaseLetters(getDirectiveName(dir).str())};
- std::string thisVersion{
- std::to_string(version / 10) + "." + std::to_string(version % 10)};
- std::string goodVersion{std::to_string(allowedInVersion)};
-
context_.Say(dirCtx.clauseSource,
- "%s clause is not allowed on directive %s in OpenMP v%s, "
- "try -fopenmp-version=%d"_err_en_US,
- clauseName, dirName, thisVersion, allowedInVersion);
+ "%s clause is not allowed on directive %s in %s, %s"_err_en_US,
+ clauseName, dirName, ThisVersion(version),
+ TryVersion(allowedInVersion));
}
}
return CheckAllowed(clause);
@@ -3373,8 +3379,8 @@ void OmpStructureChecker::Enter(const parser::OmpClause::Lastprivate &x) {
std::to_string(version / 10) + "." + std::to_string(version % 10)};
context_.Say(GetContext().clauseSource,
"LASTPRIVATE clause with CONDITIONAL modifier is not "
- "allowed in OpenMP v%s, try -fopenmp-version=%d"_err_en_US,
- thisVersion, allowedInVersion);
+ "allowed in %s, %s"_err_en_US,
+ ThisVersion(version), TryVersion(allowedInVersion));
}
}
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/113621
More information about the llvm-branch-commits
mailing list