summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/MicrosoftMangle.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-10-24 17:42:17 +0000
committerReid Kleckner <reid@kleckner.net>2014-10-24 17:42:17 +0000
commitd7857f05f4c56cf7bd22ce5a6a8d78df6043ab6d (patch)
treec423a984ad030a579ab4d6be0a136c21903c1c04 /clang/lib/AST/MicrosoftMangle.cpp
parentd024f528b474bd0446ced3eb0fe660e71bfa87eb (diff)
downloadbcm5719-llvm-d7857f05f4c56cf7bd22ce5a6a8d78df6043ab6d.tar.gz
bcm5719-llvm-d7857f05f4c56cf7bd22ce5a6a8d78df6043ab6d.zip
Add frontend support for __vectorcall
Wire it through everywhere we have support for fastcall, essentially. This allows us to parse the MSVC "14" CTP headers, but we will miscompile them because LLVM doesn't support __vectorcall yet. Reviewed By: Aaron Ballman Differential Revision: http://reviews.llvm.org/D5808 llvm-svn: 220573
Diffstat (limited to 'clang/lib/AST/MicrosoftMangle.cpp')
-rw-r--r--clang/lib/AST/MicrosoftMangle.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/AST/MicrosoftMangle.cpp b/clang/lib/AST/MicrosoftMangle.cpp
index 59cf4d091bf..ca16db4cdd0 100644
--- a/clang/lib/AST/MicrosoftMangle.cpp
+++ b/clang/lib/AST/MicrosoftMangle.cpp
@@ -1687,6 +1687,7 @@ void MicrosoftCXXNameMangler::mangleCallingConvention(const FunctionType *T) {
// ::= H # __export __stdcall
// ::= I # __fastcall
// ::= J # __export __fastcall
+ // ::= Q # __vectorcall
// The 'export' calling conventions are from a bygone era
// (*cough*Win16*cough*) when functions were declared for export with
// that keyword. (It didn't actually export them, it just made them so
@@ -1703,6 +1704,7 @@ void MicrosoftCXXNameMangler::mangleCallingConvention(const FunctionType *T) {
case CC_X86ThisCall: Out << 'E'; break;
case CC_X86StdCall: Out << 'G'; break;
case CC_X86FastCall: Out << 'I'; break;
+ case CC_X86VectorCall: Out << 'Q'; break;
}
}
void MicrosoftCXXNameMangler::mangleThrowSpecification(
OpenPOWER on IntegriCloud