https://github.com/kkwli created https://github.com/llvm/llvm-project/pull/205180
If OBJECT_MODE is set to '32_64' or 'any', the bit mode defaults to '32'. >From 5c84f39a41beeb0c8029e062faf4fef0765092fa Mon Sep 17 00:00:00 2001 From: Kelvin Li <[email protected]> Date: Mon, 22 Jun 2026 15:55:25 -0400 Subject: [PATCH] [driver][AIX] Accept '32_64' and 'any' as valid value for OBJECT_MODE If OBJECT_MODE is set to '32_64' or 'any', the bit mode defaults to '32'. --- clang/lib/Driver/Driver.cpp | 3 ++- clang/test/Driver/aix-object-mode.c | 15 +++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index ea06235de5c1f..d540d95c025ec 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -676,7 +676,8 @@ static llvm::Triple computeTargetTriple(const Driver &D, if (ObjectMode == "64") { AT = Target.get64BitArchVariant().getArch(); - } else if (ObjectMode == "32") { + } else if (ObjectMode == "32" || ObjectMode == "32_64" || + ObjectMode == "any") { AT = Target.get32BitArchVariant().getArch(); } else { D.Diag(diag::err_drv_invalid_object_mode) << ObjectMode; diff --git a/clang/test/Driver/aix-object-mode.c b/clang/test/Driver/aix-object-mode.c index 7d79b5e900f67..4e513d5b5f9cd 100644 --- a/clang/test/Driver/aix-object-mode.c +++ b/clang/test/Driver/aix-object-mode.c @@ -12,6 +12,15 @@ // RUN: env OBJECT_MODE=32 \ // RUN: %clang -print-target-triple | FileCheck -check-prefix=CHECK32 %s +// RUN: env OBJECT_MODE=32_64 \ +// RUN: %clang --target=powerpc64-ibm-aix -print-target-triple | FileCheck -check-prefix=CHECK64 %s + +// RUN: env OBJECT_MODE=32_64 \ +// RUN: %clang -print-target-triple | FileCheck -check-prefix=CHECK32 %s + +// RUN: env OBJECT_MODE=any \ +// RUN: %clang -print-target-triple | FileCheck -check-prefix=CHECK32 %s + // Command-line options win. // RUN: env OBJECT_MODE=64 \ // RUN: %clang --target=powerpc64-ibm-aix -print-target-triple -m32 | FileCheck -check-prefix=CHECK32 %s @@ -19,6 +28,12 @@ // RUN: env OBJECT_MODE=32 \ // RUN: %clang --target=powerpc-ibm-aix -print-target-triple -m64 | FileCheck -check-prefix=CHECK64 %s +// RUN: env OBJECT_MODE=32_64 \ +// RUN: %clang --target=powerpc-ibm-aix -print-target-triple -m64 | FileCheck -check-prefix=CHECK64 %s + +// RUN: env OBJECT_MODE=any \ +// RUN: %clang --target=powerpc-ibm-aix -print-target-triple -m64 | FileCheck -check-prefix=CHECK64 %s + // CHECK32: powerpc-ibm-aix // CHECK64: powerpc64-ibm-aix _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
