Description
Version of flang : 21.0.0(6a9a16da7a380e18b996bb6573eeb18b913204fc)/AArch64
In the attached program (sngg781d_2.f90
), a combination of CRAY POINTER (pointee: pp)
and rename (only:renamea=>pp)
in USE statement
results in an abnormal compilation termination.
Compilation ends normally in the following cases:
USE statement
withoutrename (only:renamea=>pp)
Seesngg781d_3.f90
below.
The following are the test program, Flang, Gfortran and ifx compilation/execution result.
sngg781d_2.f90:
module m1
pointer(ptr,pp)
end module m1
module m2
use m1,only:renamea=>pp
use m1,only:pp
contains
subroutine sub
use m1,only:ptr
implicit none
ptr=malloc(4)
pp=1
end subroutine sub
end module m2
program main
use m2
call sub
if( renamea/=1) print *,'err'
print *,'pass'
end program main
$ flang sngg781d_2.f90
fatal internal error: nullptr dereference at /work/groups/ssoft/compiler/llvm/src/llvm-main/flang/lib/Semantics/tools.cpp(358)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang -fc1 -triple aarch64-unknown-linux-gnu -emit-obj -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu generic -target-feature +outline-atomics -target-feature +v8a -target-feature +fp-armv8 -target-feature
+neon -resource-dir /work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/lib/clang/21 -mframe-pointer=non-leaf -o /tmp/sngg781d_2-560ed3.o -x f95 sngg781d_2.f90
#0 0x000040004aba08b8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/work/groups/ssoft/compiler/llvm/aarch64/main-latest/lib/libLLVM.so.21.0git+0x5a608b8)
#1 0x000040004ab9de90 llvm::sys::RunSignalHandlers() (/work/groups/ssoft/compiler/llvm/aarch64/main-latest/lib/libLLVM.so.21.0git+0x5a5de90)
#2 0x000040004ab9dfec SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x000040003a7607a0 (linux-vdso.so.1+0x7a0)
#4 0x000040004f956274 raise (/lib64/libc.so.6+0x36274)
#5 0x000040004f940a2c abort (/lib64/libc.so.6+0x20a2c)
#6 0x000000000680a56c (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x680a56c)
#7 0x0000000005c632e4 Fortran::semantics::GetCrayPointer(Fortran::semantics::Symbol const&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x5c632e4)
#8 0x0000000005518cf8 (anonymous namespace)::HlfirDesignatorBuilder::gen(Fortran::common::Reference<Fortran::semantics::Symbol const> const&) ConvertExprToHLFIR.cpp:0:0
#9 0x000000000551fdb4 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<hlfir::EntityWithAttributes (*)((anonymous namespace)::HlfirDesignatorBuilder::gen(std::variant<Fortran::common::Reference<Fortran::semantics::Symbol const>, Fortran::evaluate::Component, Fortran::evaluate::Arra
yRef, Fortran::evaluate::CoarrayRef, Fortran::evaluate::ComplexPart> const&, bool)::'lambda'(auto const&)&&, std::variant<Fortran::common::Reference<Fortran::semantics::Symbol const>, Fortran::evaluate::Component, Fortran::evaluate::ArrayRef, Fortran::evaluate::CoarrayRef, Fortran::evaluate::ComplexPart> const&)>, s
td::tuple<std::variant<Fortran::common::Reference<Fortran::semantics::Symbol const>, Fortran::evaluate::Component, Fortran::evaluate::ArrayRef, Fortran::evaluate::CoarrayRef, Fortran::evaluate::ComplexPart> const&>, std::integer_sequence<unsigned long, 0ul>>::__visit_invoke((anonymous namespace)::HlfirDesignatorBuil
der::gen(std::variant<Fortran::common::Reference<Fortran::semantics::Symbol const>, Fortran::evaluate::Component, Fortran::evaluate::ArrayRef, Fortran::evaluate::CoarrayRef, Fortran::evaluate::ComplexPart> const&, bool)::'lambda'(auto const&)&&, std::variant<Fortran::common::Reference<Fortran::semantics::Symbol cons
t>, Fortran::evaluate::Component, Fortran::evaluate::ArrayRef, Fortran::evaluate::CoarrayRef, Fortran::evaluate::ComplexPart> const&) ConvertExprToHLFIR.cpp:0:0
#10 0x00000000055170d8 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<hlfir::EntityWithAttributes (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<
(Fortran::common::TypeCategory)2, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4> const&)&&, std::variant<Fortran::evaluate::ComplexComponent<4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Negate<Fortran::evaluat
e::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Add<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Subtract<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Multiply<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fo
rtran::evaluate::Divide<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Power<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::RealToIntPower<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Extremum<Fortran::evaluate
::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (Fortran::common::TypeCategory)0>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (Fortran::common::TypeCategory)2>, Fortran::evaluate::Conv
ert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (Fortran::common::TypeCategory)1>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Designa
tor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>> const&)>, std::tuple<std::variant<Fortran::evaluate::ComplexComponent<4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCateg
ory)2, 4>>, Fortran::evaluate::Negate<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Add<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Subtract<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Multiply<Fortran::ev
aluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Divide<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Power<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::RealToIntPower<Fortran::evaluate::Type<(Fortran::common::TypeCategory
)2, 4>>, Fortran::evaluate::Extremum<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (Fortran::common::TypeCategory)0>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (For
tran::common::TypeCategory)2>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (Fortran::common::TypeCategory)1>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::c
ommon::TypeCategory)2, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>> const&>, std::integer_sequence<unsigned long, 15ul>>::__visit_invoke(hlfir::EntityWithAttributes (anon
ymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4> const&)&&, std::variant<Fortran::evaluate::ComplexComp
onent<4>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Negate<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Add<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Subtract<Fortran::e
valuate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Multiply<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Divide<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Power<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4
>>, Fortran::evaluate::RealToIntPower<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Extremum<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (Fortran::common::TypeCategory)0>, F
ortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (Fortran::common::TypeCategory)2>, Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>, (Fortran::common::TypeCategory)1>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::
TypeCategory)2, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>> const&) Co
nvertExprToHLFIR.cpp:0:0
#11 0x0000000005540374 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 4>> const&) ConvertExprToHLFIR.cpp:0:0
#12 0x0000000005541320 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<hlfir::EntityWithAttributes (*)((anonymous namespace)::HlfirBuilder::gen(Fortran::evaluate::Relational<Fortran::evaluate::SomeType> const&)::'lambda'(auto const&)&&, std::variant<Fortran::evaluate::Relational<Fo
rtran::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)2, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)2, 3>>, Fortran::evalu
ate::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::Ty
pe<(Fortran::common::TypeCategory)2, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 3>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3,
4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 10>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 16>>, Fortran::evaluate::Relational<F
ortran::evaluate::Type<(Fortran::common::TypeCategory)4, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::commo
n::TypeCategory)1, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 2>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 8>>, Fortran::evalu
ate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 16>>> const&)>, std::tuple<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)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, 2>>, Fortran::evaluate::Relational<Fortr
an::evaluate::Type<(Fortran::common::TypeCategory)3, 3>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::T
ypeCategory)3, 10>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 2>>, Fortran::evaluat
e::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 2>>, 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, 16>>> const&>, std::integer_sequence<unsigned long, 7ul>>::__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::evalu
ate::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::TypeCatego
ry)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, 2>>, Fortran::evaluate::Relati
onal<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 3>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 8>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran:
:common::TypeCategory)3, 10>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)3, 16>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 2>>, Fortra
n::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)4, 4>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 1>>, Fortran::evaluate::Relational<Fortran::evaluate::Type<(Fortran::common::TypeCategory)1, 2>>, Fortran::evaluate::Relational<Fortran::evalu
ate::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, 16>>> const&) ConvertExprToHLFIR.cpp:0:0
#13 0x00000000054fe004 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<hlfir::EntityWithAttributes (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<
(Fortran::common::TypeCategory)5, 4>> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4> const&)&&, std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>, (Fortran::common::TypeCategory)5>, Fortran::evaluate::Parentheses<Fortran::evaluate::Ty
pe<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Ty
pe<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>> const&)>, std::tuple<std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fo
rtran::common::TypeCategory)5, 4>, (Fortran::common::TypeCategory)5>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constan
t<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fort
ran::common::TypeCategory)5, 4>>> const&>, std::integer_sequence<unsigned long, 4ul>>::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>
> const&)::'lambda'(Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4> const&)&&, std::variant<Fortran::evaluate::Convert<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>, (Fortran::common::TypeCategory)5>, Fortran::evaluate::Parentheses<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5,
4>>, Fortran::evaluate::Not<4>, Fortran::evaluate::LogicalOperation<4>, Fortran::evaluate::Relational<Fortran::evaluate::SomeType>, Fortran::evaluate::Constant<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::ArrayConstructor<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5,
4>>, Fortran::evaluate::Designator<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::FunctionRef<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>> const&) ConvertExprToHLFIR.cpp:0:0
#14 0x000000000552cffc hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>(Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>> const&) ConvertExprToHLFIR.cpp:0:0
#15 0x000000000552d080 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<hlfir::EntityWithAttributes (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>>(Fortran::evaluate::Expr<Fortran::evaluate::Some
Kind<(Fortran::common::TypeCategory)5>> const&)::'lambda'(Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5> const&)&&, std::variant<Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 1>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 2>>,
Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 8>>> const&)>, std::tuple<std::variant<Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 1>>, Fortran::evaluate::Ex
pr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 2>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 8>>> const&>, std::integer_sequence<unsigned long, 2ul>>::__visit_invoke(hlfir::En
tityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>>(Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>> const&)::'lambda'(Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5> const&)&&, std::variant<For
tran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 1>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 2>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::common::TypeCategory)5, 4>>, Fortran::evaluate::Expr<Fortran::evaluate::Type<(Fortran::c
ommon::TypeCategory)5, 8>>> const&) ConvertExprToHLFIR.cpp:0:0
#16 0x0000000005523828 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>>(Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>> const&) ConvertExprToHLFIR.cpp:0:0
#17 0x0000000005523890 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<hlfir::EntityWithAttributes (*)(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeType>(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&)::'lambda'(Fortran::e
valuate::SomeType const&)&&, std::variant<Fortran::evaluate::value::Integer<128, true, 32, unsigned int, unsigned long, 128>, Fortran::evaluate::NullPointer, Fortran::evaluate::ProcedureDesignator, Fortran::evaluate::ProcedureRef, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)0>>
, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)2>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)3>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind
<(Fortran::common::TypeCategory)5>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)1>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)6>>> const&)>, std::tuple<std::variant<Fortran::evaluate::value::Integer<128, true, 32, unsigned int, unsigne
d long, 128>, Fortran::evaluate::NullPointer, Fortran::evaluate::ProcedureDesignator, Fortran::evaluate::ProcedureRef, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)0>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)2>>, Fortran::evaluate::Exp
r<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)3>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeC
ategory)1>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)6>>> const&>, std::integer_sequence<unsigned long, 8ul>>::__visit_invoke(hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeType>(Fortran::evaluate::Expr<Fortran::evaluate::SomeTyp
e> const&)::'lambda'(Fortran::evaluate::SomeType const&)&&, std::variant<Fortran::evaluate::value::Integer<128, true, 32, unsigned int, unsigned long, 128>, Fortran::evaluate::NullPointer, Fortran::evaluate::ProcedureDesignator, Fortran::evaluate::ProcedureRef, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fo
rtran::common::TypeCategory)0>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)2>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)3>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)4>>, Fortran::evaluate::E
xpr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)5>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)1>>, Fortran::evaluate::Expr<Fortran::evaluate::SomeKind<(Fortran::common::TypeCategory)6>>> const&) ConvertExprToHLFIR.cpp:0:0
#18 0x000000000551f518 hlfir::EntityWithAttributes (anonymous namespace)::HlfirBuilder::gen<Fortran::evaluate::SomeType>(Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&) ConvertExprToHLFIR.cpp:0:0
#19 0x000000000551f6e0 Fortran::lower::convertExprToValue(mlir::Location, Fortran::lower::AbstractConverter&, Fortran::evaluate::Expr<Fortran::evaluate::SomeType> const&, Fortran::lower::SymMap&, Fortran::lower::StatementContext&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x551f6
e0)
#20 0x00000000052cc1a0 std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<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, F
ortran::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, For
tran::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, Fo
rtran::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, Fortra
n::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::pa
rser::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::OmpEndLoopD
irective, 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::parse
r::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::p
arser::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<Fo
rtran::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<Fort
ran::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<Fortra
n::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<Fo
rtran::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::Referen
ce<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<F
ortran::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::com
mon::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>, For
tran::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::NonLab
elDoStmt 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::EndIfSt
mt 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>, Fortra
n::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::EndMpSub
programStmt 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::Refe
rence<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 cons
t>, 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::par
ser::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::OmpEndLoo
pDirective const>, Fortran::common::Reference<Fortran::parser::CUFKernelDoConstruct const>> const&)>, std::tuple<std::variant<Fortran::common::Reference<Fortran::parser::AllocateStmt const>, Fortran::common::Reference<Fortran::parser::AssignmentStmt const>, Fortran::common::Reference<Fortran::parser::BackspaceStmt c
onst>, 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 c
onst>, 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::FailImage
Stmt 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 c
onst>, 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::PointerAssign
mentStmt 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::StopStm
t 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<For
tran::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::Refe
rence<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>, Fortra
n::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::Maske
dElsewhereStmt 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::Referenc
e<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 co
nst>, 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::commo
n::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::Open
ACCDeclarativeConstruct 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 c
onst>> 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::pa
rser::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::GotoStm
t, 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::R
ewindStmt, 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, Fortr
an::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::parse
r::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::pars
er::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::pars
er::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::Foral
lConstruct, Fortran::parser::CompilerDirective, Fortran::parser::OpenACCConstruct, Fortran::parser::OpenACCRoutineConstruct, Fortran::parser::OpenACCDeclarativeConstruct, Fortran::parser::OpenMPConstruct, Fortran::parser::OpenMPDeclarativeConstruct, Fortran::parser::OmpEndLoopDirective, Fortran::parser::CUFKernelDoC
onstruct>::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::comm
on::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::commo
n::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::co
mmon::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::co
mmon::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>, Fortr
an::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::PauseSt
mt 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::Bl
ockStmt 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::Refer
ence<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<F
ortran::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>, For
tran::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::E
ndForallStmt 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::Re
ference<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::CriticalConstruc
t 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>, Fo
rtran::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::Ref
erence<Fortran::parser::CUFKernelDoConstruct const>> const&) Bridge.cpp:0:0
#21 0x00000000052e3ac0 (anonymous namespace)::FirConverter::lowerFunc(Fortran::lower::pft::FunctionLikeUnit&) Bridge.cpp:0:0
#22 0x00000000052e5a50 Fortran::lower::LoweringBridge::lower(Fortran::parser::Program const&, Fortran::semantics::SemanticsContext const&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x52e5a50)
#23 0x00000000051a7150 Fortran::frontend::CodeGenAction::beginSourceFileAction() (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x51a7150)
#24 0x00000000051959f4 Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&, Fortran::frontend::FrontendInputFile const&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x51959f4)
#25 0x0000000005183284 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x5183284)
#26 0x000000000519abf4 Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x519abf4)
#27 0x000000000517b8c4 fc1_main(llvm::ArrayRef<char const*>, char const*) (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x517b8c4)
#28 0x000000000517b280 main (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x517b280)
#29 0x000040004f944384 __libc_start_main (/lib64/libc.so.6+0x24384)
#30 0x0000000005179744 _start (/work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin/flang+0x5179744)
flang-21: error: unable to execute command: Aborted (core dumped)
flang-21: error: flang frontend command failed due to signal (use -v to see invocation)
flang version 21.0.0git (https://github.com/llvm/llvm-project.git 6a9a16da7a380e18b996bb6573eeb18b913204fc)
Target: aarch64-unknown-linux-gnu
Thread model: posix
InstalledDir: /work/groups/ssoft/compiler/llvm/aarch64/main-20250707-6a9a16da7a38/bin
Build config: +assertions
flang-21: note: diagnostic msg:
********************
PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
flang-21: note: diagnostic msg: /tmp/sngg781d_2-7b3b02
flang-21: note: diagnostic msg: /tmp/sngg781d_2-7b3b02.sh
flang-21: note: diagnostic msg:
********************
$
$ gfortran sngg781d_2.f90 -fcray-pointer; ./a.out
pass
$
$ ifx sngg781d_2.f90
#0 0x000000000312d792
#1 0x0000000003191e57
#2 0x0000000003191f80
#3 0x000014d704d3b6f0
#4 0x0000000002ec61da
#5 0x0000000002f2a0b3
#6 0x0000000002f07fa4
#7 0x0000000002f043b9
#8 0x0000000002f0383c
#9 0x0000000002f8984a
#10 0x00000000031779da
#11 0x0000000003077c20
#12 0x000000000324df17
#13 0x000014d704d26590
#14 0x000014d704d26640 __libc_start_main + 128
#15 0x0000000002eb06ea
sngg781d_2.f90: error #5633: **Internal compiler error: segmentation violation signal raised** Please report this error along with the circumstances in which it occurred in a Software Problem Report. Note: File and line given may not be explicit cause of this error.
compilation aborted for sngg781d_2.f90 (code 3)
$
sngg781d_3.f90:
module m1
pointer(ptr,pp)
end module m1
module m2
! use m1,only:renamea=>pp
use m1,only:pp
contains
subroutine sub
use m1,only:ptr
implicit none
ptr=malloc(4)
pp=1
end subroutine sub
end module m2
program main
use m2
call sub
! if( renamea/=1) print *,'err'
if( pp/=1) print *,'err'
print *,'pass'
end program main
$ flang sngg781d_3.f90; ./a.out
pass
$