MC: Change MCAssembler::writeSectionData and writeFragmentPadding to take a raw_ostream. NFCI.
Also clean up a couple of hacks where we were writing the section
contents to another stream by setting the object writer's stream,
writing and setting it back.
Part of PR37466.
Differential Revision: https://reviews.llvm.org/D47038
llvm-svn: 332858
diff --git a/llvm/lib/MC/WinCOFFObjectWriter.cpp b/llvm/lib/MC/WinCOFFObjectWriter.cpp
index b589027..392bd02 100644
--- a/llvm/lib/MC/WinCOFFObjectWriter.cpp
+++ b/llvm/lib/MC/WinCOFFObjectWriter.cpp
@@ -608,15 +608,7 @@
// to CRC the data before we dump it into the object file.
SmallVector<char, 128> Buf;
raw_svector_ostream VecOS(Buf);
- raw_pwrite_stream &OldStream = getStream();
-
- // Redirect the output stream to our buffer and fill our buffer with
- // the section data.
- setStream(VecOS);
- Asm.writeSectionData(&MCSec, Layout);
-
- // Reset the stream back to what it was before.
- setStream(OldStream);
+ Asm.writeSectionData(VecOS, &MCSec, Layout);
// Write the section contents to the object file.
getStream() << Buf;