[llvm] AsmPrinter: Do not use report_fatal_error fir AIX XXStructor error (PR #145273)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 22 23:05:35 PDT 2025


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

None

>From 1390d82962c5eabcb019029b4e9342c5b69bc276 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Mon, 23 Jun 2025 15:04:18 +0900
Subject: [PATCH] AsmPrinter: Do not use report_fatal_error fir AIX XXStructor
 error

---
 llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp              | 6 ++++--
 llvm/test/CodeGen/PowerPC/aix-static-init-key-object.ll | 6 +++---
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 403963f33b65c..541373520ffb0 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -3243,9 +3243,11 @@ void AsmPrinter::preprocessXXStructorList(const DataLayout &DL,
     S.Priority = Priority->getLimitedValue(65535);
     S.Func = CS->getOperand(1);
     if (!CS->getOperand(2)->isNullValue()) {
-      if (TM.getTargetTriple().isOSAIX())
-        llvm::report_fatal_error(
+      if (TM.getTargetTriple().isOSAIX()) {
+        CS->getContext().emitError(
             "associated data of XXStructor list is not yet supported on AIX");
+      }
+
       S.ComdatKey =
           dyn_cast<GlobalValue>(CS->getOperand(2)->stripPointerCasts());
     }
diff --git a/llvm/test/CodeGen/PowerPC/aix-static-init-key-object.ll b/llvm/test/CodeGen/PowerPC/aix-static-init-key-object.ll
index e0a77c84b81a9..b8aba26b574c1 100644
--- a/llvm/test/CodeGen/PowerPC/aix-static-init-key-object.ll
+++ b/llvm/test/CodeGen/PowerPC/aix-static-init-key-object.ll
@@ -1,5 +1,5 @@
-; RUN: not --crash llc -mtriple powerpc-ibm-aix-xcoff < %s 2>&1 | FileCheck %s
-; RUN: not --crash llc -mtriple powerpc64-ibm-aix-xcoff < %s 2>&1 | FileCheck %s
+; RUN: not llc -mtriple powerpc-ibm-aix-xcoff < %s 2>&1 | FileCheck %s
+; RUN: not llc -mtriple powerpc64-ibm-aix-xcoff < %s 2>&1 | FileCheck %s
 
 @v = global i8 0
 
@@ -9,4 +9,4 @@ define void @foo() {
   ret void
 }
 
-; CHECK: LLVM ERROR: associated data of XXStructor list is not yet supported on AIX
+; CHECK: error: associated data of XXStructor list is not yet supported on AIX



More information about the llvm-commits mailing list