From 6ab2275f0946a1b8d6c1b77e618d924905f62342 Mon Sep 17 00:00:00 2001 From: kai Date: Sat, 30 Mar 2013 15:28:38 +0100 Subject: [PATCH] Mark string constants as `unnamed_addr` --- gen/tollvm.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gen/tollvm.cpp b/gen/tollvm.cpp index 624fefc3..256a5529 100644 --- a/gen/tollvm.cpp +++ b/gen/tollvm.cpp @@ -678,6 +678,7 @@ LLConstant* DtoConstString(const char* str) #endif llvm::GlobalVariable* gvar = new llvm::GlobalVariable( *gIR->module, init->getType(), true, llvm::GlobalValue::InternalLinkage, init, ".str"); + gvar->setUnnamedAddr(true); LLConstant* idxs[] = { DtoConstUint(0), DtoConstUint(0) }; return DtoConstSlice( DtoConstSize_t(s.size()), @@ -697,6 +698,7 @@ LLConstant* DtoConstStringPtr(const char* str, const char* section) llvm::GlobalVariable* gvar = new llvm::GlobalVariable( *gIR->module, init->getType(), true, llvm::GlobalValue::InternalLinkage, init, ".str"); if (section) gvar->setSection(section); + gvar->setUnnamedAddr(true); LLConstant* idxs[] = { DtoConstUint(0), DtoConstUint(0) }; return llvm::ConstantExpr::getGetElementPtr(gvar, idxs, true); }