codegen static variables in a function into a different namespace from
static variables outside functions.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46800 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CodeGen/CGDecl.cpp b/CodeGen/CGDecl.cpp
index a6c5da7..b6f9c7c 100644
--- a/CodeGen/CGDecl.cpp
+++ b/CodeGen/CGDecl.cpp
@@ -81,10 +81,17 @@
 
   assert(Init && "Unable to create initialiser for static decl");
   
+  std::string ContextName;
+  if (CurFuncDecl)
+    ContextName = CurFuncDecl->getName();
+  else
+    assert(0 && "Unknown context for block var decl"); // FIXME Handle objc.
+  
   DMEntry = 
     new llvm::GlobalVariable(LTy, false, 
                             llvm::GlobalValue::InternalLinkage,
-                             Init, D.getName(), &CGM.getModule(), 0,
+                             Init, ContextName + "." + D.getName(),
+                             &CGM.getModule(), 0,
                              Ty.getAddressSpace());
   
 }