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

    <tr>
        <th>Summary</th>
        <td>
            Clang 19 crashes when exporting an inline struct or class in a module
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          cool-cose
      </td>
    </tr>
</table>

<pre>
    it took me a while to track this down but if in a module you have:
```
export struct foo {
   int a;
} inline foo;
```
clang 19 will just crash.
it's easy to fix but it is annoying that something like this could give so much downtime with virtually no way to track it down from the crash logs.

here is the crash log:
```
[build] Stack dump:
[build] 0.      Program arguments: B:/dev/tools/llvm-mingw/bin/clang-19.exe -cc1 -triple x86_64-w64-windows-gnu -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name core.inter.cppm -mrelocation-model pic -pic-level 2 -mframe-pointer=none -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -mms-bitfields -funwind-tables=2 -fno-sized-deallocation -fno-use-init-array -target-cpu x86-64 -tune-cpu generic -debug-info-kind=constructor -dwarf-version=4 -debugger-tuning=gdb -fdebug-compilation-dir=B:/dev/games/metal-rose-engine/build -fcoverage-compilation-dir=B:/dev/games/metal-rose-engine/build -resource-dir B:/dev/tools/llvm-mingw/lib/clang/19 -std=c++23 -fdeprecated-macro -ferror-limit 19 -fno-use-cxa-atexit -fgnuc-version=4.2.1 -fno-implicit-modules -fmodule-file=service=runtime/CMakeFiles/metalrose_runtime_1.dir/service.pcm -fmodule-file=service:base=runtime/CMakeFiles/metalrose_runtime_1.dir/service-base.pcm -fmodule-file=service:debug=runtime/CMakeFiles/metalrose_runtime_1.dir/service-debug.pcm -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -exception-model=seh -faddrsig -o runtime/CMakeFiles/metalrose_runtime_1.dir/src/core.inter.cppm.obj -x pcm runtime/CMakeFiles/metalrose_runtime_1.dir/metalrose.pcm
[build] 1.      <eof> parser at end of file
[build] 2.      Code generation
[build] Exception Code: 0xC0000005
[build]  #0 0x00007ffaf9a5ccec llvm::Mangler::getNameWithPrefix(llvm::raw_ostream&, llvm::GlobalValue const*, bool) const (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0x2eccec)
[build]  #1 0x00007ffaf9a5d0e3 llvm::Mangler::getNameWithPrefix(llvm::SmallVectorImpl<char>&, llvm::GlobalValue const*, bool) const (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0x2ed0e3)
[build]  #2 0x00007ffafb98df24 llvm::TargetMachine::getSymbol(llvm::GlobalValue const*) const (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0x221df24)
[build] #3 0x00007ffafa34c558 llvm::AsmPrinter::emitXXStructorList(llvm::DataLayout const&, llvm::Constant const*, bool) (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0xbdc558)
[build]  #4 0x00007ffafa341555 llvm::AsmPrinter::emitSpecialLLVMGlobal(llvm::GlobalVariable const*) (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0xbd1555)
[build]  #5 0x00007ffafa340aad llvm::AsmPrinter::emitGlobalVariable(llvm::GlobalVariable const*) (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0xbd0aad)
[build] #6 0x00007ffafa3492d7 llvm::AsmPrinter::doFinalization(llvm::Module&) (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0xbd92d7)
[build]  #7 0x00007ffaf9a53f31 llvm::FPPassManager::doFinalization(llvm::Module&) (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0x2e3f31)
[build]  #8 0x00007ffaf9a4e3b2 llvm::legacy::PassManagerImpl::run(llvm::Module&) (B:\dev\tools\llvm-mingw\bin\libLLVM-19.dll+0x2de3b2)
[build]  #9 0x00007ffb0315cc38 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::__1::unique_ptr<llvm::raw_pwrite_stream, std::__1::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (B:\dev\tools\llvm-mingw\bin\libclang-cpp.dll+0x14ccc38)
[build] #10 0x00007ffb0354b17b clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (B:\dev\tools\llvm-mingw\bin\libclang-cpp.dll+0x18bb17b)
[build] #11 0x00007ffb01e64c67 clang::ParseAST(clang::Sema&, bool, bool) (B:\dev\tools\llvm-mingw\bin\libclang-cpp.dll+0x1d4c67)
[build] #12 0x00007ffb04087d94 clang::FrontendAction::Execute() (B:\dev\tools\llvm-mingw\bin\libclang-cpp.dll+0x23f7d94)
[build] #13 0x00007ffb04001034 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (B:\dev\tools\llvm-mingw\bin\libclang-cpp.dll+0x2371034)
[build] #14 0x00007ffb04106122 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (B:\dev\tools\llvm-mingw\bin\libclang-cpp.dll+0x2476122)
[build] #15 0x00007ff648d56b12 (B:\dev\tools\llvm-mingw\bin\clang-19.exe+0x6b12)
[build] #16 0x00007ff648d53982 (B:\dev\tools\llvm-mingw\bin\clang-19.exe+0x3982)
[build] #17 0x00007ff648d5288d (B:\dev\tools\llvm-mingw\bin\clang-19.exe+0x288d)
[build] #18 0x00007ff648d6120d (B:\dev\tools\llvm-mingw\bin\clang-19.exe+0x1120d)
[build] #19 0x00007ff648d51313 (B:\dev\tools\llvm-mingw\bin\clang-19.exe+0x1313)
[build] #20 0x00007ff648d51366 (B:\dev\tools\llvm-mingw\bin\clang-19.exe+0x1366)
[build] #21 0x00007ffb9481257d (C:\Windows\System32\KERNEL32.DLL+0x1257d)
[build] #22 0x00007ffb9588af28 (C:\Windows\SYSTEM32\ntdll.dll+0x5af28)
[build] clang-19: error: clang frontend command failed due to signal (use -v to see invocation)
[build] clang version 19.1.0 (https://github.com/llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)
[build] Target: x86_64-w64-windows-gnu
[build] Thread model: posix
[build] InstalledDir: B:/dev/tools/llvm-mingw/bin
[build] clang-19: note: diagnostic msg: 
[build] ********************
[build] 
[build] PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
[build] Preprocessed source(s) and associated run script(s) are located at:
[proc] The command: "C:\Program Files\CMake\bin\cmake.EXE" --build b:/dev/games/metal-rose-engine/build --config Debug --target all -- exited with code: 1
[build] clang-19: note: diagnostic msg: C:/Users/rando/AppData/Local/Temp/core-865d73.cppm
[build] clang-19: note: diagnostic msg: C:/Users/rando/AppData/Local/Temp/core-865d73.sh
[build] clang-19: note: diagnostic msg: 
[build] 
[build] ********************
[build] ninja: build stopped: subcommand failed.
[driver] Build completed: 00:00:02.292
[build] Build finished with exit code 1
```

the preprocessed dource and run script are a bit too big to just copy paste here, but if they're needed let me know i'll paste them in a comment.


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEWV1z2ziv_jXMDYYeibL8cZELx467nZNuM03241xlKBKS2VCkDkk5zvvrz1ByEjmxt2-b7m4n9dgUCTwPCIAUwL1XlUE8J_kFyVdnvA0b686FtZoK6_GssPLxXAUI1t5DjcDhYaM0QrAQHBf3EDbKg7QPBoo2gCpBGeBQW9lqhEfbwoZvkWQLkqxIsiCTZP_X_cRdY10AH1wrApTWAple9I8AQJkAnGT7ATJdgTJaGYwTX4YPJQrNTQXpHB6U1vC19QGE434z6h-rQNjUA3L_GCmUatfDDqA8cGPsozIVhA0P4G2NYRN_anWPPU9hWy2hUlsEb6FuxaajHlSN8KDCBrbKhZZr_QjGwgN_fLGTCr2VSmdrCBvsYYG2ld9j6z836DCCOZhyyn4kvyhapSXJV3ATohrZ1s3L7MHjZESS-bWzleM1cFe1NZrgSbaAizifrSVuCVsHa7UnbK31tqa1MtUDYetCGcLWnWlpOh_hDoEKkQINTjUaYTeb3E3G9CH-V0baB08r0wLFWgVqi69ApfK80EhLh3GtRu4o94EWWFqHtODiHo18mdep36JTpULXDQvuJN1y3SI1vEYPtObK0FLpfgCEdThSJqAbiaapgdYOtRU8KGtobSVqaJQA2ihBNW5RAwNal47XSBvbLSTZyliDQMuahw1F54wFWpYNFdbEbQwkW1kDtDSWOtsaqUxF41ygtbCm92PrKNeK-w5j7WmhQqlQSw-0bE00EA2RpCfZivWyvPoPSiqR6yfE_XjrkSqjAuXO8UeggbsKAxVNG21OJ2OgoTXYDVRo0EWCEou2osqUlt4rI0m2GkADKh-4K6NtvbKGZKvxfkWFLgpTpiLZqpIF0LKXJGzdKN3bUapopAOPqeJuELauMXBNnfVI0VTKYHSc6H1AS2G36HiFP0GWQ29bJzAu_y9cV6viyXUJW6dzoD50JiHsgrALlnU0G4eCB5S05sLFLUfnrKNa1SrEZPK8GWLHKQ-4UwFoWZlWDA05YqO0n6rqRiuhAu3zYNz5_lvnryRbeXRbJeI313bpg7D18hO_x7XSLxaIBrjbT7hLR9FgbL1fOmpEfVrsouD-PdJpXP8NFZ13vEdHJ2CvxN-rhlrpqNiguKfK0Kouo-fsdhR3ApvoMtGOwx_P3_v47tBtgJZcSudVBdTC94NzIjrMYTIZdUlsBxHrd0t8fhKpvk3MaUzMJFuiLUl2CQ13Hh3wADEh2hI6u79ZxeKqpZXYx30XUW9nXT4ZCOLUmOyT3TLp_uVvZwNhWQLJLj6eliUv5zwXAgXEiIqRli0-cVPpmCjjjwrDr7zGP1TYXDss1Y6w2ctUxx_urA8OeU3YhLDlQMwHbQuuf4_ZHLrkRNgiziis1YTN-zEgbNYFeL6MAZ4v-wDPl4MAz5fxbMqXWhVXV79_iqeT1Jqwi2THMGInbH6caPqKqEww-zGiNzXX-neM2fVj3WiSLcWGO5Jd_ku0I5OTtNmQdjGfyZKNBwhvuwPmExebmHSfyN881kVEOPsWlZ9EgaUR1lEOhGXZkALPxiLPZwMKC19fu_1xHn_HS8iff97sz78rFaEOiKx44Ff80bbhicerTVvGUW7C0R17H9FCRuwn92r8imia5_k3iN40KBTXUVG_Q0c3zal4_zjYt_cSidhOEslfEUk4l98gcgj1n2IRgZ1yu8krEnMmp39BQtq1Mlyr__SpeUjgU3egdo72fsgRxknDT18luazM0gHm9fU19_4TN7z6Z2EzjEhOwp4dwh5jVrABbI0VF4_99wGBPvl2R0_79yGXEcxJ5PMX5EWSpbkQ2Qz622eH5LJW4aJ_2fnchqaNuWjweKV4ZawPSvjL_b23y0aDKb8gl-hukDux-by_CA0T12BqPPM_oPnGrD7lf2PSFTfVsSmDUzA4ZaovWB4OP5l-8Urg3ggL0bvZcMlHE1zr1Ra_YLk04To4ki1fHm9Lv_depfHm0Qesu7N2Cd3NPj65u0v7L61R_9fiXfNKRLyaNA9OBbx7uqAcWy2x5K0OdxI1BvyGhOxyj-ItyXiCtDW6H0pS_Vu3aJpnF0zHIrrVqTyVJgc-mI-LdFr8FarerbiRGm8dN75_PfvNqFfOubi5XVoTcBd-KJKOEJkVEdtJIumQSIqTsZhMh0Su41V5cXN7CPMGa773zv6U_tHT-ghgGSGcxMuGeMfJbCrn4yHetYvme3b6PiHsULQhHnA_AyDLyqj0JMLsEGGSJtn4MGPE13N0H7srj8ADjE-xOjtN6ef4BcumEdhJFuMDFmkySRk7SLI93hcy231R5RD7G7I_JzzZeBoBnUQ_uAxNxjOZT4qUfY_SYRmuUxgFnNQ2eaUtm8_epy0KOKlt-kobm83ku7RFASe1zQ61TVKWvE9bGiWcVDd_RS6N8fQudVl6_EUtvqclb7RNJu_UNpmc1DZMtfPxLGX5tDPlstf2R1_VJfmyP3AzRvLl_1x--fXyKmOj1dVVryGuOqlimB3n-WzGSzY7ruJ_b24vP3UqTJBaP0dWHpcclf9ElmQL6Ep38UvfCij3GQqErWtuJJRcaZQg266J4VVluI44Wo9At90YIqhB0jilEPa1P0jno3SURCGbEBrfFyUJW1cqbNpiJGy9L0s-VScbZ7-iCKNKBeDjopwIORVlkfJ0zNKCz1kh-Fwm6bQYz-fZROQ5Hk-H_eUtsj1egz-yYuOQS9gXzBbQWK92b6d1SVFrlCvl_vsmwV9ujLGhK0HJ50su1D7mYjjmMIsf_3sr7c3I9dXl4uYSFre3i-UvcPvLJaw_X119_uPjrx9g_fHq8gZuP3fDF799gC-X15-_3B7tqlw7bJwV6D1K6AvThM18PEeir3HvrVA8oATXGvDCqSY8T3AIXbkfJfAwFB9F9nuFT27bmYmxfbA89XH64mO-7CqRL6Ff83scXf55SRgDSvvCefGddXYqrClVBSss2grovvUAXGugFHCnIuyu5yX2pcX0R7d_2UP7zaOLoBw30hK2XjTNigdO2PrKCq4JW99i3eyLs3Q2yeU066qz_4Zev_mJzv43u79R5iuPqvut9cE2DXYe5dviMC2OnldLp7bo4vKLbpWwdRNfg7p1SUKyRf_BRmzO3ursF5XKKL95cpSubRK95dlVXnUzu8-wQWiGYSW7sOri6SWIuujhUPStaShUFTN33--1zSM03AeEDTrsXgD61nTY4CNhU4dgECVK0BigRrg39gEUYVOt9wvDBuu-kx3tgyYc9GjP5Hkm59mcn-F5OmXTWTqf5snZ5nwu0mw6lVxMc8ZnyXySJ7mc5ryYzufZOGNn6pwlbJwmScrSPM-TUcHjhX2WMl6mZZmMyTjBmis9irl1ZF11prxv8TxNk2menmleoPZdt56xfVeLkXx15s67ZFy0lSfjRCsf_IuIoILG8-VTa7xrK6OHhw0a6FvwylTAzVN_fd-Pty66tPfDlv5Z6_T5951yhK07DjHG9jS25-z_AwAA___h8Axb">