diff options
author | Reid Kleckner <reid@kleckner.net> | 2014-10-24 17:42:17 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2014-10-24 17:42:17 +0000 |
commit | d7857f05f4c56cf7bd22ce5a6a8d78df6043ab6d (patch) | |
tree | c423a984ad030a579ab4d6be0a136c21903c1c04 /clang/lib/AST/MicrosoftMangle.cpp | |
parent | d024f528b474bd0446ced3eb0fe660e71bfa87eb (diff) | |
download | bcm5719-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.cpp | 2 |
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( |