Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions clang/lib/Driver/ToolChain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -935,6 +935,14 @@ ToolChain::getTargetSubDirPath(StringRef BaseDir) const {
if (auto Path = getPathForTriple(T))
return *Path;

// On AIX, the environment component is not used in the target sub dir name.
if (T.isOSAIX() && T.hasEnvironment()) {
llvm::Triple AIXTriple(T.getArchName(), T.getVendorName(),
llvm::Triple::getOSTypeName(T.getOS()));
if (auto Path = getPathForTriple(AIXTriple))
return *Path;
}

if (T.isOSzOS() &&
(!T.getOSVersion().empty() || !T.getEnvironmentVersion().empty())) {
// Build the triple without version information
Expand Down
4 changes: 4 additions & 0 deletions clang/test/Driver/aix-print-runtime-dir.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@
// RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir\
// RUN: | FileCheck --check-prefix=PRINT-RUNTIME-DIR64-PER-TARGET %s

// RUN: %clang -print-runtime-dir --target=powerpc-ibm-aix-unknown \
// RUN: -resource-dir=%S/Inputs/resource_dir_with_per_target_subdir\
// RUN: | FileCheck --check-prefix=PRINT-RUNTIME-DIR32-PER-TARGET %s

// PRINT-RUNTIME-DIR: lib{{/|\\}}aix{{$}}
// PRINT-RUNTIME-DIR32-PER-TARGET: lib{{/|\\}}powerpc-ibm-aix{{$}}
// PRINT-RUNTIME-DIR64-PER-TARGET: lib{{/|\\}}powerpc64-ibm-aix{{$}}