<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/98635>98635</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang-19 crashed: Assertion `i < NumArgs && "getArg() out of range!"' failed.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          iamanonymouscs
      </td>
    </tr>
</table>

<pre>
    Clang-19 with attribute `regcall` enabled.

Compiler explorer(assertion trunck): https://godbolt.org/z/T7xbbWjfG
```
$cat mutant.c
struct a {};
__attribute__((regcall)) b(struct a) {}

$clang-19 mutant.c
clang-19: /home/compiler/llvm/llvm/include/llvm/IR/Function.h:850: Argument *llvm::Function::getArg(unsigned int) const: Assertion `i < NumArgs && "getArg() out of range!"' failed.
root@65dac7c84719:/home/code/reduce# tmux atttach-session -t reduce
unknown command: atttach-session
root@65dac7c84719:/home/code/reduce# tmux attach-session -t reduce
[detached (from session reduce-2)]
root@65dac7c84719:/home/code/reduce# /home/software/llvm-trunk-eed7c5e/bin/clang mutant.c
mutant.c:2:26: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int]
    2 | __attribute__((regcall)) b(struct a) {}
      | ~~~~~~~~~~~~~~~~~~~~~~~~ ^
      | int
mutant.c:2:36: warning: omitting the parameter name in a function definition is a C23 extension [-Wc23-extensions]
    2 | __attribute__((regcall)) b(struct a) {}
      |                                    ^
clang-19: /home/compiler/llvm/llvm/include/llvm/IR/Function.h:850: Argument *llvm::Function::getArg(unsigned int) const: Assertion `i < NumArgs && "getArg() out of range!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /home/software/llvm-trunk-eed7c5e/bin/clang-19 -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name mutant.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/code/reduce -fcoverage-compilation-dir=/home/code/reduce -resource-dir /home/software/llvm-trunk-eed7c5e/lib/clang/19 -internal-isystem /home/software/llvm-trunk-eed7c5e/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/mutant-d0f4b9.o -x c mutant.c
1.      <eof> parser at end of file
2.      mutant.c:2:26: LLVM IR generation of declaration 'b'
3. mutant.c:2:26: Generating code for declaration 'b'
 #0 0x00007f9effd33617 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xffc617)
 #1 0x00007f9effd2fb92 llvm::sys::RunSignalHandlers() (/home/software/llvm-trunk-eed7c5e/bin/../lib/libLLVM.so.19.0git+0xff8b92)
 #2 0x00007f9effd33d91 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f9efe817520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f9efe86b9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007f9efe817476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007f9efe7fd7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007f9efe7fd71b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007f9efe80ee96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00007f9f1c081b8f clang::CodeGen::CodeGenFunction::EmitFunctionProlog(clang::CodeGen::CGFunctionInfo const&, llvm::Function*, clang::CodeGen::FunctionArgList const&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x392cb8f)
#10 0x00007f9f1c5a3762 clang::CodeGen::CodeGenFunction::StartFunction(clang::GlobalDecl, clang::QualType, llvm::Function*, clang::CodeGen::CGFunctionInfo const&, clang::CodeGen::FunctionArgList const&, clang::SourceLocation, clang::SourceLocation) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x3e4e762)
#11 0x00007f9f1c5a6caa clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x3e51caa)
#12 0x00007f9f1c5efcb4 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x3e9acb4)
#13 0x00007f9f1c5e2067 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x3e8d067)
#14 0x00007f9f1c5e9275 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x3e94275)
#15 0x00007f9f1c5e04ed clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x3e8b4ed)
#16 0x00007f9f1c75e164 (anonymous namespace)::CodeGeneratorImpl::HandleTopLevelDecl(clang::DeclGroupRef) ModuleBuilder.cpp:0:0
#17 0x00007f9f1c57e57c clang::BackendConsumer::HandleTopLevelDecl(clang::DeclGroupRef) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x3e2957c)
#18 0x00007f9f195b02ab clang::ParseAST(clang::Sema&, bool, bool) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0xe5b2ab)
#19 0x00007f9f1de98ed5 clang::FrontendAction::Execute() (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5743ed5)
#20 0x00007f9f1dd51cbb clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x55fccbb)
#21 0x00007f9f1df99fd1 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/home/software/llvm-trunk-eed7c5e/bin/../lib/libclang-cpp.so.19.0git+0x5844fd1)
#22 0x00005566ff03b1bf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/home/software/llvm-trunk-eed7c5e/bin/clang-19+0x1d1bf)
#23 0x00005566ff030a94 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#24 0x00005566ff02f2b5 clang_main(int, char**, llvm::ToolContext const&) (/home/software/llvm-trunk-eed7c5e/bin/clang-19+0x112b5)
#25 0x00005566ff057e25 main (/home/software/llvm-trunk-eed7c5e/bin/clang-19+0x39e25)
#26 0x00007f9efe7fed90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#27 0x00007f9efe7fee40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#28 0x00005566ff02c6d5 _start (/home/software/llvm-trunk-eed7c5e/bin/clang-19+0xe6d5)
clang: error: unable to execute command: Aborted (core dumped)
clang: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 19.0.0git (https://github.com/llvm/llvm-project.git eed7c5e29c1dc5f78bd01608430e2b4e0c439bb1)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/software/llvm-trunk-eed7c5e/bin
Build config: +assertions
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg: /tmp/mutant-64b4f4.c
clang: note: diagnostic msg: /tmp/mutant-64b4f4.sh
clang: note: diagnostic msg: 

********************
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzkWktv3LqS_jX0psCGRL0XXrTbbh8DPjeZ2HPOskGRJZknkiiQlOPMYn77gFK_1LFz00kMDHAbfrQosljfx6piUSVurao7xEuSXJHk-oIP7kmbS8Vb3unua6sHK-xFqeXXy1XDu5qGBXxR7gm4c0aVg0MgaWCwFrxpSBoAdrxsUC5IcE2C5fR3pdteNWgAX_pGGzSE5dxaNE7pDpwZOvGZsIJES3hyrrckWhK2Jmxda1nqxi20qQlb_w9h68fspSz__qe63cpPg-3PdMliwR20g-OdW4ip0TozCAccSHZFsmsSXU3tm80ew2ZDWE5YvsPBCsIKKAnLd4P99Xb8ETA_346V-aS7Zo-JsPWTbpGwtdgSQdi6aZ7bwz_ViWaQeGi4-0TYej10wlO0eCLRMk8CL2xp6qHFzgFhy7FvtCTRctdzuqrRLT1j-dCNqytBdc4jELqzbpSyZ5-kgQISreBfQ7s0tQXCUsJSIIztxfihenCgKzC8q5GwkDBGWAYVV4fFNlo7EgdpIrnIRB5nI_xj9CNCg3IQSFgErh1evCE5Lp6oRWu9QtTBtscodOg-d_pLB0K3Le-kV_5kxC9O_p25SXIl0XdACYTlldEt7LpO_SjztpJc_6QOh1tWV-4LNzsLoN4pPlNEmYnEN5aq8wK8VZ1Y2v4qWjL_m3qK0Bht_Bf3tUewPQpVKTTQKmtVVxO2AokVHxpnwWkgLBstJCPRFdw9fIBVUQDvJDTcoQGpodMO7ND32jhQbd8ooZy3KiDJFf1710K9lB0bAAAMSLaCX_I0GD9ezP--8QGS3Jz29Yq8Rk800vOFm87TEC1Bt8o51dXgnhB6bniLHnLHWwTVAYdq61qeMNWp8auywGHFIsAXh91oDyMPgkV032Tfj4kf-Ow5-U-MRB_vb5YPN2CHslU-8pdDDQZH43X6dI9R7mkoF0K3cy5ob_Q_KJznxNoBLWHr0Se2DI0GIwy3T1By8dkZ7n16Bb3B3miB1qIEqwczNfuR3FotFHcowQwdWGFU77YqPzguPoMc2t5rNjYFC_hodG14C3zLtZ2v4hlRw29RVIgQqDOqbxBe8nSTxnQbX2mjuuGF1t0AFFvlqC7_AerVkcoAp0Clsn5np5VBBCoa5IZy62iJlTZIPQfYSaAtVx2tVIN09KGd_wFtDTZacL_WtNUSG-iVANorQRt8xgbYdKEs7RUCbSvvjLTXqnNoSHTNmwZo1XL3RNGYTgOtqp4K3XnuHYmufQSvOk2NHjqpupr6vkDb0di8T2lDeaO4RQu0GrovqpPUeVSWRNcMqOOmRkdFP3h6aBoDdUOHY0ONHRqvsMRyqGs0_tYYRK5rWQKtxnY6OdaEUiqv9hvxH2gl9DMaXuM5gwxONuX7nWEJjSp3lkDY2tvCyGrHG6rsV-uw_QVhh7DxutjBjnFGC978YNdxgloIwtZbO93bp58xJGy9WHz755W-387mA7TpxLezHkLfqZzvjz5_CqDVuEPTRvkA5ZejqrtB0Gc0Y0oTXccLtgiBVvaz6qmWhoonFJ-p6mjdVqPtNNpQqXjdaeuU8BbNpTRW1UCvN5vb1Wrzx_Kvm83138tPa7ZZre82y4c_SXQdAvU7_tq1PWHryT-pDKq4LBYa6AuIkwwjXGy3lGiFuiLRjd8nLRrgDrzL6wq8v0-d2bbzq2nJ_f1ff8Ldp8mXRnP3gyWKhm8vCctKn4eMsqLF62Jut8O7Grx3QKXN20KAsCiA4CUIgiCrCqwqGUVpmMFhz7Jf7fTlo1GdGyPx4xTO80Mnw79stHUGeTtuTKvdVjZuS-dF5NFYJyNvVOlZWVi9CItFUCtH2FXwUlUiDTOfFOxBhHMQrCoL9hqIT0P3oOqON3_wTjZo7HbffCc987JgMz3ZKdmyCGGmEWH5lrup2S5E77e9YPzdC4qOBWEeZgkLtigmnV5x90aVwuuYjtrFLGHBTLl4LjMti0pA754Mcrn5rJrmvAmKtKjEbILkVOk4S6G2I85zlY-zdCY7ncnOKplVEfDSpzVnSWZ5VkUzydk3ksPybJlhOZOZz5kIEIv0PJlRgcWcgeIgswpFkIdlXsG0EY22v9ISb7GbXcwz0ptWuV3LR6Mb7dPKNyXc7rredZXeJq2T87-S8bKlv_GWrF23panvlXVHwn6Da04pnuj7U_-MCibKvNqT6ONIMCMx4VGWsvNIfHDcuAPuY_5uG13y5hpFc0LGfw28efza40-R952FOJ_v2ZiHMZu63yam_-bmu64UxpilbLZS4clKpYLz81Zqu1Xiaswi316o37ci78tREgrOZxyxOUdYiTL-dxz9qeXQ4CEgTFzsAF3vD_o_xtjU_hdvBhxJe18GCi7KeMZAdMIAC9Ls5xj4_408l0GazZDHJ8gLliU_h_xtvO-8mjHLkhmm5ARTEKM8F9Oj7u_9kXpCcIxsann_pSpjlDNY6QxWlmCYxl6FfZlhfORm-zHtLmbofADT5q7tm6l5yiK_j_HW6KH_hH7jg4mdq0E1Es23qabXLpuTnmGSiWPSr6anGyvd2aFF83N6vCfhrEgyMSM8P4ZUJGXAeHkM6aM_wy0fHuc6P2DLt5tkqXVz-P-e6mNSMl7OtJ8lehKLHOXMs9dGdw47uTxO7V5QDA5_13HnTXWTLI5QzryWzXIqKZNQlOXca6fnrXeddbwTONN4-UoedQLwvXfWJKmEKGdrwGbZh6yKopLhMaat9gdoz_tEKf8e9PcOP0kex5UMZ1h2WUKSpGlVBVEZlhUIEW5a7kUfnfOXxvCv3mOjlXjiZpfZLEl0M-ZDsza2gmet5M9D2j-d94qHMixnqTqLTtQOeBHDjvdV-Di65pHyDy1vmr9Q7OPlKxhOji9exsrb2sv8TCKNen4jXLJ4rharWLn1zh2f4_l-YmskZ_ljk_4ygyEr546ZzFVNMmQJeCV_ea6oQDaf6_R8jrI484EFK2QRzGSenswR4wA2Gz9sY_0xbHME5odnwXg-S36yoCKVCUzyf5knTI9i5S4uHCqUw_jCADgNONn1cal3WWrjpuqr0AbH-shRYvGttKlCWm2D507UtjoEchgnOjyNGSwCfR7bEEEdRbDjGWD7WBZ8lBnjjB97Xhlp4UdteWKFCKVIqiwvZRCmQR5HAbIyxkDEUVGWh9D1OBYkPLC3yjXbfuMDLBjLKr53r616mW6NYbdpUF4rc371aBQxpk7eTytVTyKu9q9v2JOV6LTzmxscnkxDa6dRW2v7hZ-jVy-2Jb7l4-Ny9Qc8_nED6w_39x_-vvvXLazv7m8e4PHD2Hz137fw6ebjh0-P-8Lax9dKdLn1AejNMt2-g0EYy1gogbu9yB_Bf_LIPY3LuIpnL4z8lAD7dO4S_K6F2L18cyEvI1lEBb_AyzBjQVZEQVpcPF0GcYQZsjJLw1JIkTORpnFRJDGWaZHn6YW6ZAGLgyxkYRzErFjEZRCWKLM8CIpUyITEAbZcNQtvoQtt6ouxGHtZ5GmUXDS8xMaO7y4x1uEXGG8SxkhyfWEuR6suh9qSOGiUdfYgxSnX4OGVprGOi_IdCtIXg2kuf77iPOF8vmT_FwAA__9QlI8v">