diff options
| author | Chris Lattner <sabre@nondot.org> | 2010-04-05 16:32:14 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2010-04-05 16:32:14 +0000 |
| commit | 6a0e89aefb298e2d692d4a95924bbaebe6219f79 (patch) | |
| tree | 065cae43941c1fd888f39d0d336f3502135d14e2 /llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp | |
| parent | cd3d5e76ce59edb0c3cfd39be74886a0b72f6e17 (diff) | |
| download | bcm5719-llvm-6a0e89aefb298e2d692d4a95924bbaebe6219f79.tar.gz bcm5719-llvm-6a0e89aefb298e2d692d4a95924bbaebe6219f79.zip | |
fix a couple problems I introduced handling symbols
with spaces in them. Sym->getName() != OS << *Sym
llvm-svn: 100434
Diffstat (limited to 'llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp')
| -rw-r--r-- | llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp b/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp index 419af5d9069..8e855f5be72 100644 --- a/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp +++ b/llvm/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp @@ -237,7 +237,7 @@ namespace { if (ACPV->isLSDA()) { O << MAI->getPrivateGlobalPrefix() << "_LSDA_" << getFunctionNumber(); } else if (ACPV->isBlockAddress()) { - O << GetBlockAddressSymbol(ACPV->getBlockAddress())->getName(); + O << *GetBlockAddressSymbol(ACPV->getBlockAddress()); } else if (ACPV->isGlobalValue()) { GlobalValue *GV = ACPV->getGV(); bool isIndirect = Subtarget->isTargetDarwin() && @@ -281,10 +281,16 @@ namespace { void ARMAsmPrinter::EmitFunctionEntryLabel() { if (AFI->isThumbFunction()) { OutStreamer.EmitRawText(StringRef("\t.code\t16")); - if (Subtarget->isTargetDarwin()) - OutStreamer.EmitRawText("\t.thumb_func\t"+Twine(CurrentFnSym->getName())); - else + if (!Subtarget->isTargetDarwin()) OutStreamer.EmitRawText(StringRef("\t.thumb_func")); + else { + // This needs to emit to a temporary string to get properly quoted + // MCSymbols when they have spaces in them. + SmallString<128> Tmp; + raw_svector_ostream OS(Tmp); + OS << "\t.thumb_func\t" << *CurrentFnSym; + OutStreamer.EmitRawText(OS.str()); + } } OutStreamer.EmitLabel(CurrentFnSym); |

