From 6ab4ae4168e35fb1c9fab309cee79130c812d90c Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 21 Mar 2018 01:30:16 +0000 Subject: Set dso_local on runtime variables. llvm-svn: 328068 --- clang/lib/CodeGen/CodeGenModule.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'clang/lib/CodeGen/CodeGenModule.cpp') diff --git a/clang/lib/CodeGen/CodeGenModule.cpp b/clang/lib/CodeGen/CodeGenModule.cpp index 53177d26407..e7efd410dbf 100644 --- a/clang/lib/CodeGen/CodeGenModule.cpp +++ b/clang/lib/CodeGen/CodeGenModule.cpp @@ -2953,7 +2953,10 @@ llvm::Constant *CodeGenModule::GetAddrOfGlobalVar(const VarDecl *D, llvm::Constant * CodeGenModule::CreateRuntimeVariable(llvm::Type *Ty, StringRef Name) { - return GetOrCreateLLVMGlobal(Name, llvm::PointerType::getUnqual(Ty), nullptr); + auto *Ret = + GetOrCreateLLVMGlobal(Name, llvm::PointerType::getUnqual(Ty), nullptr); + setDSOLocal(cast(Ret->stripPointerCasts())); + return Ret; } void CodeGenModule::EmitTentativeDefinition(const VarDecl *D) { -- cgit v1.2.3