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

    <tr>
        <th>Summary</th>
        <td>
            Clang crashes when target is x86_64-coff
        </td>
    </tr>

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

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

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

<pre>
    I tried this on 18.1.3 from opensuse's repos and the latest Apple clang from Xcode which according to Wikipedia is based on LLVM 16.0.0, both crash

```
fatal error: error in backend: Cannot initialize MC for non-Windows COFF object files.
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/bin/clang -target x86_64-coff -c -fcolor-diagnostics -o hello.o hello.c
1.      <eof> parser at end of file
 #0 0x00007fb12fdd9a09 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib64/libLLVM.so.18.1+0x9d9a09)
 #1 0x00007fb12fdd7430 llvm::sys::RunSignalHandlers() (/lib64/libLLVM.so.18.1+0x9d7430)
 #2 0x00007fb12fd12ace (/lib64/libLLVM.so.18.1+0x912ace)
 #3 0x00007fb12fd12a8b (/lib64/libLLVM.so.18.1+0x912a8b)
 #4 0x00007fb12fdd3acc (/lib64/libLLVM.so.18.1+0x9d3acc)
 #5 0x000055843cc33975 (/usr/bin/clang+0x12975)
 #6 0x00007fb12fd23c00 llvm::report_fatal_error(llvm::Twine const&, bool) (/lib64/libLLVM.so.18.1+0x923c00)
 #7 0x00007fb12fd23ab6 (/lib64/libLLVM.so.18.1+0x923ab6)
 #8 0x00007fb131716436 llvm::MCContext::MCContext(llvm::Triple const&, llvm::MCAsmInfo const*, llvm::MCRegisterInfo const*, llvm::MCSubtargetInfo const*, llvm::SourceMgr const*, llvm::MCTargetOptions const*, bool, llvm::StringRef) (/lib64/libLLVM.so.18.1+0x2316436)
 #9 0x00007fb130243aa9 llvm::MachineModuleInfo::MachineModuleInfo(llvm::LLVMTargetMachine const*) (/lib64/libLLVM.so.18.1+0xe43aa9)
#10 0x00007fb130244259 llvm::MachineModuleInfoWrapperPass::MachineModuleInfoWrapperPass(llvm::LLVMTargetMachine const*) (/lib64/libLLVM.so.18.1+0xe44259)
#11 0x00007fb130199eb7 llvm::LLVMTargetMachine::addPassesToEmitFile(llvm::legacy::PassManagerBase&, llvm::raw_pwrite_stream&, llvm::raw_pwrite_stream*, llvm::CodeGenFileType, bool, llvm::MachineModuleInfoWrapperPass*) (/lib64/libLLVM.so.18.1+0xd99eb7)
#12 0x00007fb1385931f3 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::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/lib64/libclang-cpp.so.18.1+0x1d931f3)
#13 0x00007fb138969016 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/lib64/libclang-cpp.so.18.1+0x2169016)
#14 0x00007fb13728ebc6 clang::ParseAST(clang::Sema&, bool, bool) (/lib64/libclang-cpp.so.18.1+0xa8ebc6)
#15 0x00007fb13952a756 clang::FrontendAction::Execute() (/lib64/libclang-cpp.so.18.1+0x2d2a756)
#16 0x00007fb13949d1b4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/lib64/libclang-cpp.so.18.1+0x2c9d1b4)
#17 0x00007fb1395a5e36 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/lib64/libclang-cpp.so.18.1+0x2da5e36)
#18 0x000055843cc33660 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang+0x12660)
#19 0x000055843cc303a8 (/usr/bin/clang+0xf3a8)
#20 0x00007fb139116389 (/lib64/libclang-cpp.so.18.1+0x2916389)
#21 0x00007fb12fd12a6e llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/lib64/libLLVM.so.18.1+0x912a6e)
#22 0x00007fb1391160e0 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/lib64/libclang-cpp.so.18.1+0x29160e0)
#23 0x00007fb1390ddeac clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/lib64/libclang-cpp.so.18.1+0x28ddeac)
#24 0x00007fb1390de0ee clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/lib64/libclang-cpp.so.18.1+0x28de0ee)
#25 0x00007fb1390fa74c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/lib64/libclang-cpp.so.18.1+0x28fa74c)
#26 0x000055843cc2fc3d clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang+0xec3d)
#27 0x000055843cc3c6e9 main (/usr/bin/clang+0x1b6e9)
#28 0x00007fb12ec2a1f0 __libc_start_call_main (/lib64/libc.so.6+0x2a1f0)
#29 0x00007fb12ec2a2b9 __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x2a2b9)
#30 0x000055843cc2cb25 _start (/usr/bin/clang+0xbb25)
clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 18.1.3
Target: x86_64-unknown-unknown-coff
Thread model: posix
InstalledDir: /usr/bin
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/hello-5cfe35.c
clang: note: diagnostic msg: /tmp/hello-5cfe35.sh
clang: note: diagnostic msg: 

********************
```

[hello-5cfe35.c.txt](https://github.com/llvm/llvm-project/files/14913085/hello-5cfe35.c.txt)

[hello-5cfe35.sh.txt](https://github.com/llvm/llvm-project/files/14913087/hello-5cfe35.sh.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8WV9z4ygS_zTKCxWXBJYsPeTBceKZbCWXVOLduTcXgpbNjQxaQPlzn_4KJDvCib3O7tRVpWJbNN2__tF0t4AaI1YS4CJKL6P06oy2dq30xe8y-ZPgs1Lxt4sbZLUAjuxaGKQkSvJRMiKo0mqDVAPStAYiPDFIQ6MMotKJAqqpBWPRtGlqQKymctVN-TdTHNDLWrA1oowpzYVcIavQD_FTNMAFRcKgkhrgztrt7R93KMlG8SiO8AyVyq4R09Sso_gqiqf9_yzu__zPilpaI9Ba6YhMuy9ISFRS9hMkd89mVEplkZDCClqL_wK6m6FKaSSVPP8hJFcvBs3u53Okyv8As6gSNZhRp__h9nr6dI1MW26ERRSV7co7r63zY21tYyIyjfA8wvOVsOu2HDG1ifC8rp-3H-eNVk5xhOfCmBZMhOeeOyFZ3XLwHHpHPWyrKQNHQKOh0YqBcfwY1erusZtJjVFMUAsc6VYiw7RobA_5yVL2E_F20zhk_lE8iuLiQauVphtE9ardgLQOOIrwvDU6wvNSyAjPu8U7t1SvwKLXPFtm43OmqgqdM3ReMVUrfc4FXUllrGAGnSu0hrpWo-0n6ywmzmJEZqCqiFyjhmoDGlGLQHKkKs9xJ4kiTGIUv8ZxHE-qMsEV5wWNC-QZJNOITM2b6b48aCGt92_RkZS_C2n6slTGaqCbCGeOKCFthAsU4dwthCizcffp4mxk1MhFd4Qv49fCG4xw8Y4o2UM0GZP4M0SPrXwSK0nr71TyGrTx1k4z6nQGRnFoNMGUwSmavGCgiXzQlJcnasrLQNN4jwhCGTvJOycYaEp7TWmajwljhBSTtNf0IQS9jgQXkzRQkYVgMGHxcFW6jbn0OWHZ5YRhhCxehATElDS2j5BSqfrE1fK2AjCTfTC0zE7TRMss0JQPNJFkkmRjkg3cupvNlLTwavd_Bs5p4bPvwLuhhqnZ3MhKbcen--OPsBLGgj4q9NSWXWY4IvXk89TdSh_UsvAq7hsrlDSBVLccgTarhVw9QnXaKmHiuQvILYbkxnhMKB3mljvK1kLCneJtDc6vQ4-HZDvDnRu93MCNU3CCR7GD6fJNvAdzjNOjMH9o2jSgH6gxJ0j8WvAOWwA-CcAnRQHlBB2x2D2mnDtwYBbqeiPs3JWEIdAaVpS99ZmfGnNHJV2BvqSuCdmLcJf9mxctLCyDGnBUYi80Z4rDN5AOx-Ktgc8j8jjNJ1LIPUMBhcPcT_K0IElFul6qs-sYuuyamvvWNq3b_YPhq_eafC1XjuLO_4HId6Ac9BNQzdZ7u29ftGfiL6Q-3cj7QrdUrj4T-XSPB0R7hvtFGijsSZgypzOcciOtbo14hkeoZtI-WB2R2fvwc9VvFbfCT2_GwiYi106FsbwbaaX4s4Vlszfzk9gZTOJQ0ba2Sw41WPiLieS6t_nRpZmSpt2APhRGfsY5a5oglhLuYyUIJhIEU5EVcZIdM9jFh-9gFppKU1NH7u9S7EXZ9Gmxqz3ZFzDixEMIMA4bCzLBOZQswPjgWsbp0yJE8AQbGhTvI0X8cyzUWwqgpEMoRYrpJA2gzLVzehdz3X58BdZaONTuHeCBe92B8SwwPi54Uo7DvbhpRO0qs7FUMgjMb3dBfhjt1xaKefsBwEnIDk2BBOz0UN5xPitGP8L64MeXohxzbzcAlu83lFkWI8aS5Ya6TnJQSaZa0zeXYciMremgNem3YvAMz9CzEjzAd6hBzbI4gFTsQYoJzY-qqAjNhxpw0AcUSZKR_HSSCi8e6Es-vAlkMKx57rXzEZh6Bv0WtJnuzYZWUL8FTFat9GG11J5NR1SHrvBcntRKewwBSLzvdAzxMMS4Fs_bNDWbJTO12VDJ9zfip-u9y9LKFyFaB_n5vfbs8vJuwnLJXl-TpPtRUiOYy-HCYfJRFAi7B0urqXCv1d3wnjpa125fKD0YdyKDztcHnI_Dr6x4DEEM4iD5FzHnQNlBMv2mpB_S2pbhYAfvTXQCh6r-EdHp3rvX1_zNvTuBv-M9fyEG-Kq_v6nSHHb2N1XeCmMP9S8bWtd_ALNK32yaehhzDRVuuf1BxOn89IHxj1hyJAQshTUuruhkfDAqrgbfg-z-SVo_xO7_kaXT82Pu3Q54ycKMjStGeIdhW0a2uPyWn354a1goVfeJcxAgxwsHMMIDFJO9usEyKJCzf7z-lBmE2X54koCBYZpUMVouHSNLY6m2S0brejnQPCTNkZV1TLmJgeZiXzMui1Czp2scf7u9uZwt8QiP0r8wgcsA_O4UcLsUrMQp6pQfpaEs8fsx0TZ83s-EdwfSvitCrA-kiooaOHoRdo3gVbjF44AmsTPVGkDnz8gqZACQGHQ0QyvoGbQRu2PybqR7KXJ2-9PTVv6U6kXuPpmqql50rYFytFEcajehUUa8dkO-Sapr4FdCfzimDf2Uyr1zTNH7qSzaGD-yZfYf_A0O3vuT8OliMZ19R4vv12h-f3t7_-PmX9_Q_Ob2-gkt7v3jy9-_ocfrh_vHxe78-eGzk-zcuG1y8DR7J6AB-coJHFG7U3mK_3huN02E5_5k-jxlFZB0e0D9t-dvryNOX4BftQzhzUf_P70MvRvZVxulVxHOv3w54e89IjxPxkVC4jz9wJzXvduxn9o3618HYPKR-gDBGb8gvCAFPYOLZJLgjJC0KM7WF-Mso2TCSj7OAY_jcRzHkOCkJOOkxCVPz8QFjv1AERNCkmIEFcnHQMqUwoTTIo7GMWyoqEcO4Ujp1Zm_ubnI8zgfn9W0hNr4ezSM-zyEo_TqTF94j8p2ZaJxXAtjzbsGK2wNFzOfOfxtDxj0sgaJ-tsWYYYXLmetri_-_v2SB_q_AAAA___pt0xe">