diff options
Diffstat (limited to 'flang/lib/Semantics/program-tree.cpp')
-rw-r--r-- | flang/lib/Semantics/program-tree.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/flang/lib/Semantics/program-tree.cpp b/flang/lib/Semantics/program-tree.cpp index 9d76cfa..e96a6c4 100644 --- a/flang/lib/Semantics/program-tree.cpp +++ b/flang/lib/Semantics/program-tree.cpp @@ -88,7 +88,7 @@ static ProgramTree BuildSubprogramTree(const parser::Name &name, const T &x) { if (subps) { for (const auto &subp : std::get<std::list<parser::InternalSubprogram>>(subps->t)) { - std::visit( + common::visit( [&](const auto &y) { node.AddChild(ProgramTree::Build(y.value())); }, subp.u); } @@ -111,7 +111,7 @@ static ProgramTree BuildModuleTree(const parser::Name &name, const T &x) { if (subps) { for (const auto &subp : std::get<std::list<parser::ModuleSubprogram>>(subps->t)) { - std::visit( + common::visit( [&](const auto &y) { node.AddChild(ProgramTree::Build(y.value())); }, subp.u); } @@ -120,7 +120,7 @@ static ProgramTree BuildModuleTree(const parser::Name &name, const T &x) { } ProgramTree ProgramTree::Build(const parser::ProgramUnit &x) { - return std::visit([](const auto &y) { return Build(y.value()); }, x.u); + return common::visit([](const auto &y) { return Build(y.value()); }, x.u); } ProgramTree ProgramTree::Build(const parser::MainProgram &x) { @@ -200,17 +200,17 @@ Symbol::Flag ProgramTree::GetSubpFlag() const { bool ProgramTree::HasModulePrefix() const { using ListType = std::list<parser::PrefixSpec>; - const auto *prefixes{ - std::visit(common::visitors{ - [](const parser::Statement<parser::FunctionStmt> *x) { - return &std::get<ListType>(x->statement.t); - }, - [](const parser::Statement<parser::SubroutineStmt> *x) { - return &std::get<ListType>(x->statement.t); - }, - [](const auto *) -> const ListType * { return nullptr; }, - }, - stmt_)}; + const auto *prefixes{common::visit( + common::visitors{ + [](const parser::Statement<parser::FunctionStmt> *x) { + return &std::get<ListType>(x->statement.t); + }, + [](const parser::Statement<parser::SubroutineStmt> *x) { + return &std::get<ListType>(x->statement.t); + }, + [](const auto *) -> const ListType * { return nullptr; }, + }, + stmt_)}; if (prefixes) { for (const auto &prefix : *prefixes) { if (std::holds_alternative<parser::PrefixSpec::Module>(prefix.u)) { @@ -222,7 +222,7 @@ bool ProgramTree::HasModulePrefix() const { } ProgramTree::Kind ProgramTree::GetKind() const { - return std::visit( + return common::visit( common::visitors{ [](const parser::Statement<parser::ProgramStmt> *) { return Kind::Program; |