[clang] [AIX] Fix OBJECT_MODE bug on AIX (PR #193550)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 22 10:49:45 PDT 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang-driver
@llvm/pr-subscribers-clang
Author: Mark Danial (madanial0)
<details>
<summary>Changes</summary>
if `--target` is specified it takes precedence over OBJECT_MODE
---
Full diff: https://github.com/llvm/llvm-project/pull/193550.diff
1 Files Affected:
- (modified) clang/lib/Driver/Driver.cpp (+6-1)
``````````diff
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 2cbe3179892ff..a897d76e3e9ce 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -666,7 +666,12 @@ static llvm::Triple computeTargetTriple(const Driver &D,
return Target;
// On AIX, the env OBJECT_MODE may affect the resulting arch variant.
- if (Target.isOSAIX()) {
+ // However, if --target was explicitly specified, it takes precedence.
+ // Only apply OBJECT_MODE if the target architecture is PowerPC.
+ if (Target.isOSAIX() && !Args.hasArg(options::OPT_target) &&
+ (Target.getArch() == llvm::Triple::ppc ||
+ Target.getArch() == llvm::Triple::ppc64 ||
+ Target.getArch() == llvm::Triple::ppc64le)) {
if (std::optional<std::string> ObjectModeValue =
llvm::sys::Process::GetEnv("OBJECT_MODE")) {
StringRef ObjectMode = *ObjectModeValue;
``````````
</details>
https://github.com/llvm/llvm-project/pull/193550
More information about the cfe-commits
mailing list