-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

@ -254,10 +254,10 @@ llvm::GlobalVariable *declareGlobal(const Loc &loc, llvm::Module &module,
bool isThreadLocal = false);
/// Defines an existing LLVM global, i.e., sets the initial value and finalizes
/// its linkage.
/// its linkage and visibility.
/// Asserts that a global isn't defined multiple times this way.
void defineGlobal(llvm::GlobalVariable *global, llvm::Constant *init,
Dsymbol *symbolForLinkage);
Dsymbol *symbolForLinkageAndVisibility);
/// Declares (if not already declared) & defines an LLVM global.
llvm::GlobalVariable *defineGlobal(const Loc &loc, llvm::Module &module,