aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Parser/tools.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Parser/tools.cpp')
-rw-r--r--flang/lib/Parser/tools.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/flang/lib/Parser/tools.cpp b/flang/lib/Parser/tools.cpp
index 264ca52..ed6d194 100644
--- a/flang/lib/Parser/tools.cpp
+++ b/flang/lib/Parser/tools.cpp
@@ -179,4 +179,9 @@ bool CheckForSingleVariableOnRHS(const AssignmentStmt &assignmentStmt) {
return Unwrap<Designator>(std::get<Expr>(assignmentStmt.t)) != nullptr;
}
+const Name *GetDesignatorNameIfDataRef(const Designator &designator) {
+ const auto *dataRef{std::get_if<DataRef>(&designator.u)};
+ return dataRef ? std::get_if<Name>(&dataRef->u) : nullptr;
+}
+
} // namespace Fortran::parser