summaryrefslogtreecommitdiffstats
path: root/lib/AST/Type.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2016-03-03 06:39:32 +0000
committerJohn McCall <rjmccall@apple.com>2016-03-03 06:39:32 +0000
commita29b4d2ff11bbec5f30e24c0231a888a0554a16c (patch)
treef6cb610b6d10d4ee211f251f8a2a7cceecb99ced /lib/AST/Type.cpp
parente85a1ce36280e358ad450b05a5c1cada0766d73e (diff)
Semantic analysis for the swiftcall calling convention.
I've tried to keep the infrastructure behind parameter ABI treatments fairly general. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262587 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/Type.cpp')
-rw-r--r--lib/AST/Type.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/AST/Type.cpp b/lib/AST/Type.cpp
index 6cd6c2a006..efa2595f6d 100644
--- a/lib/AST/Type.cpp
+++ b/lib/AST/Type.cpp
@@ -2655,6 +2655,7 @@ StringRef FunctionType::getNameForCallConv(CallingConv CC) {
case CC_IntelOclBicc: return "intel_ocl_bicc";
case CC_SpirFunction: return "spir_function";
case CC_SpirKernel: return "spir_kernel";
+ case CC_Swift: return "swiftcall";
}
llvm_unreachable("Invalid calling convention.");
@@ -2995,6 +2996,7 @@ bool AttributedType::isQualifier() const {
case AttributedType::attr_stdcall:
case AttributedType::attr_thiscall:
case AttributedType::attr_pascal:
+ case AttributedType::attr_swiftcall:
case AttributedType::attr_vectorcall:
case AttributedType::attr_inteloclbicc:
case AttributedType::attr_ms_abi:
@@ -3048,6 +3050,7 @@ bool AttributedType::isCallingConv() const {
case attr_fastcall:
case attr_stdcall:
case attr_thiscall:
+ case attr_swiftcall:
case attr_vectorcall:
case attr_pascal:
case attr_ms_abi: