summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/Mangler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/IR/Mangler.cpp')
-rw-r--r--llvm/lib/IR/Mangler.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/llvm/lib/IR/Mangler.cpp b/llvm/lib/IR/Mangler.cpp
index a0e1b25056c..2ba5998c805 100644
--- a/llvm/lib/IR/Mangler.cpp
+++ b/llvm/lib/IR/Mangler.cpp
@@ -91,9 +91,10 @@ static void addByteCountSuffix(raw_ostream &OS, const Function *F,
}
void Mangler::getNameWithPrefix(raw_ostream &OS, const GlobalValue *GV,
- bool CannotUsePrivateLabel) const {
+ bool CannotUsePrivateLabel,
+ bool ForceNonPrivate) const {
ManglerPrefixTy PrefixTy = Mangler::Default;
- if (GV->hasPrivateLinkage()) {
+ if (GV->hasPrivateLinkage() && !ForceNonPrivate) {
if (CannotUsePrivateLabel)
PrefixTy = Mangler::LinkerPrivate;
else
@@ -152,7 +153,8 @@ void Mangler::getNameWithPrefix(raw_ostream &OS, const GlobalValue *GV,
void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName,
const GlobalValue *GV,
- bool CannotUsePrivateLabel) const {
+ bool CannotUsePrivateLabel,
+ bool ForceNonPrivate) const {
raw_svector_ostream OS(OutName);
- getNameWithPrefix(OS, GV, CannotUsePrivateLabel);
+ getNameWithPrefix(OS, GV, CannotUsePrivateLabel, ForceNonPrivate);
}
OpenPOWER on IntegriCloud