summaryrefslogtreecommitdiff
path: root/flang/lib/Parser/openmp-parsers.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Parser/openmp-parsers.cpp')
-rw-r--r--flang/lib/Parser/openmp-parsers.cpp24
1 files changed, 0 insertions, 24 deletions
diff --git a/flang/lib/Parser/openmp-parsers.cpp b/flang/lib/Parser/openmp-parsers.cpp
index 0652dac209db..b7f23348328b 100644
--- a/flang/lib/Parser/openmp-parsers.cpp
+++ b/flang/lib/Parser/openmp-parsers.cpp
@@ -1731,30 +1731,6 @@ struct NonBlockDoConstructParser {
}
return std::nullopt;
}
-
-private:
- // Is the template argument "Statement<T>" for some T?
- template <typename T> struct IsStatement {
- static constexpr bool value{false};
- };
- template <typename T> struct IsStatement<Statement<T>> {
- static constexpr bool value{true};
- };
-
- // Get the Label from a Statement<...> contained in an ExecutionPartConstruct,
- // or std::nullopt, if there is no Statement<...> contained in there.
- template <typename T>
- static std::optional<Label> GetStatementLabel(const T &stmt) {
- if constexpr (IsStatement<T>::value) {
- return stmt.label;
- } else if constexpr (WrapperTrait<T>) {
- return GetStatementLabel(stmt.v);
- } else if constexpr (UnionTrait<T>) {
- return common::visit(
- [&](auto &&s) { return GetStatementLabel(s); }, stmt.u);
- }
- return std::nullopt;
- }
};
struct LoopNestParser {