Skip to content

Commit 5c6cbe2

Browse files
authored
[clang] UEFI default ABI (llvm#138364)
Set MS ABI as default ABI for UEFI.
1 parent 64bb60a commit 5c6cbe2

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

clang/lib/Driver/ToolChains/Arch/X86.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ void x86::getX86TargetFeatures(const Driver &D, const llvm::Triple &Triple,
122122
// Claim and report unsupported -mabi=. Note: we don't support "sysv_abi" or
123123
// "ms_abi" as default function attributes.
124124
if (const Arg *A = Args.getLastArg(clang::driver::options::OPT_mabi_EQ)) {
125-
StringRef DefaultAbi = Triple.isOSWindows() ? "ms" : "sysv";
125+
StringRef DefaultAbi =
126+
(Triple.isOSWindows() || Triple.isUEFI()) ? "ms" : "sysv";
126127
if (A->getValue() != DefaultAbi)
127128
D.Diag(diag::err_drv_unsupported_opt_for_target)
128129
<< A->getSpelling() << Triple.getTriple();

clang/test/Driver/x86-mabi.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// RUN: %clang -### --target=x86_64-windows-msvc -mabi=ms -S %s 2>&1 | FileCheck %s
2+
// RUN: %clang -### --target=x86_64-uefi -mabi=ms -S %s 2>&1 | FileCheck %s
23
// RUN: not %clang -### --target=i386-unknown-linux -mabi=ms -S %s 2>&1 | FileCheck --check-prefix=ERR %s
34
// RUN: not %clang -### --target=x86_64-windows-msvc -mabi=sysv -S %s 2>&1 | FileCheck --check-prefix=ERR %s
5+
// RUN: not %clang -### --target=x86_64-uefi -mabi=sysv -S %s 2>&1 | FileCheck --check-prefix=ERR %s
46
// RUN: %clang -### --target=i386-unknown-linux -mabi=sysv -S %s 2>&1 | FileCheck %s
57

68
// RUN: %clang -### --target=x86_64-windows-gnu -mabi=ms -S %s 2>&1 | FileCheck %s

0 commit comments

Comments
 (0)