-fvisibility=hidden: Hide init symbols, TypeInfos and vtables too if the associated aggregate isn't exported (#3129)

This commit is contained in:
Martin Kinkelin 2019-08-20 01:41:26 +02:00 committed by GitHub
parent ceee37dda2
commit c1725809c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 85 additions and 16 deletions

View file

@ -1790,12 +1790,12 @@ llvm::GlobalVariable *declareGlobal(const Loc &loc, llvm::Module &module,
}
void defineGlobal(llvm::GlobalVariable *global, llvm::Constant *init,
Dsymbol *symbolForLinkage) {
Dsymbol *symbolForLinkageAndVisibility) {
assert(global->isDeclaration() && "Global variable already defined");
assert(init);
global->setInitializer(init);
if (symbolForLinkage)
setLinkage(symbolForLinkage, global);
if (symbolForLinkageAndVisibility)
setLinkageAndVisibility(symbolForLinkageAndVisibility, global);
}
llvm::GlobalVariable *defineGlobal(const Loc &loc, llvm::Module &module,