diff options
Diffstat (limited to 'clang/lib/CodeGen/CGDecl.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGDecl.cpp | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/clang/lib/CodeGen/CGDecl.cpp b/clang/lib/CodeGen/CGDecl.cpp index 9db3c91a60a..ee70c7a0b09 100644 --- a/clang/lib/CodeGen/CGDecl.cpp +++ b/clang/lib/CodeGen/CGDecl.cpp @@ -126,17 +126,11 @@ void CodeGenFunction::EmitDecl(const Decl &D) { void CodeGenFunction::EmitVarDecl(const VarDecl &D) { if (D.isStaticLocal()) { llvm::GlobalValue::LinkageTypes Linkage = - llvm::GlobalValue::InternalLinkage; + CGM.getLLVMLinkageVarDefinition(&D, /*isConstant=*/false); - // If the variable is externally visible, it must have weak linkage so it - // can be uniqued. - if (D.isExternallyVisible()) { - Linkage = llvm::GlobalValue::LinkOnceODRLinkage; - - // FIXME: We need to force the emission/use of a guard variable for - // some variables even if we can constant-evaluate them because - // we can't guarantee every translation unit will constant-evaluate them. - } + // FIXME: We need to force the emission/use of a guard variable for + // some variables even if we can constant-evaluate them because + // we can't guarantee every translation unit will constant-evaluate them. return EmitStaticVarDecl(D, Linkage); } |

