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

    <tr>
        <th>Summary</th>
        <td>
            [clang] Can't build a project with derived class imported as a module
        </td>
    </tr>

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

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

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

<pre>
    I've tried new feature of C++ 20 with llvm18. When i'm trying to build my pet project build is crashed
I've created test repository where this error occured: [https://github.com/Kawaiilodon/clang-fatal-build/tree/master](https://github.com/Kawaiilodon/clang-fatal-build/tree/master)

I'm building my project in docker with Ubuntu 24.04.1 LTS

stack trace:
~~~
Building CXX object Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o
FAILED: Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o Visualization/CMakeFiles/Visualization.dir/Visualization.pcm 
/usr/bin/c++ -I/home/ubuntu/projects/clang-fatal-build/build/Visualization -I/home/ubuntu/projects/clang-fatal-build/Visualization -I/home/ubuntu/projects/clang-fatal-build/./Visualization/imgui -I/home/ubuntu/projects/clang-fatal-build/./Visualization/src -isystem /usr/include/SDL2 -std=c++20 -Winvalid-pch -Xclang -include-pch -Xclang /home/ubuntu/projects/clang-fatal-build/build/Visualization/CMakeFiles/Visualization.dir/cmake_pch.hxx.gch -Xclang -include -Xclang /home/ubuntu/projects/clang-fatal-build/build/Visualization/CMakeFiles/Visualization.dir/cmake_pch.hxx -MD -MT Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o -MF Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o.d @Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o.modmap -o Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o -c /home/ubuntu/projects/clang-fatal-build/Visualization/src/Visualization/Module.cppm
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: /usr/lib/llvm-18/bin/clang -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name Module.cppm -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/ubuntu/projects/clang-fatal-build/build -fcoverage-compilation-dir=/home/ubuntu/projects/clang-fatal-build/build -resource-dir /usr/lib/llvm-18/lib/clang/18 -Winvalid-pch -std=c++20 -ferror-limit 19 -fgnuc-version=4.2.1 -fmodule-file=Visualization:Window=Visualization/CMakeFiles/Visualization.dir/Visualization-Window.pcm -fmodule-file=Visualization:TestWidget=Visualization/CMakeFiles/Visualization.dir/Visualization-TestWidget.pcm -fmodule-file=Visualization:Widget=Visualization/CMakeFiles/Visualization.dir/Visualization-Widget.pcm -fmodule-file=Visualization:WidgetGuard=Visualization/CMakeFiles/Visualization.dir/Visualization-WidgetGuard.pcm -fskip-odr-check-in-gmf -include-pch /home/ubuntu/projects/clang-fatal-build/build/Visualization/CMakeFiles/Visualization.dir/cmake_pch.hxx.gch -include /home/ubuntu/projects/clang-fatal-build/build/Visualization/CMakeFiles/Visualization.dir/cmake_pch.hxx -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o Visualization/CMakeFiles/Visualization.dir/src/Visualization/Module.cppm.o -x pcm Visualization/CMakeFiles/Visualization.dir/Visualization.pcm
 #0 0x00007fdd96ce83bf llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:723:13
 #1 0x00007fdd96ce64f9 llvm::sys::RunSignalHandlers() build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Signals.cpp:106:18
 #2 0x00007fdd96ce8b00 SignalHandler build-llvm/tools/clang/stage2-bins/llvm/lib/Support/Unix/Signals.inc:413:1
 #3 0x00007fdd95aed320 (/lib/x86_64-linux-gnu/libc.so.6+0x45320)
 #4 0x00007fdd9fcef509 clang::ASTReader::getLocalModuleFile(clang::serialization::ModuleFile&, unsigned int) build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReader.cpp:0:0
 #5 0x00007fdd9fd74feb add build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/MultiOnDiskHashTable.h:213:41
 #6 0x00007fdd9fd73a9a clang::ASTReader::loadDeclUpdateRecords(clang::ASTReader::PendingUpdateRecord&) build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReaderDecl.cpp:4268:29
 #7 0x00007fdd9fd22bda ~ReadingKindTracker build-llvm/tools/clang/stage2-bins/clang/include/clang/Serialization/ASTReader.h:1267:48
 #8 0x00007fdd9fd22bda clang::ASTReader::finishPendingActions() build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReader.cpp:9622:5
 #9 0x00007fdd9fd265cb clang::ASTReader::FinishedDeserializing() build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReader.cpp:10090:3
#10 0x00007fdd9fd0b6e1 ~Deserializing build-llvm/tools/clang/stage2-bins/clang/include/clang/AST/ExternalASTSource.h:0:15
#11 0x00007fdd9fd0b6e1 clang::ASTReader::ReadAST(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, unsigned int, clang::serialization::ModuleFile**) build-llvm/tools/clang/stage2-bins/clang/lib/Serialization/ASTReader.cpp:4663:1
#12 0x00007fdd9feb74ef clang::ASTUnit::LoadFromASTFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, clang::PCHContainerReader const&, clang::ASTUnit::WhatToLoad, llvm::IntrusiveRefCntPtr<clang::DiagnosticsEngine>, clang::FileSystemOptions const&, std::shared_ptr<clang::HeaderSearchOptions>, bool, clang::CaptureDiagsKind, bool, bool, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) build-llvm/tools/clang/stage2-bins/clang/lib/Frontend/ASTUnit.cpp:865:3
#13 0x00007fdd9ff4fee3 clang::FrontendAction::BeginSourceFile(clang::CompilerInstance&, clang::FrontendInputFile const&) build-llvm/tools/clang/stage2-bins/clang/lib/Frontend/FrontendAction.cpp:689:36
#14 0x00007fdd9fed00a5 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) build-llvm/tools/clang/stage2-bins/clang/lib/Frontend/CompilerInstance.cpp:1056:9
#15 0x00007fdd9ffcf63d clang::ExecuteCompilerInvocation(clang::CompilerInstance*) build-llvm/tools/clang/stage2-bins/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:272:25
#16 0x000055f204eca42e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) build-llvm/tools/clang/stage2-bins/clang/tools/driver/cc1_main.cpp:294:15
#17 0x000055f204ec7894 ExecuteCC1Tool build-llvm/tools/clang/stage2-bins/clang/tools/driver/driver.cpp:365:12
#18 0x000055f204ec6a26 clang_main(int, char**, llvm::ToolContext const&) build-llvm/tools/clang/stage2-bins/clang/tools/driver/driver.cpp:405:12
#19 0x000055f204ed4383 main build-llvm/tools/clang/stage2-bins/build-llvm/tools/clang/stage2-bins/tools/clang/tools/driver/clang-driver.cpp:17:10
#20 0x00007fdd95ad21ca __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:74:3
#21 0x00007fdd95ad228b call_init ./csu/../csu/libc-start.c:128:20
#22 0x00007fdd95ad228b __libc_start_main ./csu/../csu/libc-start.c:347:5
#23 0x000055f204ec4255 _start (/usr/lib/llvm-18/bin/clang+0xe255)
c++: error: unable to execute command: Segmentation fault (core dumped)
c++: error: clang frontend command failed due to signal (use -v to see invocation)
Ubuntu clang version 18.1.3 (1ubuntu1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
c++: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
c++: note: diagnostic msg: /tmp/Module-13c34d.cppm
c++: note: diagnostic msg: /tmp/Module-13c34d.sh
c++: note: diagnostic msg: 

********************
~~~

[Module-13c34d.zip](https://github.com/user-attachments/files/19039210/Module-13c34d.zip)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzEWl1zmzrz_zTkRiMPCPx2kQtih9PMk_6bid2n584jpAXrCUiMJNLkXPSz_0cCEuMmbfM2p-PGWBK7v_1ptbtCUGNEKQFOg-lZMF2f0NbulT79D_1OhagUV_IkV_z-9CIg81tAVgvgSMJ3VAC1rQakCrQKyFlAzhAJ0Xdh96iqbutoMUHf9iCRCMi8RlbfC1kiq1Deioqj-h41YFGj1f-A2b5RGMQ0NXvgQZj2CpkGaoEjC8YiDY0ywip9j77vQQOye2EQaK00Uoy1GngQpyiYnu2tbUwQpwHJApKVwu7bfMJUHZDswLSAZKyissQFtbTCHkVAMqsBApLV1FjQwXQdkMU7yiPLIEx7A-vOckeNY6RnQ0jEFbsB3dH5NW-lbRFJJmEyidDldtMJMJayG2Q1ZeCQhemPHz-CMD0bJK7-_hup3Ev8rzAtrcQ_1AqPcvWZ3kAmKjAByUadEy50QDKj2XFPQLLPircVTFjT1BMVhGmWXlyerx3lH6Hg5ULHbQ2rkWOKZK1xvbnwE9Q7K74ISLZXtZuZ1jMckKyfAfPMRA7fIz2vkvR2CZMn6BN12Yp3k2Y0Q1iYe2OhRg8sCsmqljvZm_UlQdhYHsTrnlUSIvxNyFtaCY4btkf4b68N4f62UeM7TcCfeAar6Q3sGraf7O_uJuUTyP51VAh_XiP8efsxawl_zj5E8ISjIAk_RHKteE0bhF8RCP6IEfaKqX5ijfxaURCmV5fn6eYcmTavhUUU5W3pM5m2Lh_-IrO4PNp_4R6XW4DGtN5wRCVHg_faPXTJE-WU3XRJgaxQo6HRioExwJFRre6a3Z3UGMWET666lcgwLRo7CcJ04_MKb-umSyvhBPl_V1qVmtaI6rKtQVrjc-0QFyqRD1ijxWO07dYYYxHCVoumAnS3mO1mCW4YroRs73ApW4ShFhar_H8I1xoqeodpVSHMhaF5BbjQAAizCqjG1FicQ6E0YGcpSP44zmu_BS0KAdo3M6o5vqVVC1jSGgzCNRUSF6LqGtDBVHW6FfOziGvFoUKNYAg3guEKbqFCpPshDG4EIFwXmtaAGyWky-zx2qMuamr3GLSWCuGiaDBT0k2IDeK1C_aFVFirVrokjd1YhGumpLG6ZVZpTCtBjYNatPK7kBxbZ5wJ4jVB2FJdgsWsaR2ReJYgbFsJvqEECdoB5pC3ZQnadQlZBvG65DnChW_HTNWNqDor3XKJ168MeQgXTN2CpiW8p1ANnaM6Oc_7V_fbiwlIFi2OE89PeanwdSKuhFuF0RLhopQtc-5i3KqN18mETCI3fd4lvI8E8Xq8tuP0m5Bcff-p46XVCe7k-CLldyq3YOw3wUuwb1f7KOuPVL-X2her_Kulmr-XXi-sV25uRIMV15jtgd1gIXFZF-P65N-tS4aI_u_VIQXlXBtRIrze7f5arXaf0v-e79bf0uuM7FbZxS7dfA7idfRxqfkOucl6e_0fhC5DxSEK78IwDOcF58sZg0WcF36X6hJcnJp7011caSGtT3_bLoEuHgdp-n2njNVA64DMXBIV0gZk2e3gcJ-rrVKVOYhLxtISCM6FNAcJ3YeuTdu4GiAg2Vcp7lyDKCWtzERIFsTpnMRBnEZxb0J0ZMIsKZZPmXDdyk7OJyp5BdoEZPE-KAd4rHF1QRTO3N9FD48cM5yHIRoB-Sieksjz1OOID3FMKfCYhMhT0Evrq4-H0qPrYBOjJrOAnIV3yTQmYbdJdwKTQ4EFg2IaLlGH2vOdbrbXQLnL_u5nCfZSMVp1_ux8NSCLg-EGtDgMdkGcHg71ftVK_0iGv8LBhtaeuZEykj1g7ecw9P87O6cjO_k8KSBHlPP30_65raz4ItfC3HyiZr91Rc1kH8Qp8TOYDFM4O0IS0yX9BeOVonwNrPracGrhGpjS3IxJP7rjCnzpdXiDZ_4jmHbIerYTMls4awfPmo_tJCTnFP1wtwlZ_kdI7mLQzcsWztD6uEkfWp73BTcFEZnNHcRhOS-ewvY8o4WQwux7XlPmVLwi7rzMeZczQoI4nfaIl0eIZ1OW_wJx5hEDX8OwIl2d_MGQozBcujUX-6dScRSOMYf5DCL0YwTpfSY_3WwDkp3fWdCSVulmu_EFtp96Byia9oiipxA9z6K79rIP8uTGaiHLayhcKPuTyOdc_WhsB--y34r9HBP_THAXUlP_-cBZTWazIQM5CkeZsIB8nkBxROFXKWz341JRnmlVp5ttnyv8tsV17Xbs7i6Kuh85NYLtjKc2iFdsT7Vj4WGwa9hZTYXblHfd8floBK38zlbpg_74HPl9Z593DkBerT6tlLRUSNCdsc-NHJnzbU_tVjmj3KhHn7iQVrdG3MI1FCtpr6xH8ShkLWgplbGCmXNZCgk9-oMhjp6NfxT5pfHxZQTowUyzpxr4rjnW8MkbsQGq2b4X0OvIlaqOdK1oY1sNDpUZvHMYNnz_xrjH7tvCHFvgNb_BIzOtpAWHK-vp711xMZsehJdRLVQUSQEQjyjtxXQBu2s7g1LIbvn9XLys_B4f9IU0lkoGP3vDIPJCNq11Ag5m6X0MHoPu7Z4tls7uWW_4uGYDHoZ0in5lh289vwPWWujZGBl-xNT7WXOM5CFRTF11veztGddmBStmMT-0p0f-KOz2IXL-evreFhgHO7Z-SWTPouiNInOXr8mQaoYybzotSJgAowkBxFi0q6mQo4ySak3vXULpItfgUukQJEZtZIVuleCvt20YxbW4Bb857jENZiyTw4w5PzJjvlgmaKBiFTlu3gVFd9FjiP06j0iPYXGEYUbJrPOPgcwha_q8kfY8PTLsULp4D3f2rQv218CTcAR8OQbOk3gRIwf5JZpfMPS49-e59k9VRpCjuV-QHWISjveXnESMot3ObSF3xlJtd4xWlacdTZxA43aYE3dp7g2HxqmTja36fefxTb4kmyePUZxExxrJIkd-vJDCHivpLp1k7CVPmOfbbzwGG8hTEkc2PAX_SclxMu9rcCc4PvLDhEynqBPZ78F_e1Tgt-BAptNuB94_vg3itDvldxetdDtHZBWCbpkhpuqaSn_0v4GyBmm7Y9WCtpXXzJQGf6AB_Hm53VFF0Qe1QSgqqKiAI956lcY_e3AyWwMI3_o2ACQOYq5T0J_ZdzL7R8woWkyiSexujrpHelE3eOuf6TsMT5yNuP69BsqRP5FwoxplxF0Qpj6QVxXwtdCjsxhH6MhIqazLcog_FFqoNqW_J0yHiPCqj38ToT_hSrfbdPUJbT-do-zL5eWXbxf_9xfKLi7PN2j7xTefff0LXZ9ffbnedkdLV08dTy2Miz3PHlE9DNCAfE0LHFHbyfszk0lm6-bhoSOOYhYnfDite4sIs38J7W9mvnvfw32mZ2Mg_4jmt--ttAY0ptZStu9O80hW9M9Wo2UYL0kU_mSgk0uWJ_w05st4SU_gNJon4SJeRPPFyf50lk_DWbiYz_Ikj6EIw0W0iAqYMkppkgA5EackJNMwDqMoCZfxdLKM5-Eyh0VCgBVzyoIkhJqKauKiw0Tp8sQfd55GZBkvpicVzaEy_l0lQvqAQYLp-kSf-nCSt6UJkrASxppHEVbYyr_g1N0xXaMVlQGZD-8d0Yc3b_z7Nhxc_PcVljFI1I3S3scMoqg7ujhpdXX6-oPb3pjbU_L_AQAA___rQUPq">