diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-06-04 16:46:26 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-06-04 16:46:26 +0000 |
commit | e31a3ed3d44f9a8b49c75ef1cba495dad7be8744 (patch) | |
tree | ae65842e70dc04c7942b251058ef2a8d4dfb994f /clang/lib/AST/MicrosoftMangle.cpp | |
parent | 11d88bd10ad0ed79bd1556dd921ae4ca53e4a215 (diff) | |
download | bcm5719-llvm-e31a3ed3d44f9a8b49c75ef1cba495dad7be8744.tar.gz bcm5719-llvm-e31a3ed3d44f9a8b49c75ef1cba495dad7be8744.zip |
MS-ABI: Implement user defined literals
Straightforward implementation of UDLs, it's compatible with VS "14".
This nearly completes our implementation of C++ name mangling for the
MS-ABI.
llvm-svn: 210197
Diffstat (limited to 'clang/lib/AST/MicrosoftMangle.cpp')
-rw-r--r-- | clang/lib/AST/MicrosoftMangle.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/clang/lib/AST/MicrosoftMangle.cpp b/clang/lib/AST/MicrosoftMangle.cpp index d064b157719..d444bf09963 100644 --- a/clang/lib/AST/MicrosoftMangle.cpp +++ b/clang/lib/AST/MicrosoftMangle.cpp @@ -803,11 +803,8 @@ void MicrosoftCXXNameMangler::mangleUnqualifiedName(const NamedDecl *ND, break; case DeclarationName::CXXLiteralOperatorName: { - // FIXME: Was this added in VS2010? Does MS even know how to mangle this? - DiagnosticsEngine &Diags = Context.getDiags(); - unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Error, - "cannot mangle this literal operator yet"); - Diags.Report(ND->getLocation(), DiagID); + Out << "?__K"; + mangleSourceName(Name.getCXXLiteralIdentifier()->getName()); break; } |