diff options
| author | Martin Storsjo <martin@martin.st> | 2017-07-17 20:49:45 +0000 |
|---|---|---|
| committer | Martin Storsjo <martin@martin.st> | 2017-07-17 20:49:45 +0000 |
| commit | 022e782e75766e9dd98b9e18572129cd313f3ab5 (patch) | |
| tree | 53a8aeccf5e93e76eb6349e595a427e8de2fe059 /clang/lib/Basic | |
| parent | 20f5a5c64c12aef453d1f8d1fb0d505873a4f608 (diff) | |
| download | bcm5719-llvm-022e782e75766e9dd98b9e18572129cd313f3ab5.tar.gz bcm5719-llvm-022e782e75766e9dd98b9e18572129cd313f3ab5.zip | |
[AArch64] Add support for __builtin_ms_va_list on aarch64
Move builtins from the x86 specific scope into the global
scope. Their use is still limited to x86_64 and aarch64 though.
This allows wine on aarch64 to properly handle variadic functions.
Differential Revision: https://reviews.llvm.org/D34475
llvm-svn: 308218
Diffstat (limited to 'clang/lib/Basic')
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index d1c3d074203..cd840a15030 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4899,7 +4899,7 @@ public: case CC_Swift: case CC_X86VectorCall: case CC_IntelOclBicc: - case CC_X86_64Win64: + case CC_Win64: case CC_PreserveMost: case CC_PreserveAll: case CC_X86RegCall: @@ -6290,6 +6290,9 @@ public: LongDoubleWidth = LongDoubleAlign = SuitableAlign = 128; LongDoubleFormat = &llvm::APFloat::IEEEquad(); + // Make __builtin_ms_va_list available. + HasBuiltinMSVaList = true; + // {} in inline assembly are neon specifiers, not assembly variant // specifiers. NoAsmVariants = true; @@ -6473,6 +6476,7 @@ public: case CC_PreserveMost: case CC_PreserveAll: case CC_OpenCLKernel: + case CC_Win64: return CCCR_OK; default: return CCCR_Warning; |

