Add unnamed_addr when creating artificial string globals. For example, in
static const char foo[] = "foo"; static const char *bar = "bar"; the global created to hold "bar" will have it, but foo will not. llvm-svn: 123192
This commit is contained in:
@@ -1749,9 +1749,12 @@ static llvm::Constant *GenerateStringLiteral(const std::string &str,
|
||||
llvm::ConstantArray::get(CGM.getLLVMContext(), str, false);
|
||||
|
||||
// Create a global variable for this string
|
||||
return new llvm::GlobalVariable(CGM.getModule(), C->getType(), constant,
|
||||
llvm::GlobalValue::PrivateLinkage,
|
||||
C, GlobalName);
|
||||
llvm::GlobalVariable *GV =
|
||||
new llvm::GlobalVariable(CGM.getModule(), C->getType(), constant,
|
||||
llvm::GlobalValue::PrivateLinkage,
|
||||
C, GlobalName);
|
||||
GV->setUnnamedAddr(true);
|
||||
return GV;
|
||||
}
|
||||
|
||||
/// GetAddrOfConstantString - Returns a pointer to a character array
|
||||
|
||||
Reference in New Issue
Block a user