diff options
author | John McCall <rjmccall@apple.com> | 2011-04-24 08:43:07 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-04-24 08:43:07 +0000 |
commit | 617339e6923d8ca0536cc819c3c665a5799790cc (patch) | |
tree | 732452b8ab17d3058946d2d1126041b9595381c6 /clang/lib/AST/ItaniumMangle.cpp | |
parent | 6dc0a2b4677c6c913585d2ce4d8f05359c975c36 (diff) | |
download | bcm5719-llvm-617339e6923d8ca0536cc819c3c665a5799790cc.tar.gz bcm5719-llvm-617339e6923d8ca0536cc819c3c665a5799790cc.zip |
GCC seems to create address-of expression manglings when passing *any*
function as a template argument where a pointer to function is wanted.
Just extend the existing hack.
llvm-svn: 130084
Diffstat (limited to 'clang/lib/AST/ItaniumMangle.cpp')
-rw-r--r-- | clang/lib/AST/ItaniumMangle.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp index 57e955de868..a32b0ef7512 100644 --- a/clang/lib/AST/ItaniumMangle.cpp +++ b/clang/lib/AST/ItaniumMangle.cpp @@ -2458,8 +2458,7 @@ void CXXNameMangler::mangleTemplateArg(const NamedDecl *P, // an expression. We compensate for it here to produce the correct mangling. NamedDecl *D = cast<NamedDecl>(A.getAsDecl()); const NonTypeTemplateParmDecl *Parameter = cast<NonTypeTemplateParmDecl>(P); - bool compensateMangling = D->isCXXClassMember() && - !Parameter->getType()->isReferenceType(); + bool compensateMangling = !Parameter->getType()->isReferenceType(); if (compensateMangling) { Out << 'X'; mangleOperatorName(OO_Amp, 1); |