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

    <tr>
        <th>Summary</th>
        <td>
            [clang][crash] compiler crashes when building modules with a mingw sysroot
        </td>
    </tr>

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

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

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

<pre>
    This crash was observed on:
* LLVM Version: 20.1.0-rc3
* Host platform: Windows, Linux
* Target platform: MinGW-w64

Targeting Linux x86_64 with the same toolchain, but a different sysroot works just fine and does not crash.

Unless instructed otherwise, I'll build clang in debug mode and reduce the code during the next few days, so that the error is easier to recreate and track down.

In the meantime, here is the cmake build output of the crash and the accompanying generated files:

```
[build] /opt/ace/bin/clang++ --target=x86_64-w64-mingw32 --sysroot=/opt/ace/sys/mingw -DICE_EXPORT -DNOMINMAX -DWIN32_LEAN_AND_MEAN -Dice_EXPORTS -I/mnt/c/Workspace/ice/build/mingw-debug/src -I/mnt/c/Workspace/ice/src -march=x86-64-v2 -fasm -fms-compatibility-version=19.40 -fno-rtti -fexperimental-library -g -std=c++26 -fvisibility=hidden -Winvalid-pch -Xclang -include-pch -Xclang /mnt/c/Workspace/ice/build/mingw-debug/CMakeFiles/ice.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /mnt/c/Workspace/ice/build/mingw-debug/CMakeFiles/ice.dir/cmake_pch.hxx -MD -MT CMakeFiles/ice.dir/src/ice.ccm.obj -MF CMakeFiles/ice.dir/src/ice.ccm.obj.d @CMakeFiles/ice.dir/src/ice.ccm.obj.modmap -o CMakeFiles/ice.dir/src/ice.ccm.obj -c /mnt/c/Workspace/ice/src/ice.ccm
[build] PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
[build] Stack dump:
[build] 0.      Program arguments: /opt/ace/bin/clang-20 -cc1 -triple x86_64-w64-windows-gnu -emit-obj -disable-free -clear-ast-before-backend -disable-llvm-verifier -discard-value-names -main-file-name ice.ccm -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-v2 -debug-info-kind=constructor -dwarf-version=4 -debugger-tuning=gdb -fdebug-compilation-dir=/mnt/c/Workspace/ice/build/mingw-debug -fcoverage-compilation-dir=/mnt/c/Workspace/ice/build/mingw-debug -resource-dir /opt/ace/lib/clang/20 -Winvalid-pch -std=c++26 -fdeprecated-macro -fgnu-keywords -fexperimental-library -ferror-limit 19 -fvisibility=hidden -fno-rtti -fno-use-cxa-atexit -fgnuc-version=4.2.1 -fms-compatibility-version=19.40 -fno-implicit-modules -fmodule-file=ice:application=CMakeFiles/ice.dir/ice-application.pcm -fmodule-file=ice:window=CMakeFiles/ice.dir/ice-window.pcm -fmodule-file=ice:log=CMakeFiles/ice.dir/ice-log.pcm -fmodule-file=ice:ct=CMakeFiles/ice.dir/ice-ct.pcm -fmodule-file=ice:memory=CMakeFiles/ice.dir/ice-memory.pcm -fmodule-file=ice:system.window=CMakeFiles/ice.dir/ice-system.window.pcm -fmodule-file=std=CMakeFiles/__cmake_cxx26.dir/std.pcm -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -exception-model=seh -include-pch /mnt/c/Workspace/ice/build/mingw-debug/CMakeFiles/ice.dir/cmake_pch.hxx.pch -include /mnt/c/Workspace/ice/build/mingw-debug/CMakeFiles/ice.dir/cmake_pch.hxx -faddrsig -o CMakeFiles/ice.dir/src/ice.ccm.obj -x pcm CMakeFiles/ice.dir/ice.pcm
[build]  #0 0x000056478a7fcb15 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/ace/bin/clang-20+0x318bb15)
[build]  #1 0x000056478a7f9e8e llvm::sys::RunSignalHandlers() (/opt/ace/bin/clang-20+0x3188e8e)
[build]  #2 0x000056478a7fd59f (/opt/ace/bin/clang-20+0x318c59f)
[build]  #3 0x00007ff0905b9050 (/lib/x86_64-linux-gnu/libc.so.6+0x3c050)
[build]  #4 0x000056478b780cc1 clang::ASTReader::getLocalModuleFile(clang::serialization::ModuleFile&, unsigned int) const (/opt/ace/bin/clang-20+0x410fcc1)
[build]  #5 0x000056478b834b8d (/opt/ace/bin/clang-20+0x41c3b8d)
[build]  #6 0x000056478b832391 clang::ASTReader::loadDeclUpdateRecords(clang::ASTReader::PendingUpdateRecord&) (/opt/ace/bin/clang-20+0x41c1391)
[build]  #7 0x000056478b7cb350 clang::ASTReader::finishPendingActions() (/opt/ace/bin/clang-20+0x415a350)
[build]  #8 0x000056478b7d4cc7 clang::ASTReader::FinishedDeserializing() (/opt/ace/bin/clang-20+0x4163cc7)
[build]  #9 0x000056478b79e8df clang::ASTReader::ReadAST(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, unsigned int, clang::serialization::ModuleFile**) (/opt/ace/bin/clang-20+0x412d8df)
[build] #10 0x000056478b6423dc clang::ASTUnit::LoadFromASTFile(llvm::StringRef, clang::PCHContainerReader const&, clang::ASTUnit::WhatToLoad, llvm::IntrusiveRefCntPtr<clang::DiagnosticsEngine>, clang::FileSystemOptions const&, std::__2::shared_ptr<clang::HeaderSearchOptions>, std::__2::shared_ptr<clang::LangOptions>, bool, clang::CaptureDiagsKind, bool, bool, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>) (/opt/ace/bin/clang-20+0x3fd13dc)
[build] #11 0x000056478b633679 clang::FrontendAction::BeginSourceFile(clang::CompilerInstance&, clang::FrontendInputFile const&) (/opt/ace/bin/clang-20+0x3fc2679)
[build] #12 0x000056478b547a41 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/ace/bin/clang-20+0x3ed6a41)
[build] #13 0x000056478b73d95f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/ace/bin/clang-20+0x40cc95f)
[build] #14 0x000056478951343e cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/ace/bin/clang-20+0x1ea243e)
[build] #15 0x000056478950f8a3 (/opt/ace/bin/clang-20+0x1e9e8a3)
[build] #16 0x000056478950e1b5 clang_main(int, char**, llvm::ToolContext const&) (/opt/ace/bin/clang-20+0x1e9d1b5)
[build] #17 0x000056478951eaea main (/opt/ace/bin/clang-20+0x1eadaea)
[build] #18 0x00007ff0905a424a (/lib/x86_64-linux-gnu/libc.so.6+0x2724a)
[build] #19 0x00007ff0905a4305 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27305)
[build] #20 0x000056478950126a _start (/opt/ace/bin/clang-20+0x1e9026a)
[build] clang++: error: unable to execute command: Segmentation fault (core dumped)
[build] clang++: error: clang frontend command failed due to signal (use -v to see invocation)
[build] clang version 20.1.0-rc3 (https://github.com/llvm/llvm-project a69568efe6c4972e71af295c6577b3412dd57c22)
[build] Target: x86_64-w64-windows-gnu
[build] Thread model: posix
[build] InstalledDir: /opt/ace/bin
[build] clang++: 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:
[build] clang++: note: diagnostic msg: /tmp/ice-56399a.cppm
[build] clang++: note: diagnostic msg: /tmp/ice-56399a.sh
[build] clang++: note: diagnostic msg: 
[build] 
[build] ********************
[build] #19 0x00007ff0905a4305 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x27305)
[build] #20 0x000056478950126a _start (/opt/ace/bin/clang-20+0x1e9026a)
[build] clang++: error: unable to execute command: Segmentation fault (core dumped)
[build] clang++: error: clang frontend command failed due to signal (use -v to see invocation)
[build] clang version 20.1.0-rc3 (https://github.com/llvm/llvm-project a69568efe6c4972e71af295c6577b3412dd57c22)
[build] Target: x86_64-w64-windows-gnu
[build] Thread model: posix
[build] InstalledDir: /opt/ace/bin
[build] clang++: 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:
[build] clang++: note: diagnostic msg: /tmp/ice-56399a.cppm
[build] clang++: note: diagnostic msg: /tmp/ice-56399a.sh
[build] clang++: note: diagnostic msg: 
[build] 
[build] ********************
```

This script was used to build the toolchain:<br>
https://github.com/qis/ace/blob/616c2afcf76d21e1b08cdb4e31ec82c0a5cd857e/src/build.sh

[ice-56399a.zip](https://github.com/user-attachments/files/19010207/ice-56399a.zip)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsWl1z4jiz_jXOjUqULX-AL3LBhLCTOslMasK-s3eULLVtbWzJryQTsr_-lGQzAYawZM_u1dmqVMWI1tOt7tbTjSxqjKgkwHWQfgrSxRXtba309X-FuSoUf71e1cIgpqmp0Qs1SBUG9AY4UjKI50E4D8gc3d__5wH9B7QRfhSRcBJNQqxZPAp8VsairqG2VLp1Et-F5OrFBOQG3QvZb0e5FdUVHEo-CPnLd_ySJU4knA8SQlbDPLSdZessQS_C1sjWgAxtAVmlGlZTIR1-0VtEERdlCRqkRebVaKUselH62aDfe2NRKSQgKjniCgySyg4Lngwqf5UNGIOENFb3zLq12xr0izDg8O8CMm0aVPSi4Yg1VFZISMSh6CvUKj4Aa-A9A28hc2O8124N7rOErUUlvCBOX71DjEK2ptZ_CVorjYRBQI0AjaxCGpgGagdcqyl7Rly9yNHYO-nntUClFa03sAYNDsIrb-kzjLaq3na9RaocvvEh9pg1IMqYajsqX52VFUjQ1C28FA2YMe7hPMjC8S-cB-knjxqkCxSQpepsQJaUQUCWhYvD0nsmIJ8C8glhbH0Yg3gxxM_FF7dCVi8xQRiPIQrixRGUcR5aekGEF3c3t-vb3x6_flshvPjy9eHuy8P8N4QX3---xGR9fzv_sp5_WawfbudfEF4IBqP0E8J3DkY6YBaQ5XeXCt2gQgw2-7WMqrAPplOv2Z9P9UIt1aweloezBG8IwiU1LcJla7B3rRWFaIR9xZvdvllE-SQJES6lwtpagXAJ2w60aEFa2uBGFJrqV4QrhI3lQbxggz9JhnC5EWZEDOJFLTgHifB3ITe0ERx3rEb4tyE7sZCs6TkcDP4lf9w80GdY-pzwghMutINwSbbuWD2pt9vJKdX_vFqEHxYIP6zQO8JGs_EzY-1EFb8j_LC8WHjCUZCEF0u3ire0Q1h9wBr2Z745mHO0Ax_vb-dPt8j0RSsc-zku0tApbR2D1NZ2fheTZUCWlbB1X0yYagOybJrN7h_utPodmDNAGNN7iz0_7GL4xhoFZc-OiTzddBo6rRgYAxwZ1eth2M2kxigmPJPoXiLDtOjs5Mj2J-sprW-7kWj2vgsnQZg_alVp2iKqq95tDbeUM5yDSYgwYxHCVouuAbRHOS9DGcKV7BGGVljsfc-FoUUDuNQACLMGqMbUWFxAqTRgt1yQ_E3Ou2sDWpSOo90wo5rjDW16wJK2YBwjCIkdf_oBNMYN4VZDoxi1QknsykWDOsEQ7gTDDWygQQThttS0BdwpIS3oIF5IJcFxCbU1Bq2lQrgsO8yUdGFwxKnkSCSql1zICjtZhFumxjKmNKaNoMbb1hpcCFsKaLhBuOylcwy2bnEmiBdkwDLiD-CYA212Fg_jvQEspLCYak1f0UjumHU92uM_v3uxkKXCz0J6-nqzBWH-QnW5R4bJOKMCjW0vhayCeFHxAuFyQHIsKprBcW4X-WLxQTJBuGRqA5pW8DfhaRhS3kEcJ2UjirdCuHRpecjPP5M6h04DcxsGt5RpF-ZK9vgZXl-U9qE6XSFK3zfgRrjtH-XvlYe9SjOGkW0ppha2wg6q2H5EJmQSXVzBRNs1ggnrkrpvXJaVw5PfBEHs6nEQz2nnxLzXg3jxDj0KBnhPcNKx9h24YUOfRxpkzoA0qjqP0KjqzHS__87MZvbM5BZapV_PAwwyZ0DMq7HQTi5xxoHoScghKw8g1uuh1rLtlmS7Emb5ON08iw4rrjGrgT1jIXHVlm6nbbcYtgw6F8Mhd98-_HgeSNDphfqwVfmHW5RdWfsHW5KScq6NqD7WCWyR8-v7MXRuP6qTKCBxiMJtGIZhmiXTGZ2WrIhS5Ot7PB9yZHh41EJaX3RXQwmfvQlp-rJWxmqgbUAyV8aFc02OAjI7W3ED8incxtGsKKI0IPkJ86Ij83KYwSnzvvXySVSSNp-p5A1o41VfbsEMZnDaAnJkAU_z8mJYlubladh4hJ2WZZiHaZGHaTjCDgVg7D8a9_vVdR7DF2xi1CQb4FmYhqfBk32bi-ksdI3NUFG8t-ZPq29AuWsS3McK7L1itHnwO9plT0Bme-IGtKCN-GPkXze0L-oj3kt_QMB3ofdV-zI_JVFYMhadXkp6sJRZnBQzfiksi4sZPw2bHcGSOD_noUZRvgDW_NpxauEbMFdXD510NOMRfEO1P8F76sKUTCIWxfk7PpkehpcVcRqeMb4UUph6NGjOPJV-ZHskUUrj91JtdmgLTxibnrFl6W0BvoBdUrmW7UPGZDFj09PG5IfG5DDj5Rlj3PP8aXXAZU9WC1l9g9Il9SV74H9cl3oo--R7u_ux-_15d1wGPGyuuf-72DmEz_gJxnFMesD0RZaQmLMj5_wqhR0-3CvKl1q186fVyAd_7qLHm883SloqJOjBzQMLjAzxnqrvNbUr5RQ6qTc1d9Lq3ogNfIPyRtpHq4P4Zg9kIWgllbGCmVtZCQlBfHukx5n-5FuXr2MHsW-Qb1mc2HpNxljUVANfd8eqPvvVPAHVrB6RRmWXY9xTWR3OLZRqjgy-oZ3tNbilmV1i7cR2___EQ29fb0pz7Aav-dKqWPIo5ux0MkWHyRTH2TQ_8LxW0oLkA90MY5-gEnLYGz_XmBv_uwr0nTSWSgY_J80O8k52vXUAe8G8eEmMZNP89JIOCn2RJlOaHJSEnyz0o7dbYL2FcZ0HSzrywUfsBJ7R5AT7OzvjQ5KLeZ4ekNxo0Zu5mx9EdN7hH-CZkLE8fYdnDpqPPI3iJAbEWLRu_VH7HpHMtaavjkfiG1bTH2wx323kgzFygzZK8I-YGQElSXyir3NmpodmhuWMxpfC5jCj8WnY7AgWoiIdorNb_64E1FTv6H1_U6-UahyNwtZ-PMEjyHlUnOilnWnTo8AABYqcURd7k1Ogp7Fnh-0sTUhCP9bOkilJ3gHPj8HjMEXrtZu_NpZqu95bxcXq4vC0n0h4FMKIZBQNii6OQkiyE4vZe7sRxPPhtY176CUtGkBWIRg2L2Kqbal0tQU9QeUPbvxJWkn7xlvBlAZ__AknOtz39Ayn6eXISzslqKSiAY54700w_neU09EbQHjjxwCQ2COSkwrReMKz92LPoXzsHBnRLE-zGZSQsSSfEphGtCR5yrJ0Oi1i1-HwdMoI-dmI1fi2aP7O2e2xeK2BcjQeJMxRp4zYHsl4cmwa4Auh3zk_Put5qayrE4j_6FVQayqPdJx387_-dwR18pB_vlrNbz6j1edbtPx6f__1-92XX9Dy7v72Ca2--uFPv_6Cvt0-fv22-vlE_fHUaf3MOF5698T-h4AG5E-CgSNqf8a-3GVkadtuPJFKszjP6YR13fGpxv8Jz9R_V0D_ufj-y4j_MuK_jPgvI_7_ZsT9WyXh3N8_GrzsLyD1LixWjXdYbL1_28e12TeFdr8ywvmZvfhfYd7yulGORLMoY4SWrJxmnEQQFeGM8SKBOAI2IyykKeOzdPr24t3rH33o17_n2T9EF6SL83zQG9CYWktZPbzEJstyPN2P8jAKSTg9DJcDJfkVv455Huf0Cq6jaRJmWZKl2VV9nUcQAid0RmZFMoOQF9MUSFYmbFqSsEyuxDUJSRoSMo3idBpnk1lJ0jxPp2GWZBDPiiAJoaWimTiOmihdXfn3_tcRycMsumpoAY3x18QIGVOFBOniSl97Uiv6ygRJ2AhjzRuEFbbxd8uGGenCPWpqap9w4y_V4RoBGPRSgxwiK6S_PeXfHPrLXRQN137Gu0FXvW6u__pFhnFNm2vyvwEAAP__SacReQ">