https://github.com/jakeegan updated https://github.com/llvm/llvm-project/pull/141439
>From b044f81c6d1ed67ce7ee27bce7a62d36b3841bad Mon Sep 17 00:00:00 2001 From: Jake Egan <jake.e...@ibm.com> Date: Sun, 25 May 2025 19:40:59 -0400 Subject: [PATCH 1/2] Fix rt dir fallback --- clang/lib/Driver/ToolChain.cpp | 23 ++++++++++------------- clang/test/Driver/aix-print-runtime-dir.c | 9 --------- 2 files changed, 10 insertions(+), 22 deletions(-) diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index ce302b308fd19..2cf0030d4b97b 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -933,11 +933,16 @@ ToolChain::getTargetSubDirPath(StringRef BaseDir) const { if (auto Path = getPathForTriple(T)) return *Path; - if (T.isOSAIX() && T.getEnvironment() == Triple::UnknownEnvironment) { - // Strip unknown environment from the triple. - const llvm::Triple AIXTriple( - llvm::Triple(T.getArchName(), T.getVendorName(), - llvm::Triple::getOSTypeName(T.getOS()))); + if (T.isOSAIX()) { + llvm::Triple AIXTriple; + if (T.getEnvironment() == Triple::UnknownEnvironment) { + // Strip unknown environment from the triple. + AIXTriple = llvm::Triple(T.getArchName(), T.getVendorName(), + llvm::Triple::getOSTypeName(T.getOS())); + } else { + // Get the triple without the OS version. + AIXTriple = getTripleWithoutOSVersion(); + } if (auto Path = getPathForTriple(AIXTriple)) return *Path; } @@ -987,14 +992,6 @@ std::optional<std::string> ToolChain::getRuntimePath() const { if (Triple.isOSDarwin()) return {}; - // For AIX, get the triple without the OS version. - if (Triple.isOSAIX()) { - const llvm::Triple &TripleWithoutVersion = getTripleWithoutOSVersion(); - llvm::sys::path::append(P, TripleWithoutVersion.str()); - if (getVFS().exists(P)) - return std::string(P); - 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 index ef133728d731f..4740129442540 100644 --- a/clang/test/Driver/aix-print-runtime-dir.c +++ b/clang/test/Driver/aix-print-runtime-dir.c @@ -1,13 +1,5 @@ // 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 - // RUN: %clang -print-runtime-dir --target=powerpc-ibm-aix \ // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir\ // RUN: | FileCheck --check-prefix=PRINT-RUNTIME-DIR32-PER-TARGET %s @@ -24,7 +16,6 @@ // RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir \ // RUN: | FileCheck --check-prefix=PRINT-RUNTIME-DIR64-UNKNOWN-ENV %s -// PRINT-RUNTIME-DIR: lib{{/|\\}}aix{{$}} // PRINT-RUNTIME-DIR32-PER-TARGET: lib{{/|\\}}powerpc-ibm-aix{{$}} // PRINT-RUNTIME-DIR64-PER-TARGET: lib{{/|\\}}powerpc64-ibm-aix{{$}} // PRINT-RUNTIME-DIR32-UNKNOWN-ENV: lib{{/|\\}}powerpc-ibm-aix >From 8b8f30e4ba7c9d9794dc35d55ab28df0e64ada80 Mon Sep 17 00:00:00 2001 From: Jake Egan <jake.e...@ibm.com> Date: Sun, 25 May 2025 21:01:52 -0400 Subject: [PATCH 2/2] Fix formatting --- clang/lib/Driver/ToolChain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index 2cf0030d4b97b..024d2534dd248 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -938,7 +938,7 @@ ToolChain::getTargetSubDirPath(StringRef BaseDir) const { if (T.getEnvironment() == Triple::UnknownEnvironment) { // Strip unknown environment from the triple. AIXTriple = llvm::Triple(T.getArchName(), T.getVendorName(), - llvm::Triple::getOSTypeName(T.getOS())); + llvm::Triple::getOSTypeName(T.getOS())); } else { // Get the triple without the OS version. AIXTriple = getTripleWithoutOSVersion(); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits