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

    <tr>
        <th>Summary</th>
        <td>
            SIGILL when attempting to print result of an overloaded function
        </td>
    </tr>

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

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

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

<pre>
    I have a reproducible crash when attempting to print a method call.

`lldb version 19.1.7`, Fedora Linux.

**My commands**
```
(lldb) file bin/Debugx64Clang/factorio-test
(lldb) b tests/TestFlip.cpp:256
(lldb) r -t FlipLinkedConnection
(lldb) p pump->getDirection()
```

**Source code**

Notes:

* `pump->getDirection()` is a heavily overloaded method which, in the case of a `Pump` entity, just returns `this->direction`.
* `TEST` and `CHECK_EQUAL` are macros.

```cpp
  TEST(FlipLinkedConnection)
  {
    TestScenario scenario;
    Pump* pump = scenario.addEntity("pump-with-linked-connection", MapPosition(0, 0.5));
 CHECK_EQUAL(pump->flip(Flip(true, false)), ActionResult::Success); // Breakpoint is on this line
    CHECK_EQUAL(pump->getDirection(), Direction::South);
    pump->setDirection(Direction::East);
 CHECK_EQUAL(pump->flip(Flip(false, true)), ActionResult::Success);
 CHECK_EQUAL(pump->getDirection(), Direction::West);
 }
```

**Backtrace**

The diagnostics folder contains one file - `diagnostics.log` - which is completely empty.

```
(lldb) print pump->getDirection()
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: lldb
1. HandleCommand(command = "print pump->getDirection()")
2.      <eof> parser at end of file
3.      <lldb wrapper prefix>:43:16: Generating code for declaration 'SuiteFlip::NullFixtureFlipLinkedConnectionHelper::$__lldb_expr'
 #0 0x00007f541d817b7a llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM.so.19.1+0x217b7a)
 #1 0x00007f541d814b24 llvm::sys::RunSignalHandlers() (/lib64/libLLVM.so.19.1+0x214b24)
 #2 0x00007f541d8182eb (/lib64/libLLVM.so.19.1+0x2182eb)
 #3 0x00007f541d027050 __restore_rt (/lib64/libc.so.6+0x1a050)
 #4 0x00007f5418c5418c (/lib64/libclang-cpp.so.19.1+0xa5418c)
 #5 0x00007f5418c52bcd (/lib64/libclang-cpp.so.19.1+0xa52bcd)
 #6 0x00007f5418c51e4a (/lib64/libclang-cpp.so.19.1+0xa51e4a)
 #7 0x00007f5418c51e4a (/lib64/libclang-cpp.so.19.1+0xa51e4a)
 #8 0x00007f5418c51e4a (/lib64/libclang-cpp.so.19.1+0xa51e4a)
 #9 0x00007f5418c50980 (/lib64/libclang-cpp.so.19.1+0xa50980)
#10 0x00007f5418c4376f (/lib64/libclang-cpp.so.19.1+0xa4376f)
#11 0x00007f5418c42fd7 clang::ItaniumVTableContext::computeVTableRelatedInformation(clang::CXXRecordDecl const*) (/lib64/libclang-cpp.so.19.1+0xa42fd7)
#12 0x00007f5418c427b7 clang::ItaniumVTableContext::getMethodVTableIndex(clang::GlobalDecl) (/lib64/libclang-cpp.so.19.1+0xa427b7)
#13 0x00007f5419fce3aa (/lib64/libclang-cpp.so.19.1+0x1dce3aa)
#14 0x00007f5419c19e6b clang::CodeGen::CodeGenFunction::EmitCall(clang::CodeGen::CGFunctionInfo const&, clang::CodeGen::CGCallee const&, clang::CodeGen::ReturnValueSlot, clang::CodeGen::CallArgList const&, llvm::CallBase**, bool, clang::SourceLocation, bool) (/lib64/libclang-cpp.so.19.1+0x1a19e6b)
#15 0x00007f5419d1a69a clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorCall(clang::CXXMethodDecl const*, clang::CodeGen::CGCallee const&, clang::CodeGen::ReturnValueSlot, llvm::Value*, llvm::Value*, clang::QualType, clang::CallExpr const*, clang::CodeGen::CallArgList*) (/lib64/libclang-cpp.so.19.1+0x1b1a69a)
#16 0x00007f5419d1d94f clang::CodeGen::CodeGenFunction::EmitCXXMemberOrOperatorMemberCallExpr(clang::CallExpr const*, clang::CXXMethodDecl const*, clang::CodeGen::ReturnValueSlot, bool, clang::NestedNameSpecifier*, bool, clang::Expr const*) (/lib64/libclang-cpp.so.19.1+0x1b1d94f)
#17 0x00007f5419d1b6b8 clang::CodeGen::CodeGenFunction::EmitCXXMemberCallExpr(clang::CXXMemberCallExpr const*, clang::CodeGen::ReturnValueSlot) (/lib64/libclang-cpp.so.19.1+0x1b1b6b8)
#18 0x00007f5419d04265 clang::CodeGen::CodeGenFunction::EmitCallExpr(clang::CallExpr const*, clang::CodeGen::ReturnValueSlot) (/lib64/libclang-cpp.so.19.1+0x1b04265)
#19 0x00007f5419d19d18 (/lib64/libclang-cpp.so.19.1+0x1b19d18)
#20 0x00007f5419d15195 (/lib64/libclang-cpp.so.19.1+0x1b15195)
#21 0x00007f5419d10ddd (/lib64/libclang-cpp.so.19.1+0x1b10ddd)
#22 0x00007f5419d08dea (/lib64/libclang-cpp.so.19.1+0x1b08dea)
#23 0x00007f5419d08d29 clang::CodeGen::CodeGenFunction::EmitAggExpr(clang::Expr const*, clang::CodeGen::AggValueSlot) (/lib64/libclang-cpp.so.19.1+0x1b08d29)
#24 0x00007f5419d1e888 clang::CodeGen::CodeGenFunction::EmitCXXConstructExpr(clang::CXXConstructExpr const*, clang::CodeGen::AggValueSlot) (/lib64/libclang-cpp.so.19.1+0x1b1e888)
#25 0x00007f5419d1230e (/lib64/libclang-cpp.so.19.1+0x1b1230e)
#26 0x00007f5419d0fefe (/lib64/libclang-cpp.so.19.1+0x1b0fefe)
#27 0x00007f5419d08d29 clang::CodeGen::CodeGenFunction::EmitAggExpr(clang::Expr const*, clang::CodeGen::AggValueSlot) (/lib64/libclang-cpp.so.19.1+0x1b08d29)
#28 0x00007f5419cc801b clang::CodeGen::CodeGenFunction::EmitCXXGlobalVarDeclInit(clang::VarDecl const&, llvm::GlobalVariable*, bool) (/lib64/libclang-cpp.so.19.1+0x1ac801b)
#29 0x00007f5419fcfc9c (/lib64/libclang-cpp.so.19.1+0x1dcfc9c)
#30 0x00007f5419cb7a30 clang::CodeGen::CodeGenFunction::AddInitializerToStaticVarDecl(clang::VarDecl const&, llvm::GlobalVariable*) (/lib64/libclang-cpp.so.19.1+0x1ab7a30)
#31 0x00007f5419cb5df7 clang::CodeGen::CodeGenFunction::EmitStaticVarDecl(clang::VarDecl const&, llvm::GlobalValue::LinkageTypes) (/lib64/libclang-cpp.so.19.1+0x1ab5df7)
#32 0x00007f5419cb547d clang::CodeGen::CodeGenFunction::EmitDecl(clang::Decl const&) (/lib64/libclang-cpp.so.19.1+0x1ab547d)
#33 0x00007f5419e91a2b clang::CodeGen::CodeGenFunction::EmitSimpleStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/lib64/libclang-cpp.so.19.1+0x1c91a2b)
#34 0x00007f5419e90562 clang::CodeGen::CodeGenFunction::EmitStmt(clang::Stmt const*, llvm::ArrayRef<clang::Attr const*>) (/lib64/libclang-cpp.so.19.1+0x1c90562)
#35 0x00007f5419ea02bc clang::CodeGen::CodeGenFunction::EmitCompoundStmtWithoutScope(clang::CompoundStmt const&, bool, clang::CodeGen::AggValueSlot) (/lib64/libclang-cpp.so.19.1+0x1ca02bc)
#36 0x00007f5419f12fcb clang::CodeGen::CodeGenFunction::GenerateCode(clang::GlobalDecl, llvm::Function*, clang::CodeGen::CGFunctionInfo const&) (/lib64/libclang-cpp.so.19.1+0x1d12fcb)
#37 0x00007f5419f3cd26 clang::CodeGen::CodeGenModule::EmitGlobalFunctionDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/lib64/libclang-cpp.so.19.1+0x1d3cd26)
#38 0x00007f5419f340e0 clang::CodeGen::CodeGenModule::EmitGlobalDefinition(clang::GlobalDecl, llvm::GlobalValue*) (/lib64/libclang-cpp.so.19.1+0x1d340e0)
#39 0x00007f5419f39262 clang::CodeGen::CodeGenModule::EmitGlobal(clang::GlobalDecl) (/lib64/libclang-cpp.so.19.1+0x1d39262)
#40 0x00007f5419f32c65 clang::CodeGen::CodeGenModule::EmitTopLevelDecl(clang::Decl*) (/lib64/libclang-cpp.so.19.1+0x1d32c65)
#41 0x00007f5419ff3c0c (/lib64/libclang-cpp.so.19.1+0x1df3c0c)
#42 0x00007f5425f36d20 (/lib64/liblldb.so.19.1+0xd36d20)
#43 0x00007f54183f54e6 clang::ParseAST(clang::Sema&, bool, bool) (/lib64/libclang-cpp.so.19.1+0x1f54e6)
#44 0x00007f5425f587d2 (/lib64/liblldb.so.19.1+0xd587d2)
#45 0x00007f5425f2bc57 (/lib64/liblldb.so.19.1+0xd2bc57)
#46 0x00007f5425f2c53b (/lib64/liblldb.so.19.1+0xd2c53b)
#47 0x00007f542568ffc4 (/lib64/liblldb.so.19.1+0x48ffc4)
#48 0x00007f542584b85e (/lib64/liblldb.so.19.1+0x64b85e)
#49 0x00007f5425df9f9e (/lib64/liblldb.so.19.1+0xbf9f9e)
#50 0x00007f54257012ba (/lib64/liblldb.so.19.1+0x5012ba)
#51 0x00007f54256ef0c5 (/lib64/liblldb.so.19.1+0x4ef0c5)
#52 0x00007f54256f5a28 (/lib64/liblldb.so.19.1+0x4f5a28)
#53 0x00007f54255ee641 (/lib64/liblldb.so.19.1+0x3ee641)
#54 0x00007f54255c170a (/lib64/liblldb.so.19.1+0x3c170a)
#55 0x00007f54256f8597 (/lib64/liblldb.so.19.1+0x4f8597)
#56 0x00007f542529f722 lldb::SBDebugger::RunCommandInterpreter(bool, bool) (/lib64/liblldb.so.19.1+0x9f722)
#57 0x000056428fe50853 (/usr/bin/lldb+0x4853)
#58 0x000056428fe52e5b (/usr/bin/lldb+0x6e5b)
#59 0x00007f541d010248 __libc_start_call_main (/lib64/libc.so.6+0x3248)
#60 0x00007f541d01030b __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x330b)
#61 0x000056428fe4e5d5 (/usr/bin/lldb+0x25d5)
LLDB diagnostics will be written to /tmp/diagnostics-4b7dc2
Please include the directory content when filing a bug report
The process was killed by SIGILL: Illegal instruction
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWl1v2zjW_jXKDRGDor4vcuE4SSd43U6nztvpXUCRRzantChQVJPsr1-QkkNLcRo709kFtjCaRH748Dzni5RE2rZiXQNcBMllkFyd0c5slL7QVKw7qvlZqfjTxS3a0B-AKNLQaMU7JkoJiGnabtDDBmpEjYFtY0S9RkahRovaIIq2YDaKI0alnAV4bj8plpKX6AfoVqgahcUsnGVBigOyQDfAlaZoKerucYcn9vPxCTG13dKat_2Fnmn4WFRuWQNSoEpIQKWoA3JzBWW3fkzjhaT1OiA3FWVGaaHODbRmPKpE9lobkJs7aM2NFM2MNU0QzUmSjpEanRtkAUtRfwe-UHUNzAhVj2ENarptcx5E12swV0IPGJIHpJgav1O5Up1mgJji4FXi-SdloA2i-TMUBSn-CXuKkWgRRRugP4R8QuoHaKkoB76Lx8NGsI11uKiR2QBitAWkKkQt8-du21gOqI0wTxb1V9capMF0um4twmxEa-fmzxOneOZNu7te3VkCWnP75-K368X_3V__8f_zpbuqAW0p06r1GdF_rMPxHCE3nuQHfeych1CQXbqfCNlwrRjUVAuF2uGXINp97cSQuQsGCqKrZ8iMcn49KMwDQpw_H4TZnEs35znbm5RYL3ykzWfVisHRLl_xLLEWkWKYcF8qyXchqqRoBj0ByY3uwI6tqGxhGE0WaO6m-gJtJ42NdTRfdYxB2_bsKCA3AblBlxro90bZ6hItUjZ8okVS1DAIPmzCgSwhC-Qv9ROqzmy8GISeU7gdD5-Mu6atOc0Hg_YF6p1xpA9eZz9K3p-wb2aQXb1WhpeUfTeaslER3m0AcUHXtWqNYC2qlOSgEVO1oaK2oYC-9ZzbnN9DzqRa27w_76vOho2pbSPBgHxCtmc-TQth0klcL_1pN_m8vJ6vrlHblVth227ZrW2jVtrYZrwxpnH9w6XQWphNV86Y2gbkRsofux_njVZ_ATMBuRFt24Htha6ERc1kx6FvFK7hlzsHWcNXhrLviNs6cy0Kz5D791mrtaZbRPW620JtrAXIacLzcIZ-ozWXsOibekDyob27GrXl-JZoW5NWOhmmC6IFqCqIrlFDdQsaUYOg5rar2bAEeB55pFuBHjRtGtCo0VCJxyC6DqJ5HAXRPEytqR-gBk3dgmYbMqqURhyYpPaiqlFAslUnDLiUdgn2qZPyRjyaTsOh3vUbyAZ0Dw1IfH9vrbiHx0YHJHMpSSKM8CPGGGdVEoc8D7Myo8gFyQ1rn9r-l8_WPc7zd32i5h6k6cO9ao0Gug1I2nd5m_jIee5GijKN-5_L5dePs1bN7BockEv8SNyEQ5MNSBROzIlLEh8y50tXr8S6prKPqm77IB01o-X0M5LJjDmB8igaC_Q00YgGkwwnGN3fa2iN0nCvzUtOZglTxxZSnGBPFu-T5cz9d2C83WScs6YZGUYd2nMlEy5SMn48l0V7rnTCFUJMj-eyaM-V_UKu_BdyFRMuXOT4eC6LHvZbJArxmCuOsrQ6msuhPVc44SIVz5Ab2lfEraG16LZf72hpu1xt4HFY0mzz7wz033wBSQ3w27pSekuH9rZHs_j27QswpfkVMGkXG7uEzQ-W1mt2W8u83WRqd1YeafcazEe3e-y_u605PI6N_SBVSaW19DQDs3LPwFHlFhWDiB6dPCF3cE82qtyChQWk5b7aheLwAerRHzddvb-32QqzoFJOwjIa92E3xIZxFyTXeF8fYjkBjgJ_cRvvr1R2sJLK_JSXSjnX66VozYjat2yLuKTtbmtDFqhUSk44-_uQpWJDRu5ARwc1pM7VPhCjtlfwkKYFfUcgvn37CNsS9O_698YuzkofiI0F2TydlMw_Fw3vXXd5mO3w1T3aPzoq754amM5Gpbx-bPRxpvuAn9YXwtLFwEconUSIF3H1SyLU_71TNYnVW1pPjuWB8BxI8E_QGuCf6BZWDTBRCdCvV8PEwFNcbJ3oXZxNXFymZf43XPyKS6dfv89tp6i0OrzKfKwSxyRN3tdz35Evv0qTs9prKiaRK3iYn-AgC38mI3hCloRFcgKZhXuycEKGOT96PxmWDu7JyCR0OYfj197SwT1Z9IKMFKfnwXy9fpkGR6fAfL1-Z_yttV5LPPEy5Pn7KndhjdYdMwcLd_TtPyvQSfACp-sziTCcQGbhnmyylOAKqhPIHNyTZf9DaTRujYzlOHzPdvTbt36n_ZVquy7e1sKMhQ1fvLIFfB4s7D5-tO6dsMFzxntpxWTbXrHi6HvkkDv4M9n4KUjByoxG-DQ_zTm3bhFUin-BvlMrQ41gg1_-prNOcJKz3OsKJ7oSXmWnx_9va7G7UXdhKervdA12E9qepsta7nWRqa4446freilnouUkA-PML2zjx0EFFCEl7yi8ldg2ElZmOyk3e2XUR7zL51rTpy9QBdFib8DcmL3GE12fIo054720eCINJyl5T079l0VZs72o8XIEFJOSvaNRqm2juppbKX8Ks1GdWTFlb7jG9_IeNSqcA7cCv2RVYE6OFzteLquQVOzE5BweVcPCvTh87ZHMfgifx791Z_zKo43j1XKnx6sdr-dVxDhJ31L7UfFOgg9sr2pn2hVUohYvn529pn2_DZ7Wz7mz1mvJJ1piDG-uU4e1_Cc1WCu9hsnCHRXk7f5xWMMveBgYcjf_s3UxnlhH2Ns3k1Pr7lSzhB8gD68vJ7vPmuANHC_pVRUxfMK-x8E92f46SpIqSjk58LBbSl6OeLgDeprRapdHVRLDqMQ-U93C3L1j32_4sKWTznfqptDN5O2Ix3KSPOPkGDkO6GmSMQ0pWZIdQ-OAniad0LAkOvBm6QCNBXqabEST5lXF4iNoYgf0NPmIJo_LPDlwj_SCJnVAT1OMaHhVVMUxNKUDPtMkeEST4ZCUB278X9AkDuhpwrFvoMLswJONl75xQE8zLoO0Sig58LTlJY0DeppoRJMApHF4BE3kgJ5mnMUJCzN8jG8iB_Q0yURUnhTHZHHsgJ5mnMWkqDJC-rfqfRFfujNP69175i9dPbxiv60N6EaDAXsX_GaFvzDEzeTt2JVBksYkryDBeRINLF2rA3LTn8DqzzC4_E8iPzqfjCaQlD8bnULiSzApxi93Q0ziHN3f27503xqqzT2jUt5vqah_-po3IrFPlxRPWSNcjlktYRDjD8vby8U9mZHZocd2e_QR9kan4VhyDAlPfiaZJHwoieXy6nJ09ORBSIlKQA9aGAM1MgoF5MZsm4Dc7OHO4zLjjAR4_lkCbWF0kKM_uqX0kzvBArXpT_FVQop6PTpBMpx9abRi0Lbogbbou5ASOCqf0Or2w-1yGURzdCslrKlEYniENRyI2x1pOeMXES-igp7BRZhFeY4jkuZnm4swSTDJ8xAXIWWccJZlFdAoyvIcJ5hlZ-KCYJJgglOMk5jksyrLWBgSwrM0TQknQYxhS4Wc2e3RTOn1mTu_chGSpMiSM0lLkK073EhIDQ_IfRsQEiRXZ_rCHX0pu3UbxFiK1rSexggj4aKX-PohR-2OK7nTc_X-Ubtq2J6edVpevP8IzqDixwX5dwAAAP__UhAtXw">