summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/Mangle.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-06-30 18:27:47 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-06-30 18:27:47 +0000
commit0f19afb9d4956cafe242d2eb6b309720c8738ddd (patch)
treebdc7cad021447734d2f1a269355b7c635dada7cd /clang/lib/CodeGen/Mangle.cpp
parentc39d3497c84c2ad9d377eaa6ebeb4d2d0f7a16ab (diff)
downloadbcm5719-llvm-0f19afb9d4956cafe242d2eb6b309720c8738ddd.tar.gz
bcm5719-llvm-0f19afb9d4956cafe242d2eb6b309720c8738ddd.zip
extern variable declared locally to objective-c++ method
should not be mangled either. Fixes radar 8016412. llvm-svn: 107303
Diffstat (limited to 'clang/lib/CodeGen/Mangle.cpp')
-rw-r--r--clang/lib/CodeGen/Mangle.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/Mangle.cpp b/clang/lib/CodeGen/Mangle.cpp
index ac962247fd0..4d755ce9575 100644
--- a/clang/lib/CodeGen/Mangle.cpp
+++ b/clang/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)
OpenPOWER on IntegriCloud