summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Mangler.cpp
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2013-04-19 21:20:56 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2013-04-19 21:20:56 +0000
commit9c0df1695ded2431afd2fa4b945fa20d6b533470 (patch)
treec66e3720d6cc9acc03c7b119c5bd7ef9edb98367 /llvm/lib/Target/Mangler.cpp
parentb1f0f71735b1b07bb7edf97eaf3d4b4d49a1b363 (diff)
downloadbcm5719-llvm-9c0df1695ded2431afd2fa4b945fa20d6b533470.tar.gz
bcm5719-llvm-9c0df1695ded2431afd2fa4b945fa20d6b533470.zip
Do not mangle in MS-way the globals with magic \001 in the name.
Based on the patch by David Nadlinger! llvm-svn: 179889
Diffstat (limited to 'llvm/lib/Target/Mangler.cpp')
-rw-r--r--llvm/lib/Target/Mangler.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mangler.cpp b/llvm/lib/Target/Mangler.cpp
index edfd421d853..d31efa86b34 100644
--- a/llvm/lib/Target/Mangler.cpp
+++ b/llvm/lib/Target/Mangler.cpp
@@ -188,7 +188,12 @@ void Mangler::getNameWithPrefix(SmallVectorImpl<char> &OutName,
// If this global has a name, handle it simply.
if (GV->hasName()) {
- getNameWithPrefix(OutName, GV->getName(), PrefixTy);
+ StringRef Name = GV->getName();
+ getNameWithPrefix(OutName, Name, PrefixTy);
+ // No need to do anything else if the global has the special "do not mangle"
+ // flag in the name.
+ if (Name[0] == 1)
+ return;
} else {
// Get the ID for the global, assigning a new one if we haven't got one
// already.
OpenPOWER on IntegriCloud