Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Flang][HLFIR] llvm-project/flang/lib/Lower/ConvertExprToHLFIR.cpp:923: hlfir::ElementalAddrOp (anonymous namespace)::HlfirDesignatorBuilder::convertVectorSubscriptedExprToElementalAddr(const Fortran::lower::SomeExpr &): Assertion `getVectorSubscriptElementAddrOp().has_value() && "expected vector subscripts"' failed. #83706

Closed
k-arrows opened this issue Mar 3, 2024 · 4 comments
Assignees
Labels
bug Indicates an unexpected problem or unintended behavior crash Prefer [crash-on-valid] or [crash-on-invalid] flang:frontend

Comments

@k-arrows
Copy link

k-arrows commented Mar 3, 2024

Crash itself is reproducible on Godbolt.
https://godbolt.org/z/bMbneezf6

Reproducer

$ cat test.f90
  module m

      ! base
      type, abstract :: b
      end type

      ! child
      type, extends(b) :: c
          integer :: id = 0
      contains
          procedure, pass :: get => f
      end type

      contains

      elemental function f(arg)
          class(c), intent(in) :: arg
          integer :: f
          f = arg%id
      end function

  end module

  program p
      use m
      implicit none
      integer :: i
      type(c) :: v(4) = (/(c(i), i = 1, 4)/)

      associate (v => v((/1,2,3,4/)))

        if (any(v%get() .ne. (/1,2,3,4/)))  stop 1

      end associate

  end

When I used assertion-enabled flang-new, I got the following:

Assertion failure:

flang-new: /path_to_llvm_project/llvm-project/flang/lib/Lower/ConvertExprToHLFIR.cpp:923: hlfir::ElementalAddrOp (anonymous namespace)::HlfirDesignatorBuilder::convertVectorSubscriptedExprToElementalAddr(const Fortran::lower::SomeExpr &): Assertion `getVectorSubscriptElementAddrOp().has_value() && "expected vector subscripts"' failed.

Stack dump:

 #0 0x0000558dcd87d269 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) 
 #1 0x0000558dcd87d89d SignalHandler(int) Signals.cpp:0:0
 #2 0x00007fc591a2b520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x00007fc591a7fa7c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #4 0x00007fc591a7fa7c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #5 0x00007fc591a7fa7c pthread_kill ./nptl/pthread_kill.c:89:10
 #6 0x00007fc591a2b476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #7 0x00007fc591a117f3 abort ./stdlib/abort.c:81:7
 #8 0x00007fc591a1171b _nl_load_domain ./intl/loadmsgcat.c:1177:9
 #9 0x00007fc591a22e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#10 0x0000558dcded9fa5 Fortran::lower::convertVectorSubscriptedExprToElementalAddr(mlir::Location, Fortran::lower::AbstractConverter&, Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&, Fortran::lower::SymMap&, Fortran::lower::StatementContext&) 
#11 0x0000558dcddaa256 Fortran::lower::convertCallToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&, Fortran::evaluate::ProcedureRef const&, std::optional<mlir::Type>, Fortran::lower::SymMap&, Fortran::lower::StatementContext&) 
#12 0x0000558dcdf0dd82 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<hlfir::EntityWithAttributes> (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4> const&)&&, std::variant<Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Negate<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Add<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Subtract<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Multiply<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Divide<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Power<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Extremum<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>, (Fortran::common::TypeCategory)0>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>, (Fortran::common::TypeCategory)1>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>> const&)>, std::integer_sequence<unsigned long, 13ul>>::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4> const&)&&, std::variant<Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Negate<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Add<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Subtract<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Multiply<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Divide<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Power<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Extremum<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>, (Fortran::common::TypeCategory)0>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>, (Fortran::common::TypeCategory)1>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>> const&) ConvertExprToHLFIR.cpp:0:0
#13 0x0000558dcdf0c345 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>> const&) ConvertExprToHLFIR.cpp:0:0
#14 0x0000558dcdf1c705 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<hlfir::EntityWithAttributes> (*)((anonymous namespace)::HlfirBuilder::gen(Fortran::evaluate::Relational<Fortran::evaluate::SomeType> const&)::'lambda'(auto const&)&&, std::variant<Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 3>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 10>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 3>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 10>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 4>>> const&)>, std::integer_sequence<unsigned long, 2ul>>::__visit_invoke((anonymous namespace)::HlfirBuilder::gen(Fortran::evaluate::Relational<Fortran::evaluate::SomeType> const&)::'lambda'(auto const&)&&, std::variant<Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)0, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 3>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 10>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 3>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 10>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 4>>> const&) ConvertExprToHLFIR.cpp:0:0
#15 0x0000558dcdf1b6d8 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<hlfir::EntityWithAttributes> (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4> const&)&&, std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>, (Fortran::common::TypeCategory)4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>> const&)>, std::integer_sequence<unsigned long, 4ul>>::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4> const&)&&, std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>, (Fortran::common::TypeCategory)4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>> const&) ConvertExprToHLFIR.cpp:0:0
#16 0x0000558dcdf1adb1 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&) ConvertExprToHLFIR.cpp:0:0
#17 0x0000558dcdf18307 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>(Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>> const&) ConvertExprToHLFIR.cpp:0:0
#18 0x0000558dcded9646 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeType>(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&) ConvertExprToHLFIR.cpp:0:0
#19 0x0000558dcded95b8 Fortran::lower::convertExprToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&, Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&, Fortran::lower::SymMap&, Fortran::lower::StatementContext&) 
#20 0x0000558dcddadf54 genIntrinsicRef(Fortran::evaluate::SpecificIntrinsic const*, (anonymous namespace)::CallContext&) ConvertCall.cpp:0:0
#21 0x0000558dcdda9b6c Fortran::lower::convertCallToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&, Fortran::evaluate::ProcedureRef const&, std::optional<mlir::Type>, Fortran::lower::SymMap&, Fortran::lower::StatementContext&) 
#22 0x0000558dcdf1b94c std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<hlfir::EntityWithAttributes> (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4> const&)&&, std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>, (Fortran::common::TypeCategory)4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>> const&)>, std::integer_sequence<unsigned long, 8ul>>::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4> const&)&&, std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>, (Fortran::common::TypeCategory)4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>> const&) ConvertExprToHLFIR.cpp:0:0
#23 0x0000558dcdf1adb1 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>> const&) ConvertExprToHLFIR.cpp:0:0
#24 0x0000558dcdf18307 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>(Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>> const&) ConvertExprToHLFIR.cpp:0:0
#25 0x0000558dcded9646 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeType>(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&) ConvertExprToHLFIR.cpp:0:0
#26 0x0000558dcded9b5b Fortran::lower::convertExprToValue(mlir::Location, Fortran::lower::AbstractConverter&, Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&, Fortran::lower::SymMap&, Fortran::lower::StatementContext&) 
#27 0x0000558dcdd45979 (anonymous namespace)::FirConverter::genExprValue(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&, Fortran::lower::StatementContext&, mlir::Location*) Bridge.cpp:0:0
#28 0x0000558dcdd83909 (anonymous namespace)::FirConverter::createFIRExpr(mlir::Location, Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const*, Fortran::lower::StatementContext&) Bridge.cpp:0:0
#29 0x0000558dcdd9110b mlir::Value (anonymous namespace)::FirConverter::genIfCondition<Fortran::parser::IfStmt>(Fortran::parser::IfStmt const*, bool) Bridge.cpp:0:0
#30 0x0000558dcdd67f8c std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<void> (*)(Fortran::common::visitors<auto Fortran::lower::pft::ReferenceVariantBase<true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct>::visit<(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&, bool)::'lambda'(auto const&)>(auto&&) const::'lambda'(auto)>&&, std::variant<Fortran::common::Reference<Fortran::parser::AllocateStmt const>, Fortran::common::Reference<Fortran::parser::AssignmentStmt const>, Fortran::common::Reference<Fortran::parser::BackspaceStmt const>, Fortran::common::Reference<Fortran::parser::CallStmt const>, Fortran::common::Reference<Fortran::parser::CloseStmt const>, Fortran::common::Reference<Fortran::parser::ContinueStmt const>, Fortran::common::Reference<Fortran::parser::CycleStmt const>, Fortran::common::Reference<Fortran::parser::DeallocateStmt const>, Fortran::common::Reference<Fortran::parser::EndfileStmt const>, Fortran::common::Reference<Fortran::parser::EventPostStmt const>, Fortran::common::Reference<Fortran::parser::EventWaitStmt const>, Fortran::common::Reference<Fortran::parser::ExitStmt const>, Fortran::common::Reference<Fortran::parser::FailImageStmt const>, Fortran::common::Reference<Fortran::parser::FlushStmt const>, Fortran::common::Reference<Fortran::parser::FormTeamStmt const>, Fortran::common::Reference<Fortran::parser::GotoStmt const>, Fortran::common::Reference<Fortran::parser::IfStmt const>, Fortran::common::Reference<Fortran::parser::InquireStmt const>, Fortran::common::Reference<Fortran::parser::LockStmt const>, Fortran::common::Reference<Fortran::parser::NotifyWaitStmt const>, Fortran::common::Reference<Fortran::parser::NullifyStmt const>, Fortran::common::Reference<Fortran::parser::OpenStmt const>, Fortran::common::Reference<Fortran::parser::PointerAssignmentStmt const>, Fortran::common::Reference<Fortran::parser::PrintStmt const>, Fortran::common::Reference<Fortran::parser::ReadStmt const>, Fortran::common::Reference<Fortran::parser::ReturnStmt const>, Fortran::common::Reference<Fortran::parser::RewindStmt const>, Fortran::common::Reference<Fortran::parser::StopStmt const>, Fortran::common::Reference<Fortran::parser::SyncAllStmt const>, Fortran::common::Reference<Fortran::parser::SyncImagesStmt const>, Fortran::common::Reference<Fortran::parser::SyncMemoryStmt const>, Fortran::common::Reference<Fortran::parser::SyncTeamStmt const>, Fortran::common::Reference<Fortran::parser::UnlockStmt const>, Fortran::common::Reference<Fortran::parser::WaitStmt const>, Fortran::common::Reference<Fortran::parser::WhereStmt const>, Fortran::common::Reference<Fortran::parser::WriteStmt const>, Fortran::common::Reference<Fortran::parser::ComputedGotoStmt const>, Fortran::common::Reference<Fortran::parser::ForallStmt const>, Fortran::common::Reference<Fortran::parser::ArithmeticIfStmt const>, Fortran::common::Reference<Fortran::parser::AssignStmt const>, Fortran::common::Reference<Fortran::parser::AssignedGotoStmt const>, Fortran::common::Reference<Fortran::parser::PauseStmt const>, Fortran::common::Reference<Fortran::parser::EntryStmt const>, Fortran::common::Reference<Fortran::parser::FormatStmt const>, Fortran::common::Reference<Fortran::parser::AssociateStmt const>, Fortran::common::Reference<Fortran::parser::EndAssociateStmt const>, Fortran::common::Reference<Fortran::parser::BlockStmt const>, Fortran::common::Reference<Fortran::parser::EndBlockStmt const>, Fortran::common::Reference<Fortran::parser::SelectCaseStmt const>, Fortran::common::Reference<Fortran::parser::CaseStmt const>, Fortran::common::Reference<Fortran::parser::EndSelectStmt const>, Fortran::common::Reference<Fortran::parser::ChangeTeamStmt const>, Fortran::common::Reference<Fortran::parser::EndChangeTeamStmt const>, Fortran::common::Reference<Fortran::parser::CriticalStmt const>, Fortran::common::Reference<Fortran::parser::EndCriticalStmt const>, Fortran::common::Reference<Fortran::parser::NonLabelDoStmt const>, Fortran::common::Reference<Fortran::parser::EndDoStmt const>, Fortran::common::Reference<Fortran::parser::IfThenStmt const>, Fortran::common::Reference<Fortran::parser::ElseIfStmt const>, Fortran::common::Reference<Fortran::parser::ElseStmt const>, Fortran::common::Reference<Fortran::parser::EndIfStmt const>, Fortran::common::Reference<Fortran::parser::SelectRankStmt const>, Fortran::common::Reference<Fortran::parser::SelectRankCaseStmt const>, Fortran::common::Reference<Fortran::parser::SelectTypeStmt const>, Fortran::common::Reference<Fortran::parser::TypeGuardStmt const>, Fortran::common::Reference<Fortran::parser::WhereConstructStmt const>, Fortran::common::Reference<Fortran::parser::MaskedElsewhereStmt const>, Fortran::common::Reference<Fortran::parser::ElsewhereStmt const>, Fortran::common::Reference<Fortran::parser::EndWhereStmt const>, Fortran::common::Reference<Fortran::parser::ForallConstructStmt const>, Fortran::common::Reference<Fortran::parser::EndForallStmt const>, Fortran::common::Reference<Fortran::parser::EndProgramStmt const>, Fortran::common::Reference<Fortran::parser::EndFunctionStmt const>, Fortran::common::Reference<Fortran::parser::EndSubroutineStmt const>, Fortran::common::Reference<Fortran::parser::EndMpSubprogramStmt const>, Fortran::common::Reference<Fortran::parser::AssociateConstruct const>, Fortran::common::Reference<Fortran::parser::BlockConstruct const>, Fortran::common::Reference<Fortran::parser::CaseConstruct const>, Fortran::common::Reference<Fortran::parser::ChangeTeamConstruct const>, Fortran::common::Reference<Fortran::parser::CriticalConstruct const>, Fortran::common::Reference<Fortran::parser::DoConstruct const>, Fortran::common::Reference<Fortran::parser::IfConstruct const>, Fortran::common::Reference<Fortran::parser::SelectRankConstruct const>, Fortran::common::Reference<Fortran::parser::SelectTypeConstruct const>, Fortran::common::Reference<Fortran::parser::WhereConstruct const>, Fortran::common::Reference<Fortran::parser::ForallConstruct const>, Fortran::common::Reference<Fortran::parser::CompilerDirective const>, Fortran::common::Reference<Fortran::parser::OpenACCConstruct const>, Fortran::common::Reference<Fortran::parser::OpenACCRoutineConstruct const>, Fortran::common::Reference<Fortran::parser::OpenACCDeclarativeConstruct const>, Fortran::common::Reference<Fortran::parser::OpenMPConstruct const>, Fortran::common::Reference<Fortran::parser::OpenMPDeclarativeConstruct const>, Fortran::common::Reference<Fortran::parser::OmpEndLoopDirective const>, Fortran::common::Reference<Fortran::parser::CUFKernelDoConstruct const>> const&)>, std::integer_sequence<unsigned long, 81ul>>::__visit_invoke(Fortran::common::visitors<auto Fortran::lower::pft::ReferenceVariantBase<true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct>::visit<(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&, bool)::'lambda'(auto const&)>(auto&&) const::'lambda'(auto)>&&, std::variant<Fortran::common::Reference<Fortran::parser::AllocateStmt const>, Fortran::common::Reference<Fortran::parser::AssignmentStmt const>, Fortran::common::Reference<Fortran::parser::BackspaceStmt const>, Fortran::common::Reference<Fortran::parser::CallStmt const>, Fortran::common::Reference<Fortran::parser::CloseStmt const>, Fortran::common::Reference<Fortran::parser::ContinueStmt const>, Fortran::common::Reference<Fortran::parser::CycleStmt const>, Fortran::common::Reference<Fortran::parser::DeallocateStmt const>, Fortran::common::Reference<Fortran::parser::EndfileStmt const>, Fortran::common::Reference<Fortran::parser::EventPostStmt const>, Fortran::common::Reference<Fortran::parser::EventWaitStmt const>, Fortran::common::Reference<Fortran::parser::ExitStmt const>, Fortran::common::Reference<Fortran::parser::FailImageStmt const>, Fortran::common::Reference<Fortran::parser::FlushStmt const>, Fortran::common::Reference<Fortran::parser::FormTeamStmt const>, Fortran::common::Reference<Fortran::parser::GotoStmt const>, Fortran::common::Reference<Fortran::parser::IfStmt const>, Fortran::common::Reference<Fortran::parser::InquireStmt const>, Fortran::common::Reference<Fortran::parser::LockStmt const>, Fortran::common::Reference<Fortran::parser::NotifyWaitStmt const>, Fortran::common::Reference<Fortran::parser::NullifyStmt const>, Fortran::common::Reference<Fortran::parser::OpenStmt const>, Fortran::common::Reference<Fortran::parser::PointerAssignmentStmt const>, Fortran::common::Reference<Fortran::parser::PrintStmt const>, Fortran::common::Reference<Fortran::parser::ReadStmt const>, Fortran::common::Reference<Fortran::parser::ReturnStmt const>, Fortran::common::Reference<Fortran::parser::RewindStmt const>, Fortran::common::Reference<Fortran::parser::StopStmt const>, Fortran::common::Reference<Fortran::parser::SyncAllStmt const>, Fortran::common::Reference<Fortran::parser::SyncImagesStmt const>, Fortran::common::Reference<Fortran::parser::SyncMemoryStmt const>, Fortran::common::Reference<Fortran::parser::SyncTeamStmt const>, Fortran::common::Reference<Fortran::parser::UnlockStmt const>, Fortran::common::Reference<Fortran::parser::WaitStmt const>, Fortran::common::Reference<Fortran::parser::WhereStmt const>, Fortran::common::Reference<Fortran::parser::WriteStmt const>, Fortran::common::Reference<Fortran::parser::ComputedGotoStmt const>, Fortran::common::Reference<Fortran::parser::ForallStmt const>, Fortran::common::Reference<Fortran::parser::ArithmeticIfStmt const>, Fortran::common::Reference<Fortran::parser::AssignStmt const>, Fortran::common::Reference<Fortran::parser::AssignedGotoStmt const>, Fortran::common::Reference<Fortran::parser::PauseStmt const>, Fortran::common::Reference<Fortran::parser::EntryStmt const>, Fortran::common::Reference<Fortran::parser::FormatStmt const>, Fortran::common::Reference<Fortran::parser::AssociateStmt const>, Fortran::common::Reference<Fortran::parser::EndAssociateStmt const>, Fortran::common::Reference<Fortran::parser::BlockStmt const>, Fortran::common::Reference<Fortran::parser::EndBlockStmt const>, Fortran::common::Reference<Fortran::parser::SelectCaseStmt const>, Fortran::common::Reference<Fortran::parser::CaseStmt const>, Fortran::common::Reference<Fortran::parser::EndSelectStmt const>, Fortran::common::Reference<Fortran::parser::ChangeTeamStmt const>, Fortran::common::Reference<Fortran::parser::EndChangeTeamStmt const>, Fortran::common::Reference<Fortran::parser::CriticalStmt const>, Fortran::common::Reference<Fortran::parser::EndCriticalStmt const>, Fortran::common::Reference<Fortran::parser::NonLabelDoStmt const>, Fortran::common::Reference<Fortran::parser::EndDoStmt const>, Fortran::common::Reference<Fortran::parser::IfThenStmt const>, Fortran::common::Reference<Fortran::parser::ElseIfStmt const>, Fortran::common::Reference<Fortran::parser::ElseStmt const>, Fortran::common::Reference<Fortran::parser::EndIfStmt const>, Fortran::common::Reference<Fortran::parser::SelectRankStmt const>, Fortran::common::Reference<Fortran::parser::SelectRankCaseStmt const>, Fortran::common::Reference<Fortran::parser::SelectTypeStmt const>, Fortran::common::Reference<Fortran::parser::TypeGuardStmt const>, Fortran::common::Reference<Fortran::parser::WhereConstructStmt const>, Fortran::common::Reference<Fortran::parser::MaskedElsewhereStmt const>, Fortran::common::Reference<Fortran::parser::ElsewhereStmt const>, Fortran::common::Reference<Fortran::parser::EndWhereStmt const>, Fortran::common::Reference<Fortran::parser::ForallConstructStmt const>, Fortran::common::Reference<Fortran::parser::EndForallStmt const>, Fortran::common::Reference<Fortran::parser::EndProgramStmt const>, Fortran::common::Reference<Fortran::parser::EndFunctionStmt const>, Fortran::common::Reference<Fortran::parser::EndSubroutineStmt const>, Fortran::common::Reference<Fortran::parser::EndMpSubprogramStmt const>, Fortran::common::Reference<Fortran::parser::AssociateConstruct const>, Fortran::common::Reference<Fortran::parser::BlockConstruct const>, Fortran::common::Reference<Fortran::parser::CaseConstruct const>, Fortran::common::Reference<Fortran::parser::ChangeTeamConstruct const>, Fortran::common::Reference<Fortran::parser::CriticalConstruct const>, Fortran::common::Reference<Fortran::parser::DoConstruct const>, Fortran::common::Reference<Fortran::parser::IfConstruct const>, Fortran::common::Reference<Fortran::parser::SelectRankConstruct const>, Fortran::common::Reference<Fortran::parser::SelectTypeConstruct const>, Fortran::common::Reference<Fortran::parser::WhereConstruct const>, Fortran::common::Reference<Fortran::parser::ForallConstruct const>, Fortran::common::Reference<Fortran::parser::CompilerDirective const>, Fortran::common::Reference<Fortran::parser::OpenACCConstruct const>, Fortran::common::Reference<Fortran::parser::OpenACCRoutineConstruct const>, Fortran::common::Reference<Fortran::parser::OpenACCDeclarativeConstruct const>, Fortran::common::Reference<Fortran::parser::OpenMPConstruct const>, Fortran::common::Reference<Fortran::parser::OpenMPDeclarativeConstruct const>, Fortran::common::Reference<Fortran::parser::OmpEndLoopDirective const>, Fortran::common::Reference<Fortran::parser::CUFKernelDoConstruct const>> const&) Bridge.cpp:0:0
#31 0x0000558dcdd621d1 (anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&, bool) Bridge.cpp:0:0
#32 0x0000558dcdd65833 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<std::__detail::__variant::__deduce_visit_result<void> (*)(Fortran::common::visitors<auto Fortran::lower::pft::ReferenceVariantBase<true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct>::visit<(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&, bool)::'lambda'(auto const&)>(auto&&) const::'lambda'(auto)>&&, std::variant<Fortran::common::Reference<Fortran::parser::AllocateStmt const>, Fortran::common::Reference<Fortran::parser::AssignmentStmt const>, Fortran::common::Reference<Fortran::parser::BackspaceStmt const>, Fortran::common::Reference<Fortran::parser::CallStmt const>, Fortran::common::Reference<Fortran::parser::CloseStmt const>, Fortran::common::Reference<Fortran::parser::ContinueStmt const>, Fortran::common::Reference<Fortran::parser::CycleStmt const>, Fortran::common::Reference<Fortran::parser::DeallocateStmt const>, Fortran::common::Reference<Fortran::parser::EndfileStmt const>, Fortran::common::Reference<Fortran::parser::EventPostStmt const>, Fortran::common::Reference<Fortran::parser::EventWaitStmt const>, Fortran::common::Reference<Fortran::parser::ExitStmt const>, Fortran::common::Reference<Fortran::parser::FailImageStmt const>, Fortran::common::Reference<Fortran::parser::FlushStmt const>, Fortran::common::Reference<Fortran::parser::FormTeamStmt const>, Fortran::common::Reference<Fortran::parser::GotoStmt const>, Fortran::common::Reference<Fortran::parser::IfStmt const>, Fortran::common::Reference<Fortran::parser::InquireStmt const>, Fortran::common::Reference<Fortran::parser::LockStmt const>, Fortran::common::Reference<Fortran::parser::NotifyWaitStmt const>, Fortran::common::Reference<Fortran::parser::NullifyStmt const>, Fortran::common::Reference<Fortran::parser::OpenStmt const>, Fortran::common::Reference<Fortran::parser::PointerAssignmentStmt const>, Fortran::common::Reference<Fortran::parser::PrintStmt const>, Fortran::common::Reference<Fortran::parser::ReadStmt const>, Fortran::common::Reference<Fortran::parser::ReturnStmt const>, Fortran::common::Reference<Fortran::parser::RewindStmt const>, Fortran::common::Reference<Fortran::parser::StopStmt const>, Fortran::common::Reference<Fortran::parser::SyncAllStmt const>, Fortran::common::Reference<Fortran::parser::SyncImagesStmt const>, Fortran::common::Reference<Fortran::parser::SyncMemoryStmt const>, Fortran::common::Reference<Fortran::parser::SyncTeamStmt const>, Fortran::common::Reference<Fortran::parser::UnlockStmt const>, Fortran::common::Reference<Fortran::parser::WaitStmt const>, Fortran::common::Reference<Fortran::parser::WhereStmt const>, Fortran::common::Reference<Fortran::parser::WriteStmt const>, Fortran::common::Reference<Fortran::parser::ComputedGotoStmt const>, Fortran::common::Reference<Fortran::parser::ForallStmt const>, Fortran::common::Reference<Fortran::parser::ArithmeticIfStmt const>, Fortran::common::Reference<Fortran::parser::AssignStmt const>, Fortran::common::Reference<Fortran::parser::AssignedGotoStmt const>, Fortran::common::Reference<Fortran::parser::PauseStmt const>, Fortran::common::Reference<Fortran::parser::EntryStmt const>, Fortran::common::Reference<Fortran::parser::FormatStmt const>, Fortran::common::Reference<Fortran::parser::AssociateStmt const>, Fortran::common::Reference<Fortran::parser::EndAssociateStmt const>, Fortran::common::Reference<Fortran::parser::BlockStmt const>, Fortran::common::Reference<Fortran::parser::EndBlockStmt const>, Fortran::common::Reference<Fortran::parser::SelectCaseStmt const>, Fortran::common::Reference<Fortran::parser::CaseStmt const>, Fortran::common::Reference<Fortran::parser::EndSelectStmt const>, Fortran::common::Reference<Fortran::parser::ChangeTeamStmt const>, Fortran::common::Reference<Fortran::parser::EndChangeTeamStmt const>, Fortran::common::Reference<Fortran::parser::CriticalStmt const>, Fortran::common::Reference<Fortran::parser::EndCriticalStmt const>, Fortran::common::Reference<Fortran::parser::NonLabelDoStmt const>, Fortran::common::Reference<Fortran::parser::EndDoStmt const>, Fortran::common::Reference<Fortran::parser::IfThenStmt const>, Fortran::common::Reference<Fortran::parser::ElseIfStmt const>, Fortran::common::Reference<Fortran::parser::ElseStmt const>, Fortran::common::Reference<Fortran::parser::EndIfStmt const>, Fortran::common::Reference<Fortran::parser::SelectRankStmt const>, Fortran::common::Reference<Fortran::parser::SelectRankCaseStmt const>, Fortran::common::Reference<Fortran::parser::SelectTypeStmt const>, Fortran::common::Reference<Fortran::parser::TypeGuardStmt const>, Fortran::common::Reference<Fortran::parser::WhereConstructStmt const>, Fortran::common::Reference<Fortran::parser::MaskedElsewhereStmt const>, Fortran::common::Reference<Fortran::parser::ElsewhereStmt const>, Fortran::common::Reference<Fortran::parser::EndWhereStmt const>, Fortran::common::Reference<Fortran::parser::ForallConstructStmt const>, Fortran::common::Reference<Fortran::parser::EndForallStmt const>, Fortran::common::Reference<Fortran::parser::EndProgramStmt const>, Fortran::common::Reference<Fortran::parser::EndFunctionStmt const>, Fortran::common::Reference<Fortran::parser::EndSubroutineStmt const>, Fortran::common::Reference<Fortran::parser::EndMpSubprogramStmt const>, Fortran::common::Reference<Fortran::parser::AssociateConstruct const>, Fortran::common::Reference<Fortran::parser::BlockConstruct const>, Fortran::common::Reference<Fortran::parser::CaseConstruct const>, Fortran::common::Reference<Fortran::parser::ChangeTeamConstruct const>, Fortran::common::Reference<Fortran::parser::CriticalConstruct const>, Fortran::common::Reference<Fortran::parser::DoConstruct const>, Fortran::common::Reference<Fortran::parser::IfConstruct const>, Fortran::common::Reference<Fortran::parser::SelectRankConstruct const>, Fortran::common::Reference<Fortran::parser::SelectTypeConstruct const>, Fortran::common::Reference<Fortran::parser::WhereConstruct const>, Fortran::common::Reference<Fortran::parser::ForallConstruct const>, Fortran::common::Reference<Fortran::parser::CompilerDirective const>, Fortran::common::Reference<Fortran::parser::OpenACCConstruct const>, Fortran::common::Reference<Fortran::parser::OpenACCRoutineConstruct const>, Fortran::common::Reference<Fortran::parser::OpenACCDeclarativeConstruct const>, Fortran::common::Reference<Fortran::parser::OpenMPConstruct const>, Fortran::common::Reference<Fortran::parser::OpenMPDeclarativeConstruct const>, Fortran::common::Reference<Fortran::parser::OmpEndLoopDirective const>, Fortran::common::Reference<Fortran::parser::CUFKernelDoConstruct const>> const&)>, std::integer_sequence<unsigned long, 75ul>>::__visit_invoke(Fortran::common::visitors<auto Fortran::lower::pft::ReferenceVariantBase<true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct>::visit<(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&, bool)::'lambda'(auto const&)>(auto&&) const::'lambda'(auto)>&&, std::variant<Fortran::common::Reference<Fortran::parser::AllocateStmt const>, Fortran::common::Reference<Fortran::parser::AssignmentStmt const>, Fortran::common::Reference<Fortran::parser::BackspaceStmt const>, Fortran::common::Reference<Fortran::parser::CallStmt const>, Fortran::common::Reference<Fortran::parser::CloseStmt const>, Fortran::common::Reference<Fortran::parser::ContinueStmt const>, Fortran::common::Reference<Fortran::parser::CycleStmt const>, Fortran::common::Reference<Fortran::parser::DeallocateStmt const>, Fortran::common::Reference<Fortran::parser::EndfileStmt const>, Fortran::common::Reference<Fortran::parser::EventPostStmt const>, Fortran::common::Reference<Fortran::parser::EventWaitStmt const>, Fortran::common::Reference<Fortran::parser::ExitStmt const>, Fortran::common::Reference<Fortran::parser::FailImageStmt const>, Fortran::common::Reference<Fortran::parser::FlushStmt const>, Fortran::common::Reference<Fortran::parser::FormTeamStmt const>, Fortran::common::Reference<Fortran::parser::GotoStmt const>, Fortran::common::Reference<Fortran::parser::IfStmt const>, Fortran::common::Reference<Fortran::parser::InquireStmt const>, Fortran::common::Reference<Fortran::parser::LockStmt const>, Fortran::common::Reference<Fortran::parser::NotifyWaitStmt const>, Fortran::common::Reference<Fortran::parser::NullifyStmt const>, Fortran::common::Reference<Fortran::parser::OpenStmt const>, Fortran::common::Reference<Fortran::parser::PointerAssignmentStmt const>, Fortran::common::Reference<Fortran::parser::PrintStmt const>, Fortran::common::Reference<Fortran::parser::ReadStmt const>, Fortran::common::Reference<Fortran::parser::ReturnStmt const>, Fortran::common::Reference<Fortran::parser::RewindStmt const>, Fortran::common::Reference<Fortran::parser::StopStmt const>, Fortran::common::Reference<Fortran::parser::SyncAllStmt const>, Fortran::common::Reference<Fortran::parser::SyncImagesStmt const>, Fortran::common::Reference<Fortran::parser::SyncMemoryStmt const>, Fortran::common::Reference<Fortran::parser::SyncTeamStmt const>, Fortran::common::Reference<Fortran::parser::UnlockStmt const>, Fortran::common::Reference<Fortran::parser::WaitStmt const>, Fortran::common::Reference<Fortran::parser::WhereStmt const>, Fortran::common::Reference<Fortran::parser::WriteStmt const>, Fortran::common::Reference<Fortran::parser::ComputedGotoStmt const>, Fortran::common::Reference<Fortran::parser::ForallStmt const>, Fortran::common::Reference<Fortran::parser::ArithmeticIfStmt const>, Fortran::common::Reference<Fortran::parser::AssignStmt const>, Fortran::common::Reference<Fortran::parser::AssignedGotoStmt const>, Fortran::common::Reference<Fortran::parser::PauseStmt const>, Fortran::common::Reference<Fortran::parser::EntryStmt const>, Fortran::common::Reference<Fortran::parser::FormatStmt const>, Fortran::common::Reference<Fortran::parser::AssociateStmt const>, Fortran::common::Reference<Fortran::parser::EndAssociateStmt const>, Fortran::common::Reference<Fortran::parser::BlockStmt const>, Fortran::common::Reference<Fortran::parser::EndBlockStmt const>, Fortran::common::Reference<Fortran::parser::SelectCaseStmt const>, Fortran::common::Reference<Fortran::parser::CaseStmt const>, Fortran::common::Reference<Fortran::parser::EndSelectStmt const>, Fortran::common::Reference<Fortran::parser::ChangeTeamStmt const>, Fortran::common::Reference<Fortran::parser::EndChangeTeamStmt const>, Fortran::common::Reference<Fortran::parser::CriticalStmt const>, Fortran::common::Reference<Fortran::parser::EndCriticalStmt const>, Fortran::common::Reference<Fortran::parser::NonLabelDoStmt const>, Fortran::common::Reference<Fortran::parser::EndDoStmt const>, Fortran::common::Reference<Fortran::parser::IfThenStmt const>, Fortran::common::Reference<Fortran::parser::ElseIfStmt const>, Fortran::common::Reference<Fortran::parser::ElseStmt const>, Fortran::common::Reference<Fortran::parser::EndIfStmt const>, Fortran::common::Reference<Fortran::parser::SelectRankStmt const>, Fortran::common::Reference<Fortran::parser::SelectRankCaseStmt const>, Fortran::common::Reference<Fortran::parser::SelectTypeStmt const>, Fortran::common::Reference<Fortran::parser::TypeGuardStmt const>, Fortran::common::Reference<Fortran::parser::WhereConstructStmt const>, Fortran::common::Reference<Fortran::parser::MaskedElsewhereStmt const>, Fortran::common::Reference<Fortran::parser::ElsewhereStmt const>, Fortran::common::Reference<Fortran::parser::EndWhereStmt const>, Fortran::common::Reference<Fortran::parser::ForallConstructStmt const>, Fortran::common::Reference<Fortran::parser::EndForallStmt const>, Fortran::common::Reference<Fortran::parser::EndProgramStmt const>, Fortran::common::Reference<Fortran::parser::EndFunctionStmt const>, Fortran::common::Reference<Fortran::parser::EndSubroutineStmt const>, Fortran::common::Reference<Fortran::parser::EndMpSubprogramStmt const>, Fortran::common::Reference<Fortran::parser::AssociateConstruct const>, Fortran::common::Reference<Fortran::parser::BlockConstruct const>, Fortran::common::Reference<Fortran::parser::CaseConstruct const>, Fortran::common::Reference<Fortran::parser::ChangeTeamConstruct const>, Fortran::common::Reference<Fortran::parser::CriticalConstruct const>, Fortran::common::Reference<Fortran::parser::DoConstruct const>, Fortran::common::Reference<Fortran::parser::IfConstruct const>, Fortran::common::Reference<Fortran::parser::SelectRankConstruct const>, Fortran::common::Reference<Fortran::parser::SelectTypeConstruct const>, Fortran::common::Reference<Fortran::parser::WhereConstruct const>, Fortran::common::Reference<Fortran::parser::ForallConstruct const>, Fortran::common::Reference<Fortran::parser::CompilerDirective const>, Fortran::common::Reference<Fortran::parser::OpenACCConstruct const>, Fortran::common::Reference<Fortran::parser::OpenACCRoutineConstruct const>, Fortran::common::Reference<Fortran::parser::OpenACCDeclarativeConstruct const>, Fortran::common::Reference<Fortran::parser::OpenMPConstruct const>, Fortran::common::Reference<Fortran::parser::OpenMPDeclarativeConstruct const>, Fortran::common::Reference<Fortran::parser::OmpEndLoopDirective const>, Fortran::common::Reference<Fortran::parser::CUFKernelDoConstruct const>> const&) Bridge.cpp:0:0
#33 0x0000558dcdd621d1 (anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&, bool) Bridge.cpp:0:0
#34 0x0000558dcdd96247 (anonymous namespace)::FirConverter::lowerFunc(Fortran::lower::pft::FunctionLikeUnit&) Bridge.cpp:0:0
#35 0x0000558dcdd43f27 Fortran::lower::LoweringBridge::lower(Fortran::parser::Program const&, Fortran::semantics::SemanticsContext const&) 
#36 0x0000558dcdca8e22 Fortran::frontend::CodeGenAction::beginSourceFileAction() 
#37 0x0000558dcd8a145f Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&, Fortran::frontend::FrontendInputFile const&) 
#38 0x0000558dcd89623d Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) 
#39 0x0000558dcd8a46ae Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) 
#40 0x0000558dcd547825 fc1_main(llvm::ArrayRef<char const*>, char const*) 
#41 0x0000558dcd5467f6 main 
#42 0x00007fc591a12d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#43 0x00007fc591a12e40 call_init ./csu/../csu/libc-start.c:128:20
#44 0x00007fc591a12e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#45 0x0000558dcd545d55 _start 
flang-new: error: unable to execute command: Aborted
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 19.0.0git (https://github.com/llvm/llvm-project.git 597f9761c3a5ba278fa930d2fac13f156287d505)
Target: x86_64-unknown-linux-gnu
Thread model: posix
@github-actions github-actions bot added the flang Flang issues not falling into any other category label Mar 3, 2024
@EugeneZelenko EugeneZelenko added crash Prefer [crash-on-valid] or [crash-on-invalid] flang:fir-hlfir and removed flang Flang issues not falling into any other category labels Mar 3, 2024
@jeanPerier jeanPerier self-assigned this Mar 5, 2024
@jeanPerier
Copy link
Contributor

#84041

@k-arrows
Copy link
Author

k-arrows commented Mar 8, 2024

I will close this issue since the fix has been merged.

@llvmbot
Copy link
Collaborator

llvmbot commented Mar 8, 2024

@llvm/issue-subscribers-flang-frontend

Author: None (k-arrows)

Crash itself is reproducible on Godbolt. https://godbolt.org/z/bMbneezf6

Reproducer

$ cat test.f90
  module m

      ! base
      type, abstract :: b
      end type

      ! child
      type, extends(b) :: c
          integer :: id = 0
      contains
          procedure, pass :: get =&gt; f
      end type

      contains

      elemental function f(arg)
          class(c), intent(in) :: arg
          integer :: f
          f = arg%id
      end function

  end module

  program p
      use m
      implicit none
      integer :: i
      type(c) :: v(4) = (/(c(i), i = 1, 4)/)

      associate (v =&gt; v((/1,2,3,4/)))

        if (any(v%get() .ne. (/1,2,3,4/)))  stop 1

      end associate

  end

When I used assertion-enabled flang-new, I got the following:

Assertion failure:

flang-new: /path_to_llvm_project/llvm-project/flang/lib/Lower/ConvertExprToHLFIR.cpp:923: hlfir::ElementalAddrOp (anonymous namespace)::HlfirDesignatorBuilder::convertVectorSubscriptedExprToElementalAddr(const Fortran::lower::SomeExpr &amp;): Assertion `getVectorSubscriptElementAddrOp().has_value() &amp;&amp; "expected vector subscripts"' failed.

Stack dump:

 #<!-- -->0 0x0000558dcd87d269 llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;, int) 
 #<!-- -->1 0x0000558dcd87d89d SignalHandler(int) Signals.cpp:0:0
 #<!-- -->2 0x00007fc591a2b520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #<!-- -->3 0x00007fc591a7fa7c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #<!-- -->4 0x00007fc591a7fa7c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #<!-- -->5 0x00007fc591a7fa7c pthread_kill ./nptl/pthread_kill.c:89:10
 #<!-- -->6 0x00007fc591a2b476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #<!-- -->7 0x00007fc591a117f3 abort ./stdlib/abort.c:81:7
 #<!-- -->8 0x00007fc591a1171b _nl_load_domain ./intl/loadmsgcat.c:1177:9
 #<!-- -->9 0x00007fc591a22e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#<!-- -->10 0x0000558dcded9fa5 Fortran::lower::convertVectorSubscriptedExprToElementalAddr(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->11 0x0000558dcddaa256 Fortran::lower::convertCallToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::ProcedureRef const&amp;, std::optional&lt;mlir::Type&gt;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->12 0x0000558dcdf0dd82 std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;hlfir::EntityWithAttributes&gt; (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Negate&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Add&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Subtract&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Multiply&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Divide&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Power&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Extremum&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;, (Fortran::common::TypeCategory)0&gt;, Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;, (Fortran::common::TypeCategory)1&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 13ul&gt;&gt;::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Negate&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Add&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Subtract&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Multiply&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Divide&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Power&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Extremum&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;, (Fortran::common::TypeCategory)0&gt;, Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;, (Fortran::common::TypeCategory)1&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->13 0x0000558dcdf0c345 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->14 0x0000558dcdf1c705 std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;hlfir::EntityWithAttributes&gt; (*)((anonymous namespace)::HlfirBuilder::gen(Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt; const&amp;)::'lambda'(auto const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 1&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 3&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 10&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 3&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 10&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 1&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 4&gt;&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 2ul&gt;&gt;::__visit_invoke((anonymous namespace)::HlfirBuilder::gen(Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt; const&amp;)::'lambda'(auto const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 1&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 3&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 10&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 3&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 10&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 1&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 4&gt;&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->15 0x0000558dcdf1b6d8 std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;hlfir::EntityWithAttributes&gt; (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;, (Fortran::common::TypeCategory)4&gt;, Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Not&lt;4&gt;, Fortran::evaluate::LogicalOperation&lt;4&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 4ul&gt;&gt;::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;, (Fortran::common::TypeCategory)4&gt;, Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Not&lt;4&gt;, Fortran::evaluate::LogicalOperation&lt;4&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->16 0x0000558dcdf1adb1 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->17 0x0000558dcdf18307 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::SomeKind&lt;(Fortran::common::TypeCategory)4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeKind&lt;(Fortran::common::TypeCategory)4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->18 0x0000558dcded9646 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::SomeType&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->19 0x0000558dcded95b8 Fortran::lower::convertExprToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->20 0x0000558dcddadf54 genIntrinsicRef(Fortran::evaluate::SpecificIntrinsic const*, (anonymous namespace)::CallContext&amp;) ConvertCall.cpp:0:0
#<!-- -->21 0x0000558dcdda9b6c Fortran::lower::convertCallToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::ProcedureRef const&amp;, std::optional&lt;mlir::Type&gt;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->22 0x0000558dcdf1b94c std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;hlfir::EntityWithAttributes&gt; (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;, (Fortran::common::TypeCategory)4&gt;, Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Not&lt;4&gt;, Fortran::evaluate::LogicalOperation&lt;4&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 8ul&gt;&gt;::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;, (Fortran::common::TypeCategory)4&gt;, Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Not&lt;4&gt;, Fortran::evaluate::LogicalOperation&lt;4&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->23 0x0000558dcdf1adb1 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->24 0x0000558dcdf18307 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::SomeKind&lt;(Fortran::common::TypeCategory)4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeKind&lt;(Fortran::common::TypeCategory)4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->25 0x0000558dcded9646 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::SomeType&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->26 0x0000558dcded9b5b Fortran::lower::convertExprToValue(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->27 0x0000558dcdd45979 (anonymous namespace)::FirConverter::genExprValue(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;, Fortran::lower::StatementContext&amp;, mlir::Location*) Bridge.cpp:0:0
#<!-- -->28 0x0000558dcdd83909 (anonymous namespace)::FirConverter::createFIRExpr(mlir::Location, Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const*, Fortran::lower::StatementContext&amp;) Bridge.cpp:0:0
#<!-- -->29 0x0000558dcdd9110b mlir::Value (anonymous namespace)::FirConverter::genIfCondition&lt;Fortran::parser::IfStmt&gt;(Fortran::parser::IfStmt const*, bool) Bridge.cpp:0:0
#<!-- -->30 0x0000558dcdd67f8c std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;void&gt; (*)(Fortran::common::visitors&lt;auto Fortran::lower::pft::ReferenceVariantBase&lt;true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct&gt;::visit&lt;(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool)::'lambda'(auto const&amp;)&gt;(auto&amp;&amp;) const::'lambda'(auto)&gt;&amp;&amp;, std::variant&lt;Fortran::common::Reference&lt;Fortran::parser::AllocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BackspaceStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CloseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ContinueStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CycleStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::DeallocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndfileStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventPostStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ExitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FailImageStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FlushStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::GotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::InquireStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::LockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NotifyWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NullifyStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PointerAssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PrintStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReadStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReturnStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::RewindStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::StopStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncAllStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncImagesStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncMemoryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::UnlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WriteStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ComputedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ArithmeticIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PauseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EntryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormatStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndAssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndBlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSelectStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndCriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NonLabelDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfThenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::TypeGuardStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::MaskedElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndWhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndProgramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndFunctionStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSubroutineStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndMpSubprogramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::DoConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CompilerDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCRoutineConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OmpEndLoopDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::CUFKernelDoConstruct const&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 81ul&gt;&gt;::__visit_invoke(Fortran::common::visitors&lt;auto Fortran::lower::pft::ReferenceVariantBase&lt;true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct&gt;::visit&lt;(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool)::'lambda'(auto const&amp;)&gt;(auto&amp;&amp;) const::'lambda'(auto)&gt;&amp;&amp;, std::variant&lt;Fortran::common::Reference&lt;Fortran::parser::AllocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BackspaceStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CloseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ContinueStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CycleStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::DeallocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndfileStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventPostStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ExitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FailImageStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FlushStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::GotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::InquireStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::LockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NotifyWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NullifyStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PointerAssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PrintStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReadStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReturnStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::RewindStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::StopStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncAllStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncImagesStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncMemoryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::UnlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WriteStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ComputedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ArithmeticIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PauseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EntryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormatStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndAssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndBlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSelectStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndCriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NonLabelDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfThenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::TypeGuardStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::MaskedElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndWhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndProgramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndFunctionStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSubroutineStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndMpSubprogramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::DoConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CompilerDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCRoutineConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OmpEndLoopDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::CUFKernelDoConstruct const&gt;&gt; const&amp;) Bridge.cpp:0:0
#<!-- -->31 0x0000558dcdd621d1 (anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool) Bridge.cpp:0:0
#<!-- -->32 0x0000558dcdd65833 std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;void&gt; (*)(Fortran::common::visitors&lt;auto Fortran::lower::pft::ReferenceVariantBase&lt;true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct&gt;::visit&lt;(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool)::'lambda'(auto const&amp;)&gt;(auto&amp;&amp;) const::'lambda'(auto)&gt;&amp;&amp;, std::variant&lt;Fortran::common::Reference&lt;Fortran::parser::AllocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BackspaceStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CloseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ContinueStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CycleStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::DeallocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndfileStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventPostStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ExitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FailImageStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FlushStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::GotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::InquireStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::LockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NotifyWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NullifyStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PointerAssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PrintStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReadStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReturnStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::RewindStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::StopStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncAllStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncImagesStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncMemoryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::UnlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WriteStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ComputedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ArithmeticIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PauseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EntryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormatStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndAssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndBlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSelectStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndCriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NonLabelDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfThenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::TypeGuardStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::MaskedElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndWhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndProgramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndFunctionStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSubroutineStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndMpSubprogramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::DoConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CompilerDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCRoutineConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OmpEndLoopDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::CUFKernelDoConstruct const&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 75ul&gt;&gt;::__visit_invoke(Fortran::common::visitors&lt;auto Fortran::lower::pft::ReferenceVariantBase&lt;true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct&gt;::visit&lt;(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool)::'lambda'(auto const&amp;)&gt;(auto&amp;&amp;) const::'lambda'(auto)&gt;&amp;&amp;, std::variant&lt;Fortran::common::Reference&lt;Fortran::parser::AllocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BackspaceStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CloseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ContinueStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CycleStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::DeallocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndfileStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventPostStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ExitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FailImageStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FlushStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::GotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::InquireStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::LockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NotifyWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NullifyStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PointerAssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PrintStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReadStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReturnStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::RewindStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::StopStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncAllStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncImagesStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncMemoryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::UnlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WriteStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ComputedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ArithmeticIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PauseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EntryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormatStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndAssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndBlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSelectStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndCriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NonLabelDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfThenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::TypeGuardStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::MaskedElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndWhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndProgramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndFunctionStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSubroutineStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndMpSubprogramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::DoConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CompilerDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCRoutineConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OmpEndLoopDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::CUFKernelDoConstruct const&gt;&gt; const&amp;) Bridge.cpp:0:0
#<!-- -->33 0x0000558dcdd621d1 (anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool) Bridge.cpp:0:0
#<!-- -->34 0x0000558dcdd96247 (anonymous namespace)::FirConverter::lowerFunc(Fortran::lower::pft::FunctionLikeUnit&amp;) Bridge.cpp:0:0
#<!-- -->35 0x0000558dcdd43f27 Fortran::lower::LoweringBridge::lower(Fortran::parser::Program const&amp;, Fortran::semantics::SemanticsContext const&amp;) 
#<!-- -->36 0x0000558dcdca8e22 Fortran::frontend::CodeGenAction::beginSourceFileAction() 
#<!-- -->37 0x0000558dcd8a145f Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&amp;, Fortran::frontend::FrontendInputFile const&amp;) 
#<!-- -->38 0x0000558dcd89623d Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&amp;) 
#<!-- -->39 0x0000558dcd8a46ae Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) 
#<!-- -->40 0x0000558dcd547825 fc1_main(llvm::ArrayRef&lt;char const*&gt;, char const*) 
#<!-- -->41 0x0000558dcd5467f6 main 
#<!-- -->42 0x00007fc591a12d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#<!-- -->43 0x00007fc591a12e40 call_init ./csu/../csu/libc-start.c:128:20
#<!-- -->44 0x00007fc591a12e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#<!-- -->45 0x0000558dcd545d55 _start 
flang-new: error: unable to execute command: Aborted
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 19.0.0git (https://github.com/llvm/llvm-project.git 597f9761c3a5ba278fa930d2fac13f156287d505)
Target: x86_64-unknown-linux-gnu
Thread model: posix

@psteinfeld psteinfeld added the bug Indicates an unexpected problem or unintended behavior label Mar 8, 2024
@llvmbot
Copy link
Collaborator

llvmbot commented Mar 8, 2024

@llvm/issue-subscribers-bug

Author: None (k-arrows)

Crash itself is reproducible on Godbolt. https://godbolt.org/z/bMbneezf6

Reproducer

$ cat test.f90
  module m

      ! base
      type, abstract :: b
      end type

      ! child
      type, extends(b) :: c
          integer :: id = 0
      contains
          procedure, pass :: get =&gt; f
      end type

      contains

      elemental function f(arg)
          class(c), intent(in) :: arg
          integer :: f
          f = arg%id
      end function

  end module

  program p
      use m
      implicit none
      integer :: i
      type(c) :: v(4) = (/(c(i), i = 1, 4)/)

      associate (v =&gt; v((/1,2,3,4/)))

        if (any(v%get() .ne. (/1,2,3,4/)))  stop 1

      end associate

  end

When I used assertion-enabled flang-new, I got the following:

Assertion failure:

flang-new: /path_to_llvm_project/llvm-project/flang/lib/Lower/ConvertExprToHLFIR.cpp:923: hlfir::ElementalAddrOp (anonymous namespace)::HlfirDesignatorBuilder::convertVectorSubscriptedExprToElementalAddr(const Fortran::lower::SomeExpr &amp;): Assertion `getVectorSubscriptElementAddrOp().has_value() &amp;&amp; "expected vector subscripts"' failed.

Stack dump:

 #<!-- -->0 0x0000558dcd87d269 llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;, int) 
 #<!-- -->1 0x0000558dcd87d89d SignalHandler(int) Signals.cpp:0:0
 #<!-- -->2 0x00007fc591a2b520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #<!-- -->3 0x00007fc591a7fa7c __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #<!-- -->4 0x00007fc591a7fa7c __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #<!-- -->5 0x00007fc591a7fa7c pthread_kill ./nptl/pthread_kill.c:89:10
 #<!-- -->6 0x00007fc591a2b476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #<!-- -->7 0x00007fc591a117f3 abort ./stdlib/abort.c:81:7
 #<!-- -->8 0x00007fc591a1171b _nl_load_domain ./intl/loadmsgcat.c:1177:9
 #<!-- -->9 0x00007fc591a22e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#<!-- -->10 0x0000558dcded9fa5 Fortran::lower::convertVectorSubscriptedExprToElementalAddr(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->11 0x0000558dcddaa256 Fortran::lower::convertCallToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::ProcedureRef const&amp;, std::optional&lt;mlir::Type&gt;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->12 0x0000558dcdf0dd82 std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;hlfir::EntityWithAttributes&gt; (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Negate&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Add&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Subtract&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Multiply&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Divide&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Power&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Extremum&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;, (Fortran::common::TypeCategory)0&gt;, Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;, (Fortran::common::TypeCategory)1&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 13ul&gt;&gt;::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Negate&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Add&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Subtract&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Multiply&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Divide&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Power&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Extremum&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;, (Fortran::common::TypeCategory)0&gt;, Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;, (Fortran::common::TypeCategory)1&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->13 0x0000558dcdf0c345 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->14 0x0000558dcdf1c705 std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;hlfir::EntityWithAttributes&gt; (*)((anonymous namespace)::HlfirBuilder::gen(Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt; const&amp;)::'lambda'(auto const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 1&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 3&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 10&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 3&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 10&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 1&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 4&gt;&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 2ul&gt;&gt;::__visit_invoke((anonymous namespace)::HlfirBuilder::gen(Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt; const&amp;)::'lambda'(auto const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 1&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)0, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 3&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 10&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)1, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 3&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 4&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 8&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 10&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)2, 16&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 1&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 2&gt;&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)3, 4&gt;&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->15 0x0000558dcdf1b6d8 std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;hlfir::EntityWithAttributes&gt; (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;, (Fortran::common::TypeCategory)4&gt;, Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Not&lt;4&gt;, Fortran::evaluate::LogicalOperation&lt;4&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 4ul&gt;&gt;::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;, (Fortran::common::TypeCategory)4&gt;, Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Not&lt;4&gt;, Fortran::evaluate::LogicalOperation&lt;4&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->16 0x0000558dcdf1adb1 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->17 0x0000558dcdf18307 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::SomeKind&lt;(Fortran::common::TypeCategory)4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeKind&lt;(Fortran::common::TypeCategory)4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->18 0x0000558dcded9646 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::SomeType&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->19 0x0000558dcded95b8 Fortran::lower::convertExprToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->20 0x0000558dcddadf54 genIntrinsicRef(Fortran::evaluate::SpecificIntrinsic const*, (anonymous namespace)::CallContext&amp;) ConvertCall.cpp:0:0
#<!-- -->21 0x0000558dcdda9b6c Fortran::lower::convertCallToHLFIR(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::ProcedureRef const&amp;, std::optional&lt;mlir::Type&gt;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->22 0x0000558dcdf1b94c std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;hlfir::EntityWithAttributes&gt; (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;, (Fortran::common::TypeCategory)4&gt;, Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Not&lt;4&gt;, Fortran::evaluate::LogicalOperation&lt;4&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 8ul&gt;&gt;::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;)::'lambda'(Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt; const&amp;)&amp;&amp;, std::variant&lt;Fortran::evaluate::Convert&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;, (Fortran::common::TypeCategory)4&gt;, Fortran::evaluate::Parentheses&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Not&lt;4&gt;, Fortran::evaluate::LogicalOperation&lt;4&gt;, Fortran::evaluate::Relational&lt;Fortran::evaluate::SomeType&gt;, Fortran::evaluate::Constant&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::ArrayConstructor&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::Designator&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;, Fortran::evaluate::FunctionRef&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->23 0x0000558dcdf1adb1 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::Type&lt;(Fortran::common::TypeCategory)4, 4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->24 0x0000558dcdf18307 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::SomeKind&lt;(Fortran::common::TypeCategory)4&gt;&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeKind&lt;(Fortran::common::TypeCategory)4&gt;&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->25 0x0000558dcded9646 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen&lt;Fortran::evaluate::SomeType&gt;(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;) ConvertExprToHLFIR.cpp:0:0
#<!-- -->26 0x0000558dcded9b5b Fortran::lower::convertExprToValue(mlir::Location, Fortran::lower::AbstractConverter&amp;, Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;, Fortran::lower::SymMap&amp;, Fortran::lower::StatementContext&amp;) 
#<!-- -->27 0x0000558dcdd45979 (anonymous namespace)::FirConverter::genExprValue(Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const&amp;, Fortran::lower::StatementContext&amp;, mlir::Location*) Bridge.cpp:0:0
#<!-- -->28 0x0000558dcdd83909 (anonymous namespace)::FirConverter::createFIRExpr(mlir::Location, Fortran::evaluate::Expr&lt;Fortran::evaluate::SomeType&gt; const*, Fortran::lower::StatementContext&amp;) Bridge.cpp:0:0
#<!-- -->29 0x0000558dcdd9110b mlir::Value (anonymous namespace)::FirConverter::genIfCondition&lt;Fortran::parser::IfStmt&gt;(Fortran::parser::IfStmt const*, bool) Bridge.cpp:0:0
#<!-- -->30 0x0000558dcdd67f8c std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;void&gt; (*)(Fortran::common::visitors&lt;auto Fortran::lower::pft::ReferenceVariantBase&lt;true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct&gt;::visit&lt;(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool)::'lambda'(auto const&amp;)&gt;(auto&amp;&amp;) const::'lambda'(auto)&gt;&amp;&amp;, std::variant&lt;Fortran::common::Reference&lt;Fortran::parser::AllocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BackspaceStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CloseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ContinueStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CycleStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::DeallocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndfileStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventPostStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ExitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FailImageStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FlushStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::GotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::InquireStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::LockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NotifyWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NullifyStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PointerAssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PrintStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReadStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReturnStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::RewindStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::StopStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncAllStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncImagesStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncMemoryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::UnlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WriteStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ComputedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ArithmeticIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PauseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EntryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormatStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndAssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndBlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSelectStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndCriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NonLabelDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfThenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::TypeGuardStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::MaskedElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndWhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndProgramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndFunctionStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSubroutineStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndMpSubprogramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::DoConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CompilerDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCRoutineConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OmpEndLoopDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::CUFKernelDoConstruct const&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 81ul&gt;&gt;::__visit_invoke(Fortran::common::visitors&lt;auto Fortran::lower::pft::ReferenceVariantBase&lt;true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct&gt;::visit&lt;(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool)::'lambda'(auto const&amp;)&gt;(auto&amp;&amp;) const::'lambda'(auto)&gt;&amp;&amp;, std::variant&lt;Fortran::common::Reference&lt;Fortran::parser::AllocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BackspaceStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CloseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ContinueStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CycleStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::DeallocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndfileStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventPostStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ExitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FailImageStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FlushStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::GotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::InquireStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::LockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NotifyWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NullifyStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PointerAssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PrintStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReadStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReturnStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::RewindStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::StopStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncAllStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncImagesStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncMemoryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::UnlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WriteStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ComputedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ArithmeticIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PauseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EntryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormatStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndAssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndBlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSelectStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndCriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NonLabelDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfThenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::TypeGuardStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::MaskedElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndWhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndProgramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndFunctionStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSubroutineStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndMpSubprogramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::DoConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CompilerDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCRoutineConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OmpEndLoopDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::CUFKernelDoConstruct const&gt;&gt; const&amp;) Bridge.cpp:0:0
#<!-- -->31 0x0000558dcdd621d1 (anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool) Bridge.cpp:0:0
#<!-- -->32 0x0000558dcdd65833 std::__detail::__variant::__gen_vtable_impl&lt;std::__detail::__variant::_Multi_array&lt;std::__detail::__variant::__deduce_visit_result&lt;void&gt; (*)(Fortran::common::visitors&lt;auto Fortran::lower::pft::ReferenceVariantBase&lt;true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct&gt;::visit&lt;(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool)::'lambda'(auto const&amp;)&gt;(auto&amp;&amp;) const::'lambda'(auto)&gt;&amp;&amp;, std::variant&lt;Fortran::common::Reference&lt;Fortran::parser::AllocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BackspaceStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CloseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ContinueStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CycleStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::DeallocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndfileStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventPostStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ExitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FailImageStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FlushStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::GotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::InquireStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::LockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NotifyWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NullifyStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PointerAssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PrintStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReadStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReturnStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::RewindStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::StopStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncAllStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncImagesStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncMemoryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::UnlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WriteStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ComputedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ArithmeticIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PauseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EntryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormatStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndAssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndBlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSelectStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndCriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NonLabelDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfThenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::TypeGuardStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::MaskedElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndWhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndProgramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndFunctionStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSubroutineStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndMpSubprogramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::DoConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CompilerDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCRoutineConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OmpEndLoopDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::CUFKernelDoConstruct const&gt;&gt; const&amp;)&gt;, std::integer_sequence&lt;unsigned long, 75ul&gt;&gt;::__visit_invoke(Fortran::common::visitors&lt;auto Fortran::lower::pft::ReferenceVariantBase&lt;true, Fortran::parser::AllocateStmt, Fortran::parser::AssignmentStmt, Fortran::parser::BackspaceStmt, Fortran::parser::CallStmt, Fortran::parser::CloseStmt, Fortran::parser::ContinueStmt, Fortran::parser::CycleStmt, Fortran::parser::DeallocateStmt, Fortran::parser::EndfileStmt, Fortran::parser::EventPostStmt, Fortran::parser::EventWaitStmt, Fortran::parser::ExitStmt, Fortran::parser::FailImageStmt, Fortran::parser::FlushStmt, Fortran::parser::FormTeamStmt, Fortran::parser::GotoStmt, Fortran::parser::IfStmt, Fortran::parser::InquireStmt, Fortran::parser::LockStmt, Fortran::parser::NotifyWaitStmt, Fortran::parser::NullifyStmt, Fortran::parser::OpenStmt, Fortran::parser::PointerAssignmentStmt, Fortran::parser::PrintStmt, Fortran::parser::ReadStmt, Fortran::parser::ReturnStmt, Fortran::parser::RewindStmt, Fortran::parser::StopStmt, Fortran::parser::SyncAllStmt, Fortran::parser::SyncImagesStmt, Fortran::parser::SyncMemoryStmt, Fortran::parser::SyncTeamStmt, Fortran::parser::UnlockStmt, Fortran::parser::WaitStmt, Fortran::parser::WhereStmt, Fortran::parser::WriteStmt, Fortran::parser::ComputedGotoStmt, Fortran::parser::ForallStmt, Fortran::parser::ArithmeticIfStmt, Fortran::parser::AssignStmt, Fortran::parser::AssignedGotoStmt, Fortran::parser::PauseStmt, Fortran::parser::EntryStmt, Fortran::parser::FormatStmt, Fortran::parser::AssociateStmt, Fortran::parser::EndAssociateStmt, Fortran::parser::BlockStmt, Fortran::parser::EndBlockStmt, Fortran::parser::SelectCaseStmt, Fortran::parser::CaseStmt, Fortran::parser::EndSelectStmt, Fortran::parser::ChangeTeamStmt, Fortran::parser::EndChangeTeamStmt, Fortran::parser::CriticalStmt, Fortran::parser::EndCriticalStmt, Fortran::parser::NonLabelDoStmt, Fortran::parser::EndDoStmt, Fortran::parser::IfThenStmt, Fortran::parser::ElseIfStmt, Fortran::parser::ElseStmt, Fortran::parser::EndIfStmt, Fortran::parser::SelectRankStmt, Fortran::parser::SelectRankCaseStmt, Fortran::parser::SelectTypeStmt, Fortran::parser::TypeGuardStmt, Fortran::parser::WhereConstructStmt, Fortran::parser::MaskedElsewhereStmt, Fortran::parser::ElsewhereStmt, Fortran::parser::EndWhereStmt, Fortran::parser::ForallConstructStmt, Fortran::parser::EndForallStmt, Fortran::parser::EndProgramStmt, Fortran::parser::EndFunctionStmt, Fortran::parser::EndSubroutineStmt, Fortran::parser::EndMpSubprogramStmt, Fortran::parser::AssociateConstruct, Fortran::parser::BlockConstruct, Fortran::parser::CaseConstruct, Fortran::parser::ChangeTeamConstruct, Fortran::parser::CriticalConstruct, Fortran::parser::DoConstruct, Fortran::parser::IfConstruct, Fortran::parser::SelectRankConstruct, Fortran::parser::SelectTypeConstruct, Fortran::parser::WhereConstruct, Fortran::parser::ForallConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoConstruct&gt;::visit&lt;(anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool)::'lambda'(auto const&amp;)&gt;(auto&amp;&amp;) const::'lambda'(auto)&gt;&amp;&amp;, std::variant&lt;Fortran::common::Reference&lt;Fortran::parser::AllocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BackspaceStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CloseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ContinueStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CycleStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::DeallocateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndfileStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventPostStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EventWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ExitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FailImageStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FlushStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::GotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::InquireStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::LockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NotifyWaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NullifyStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PointerAssignmentStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PrintStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReadStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ReturnStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::RewindStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::StopStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncAllStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncImagesStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncMemoryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SyncTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::UnlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WaitStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WriteStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ComputedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ArithmeticIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssignedGotoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::PauseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EntryStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::FormatStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndAssociateStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndBlockStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSelectStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndChangeTeamStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndCriticalStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::NonLabelDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndDoStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfThenStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndIfStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankCaseStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::TypeGuardStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::MaskedElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ElsewhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndWhereStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstructStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndForallStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndProgramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndFunctionStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndSubroutineStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::EndMpSubprogramStmt const&gt;, Fortran::common::Reference&lt;Fortran::parser::AssociateConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::BlockConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CaseConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ChangeTeamConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CriticalConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::DoConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::IfConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectRankConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::SelectTypeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::WhereConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::ForallConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::CompilerDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCRoutineConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenACCDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OpenMPDeclarativeConstruct const&gt;, Fortran::common::Reference&lt;Fortran::parser::OmpEndLoopDirective const&gt;, Fortran::common::Reference&lt;Fortran::parser::CUFKernelDoConstruct const&gt;&gt; const&amp;) Bridge.cpp:0:0
#<!-- -->33 0x0000558dcdd621d1 (anonymous namespace)::FirConverter::genFIR(Fortran::lower::pft::Evaluation&amp;, bool) Bridge.cpp:0:0
#<!-- -->34 0x0000558dcdd96247 (anonymous namespace)::FirConverter::lowerFunc(Fortran::lower::pft::FunctionLikeUnit&amp;) Bridge.cpp:0:0
#<!-- -->35 0x0000558dcdd43f27 Fortran::lower::LoweringBridge::lower(Fortran::parser::Program const&amp;, Fortran::semantics::SemanticsContext const&amp;) 
#<!-- -->36 0x0000558dcdca8e22 Fortran::frontend::CodeGenAction::beginSourceFileAction() 
#<!-- -->37 0x0000558dcd8a145f Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&amp;, Fortran::frontend::FrontendInputFile const&amp;) 
#<!-- -->38 0x0000558dcd89623d Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&amp;) 
#<!-- -->39 0x0000558dcd8a46ae Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) 
#<!-- -->40 0x0000558dcd547825 fc1_main(llvm::ArrayRef&lt;char const*&gt;, char const*) 
#<!-- -->41 0x0000558dcd5467f6 main 
#<!-- -->42 0x00007fc591a12d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#<!-- -->43 0x00007fc591a12e40 call_init ./csu/../csu/libc-start.c:128:20
#<!-- -->44 0x00007fc591a12e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#<!-- -->45 0x0000558dcd545d55 _start 
flang-new: error: unable to execute command: Aborted
flang-new: error: flang frontend command failed due to signal (use -v to see invocation)
flang-new version 19.0.0git (https://github.com/llvm/llvm-project.git 597f9761c3a5ba278fa930d2fac13f156287d505)
Target: x86_64-unknown-linux-gnu
Thread model: posix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Indicates an unexpected problem or unintended behavior crash Prefer [crash-on-valid] or [crash-on-invalid] flang:frontend
Projects
None yet
Development

No branches or pull requests

5 participants