summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/llvm-ar/llvm-ar.cpp3
-rw-r--r--tools/llvm-objdump/llvm-objdump.cpp12
-rw-r--r--tools/llvm-readobj/ARMWinEHPrinter.cpp3
-rw-r--r--tools/llvm-readobj/Win64EHDumper.cpp4
4 files changed, 14 insertions, 8 deletions
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp
index 2d7e8df6b4..60886bb7b1 100644
--- a/tools/llvm-ar/llvm-ar.cpp
+++ b/tools/llvm-ar/llvm-ar.cpp
@@ -689,7 +689,8 @@ writeSymbolTable(raw_fd_ostream &Out, ArrayRef<NewArchiveIterator> Members,
std::vector<std::pair<unsigned, unsigned>> &MemberOffsetRefs) {
unsigned StartOffset = 0;
unsigned MemberNum = 0;
- string_ostream NameOS;
+ std::string NameBuf;
+ raw_string_ostream NameOS(NameBuf);
unsigned NumSyms = 0;
LLVMContext &Context = getGlobalContext();
for (ArrayRef<NewArchiveIterator>::iterator I = Members.begin(),
diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp
index d9886c10ae..d98691b4b0 100644
--- a/tools/llvm-objdump/llvm-objdump.cpp
+++ b/tools/llvm-objdump/llvm-objdump.cpp
@@ -222,7 +222,8 @@ static void emitDOTFile(const char *FileName, const MCFunction &f,
Out << "<o>";
// Escape special chars and print the instruction in mnemonic form.
- string_ostream OS;
+ std::string Str;
+ raw_string_ostream OS(Str);
IP->printInst(&(*i)->getInsts()->at(ii).Inst, OS, "");
Out << DOT::EscapeString(OS.str());
}
@@ -472,7 +473,9 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
if (Symbols.empty())
Symbols.push_back(std::make_pair(0, name));
- small_string_ostream<40> Comments;
+
+ SmallString<40> Comments;
+ raw_svector_ostream CommentStream(Comments);
StringRef Bytes;
if (error(Section.getContents(Bytes)))
@@ -510,14 +513,15 @@ static void DisassembleObject(const ObjectFile *Obj, bool InlineRelocs) {
MCInst Inst;
if (DisAsm->getInstruction(Inst, Size, memoryObject,
- SectionAddr + Index, DebugOut, Comments)) {
+ SectionAddr + Index,
+ DebugOut, CommentStream)) {
outs() << format("%8" PRIx64 ":", SectionAddr + Index);
if (!NoShowRawInsn) {
outs() << "\t";
DumpBytes(StringRef(Bytes.data() + Index, Size));
}
IP->printInst(&Inst, outs(), "");
- outs() << Comments.str();
+ outs() << CommentStream.str();
Comments.clear();
outs() << "\n";
} else {
diff --git a/tools/llvm-readobj/ARMWinEHPrinter.cpp b/tools/llvm-readobj/ARMWinEHPrinter.cpp
index 7138438ca2..f6675bdcfe 100644
--- a/tools/llvm-readobj/ARMWinEHPrinter.cpp
+++ b/tools/llvm-readobj/ARMWinEHPrinter.cpp
@@ -95,7 +95,8 @@ raw_ostream &operator<<(raw_ostream &OS, const ARM::WinEH::ReturnType &RT) {
static std::string formatSymbol(StringRef Name, uint64_t Address,
uint64_t Offset = 0) {
- string_ostream OS;
+ std::string Buffer;
+ raw_string_ostream OS(Buffer);
if (!Name.empty())
OS << Name << " ";
diff --git a/tools/llvm-readobj/Win64EHDumper.cpp b/tools/llvm-readobj/Win64EHDumper.cpp
index 2d67843486..f058632a8c 100644
--- a/tools/llvm-readobj/Win64EHDumper.cpp
+++ b/tools/llvm-readobj/Win64EHDumper.cpp
@@ -115,7 +115,8 @@ static unsigned getNumUsedSlots(const UnwindCode &UnwindCode) {
static std::string formatSymbol(const Dumper::Context &Ctx,
const coff_section *Section, uint64_t Offset,
uint32_t Displacement) {
- string_ostream OS;
+ std::string Buffer;
+ raw_string_ostream OS(Buffer);
StringRef Name;
SymbolRef Symbol;
@@ -130,7 +131,6 @@ static std::string formatSymbol(const Dumper::Context &Ctx,
OS << format(" +0x%X (0x%" PRIX64 ")", Displacement, Offset);
else
OS << format(" (0x%" PRIX64 ")", Offset);
-
return OS.str();
}