summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
diff options
context:
space:
mode:
authorBill Wendling <isanbard@gmail.com>2009-04-09 23:51:31 +0000
committerBill Wendling <isanbard@gmail.com>2009-04-09 23:51:31 +0000
commit16abfc97fbae2f682236a5cd6e6394347037a824 (patch)
tree80277ec5f07b2ccce209f1cfb0730a9d14fdadca /llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
parenta68bdef4823e0764fde7e9f44beefd2c561204a6 (diff)
downloadbcm5719-llvm-16abfc97fbae2f682236a5cd6e6394347037a824.tar.gz
bcm5719-llvm-16abfc97fbae2f682236a5cd6e6394347037a824.zip
StringMap<DIE*>::iterator::first() returns a pointer to the first character of
the key. This will cause it to create a new std::string, which isn't wanted. Instead, pass back the "const char*". Modify the EmitString() method to take a "const char*". llvm-svn: 68741
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 8fc1b8b0195..5ceac3bb4f0 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -727,13 +727,17 @@ static void printStringChar(raw_ostream &O, unsigned char C) {
/// Special characters are emitted properly.
/// \literal (Eg. '\t') \endliteral
void AsmPrinter::EmitString(const std::string &String) const {
+ EmitString(String.c_str(), String.size());
+}
+
+void AsmPrinter::EmitString(const char *String, unsigned Size) const {
const char* AscizDirective = TAI->getAscizDirective();
if (AscizDirective)
O << AscizDirective;
else
O << TAI->getAsciiDirective();
O << '\"';
- for (unsigned i = 0, N = String.size(); i < N; ++i)
+ for (unsigned i = 0; i < Size; ++i)
printStringChar(O, String[i]);
if (AscizDirective)
O << '\"';
OpenPOWER on IntegriCloud