Author: Hubert Tong Date: 2025-03-14T00:58:32-04:00 New Revision: 42748a454fc9d9a42504e8290234aaf9407437ce
URL: https://github.com/llvm/llvm-project/commit/42748a454fc9d9a42504e8290234aaf9407437ce DIFF: https://github.com/llvm/llvm-project/commit/42748a454fc9d9a42504e8290234aaf9407437ce.diff LOG: [Clang driver] Diagnose `-maix-shared-lib-tls-model-opt` on wrong targets (#130865) Added: Modified: clang/lib/Driver/ToolChains/Arch/PPC.cpp clang/test/Driver/aix-shared-lib-tls-model-opt.c Removed: ################################################################################ diff --git a/clang/lib/Driver/ToolChains/Arch/PPC.cpp b/clang/lib/Driver/ToolChains/Arch/PPC.cpp index 57baa186a9eb7..f0ced406fca86 100644 --- a/clang/lib/Driver/ToolChains/Arch/PPC.cpp +++ b/clang/lib/Driver/ToolChains/Arch/PPC.cpp @@ -72,6 +72,11 @@ void ppc::getPPCTargetFeatures(const Driver &D, const llvm::Triple &Triple, D.Diag(diag::err_drv_argument_only_allowed_with) << "-maix-small-local-[exec|dynamic]-tls" << "-fdata-sections"; } + + if (Args.hasArg(options::OPT_maix_shared_lib_tls_model_opt) && + !(Triple.isOSAIX() && Triple.isArch64Bit())) + D.Diag(diag::err_opt_not_valid_on_target) + << "-maix-shared-lib-tls-model-opt"; } ppc::ReadGOTPtrMode ppc::getPPCReadGOTPtrMode(const Driver &D, const llvm::Triple &Triple, diff --git a/clang/test/Driver/aix-shared-lib-tls-model-opt.c b/clang/test/Driver/aix-shared-lib-tls-model-opt.c index e610bb6d15d9d..7acf091f0a049 100644 --- a/clang/test/Driver/aix-shared-lib-tls-model-opt.c +++ b/clang/test/Driver/aix-shared-lib-tls-model-opt.c @@ -6,12 +6,11 @@ // RUN: %clang -target powerpc64-unknown-aix -maix-shared-lib-tls-model-opt -S -emit-llvm \ // RUN: %s -o - | FileCheck %s --check-prefixes=CHECK-AIX,CHECK-AIX-ON -// FIXME: Clang driver diagnostic not implemented. -// RUN: true || not %clang -target powerpc-unknown-aix -maix-shared-lib-tls-model-opt \ +// RUN: not %clang -target powerpc-unknown-aix -maix-shared-lib-tls-model-opt \ // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-TARGET %s -// RUN: true || not %clang -target powerpc64le-unknown-linux-gnu -maix-shared-lib-tls-model-opt \ +// RUN: not %clang -target powerpc64le-unknown-linux-gnu -maix-shared-lib-tls-model-opt \ // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-TARGET %s -// RUN: true || not %clang -target powerpc64-unknown-linux-gnu -maix-shared-lib-tls-model-opt \ +// RUN: not %clang -target powerpc64-unknown-linux-gnu -maix-shared-lib-tls-model-opt \ // RUN: -fsyntax-only %s 2>&1 | FileCheck --check-prefix=CHECK-UNSUPPORTED-TARGET %s int test(void) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits