diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/MC/MCAsmBackend.cpp')
-rw-r--r-- | contrib/llvm-project/llvm/lib/MC/MCAsmBackend.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/contrib/llvm-project/llvm/lib/MC/MCAsmBackend.cpp b/contrib/llvm-project/llvm/lib/MC/MCAsmBackend.cpp index cf110345df3d..0d32e71c2d8f 100644 --- a/contrib/llvm-project/llvm/lib/MC/MCAsmBackend.cpp +++ b/contrib/llvm-project/llvm/lib/MC/MCAsmBackend.cpp @@ -54,10 +54,17 @@ std::unique_ptr<MCObjectWriter> MCAsmBackend::createDwoObjectWriter(raw_pwrite_stream &OS, raw_pwrite_stream &DwoOS) const { auto TW = createObjectTargetWriter(); - if (TW->getFormat() != Triple::ELF) - report_fatal_error("dwo only supported with ELF"); - return createELFDwoObjectWriter(cast<MCELFObjectTargetWriter>(std::move(TW)), - OS, DwoOS, Endian == support::little); + switch (TW->getFormat()) { + case Triple::ELF: + return createELFDwoObjectWriter( + cast<MCELFObjectTargetWriter>(std::move(TW)), OS, DwoOS, + Endian == support::little); + case Triple::Wasm: + return createWasmDwoObjectWriter( + cast<MCWasmObjectTargetWriter>(std::move(TW)), OS, DwoOS); + default: + report_fatal_error("dwo only supported with ELF and Wasm"); + } } Optional<MCFixupKind> MCAsmBackend::getFixupKind(StringRef Name) const { |