diff options
author | David Majnemer <david.majnemer@gmail.com> | 2013-08-05 21:33:59 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2013-08-05 21:33:59 +0000 |
commit | ae465ef7cce2aa6f5b301ce67ee96260f622ba93 (patch) | |
tree | 0716b4b4c1c4fa52ee8860dee456b1e10aeb288c /clang/lib/AST/MicrosoftMangle.cpp | |
parent | 0c37cfd8b87a21def1ae0b0fa9a09acf708ce97c (diff) | |
download | bcm5719-llvm-ae465ef7cce2aa6f5b301ce67ee96260f622ba93.tar.gz bcm5719-llvm-ae465ef7cce2aa6f5b301ce67ee96260f622ba93.zip |
[ms-cxxabi] Mangle nullptr template arguments
MSVC mangles nullptr template arguments identically to zero literals.
llvm-svn: 187741
Diffstat (limited to 'clang/lib/AST/MicrosoftMangle.cpp')
-rw-r--r-- | clang/lib/AST/MicrosoftMangle.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/lib/AST/MicrosoftMangle.cpp b/clang/lib/AST/MicrosoftMangle.cpp index 64e27f1f4ba..68f57a92129 100644 --- a/clang/lib/AST/MicrosoftMangle.cpp +++ b/clang/lib/AST/MicrosoftMangle.cpp @@ -889,6 +889,9 @@ void MicrosoftCXXNameMangler::mangleTemplateArg(const TemplateDecl *TD, mangleIntegerLiteral(TA.getAsIntegral(), TA.getIntegralType()->isBooleanType()); break; + case TemplateArgument::NullPtr: + Out << "$0A@"; + break; case TemplateArgument::Expression: mangleExpression(TA.getAsExpr()); break; @@ -901,8 +904,7 @@ void MicrosoftCXXNameMangler::mangleTemplateArg(const TemplateDecl *TD, mangleTemplateArg(TD, *I, ArgIndex); break; case TemplateArgument::Template: - case TemplateArgument::TemplateExpansion: - case TemplateArgument::NullPtr: { + case TemplateArgument::TemplateExpansion: { // Issue a diagnostic. DiagnosticsEngine &Diags = Context.getDiags(); unsigned DiagID = Diags.getCustomDiagID(DiagnosticsEngine::Error, |