diff options
Diffstat (limited to 'flang/lib/Parser/tools.cpp')
-rw-r--r-- | flang/lib/Parser/tools.cpp | 5 |
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 |