From 352ffde2f04183083fc00427df81d1b25f8c750c Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 6 Feb 2008 04:54:32 +0000 Subject: [PATCH] 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 --- CodeGen/CGDecl.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CodeGen/CGDecl.cpp b/CodeGen/CGDecl.cpp index a6c5da7c26..b6f9c7cbd6 100644 --- a/CodeGen/CGDecl.cpp +++ b/CodeGen/CGDecl.cpp @@ -81,10 +81,17 @@ void CodeGenFunction::EmitStaticBlockVarDecl(const BlockVarDecl &D) { 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()); } -- 2.50.1