aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-09-09 00:23:32 +0000
committerChris Lattner <sabre@nondot.org>2009-09-09 00:23:32 +0000
commitd456b2e7d9e9d219e1d429104a35cb6ea5db91ab (patch)
tree61d80fda27fd9a41345d8e05938df1f7c52045de
parentabe57efd23c3d7f05b01aa30be895f5ae3a41ff4 (diff)
downloadexternal_llvm-d456b2e7d9e9d219e1d429104a35cb6ea5db91ab.zip
external_llvm-d456b2e7d9e9d219e1d429104a35cb6ea5db91ab.tar.gz
external_llvm-d456b2e7d9e9d219e1d429104a35cb6ea5db91ab.tar.bz2
make sure to send external symbols through the mangler,
this fixes mingw-alloca.ll with the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81301 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Target/X86/AsmPrinter/X86MCInstLower.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp b/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
index 3c8f403..ccc12d9 100644
--- a/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
+++ b/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
@@ -112,11 +112,9 @@ MCSymbol *X86ATTAsmPrinter::GetGlobalAddressSymbol(const MachineOperand &MO) {
}
MCSymbol *X86ATTAsmPrinter::GetExternalSymbolSymbol(const MachineOperand &MO) {
- std::string Name = MO.getSymbolName();
- if (MO.getTargetFlags() == X86II::MO_DARWIN_STUB) {
+ std::string Name = Mang->makeNameProper(MO.getSymbolName());
+ if (MO.getTargetFlags() == X86II::MO_DARWIN_STUB)
Name += "$stub";
- }
-
switch (MO.getTargetFlags()) {
default: llvm_unreachable("Unknown target flag on GV operand");
@@ -129,7 +127,7 @@ MCSymbol *X86ATTAsmPrinter::GetExternalSymbolSymbol(const MachineOperand &MO) {
Name = "__imp_" + Name;
break;
case X86II::MO_DARWIN_STUB:
- FnStubs[Name] = MO.getSymbolName();
+ FnStubs[Name] = Mang->makeNameProper(MO.getSymbolName());
break;
// FIXME: These probably should be a modifier on the symbol or something??
case X86II::MO_TLSGD: Name += "@TLSGD"; break;