diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2010-06-30 18:27:47 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2010-06-30 18:27:47 +0000 |
commit | 2fe13882a846b4152abf0734be43b3e141843818 (patch) | |
tree | beac4ac8aeebba817eb3728545f42a1bbbc60bb4 /lib/CodeGen | |
parent | 4680bf233caeebe89aa297eb5a25709dd15a4b11 (diff) |
extern variable declared locally to objective-c++ method
should not be mangled either. Fixes radar 8016412.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107303 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/Mangle.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/CodeGen/Mangle.cpp b/lib/CodeGen/Mangle.cpp index ac962247fd..4d755ce957 100644 --- a/lib/CodeGen/Mangle.cpp +++ b/lib/CodeGen/Mangle.cpp @@ -294,7 +294,7 @@ bool MangleContext::shouldMangleDeclName(const NamedDecl *D) { if (!FD) { const DeclContext *DC = D->getDeclContext(); // Check for extern variable declared locally. - if (isa<FunctionDecl>(DC) && D->hasLinkage()) + if ((isa<FunctionDecl>(DC) || isa<ObjCMethodDecl>(DC) ) && D->hasLinkage()) while (!DC->isNamespace() && !DC->isTranslationUnit()) DC = DC->getParent(); if (DC->isTranslationUnit() && D->getLinkage() != InternalLinkage) |