[clang] 5c6cbe2 - [clang] UEFI default ABI (#138364)
via cfe-commits
cfe-commits at lists.llvm.org
Thu May 8 09:08:49 PDT 2025
Author: Prabhu Rajasekaran
Date: 2025-05-08T09:08:46-07:00
New Revision: 5c6cbe25175be37ffa1c809f5163ab7aebecef1a
URL: https://github.com/llvm/llvm-project/commit/5c6cbe25175be37ffa1c809f5163ab7aebecef1a
DIFF: https://github.com/llvm/llvm-project/commit/5c6cbe25175be37ffa1c809f5163ab7aebecef1a.diff
LOG: [clang] UEFI default ABI (#138364)
Set MS ABI as default ABI for UEFI.
Added:
Modified:
clang/lib/Driver/ToolChains/Arch/X86.cpp
clang/test/Driver/x86-mabi.c
Removed:
################################################################################
diff --git a/clang/lib/Driver/ToolChains/Arch/X86.cpp b/clang/lib/Driver/ToolChains/Arch/X86.cpp
index e6ac3a9e4b350..a7362e960c3d4 100644
--- a/clang/lib/Driver/ToolChains/Arch/X86.cpp
+++ b/clang/lib/Driver/ToolChains/Arch/X86.cpp
@@ -122,7 +122,8 @@ void x86::getX86TargetFeatures(const Driver &D, const llvm::Triple &Triple,
// Claim and report unsupported -mabi=. Note: we don't support "sysv_abi" or
// "ms_abi" as default function attributes.
if (const Arg *A = Args.getLastArg(clang::driver::options::OPT_mabi_EQ)) {
- StringRef DefaultAbi = Triple.isOSWindows() ? "ms" : "sysv";
+ StringRef DefaultAbi =
+ (Triple.isOSWindows() || Triple.isUEFI()) ? "ms" : "sysv";
if (A->getValue() != DefaultAbi)
D.Diag(diag::err_drv_unsupported_opt_for_target)
<< A->getSpelling() << Triple.getTriple();
diff --git a/clang/test/Driver/x86-mabi.c b/clang/test/Driver/x86-mabi.c
index 5d15337cb1118..1aae5e08507a7 100644
--- a/clang/test/Driver/x86-mabi.c
+++ b/clang/test/Driver/x86-mabi.c
@@ -1,6 +1,8 @@
// RUN: %clang -### --target=x86_64-windows-msvc -mabi=ms -S %s 2>&1 | FileCheck %s
+// RUN: %clang -### --target=x86_64-uefi -mabi=ms -S %s 2>&1 | FileCheck %s
// RUN: not %clang -### --target=i386-unknown-linux -mabi=ms -S %s 2>&1 | FileCheck --check-prefix=ERR %s
// RUN: not %clang -### --target=x86_64-windows-msvc -mabi=sysv -S %s 2>&1 | FileCheck --check-prefix=ERR %s
+// RUN: not %clang -### --target=x86_64-uefi -mabi=sysv -S %s 2>&1 | FileCheck --check-prefix=ERR %s
// RUN: %clang -### --target=i386-unknown-linux -mabi=sysv -S %s 2>&1 | FileCheck %s
// RUN: %clang -### --target=x86_64-windows-gnu -mabi=ms -S %s 2>&1 | FileCheck %s
More information about the cfe-commits
mailing list