diff options
Diffstat (limited to 'lib/CodeGen')
-rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfException.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfException.cpp b/lib/CodeGen/AsmPrinter/DwarfException.cpp index 6d6af83bd2..8e0485e8cf 100644 --- a/lib/CodeGen/AsmPrinter/DwarfException.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfException.cpp @@ -28,8 +28,8 @@ #include "llvm/Support/Mangler.h" #include "llvm/Support/Timer.h" #include "llvm/Support/raw_ostream.h" +#include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringExtras.h" -#include <sstream> using namespace llvm; static TimerGroup &getDwarfTimerGroup() { @@ -601,12 +601,10 @@ void DwarfException::EmitExceptionTable() { EmitLabel("exception", SubprogramCount); if (MAI->getExceptionHandlingType() == ExceptionHandling::SjLj) { - std::stringstream out; - out << Asm->getFunctionNumber(); - std::string LSDAName = - Asm->Mang->makeNameProper(std::string("LSDA_") + out.str(), - Mangler::Private); - O << LSDAName << ":\n"; + SmallString<256> LSDAName; + raw_svector_ostream(LSDAName) << MAI->getPrivateGlobalPrefix() << + "_LSDA_" << Asm->getFunctionNumber(); + O << LSDAName.str() << ":\n"; } // Emit the header. |