[clang] 27e244f - [clang][AIX] Fix -print-runtime-dir on AIX (#104806)
via cfe-commits
cfe-commits at lists.llvm.org
Sun Sep 1 20:37:47 PDT 2024
Author: Jake Egan
Date: 2024-09-01T23:37:43-04:00
New Revision: 27e244f51435f8f0933969782a6faddfcbe809a6
URL: https://github.com/llvm/llvm-project/commit/27e244f51435f8f0933969782a6faddfcbe809a6
DIFF: https://github.com/llvm/llvm-project/commit/27e244f51435f8f0933969782a6faddfcbe809a6.diff
LOG: [clang][AIX] Fix -print-runtime-dir on AIX (#104806)
Currently the option prints a path to a nonexistent directory with the
full triple, `lib/powerpc64-ibm-aix7.2.0.0`. It should only be
`lib/aix`.
Added:
clang/test/Driver/aix-print-runtime-dir.c
Modified:
clang/lib/Driver/ToolChain.cpp
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index 76901875c66959..64f23d43e87ee8 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -843,8 +843,8 @@ std::optional<std::string> ToolChain::getRuntimePath() const {
llvm::sys::path::append(P, "lib");
if (auto Ret = getTargetSubDirPath(P))
return Ret;
- // Darwin does not use per-target runtime directory.
- if (Triple.isOSDarwin())
+ // Darwin and AIX does not use per-target runtime directory.
+ if (Triple.isOSDarwin() || Triple.isOSAIX())
return {};
llvm::sys::path::append(P, Triple.str());
return std::string(P);
diff --git a/clang/test/Driver/aix-print-runtime-dir.c b/clang/test/Driver/aix-print-runtime-dir.c
new file mode 100644
index 00000000000000..0d68ad6fee005e
--- /dev/null
+++ b/clang/test/Driver/aix-print-runtime-dir.c
@@ -0,0 +1,11 @@
+// Test output of -print-runtime-dir on AIX
+
+// RUN: %clang -print-runtime-dir --target=powerpc-ibm-aix \
+// RUN: -resource-dir=%S/Inputs/resource_dir \
+// RUN: | FileCheck --check-prefix=PRINT-RUNTIME-DIR %s
+
+// RUN: %clang -print-runtime-dir --target=powerpc64-ibm-aix \
+// RUN: -resource-dir=%S/Inputs/resource_dir \
+// RUN: | FileCheck --check-prefix=PRINT-RUNTIME-DIR %s
+
+// PRINT-RUNTIME-DIR: lib{{/|\\}}aix{{$}}
More information about the cfe-commits
mailing list