diff options
Diffstat (limited to 'flang/lib/Semantics/resolve-names.cpp')
-rw-r--r-- | flang/lib/Semantics/resolve-names.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/flang/lib/Semantics/resolve-names.cpp b/flang/lib/Semantics/resolve-names.cpp index d08c669..25b1370 100644 --- a/flang/lib/Semantics/resolve-names.cpp +++ b/flang/lib/Semantics/resolve-names.cpp @@ -1484,18 +1484,18 @@ public: } bool Pre(const parser::OpenMPBlockConstruct &); void Post(const parser::OpenMPBlockConstruct &); - bool Pre(const parser::OmpBeginBlockDirective &x) { + bool Pre(const parser::OmpBeginDirective &x) { AddOmpSourceRange(x.source); return true; } - void Post(const parser::OmpBeginBlockDirective &) { + void Post(const parser::OmpBeginDirective &) { messageHandler().set_currStmtSource(std::nullopt); } - bool Pre(const parser::OmpEndBlockDirective &x) { + bool Pre(const parser::OmpEndDirective &x) { AddOmpSourceRange(x.source); return true; } - void Post(const parser::OmpEndBlockDirective &) { + void Post(const parser::OmpEndDirective &) { messageHandler().set_currStmtSource(std::nullopt); } @@ -1646,7 +1646,8 @@ public: populateDeclareTargetNames(linkClause->v); } else if (const auto *enterClause{ std::get_if<parser::OmpClause::Enter>(&clause.u)}) { - populateDeclareTargetNames(enterClause->v); + populateDeclareTargetNames( + std::get<parser::OmpObjectList>(enterClause->v.t)); } } } @@ -1724,9 +1725,7 @@ private: }; bool OmpVisitor::NeedsScope(const parser::OpenMPBlockConstruct &x) { - const auto &beginBlockDir{std::get<parser::OmpBeginBlockDirective>(x.t)}; - const auto &beginDir{std::get<parser::OmpBlockDirective>(beginBlockDir.t)}; - switch (beginDir.v) { + switch (x.BeginDir().DirId()) { case llvm::omp::Directive::OMPD_master: case llvm::omp::Directive::OMPD_ordered: return false; |