<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/92678>92678</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Flang] fatal internal error: CHECK(index < argCount) failed at /root/llvm-project/flang/lib/Evaluate/characteristics.cpp(1344)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
k-arrows
</td>
</tr>
</table>
<pre>
Reproducible on Godbolt:
https://godbolt.org/z/7oz9T1bWG
Reproducer (reduced and modified from https://github.com/llvm/llvm-test-suite/blob/main/Fortran/gfortran/regression/abstract_type_6.f03):
```console
$ cat test.f03
module m
type, abstract :: top
contains
procedure :: proc_c => top_c
end type top
type, extends(top) :: bottom
contains
procedure :: proc_c => bottom_c
end type bottom
contains
subroutine bottom_c(obj)
class(bottom) :: obj
call top_c(obj)
end subroutine bottom_c
end module
```
Stack dump:
```console
fatal internal error: CHECK(index < argCount) failed at /root/llvm-project/flang/lib/Evaluate/characteristics.cpp(1344)
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new -fc1 -triple x86_64-unknown-linux-gnu -S -mrelocation-model pic -pic-level 2 -pic-is-pie -target-cpu x86-64 -mllvm -x86-asm-syntax=intel -resource-dir /opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/.. -mframe-pointer=all -o /app/output.s -x f95-cpp-input /app/example.f90
#0 0x0000000003870558 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x3870558)
#1 0x000000000386decc SignalHandler(int) Signals.cpp:0:0
#2 0x00007c8aaec42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x00007c8aaec969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#4 0x00007c8aaec42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#5 0x00007c8aaec287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#6 0x0000000004e468c9 (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x4e468c9)
#7 0x00000000044b991f Fortran::evaluate::characteristics::Procedure::FindPassIndex(std::optional<Fortran::parser::CharBlock>) const (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x44b991f)
#8 0x000000000437775b Fortran::semantics::CheckHelper::CheckProcBinding(Fortran::semantics::Symbol const&, Fortran::semantics::ProcBindingDetails const&) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x437775b)
#9 0x0000000004388705 Fortran::semantics::CheckHelper::Check(Fortran::semantics::Symbol const&) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x4388705)
#10 0x000000000438893c Fortran::semantics::CheckHelper::Check(Fortran::semantics::Scope const&) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x438893c)
#11 0x00000000043889a8 Fortran::semantics::CheckHelper::Check(Fortran::semantics::Scope const&) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x43889a8)
#12 0x00000000043889a8 Fortran::semantics::CheckHelper::Check(Fortran::semantics::Scope const&) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x43889a8)
#13 0x0000000004388fed Fortran::semantics::CheckDeclarations(Fortran::semantics::SemanticsContext&) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x4388fed)
#14 0x000000000426be77 Fortran::semantics::Semantics::Perform() (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x426be77)
#15 0x00000000038c2005 Fortran::frontend::FrontendAction::runSemanticChecks() (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x38c2005)
#16 0x0000000003bef85a Fortran::frontend::CodeGenAction::beginSourceFileAction() (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x3bef85a)
#17 0x00000000038c1415 Fortran::frontend::FrontendAction::beginSourceFile(Fortran::frontend::CompilerInstance&, Fortran::frontend::FrontendInputFile const&) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x38c1415)
#18 0x00000000038b0d17 Fortran::frontend::CompilerInstance::executeAction(Fortran::frontend::FrontendAction&) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x38b0d17)
#19 0x00000000038c745d Fortran::frontend::executeCompilerInvocation(Fortran::frontend::CompilerInstance*) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x38c745d)
#20 0x0000000002020c08 fc1_main(llvm::ArrayRef<char const*>, char const*) (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x2020c08)
#21 0x0000000001f0ede4 main (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x1f0ede4)
#22 0x00007c8aaec29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#23 0x00007c8aaec29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#24 0x000000000201fb6e _start (/opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin/flang-new+0x201fb6e)
flang-new: error: unable to execute command: Aborted (core dumped)
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 881f20e958e80bd30463fc57d2d3e891bcb8a571)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /opt/compiler-explorer/clang-llvmflang-trunk-20240518/bin
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWctu2zwWfhpmQ8iQqPsiC9eO22JmUfwpMEuDIo9s_qFIgaRSp08_ICVf5LZpU9SDmQkSR7yd833nQpHH1FqxUwD3KH-H8vUdHdxem_uniBqjv9i7RvOX-7-gN5oPTDQSsFb4veaNlg6lSxSvUbzcO9db3yIbRDa7cXShzQ6RzVdENqX-Wn9Omn-9H6ePn0ehYDAilQH_yDFVHHeai1YAx63RHb4SLtx-aBZMd4hspHw-_oscWBfZQThAZNNI3SCy6ahQiGw22jhD_dOuPT0a2BmwVmjfoI11hjK3dS89bItFG6eI1Cd-qIjHX6aV1RKmXpJhRh32msOK0NtpPkjA3djy8hBZ4aMC7GWmS-x0P05gWjkqlB1bGOPeaAZ8MHCc6ju2DKN0jdIHv3DLxsmgOPbyz8LmOuHgQHGLSOUnkPoosNHO6e731I9rv0HwY5Hjpx0aowcnFJwlkEo3f3srH1UzSa1HOwk7A_bzTpOolJMR5gI8lu-pOQ2Ojrly6CXIR0fZE-ZD1__E8S11VGKhHBhFJQZjtPE4Vx8eVv9ApBKKwwGjdIWp2a30oJwn01IhfYA77KNPa3eM3N7ov4H5Ziup8jkjhY_eh2cqBxrime2pjx4wwjrB7IL1PSJVkmbZif-nfz4sHx-8CTrhMMXNsMMGem0cdvpXk-gMRVg7gEVkEzJSKCYHDtjtATND7R43lD35iIbFD40XL1BcfzJ6Z2jnLTF0oJwH4Q2ge6-F6a4XEkwEh15qA8b3eSNEHk4wR-TMoJ4iEpMszpPKJ3dI6nFQwRcctSzBkTOil4APVbEtsmhQT0p_UZEUajhEOzXg6BFHnQGpGXVCq6jTHCTuBcNRL1gk4RkkJmND2KgXgCNHzQ5cxPrBy42KDEedB4Yj36S2i-yLcvSA0rWPBokjA1YPhkHEhfkjNBcLHHWtoR1EvQ4hh9K1z4FIe_nUB8JGD64f3MLi6IDbOo9Y30dC9YM7T4ED7XoJi7aeYh4jksY4PsTHn7Qq4zyvcIiHkHj2xY4Pn4xQLnj4s3c5ItV5kqFftto6A7RDpPD7jhjjHZHqj_oZkXfxYQJ53jYQSZM5i4IDY_hR7BSVH6ji0murJlBj95hA6TIOfydBZBJUsopSYBnJSTzRGDNyCq5TUI0DbGH1ogjwwpIZuHQusy7qluHe7Q1Qvn0SUr5NQVg_U5Bdg87KAu9s4PlW8FlZzGTnc9mkKtsU08bvKW-SHBbOJBeXPssgKyp2o4iZhM-0lzPtWVPXSYuPp4QQ1XDce0Pravs9JsX0phybG6H4J2rtR7_5I1JZx8cB3fv9hkqUrmYqemqsz2b_vNpT805q9oTSBx-m_nXjbmSPke7MHtXMHmlZlnkzt4eFjqoz99Ue2NMHkP2ZALAnb5F3QnHhX2LVa-sfX7pGy5HmtGu8Nv1C8BocFdJeLL1V3IxmmNmpntup8pvRb9jprca5GcNA4MTQb6XxNcM6ZTdgyHQP_xmCdcpmBJNvCNLqf5sgrWYEyf87wfSaYAv85wTXwCQ14ehnf8bt2Fxp5eBwc4It8BnBbEaQFA2U5asEH692SzCtNl3AeyvYI6oZ7Hx-DGMkvt4cW-MNqqb34mZqLZl3ynSYHNSRTPCavSWJCeOMxOxckjbQVjl9jcRKc3gP6pJDAzuhHsMtYCMkTEO35DHCnPEor5yRZMmbnXFF5Dprrg0xsvmorKPK3xG-fat_X-VHf1HxCm6_nUyGmFmqmluqiXlSvu7xK6LjefEAbHBnZ_-6qW9KN7CZ0a2vAqPMcv4a3YnYmfXzdIF-azgsb-lVz-KSJpmdY0hMYhZXuGXJdiwJXtxfl8bQl7-gRenKH_OPQbgMJ_EVnvfdisKEcEZhdlJJ2hg4ZNjDvw2EScMMwtWFmNS8fuOFOCyZyUyvZUIW4-3WL9taR43bXnD8ZS2QzbVkc_8nbVMAHuXfyoNBxwnEeTRdniuEg6KNBOw0nvIKM911NGQNXvqLNXCPj2kDoZh2cTT4vsTQi4_JdxR3LDbyISg7VwMGCzh6Dn0AWFxk87UW_AzGCq1wUi_iRbwTwXBvqyMu_KqqSloSQ51XUMUNT-OsSFuWl5zwFKo6aVhT0bxMThA-h6qbJ_ejYt40LxRRcCjkhUq1tuIwDoVtR0rga2H-TMFxXg6-4_cpr9Oa3sF9UiZFXFd5md_t75uW10WR0rpiWQIxJVVdVTmnJc1pCw3ciftJcB0XMcnzRZoVPC5yVqd5kRNeoSyGjgq58IAW2uzuQin2viZFWd1J2oC04csaQqZyMUH5-s7cB8M3w86iLJbCOnuW4IST4RueTViRr_F_WQn7bjDy_vdr1ME2_w4AAP__O6VEHA">