Author: Aditya Chaudhary
Date: 2025-09-15T11:46:56-04:00
New Revision: 9f06b28f87bf170cde4000afac1e3221b0418f28

URL: 
https://github.com/llvm/llvm-project/commit/9f06b28f87bf170cde4000afac1e3221b0418f28
DIFF: 
https://github.com/llvm/llvm-project/commit/9f06b28f87bf170cde4000afac1e3221b0418f28.diff

LOG: [AIX] Disable -gsplit-dwarf as it is unsupported at the moment on AIX 
(#158199)

**-gsplit-dwarf** flag causes an internal compiler error on AIX.
This PR aims to disable the -gsplit-dwarf flag on the AIX platform, as
it is unsupported at the moment.

Co-authored-by: Aditya Chaudhary <aditya.chaudha...@ibm.com>

Added: 
    clang/test/Driver/aix-gsplit-dwarf.c

Modified: 
    clang/lib/Driver/ToolChains/Clang.cpp

Removed: 
    


################################################################################
diff  --git a/clang/lib/Driver/ToolChains/Clang.cpp 
b/clang/lib/Driver/ToolChains/Clang.cpp
index 63efb0f02baa8..c9377e23086c5 100644
--- a/clang/lib/Driver/ToolChains/Clang.cpp
+++ b/clang/lib/Driver/ToolChains/Clang.cpp
@@ -4393,6 +4393,13 @@ renderDebugOptions(const ToolChain &TC, const Driver &D, 
const llvm::Triple &T,
   // object file generation and no IR generation, -gN should not be needed. So
   // allow -gsplit-dwarf with either -gN or IR input.
   if (IRInput || Args.hasArg(options::OPT_g_Group)) {
+    // FIXME: -gsplit-dwarf on AIX is currently unimplemented.
+    if (TC.getTriple().isOSAIX() && Args.hasArg(options::OPT_gsplit_dwarf)) {
+      D.Diag(diag::err_drv_unsupported_opt_for_target)
+          << Args.getLastArg(options::OPT_gsplit_dwarf)->getSpelling()
+          << TC.getTriple().str();
+      return;
+    }
     Arg *SplitDWARFArg;
     DwarfFission = getDebugFissionKind(D, Args, SplitDWARFArg);
     if (DwarfFission != DwarfFissionKind::None &&

diff  --git a/clang/test/Driver/aix-gsplit-dwarf.c 
b/clang/test/Driver/aix-gsplit-dwarf.c
new file mode 100644
index 0000000000000..22f2a66961f36
--- /dev/null
+++ b/clang/test/Driver/aix-gsplit-dwarf.c
@@ -0,0 +1,12 @@
+// Verify error message is emitted for `-gsplit-dwarf` on AIX 
+// as it's unsupported at the moment.
+
+// RUN: not %clang -target powerpc-ibm-aix -gdwarf-4 -gsplit-dwarf %s 2>&1 \
+// RUN: | FileCheck %s --check-prefix=UNSUP_OPT_AIX
+// RUN: not %clang -target powerpc64-ibm-aix -gdwarf-4 -gsplit-dwarf %s 2>&1 \
+// RUN: | FileCheck %s --check-prefix=UNSUP_OPT_AIX64
+
+// UNSUP_OPT_AIX: error: unsupported option '-gsplit-dwarf' for target 
'powerpc-ibm-aix'
+// UNSUP_OPT_AIX64: error: unsupported option '-gsplit-dwarf' for target 
'powerpc64-ibm-aix'
+
+int main(){return 0;}


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to