summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorMartin Storsjo <martin@martin.st>2017-07-17 20:49:45 +0000
committerMartin Storsjo <martin@martin.st>2017-07-17 20:49:45 +0000
commit022e782e75766e9dd98b9e18572129cd313f3ab5 (patch)
tree53a8aeccf5e93e76eb6349e595a427e8de2fe059 /clang/lib/Basic
parent20f5a5c64c12aef453d1f8d1fb0d505873a4f608 (diff)
downloadbcm5719-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.cpp6
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;
OpenPOWER on IntegriCloud