[llvm] MC: Use reportFatalUsageError for COFF with non-windows (PR #147911)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 10 00:55:02 PDT 2025


https://github.com/arsenm created https://github.com/llvm/llvm-project/pull/147911

None

>From 8940960e212f2b57fecaa19e2208d4c9dbaa1ed8 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Thu, 10 Jul 2025 16:53:35 +0900
Subject: [PATCH] MC: Use reportFatalUsageError for COFF with non-windows

---
 llvm/lib/MC/MCContext.cpp                             | 7 ++++---
 llvm/test/CodeGen/AArch64/nonwindows-coff-mc-error.ll | 5 +++++
 2 files changed, 9 insertions(+), 3 deletions(-)
 create mode 100644 llvm/test/CodeGen/AArch64/nonwindows-coff-mc-error.ll

diff --git a/llvm/lib/MC/MCContext.cpp b/llvm/lib/MC/MCContext.cpp
index b0d1cb41fac1c..890184db1d1ef 100644
--- a/llvm/lib/MC/MCContext.cpp
+++ b/llvm/lib/MC/MCContext.cpp
@@ -87,9 +87,10 @@ MCContext::MCContext(const Triple &TheTriple, const MCAsmInfo *mai,
     Env = IsMachO;
     break;
   case Triple::COFF:
-    if (!TheTriple.isOSWindows() && !TheTriple.isUEFI())
-      report_fatal_error(
-          "Cannot initialize MC for non-Windows COFF object files.");
+    if (!TheTriple.isOSWindows() && !TheTriple.isUEFI()) {
+      reportFatalUsageError(
+          "cannot initialize MC for non-Windows COFF object files");
+    }
 
     Env = IsCOFF;
     break;
diff --git a/llvm/test/CodeGen/AArch64/nonwindows-coff-mc-error.ll b/llvm/test/CodeGen/AArch64/nonwindows-coff-mc-error.ll
new file mode 100644
index 0000000000000..3e89cac7570a8
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/nonwindows-coff-mc-error.ll
@@ -0,0 +1,5 @@
+; RUN: not llc -mtriple=aarch64-unknown-linux-coff -filetype=null %s 2>&1 | FileCheck %s
+; CHECK: LLVM ERROR: cannot initialize MC for non-Windows COFF object files
+define void @foo() {
+  ret void
+}



More information about the llvm-commits mailing list