summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2010-06-24 18:50:41 +0000
committerFariborz Jahanian <fjahanian@apple.com>2010-06-24 18:50:41 +0000
commit4f9c9d659113e029b3fc67e5da2e3e44cda1e215 (patch)
tree052b2409c582c6741f74f214ab7c595fa71bf698 /clang/lib/Sema/SemaDecl.cpp
parent3f0e992af11264d2f8d48d4a73f9e3131ab7cb48 (diff)
downloadbcm5719-llvm-4f9c9d659113e029b3fc67e5da2e3e44cda1e215.tar.gz
bcm5719-llvm-4f9c9d659113e029b3fc67e5da2e3e44cda1e215.zip
Fixes a regression when redeclaration of a global satic
is an extern local to a function. Radar 8125274. llvm-svn: 106773
Diffstat (limited to 'clang/lib/Sema/SemaDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index ebfb9810d66..5c1de6aeb88 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -1456,7 +1456,8 @@ void Sema::MergeVarDecl(VarDecl *New, LookupResult &Previous) {
}
if (New->hasExternalStorage() &&
- Old->getLinkage() == InternalLinkage)
+ Old->getLinkage() == InternalLinkage &&
+ New->getDeclContext() == Old->getDeclContext())
New->setStorageClass(Old->getStorageClass());
// Keep a chain of previous declarations.
OpenPOWER on IntegriCloud