[llvm] r234950 - Use raw_pwrite_stream in the object writer/streamer.
Yaron Keren
yaron.keren at gmail.com
Thu Apr 16 03:36:22 PDT 2015
Hi Kai,
Current SVN compiles on Visual C++ 2013, with warnings, but no error in
raw_ostream.
Yaron
2015-04-16 11:37 GMT+03:00 Kai Nacke <kai.nacke at redstar.de>:
> Hi!
>
> I now have a compile error with MSVC:
>
> 5>D:\Program Files\LLVM-x64\include\llvm/Support/raw_ostream.h(324):
> error C2248: 'llvm::raw_ostream::raw_ostream' : cannot access private
> member declared in class 'llvm::raw_ostream' (D:\OpenSource\ldc\ldc\driver\
> toobj.cpp)
> 5> D:\Program Files\LLVM-x64\include\llvm/Support/raw_ostream.h(41)
> : see declaration of 'llvm::raw_ostream::raw_ostream'
> 5> D:\Program Files\LLVM-x64\include\llvm/Support/raw_ostream.h(38)
> : see declaration of 'llvm::raw_ostream'
> 5> This diagnostic occurred in the compiler generated function
> 'llvm::raw_pwrite_stream::raw_pwrite_stream(const llvm::raw_pwrite_stream
> &)'
>
>
> Regards,
> Kai
>
> On 15.04.2015 00:14, Rafael Espindola wrote:
>
>> Author: rafael
>> Date: Tue Apr 14 17:14:34 2015
>> New Revision: 234950
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=234950&view=rev
>> Log:
>> Use raw_pwrite_stream in the object writer/streamer.
>>
>> The ELF object writer will take advantage of that in the next commit.
>>
>> Modified:
>> llvm/trunk/include/llvm/LTO/LTOCodeGenerator.h
>> llvm/trunk/include/llvm/MC/MCAsmBackend.h
>> llvm/trunk/include/llvm/MC/MCELFObjectWriter.h
>> llvm/trunk/include/llvm/MC/MCELFStreamer.h
>> llvm/trunk/include/llvm/MC/MCMachObjectWriter.h
>> llvm/trunk/include/llvm/MC/MCObjectStreamer.h
>> llvm/trunk/include/llvm/MC/MCObjectWriter.h
>> llvm/trunk/include/llvm/MC/MCWinCOFFObjectWriter.h
>> llvm/trunk/include/llvm/MC/MCWinCOFFStreamer.h
>> llvm/trunk/include/llvm/Support/TargetRegistry.h
>> llvm/trunk/include/llvm/Target/TargetMachine.h
>> llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
>> llvm/trunk/lib/LTO/LTOCodeGenerator.cpp
>> llvm/trunk/lib/MC/ELFObjectWriter.cpp
>> llvm/trunk/lib/MC/MCELFStreamer.cpp
>> llvm/trunk/lib/MC/MCMachOStreamer.cpp
>> llvm/trunk/lib/MC/MCObjectStreamer.cpp
>> llvm/trunk/lib/MC/MachObjectWriter.cpp
>> llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp
>> llvm/trunk/lib/MC/WinCOFFStreamer.cpp
>> llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
>> llvm/trunk/lib/Target/AArch64/MCTargetDesc/
>> AArch64ELFObjectWriter.cpp
>> llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
>> llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h
>> llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
>> llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
>> llvm/trunk/lib/Target/AArch64/MCTargetDesc/
>> AArch64MachObjectWriter.cpp
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
>> llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
>> llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp
>> llvm/trunk/lib/Target/CppBackend/CPPTargetMachine.h
>> llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
>> llvm/trunk/lib/Target/Hexagon/MCTargetDesc/
>> HexagonELFObjectWriter.cpp
>> llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.h
>> llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
>> llvm/trunk/lib/Target/NVPTX/NVPTXTargetMachine.h
>> llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
>> llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
>> llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
>> llvm/trunk/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
>> llvm/trunk/lib/Target/R600/MCTargetDesc/AMDGPUAsmBackend.cpp
>> llvm/trunk/lib/Target/R600/MCTargetDesc/AMDGPUELFObjectWriter.cpp
>> llvm/trunk/lib/Target/R600/MCTargetDesc/AMDGPUMCTargetDesc.h
>> llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
>> llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
>> llvm/trunk/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.h
>> llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
>> llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
>> llvm/trunk/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h
>> llvm/trunk/lib/Target/TargetMachineC.cpp
>> llvm/trunk/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
>> llvm/trunk/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
>> llvm/trunk/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
>> llvm/trunk/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
>> llvm/trunk/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
>> llvm/trunk/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
>> llvm/trunk/tools/llc/llc.cpp
>> llvm/trunk/tools/llvm-mc/llvm-mc.cpp
>>
>> Modified: llvm/trunk/include/llvm/LTO/LTOCodeGenerator.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/LTO/LTOCodeGenerator.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/LTO/LTOCodeGenerator.h (original)
>> +++ llvm/trunk/include/llvm/LTO/LTOCodeGenerator.h Tue Apr 14 17:14:34
>> 2015
>> @@ -53,6 +53,7 @@ namespace llvm {
>> class TargetLibraryInfo;
>> class TargetMachine;
>> class raw_ostream;
>> + class raw_pwrite_stream;
>>
>> //===-------------------------------------------------------
>> ---------------===//
>> /// C++ class which implements the opaque lto_code_gen_t type.
>> @@ -137,7 +138,7 @@ struct LTOCodeGenerator {
>> private:
>> void initializeLTOPasses();
>>
>> - bool compileOptimized(raw_ostream &out, std::string &errMsg);
>> + bool compileOptimized(raw_pwrite_stream &out, std::string &errMsg);
>> bool compileOptimizedToFile(const char **name, std::string &errMsg);
>> void applyScopeRestrictions();
>> void applyRestriction(GlobalValue &GV, ArrayRef<StringRef> Libcalls,
>>
>> Modified: llvm/trunk/include/llvm/MC/MCAsmBackend.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/MC/MCAsmBackend.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/MC/MCAsmBackend.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCAsmBackend.h Tue Apr 14 17:14:34 2015
>> @@ -48,7 +48,7 @@ public:
>>
>> /// Create a new MCObjectWriter instance for use by the assembler
>> backend to
>> /// emit the final object file.
>> - virtual MCObjectWriter *createObjectWriter(raw_ostream &OS) const = 0;
>> + virtual MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS)
>> const = 0;
>>
>> /// Create a new ELFObjectTargetWriter to enable non-standard
>> /// ELFObjectWriters.
>>
>> Modified: llvm/trunk/include/llvm/MC/MCELFObjectWriter.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/MC/MCELFObjectWriter.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/MC/MCELFObjectWriter.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCELFObjectWriter.h Tue Apr 14 17:14:34
>> 2015
>> @@ -24,6 +24,7 @@ class MCSectionData;
>> class MCSymbol;
>> class MCSymbolData;
>> class MCValue;
>> +class raw_pwrite_stream;
>>
>> struct ELFRelocationEntry {
>> uint64_t Offset; // Where is the relocation.
>> @@ -130,7 +131,8 @@ public:
>> /// \param OS - The stream to write to.
>> /// \returns The constructed object writer.
>> MCObjectWriter *createELFObjectWriter(MCELFObjectTargetWriter *MOTW,
>> - raw_ostream &OS, bool
>> IsLittleEndian);
>> + raw_pwrite_stream &OS,
>> + bool IsLittleEndian);
>> } // End llvm namespace
>>
>> #endif
>>
>> Modified: llvm/trunk/include/llvm/MC/MCELFStreamer.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/MC/MCELFStreamer.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/MC/MCELFStreamer.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCELFStreamer.h Tue Apr 14 17:14:34 2015
>> @@ -29,10 +29,9 @@ class raw_ostream;
>>
>> class MCELFStreamer : public MCObjectStreamer {
>> public:
>> - MCELFStreamer(MCContext &Context, MCAsmBackend &TAB, raw_ostream &OS,
>> + MCELFStreamer(MCContext &Context, MCAsmBackend &TAB, raw_pwrite_stream
>> &OS,
>> MCCodeEmitter *Emitter)
>> - : MCObjectStreamer(Context, TAB, OS, Emitter),
>> - SeenIdent(false) {}
>> + : MCObjectStreamer(Context, TAB, OS, Emitter), SeenIdent(false) {}
>>
>> ~MCELFStreamer() override;
>>
>> @@ -116,8 +115,9 @@ private:
>> };
>>
>> MCELFStreamer *createARMELFStreamer(MCContext &Context, MCAsmBackend
>> &TAB,
>> - raw_ostream &OS, MCCodeEmitter
>> *Emitter,
>> - bool RelaxAll, bool IsThumb);
>> + raw_pwrite_stream &OS,
>> + MCCodeEmitter *Emitter, bool
>> RelaxAll,
>> + bool IsThumb);
>>
>> } // end namespace llvm
>>
>>
>> Modified: llvm/trunk/include/llvm/MC/MCMachObjectWriter.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/MC/MCMachObjectWriter.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/MC/MCMachObjectWriter.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCMachObjectWriter.h Tue Apr 14 17:14:34
>> 2015
>> @@ -119,7 +119,7 @@ class MachObjectWriter : public MCObject
>> MachSymbolData *findSymbolData(const MCSymbol &Sym);
>>
>> public:
>> - MachObjectWriter(MCMachObjectTargetWriter *MOTW, raw_ostream &OS,
>> + MachObjectWriter(MCMachObjectTargetWriter *MOTW, raw_pwrite_stream
>> &OS,
>> bool IsLittleEndian)
>> : MCObjectWriter(OS, IsLittleEndian), TargetObjectWriter(MOTW) {}
>>
>> @@ -279,7 +279,8 @@ public:
>> /// \param OS - The stream to write to.
>> /// \returns The constructed object writer.
>> MCObjectWriter *createMachObjectWriter(MCMachObjectTargetWriter *MOTW,
>> - raw_ostream &OS, bool
>> IsLittleEndian);
>> + raw_pwrite_stream &OS,
>> + bool IsLittleEndian);
>>
>> } // End llvm namespace
>>
>>
>> Modified: llvm/trunk/include/llvm/MC/MCObjectStreamer.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/MC/MCObjectStreamer.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/MC/MCObjectStreamer.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCObjectStreamer.h Tue Apr 14 17:14:34
>> 2015
>> @@ -24,6 +24,7 @@ class MCFragment;
>> class MCDataFragment;
>> class MCAsmBackend;
>> class raw_ostream;
>> +class raw_pwrite_stream;
>>
>> /// \brief Streaming object file generation interface.
>> ///
>> @@ -45,7 +46,7 @@ class MCObjectStreamer : public MCStream
>> void EmitCFIEndProcImpl(MCDwarfFrameInfo &Frame) override;
>>
>> protected:
>> - MCObjectStreamer(MCContext &Context, MCAsmBackend &TAB, raw_ostream
>> &OS,
>> + MCObjectStreamer(MCContext &Context, MCAsmBackend &TAB,
>> raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter);
>> ~MCObjectStreamer() override;
>>
>>
>> Modified: llvm/trunk/include/llvm/MC/MCObjectWriter.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/MC/MCObjectWriter.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/MC/MCObjectWriter.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCObjectWriter.h Tue Apr 14 17:14:34 2015
>> @@ -42,12 +42,12 @@ class MCObjectWriter {
>> void operator=(const MCObjectWriter &) = delete;
>>
>> protected:
>> - raw_ostream &OS;
>> + raw_pwrite_stream &OS;
>>
>> unsigned IsLittleEndian : 1;
>>
>> protected: // Can only create subclasses.
>> - MCObjectWriter(raw_ostream &OS, bool IsLittleEndian)
>> + MCObjectWriter(raw_pwrite_stream &OS, bool IsLittleEndian)
>> : OS(OS), IsLittleEndian(IsLittleEndian) {}
>>
>> public:
>>
>> Modified: llvm/trunk/include/llvm/MC/MCWinCOFFObjectWriter.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/MC/MCWinCOFFObjectWriter.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/MC/MCWinCOFFObjectWriter.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCWinCOFFObjectWriter.h Tue Apr 14
>> 17:14:34 2015
>> @@ -16,6 +16,7 @@ class MCFixup;
>> class MCObjectWriter;
>> class MCValue;
>> class raw_ostream;
>> +class raw_pwrite_stream;
>>
>> class MCWinCOFFObjectTargetWriter {
>> virtual void anchor();
>> @@ -40,7 +41,7 @@ class raw_ostream;
>> /// \param OS - The stream to write to.
>> /// \returns The constructed object writer.
>> MCObjectWriter *createWinCOFFObjectWriter(MCWinCOFFObjectTargetWriter
>> *MOTW,
>> - raw_ostream &OS);
>> + raw_pwrite_stream &OS);
>> } // End llvm namespace
>>
>> #endif
>>
>> Modified: llvm/trunk/include/llvm/MC/MCWinCOFFStreamer.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/MC/MCWinCOFFStreamer.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/MC/MCWinCOFFStreamer.h (original)
>> +++ llvm/trunk/include/llvm/MC/MCWinCOFFStreamer.h Tue Apr 14 17:14:34
>> 2015
>> @@ -24,11 +24,12 @@ class MCSubtargetInfo;
>> class MCSymbol;
>> class StringRef;
>> class raw_ostream;
>> +class raw_pwrite_stream;
>>
>> class MCWinCOFFStreamer : public MCObjectStreamer {
>> public:
>> MCWinCOFFStreamer(MCContext &Context, MCAsmBackend &MAB,
>> MCCodeEmitter &CE,
>> - raw_ostream &OS);
>> + raw_pwrite_stream &OS);
>>
>> /// state management
>> void reset() override {
>>
>> Modified: llvm/trunk/include/llvm/Support/TargetRegistry.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/Support/TargetRegistry.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/Support/TargetRegistry.h (original)
>> +++ llvm/trunk/include/llvm/Support/TargetRegistry.h Tue Apr 14 17:14:34
>> 2015
>> @@ -50,6 +50,7 @@ namespace llvm {
>> class TargetMachine;
>> class TargetOptions;
>> class raw_ostream;
>> + class raw_pwrite_stream;
>> class formatted_raw_ostream;
>>
>> MCStreamer *createNullStreamer(MCContext &Ctx);
>> @@ -61,10 +62,10 @@ namespace llvm {
>>
>> /// Takes ownership of \p TAB and \p CE.
>> MCStreamer *createELFStreamer(MCContext &Ctx, MCAsmBackend &TAB,
>> - raw_ostream &OS, MCCodeEmitter *CE,
>> + raw_pwrite_stream &OS, MCCodeEmitter *CE,
>> bool RelaxAll);
>> MCStreamer *createMachOStreamer(MCContext &Ctx, MCAsmBackend &TAB,
>> - raw_ostream &OS, MCCodeEmitter *CE,
>> + raw_pwrite_stream &OS, MCCodeEmitter
>> *CE,
>> bool RelaxAll, bool
>> DWARFMustBeAtTheEnd,
>> bool LabelSections = false);
>>
>> @@ -135,14 +136,15 @@ namespace llvm {
>> const MCRegisterInfo
>> &MRI,
>> MCContext &Ctx);
>> typedef MCStreamer *(*ELFStreamerCtorTy)(const Triple &T, MCContext
>> &Ctx,
>> - MCAsmBackend &TAB,
>> raw_ostream &OS,
>> + MCAsmBackend &TAB,
>> + raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter,
>> bool RelaxAll);
>> typedef MCStreamer *(*MachOStreamerCtorTy)(
>> - MCContext &Ctx, MCAsmBackend &TAB, raw_ostream &OS,
>> + MCContext &Ctx, MCAsmBackend &TAB, raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter, bool RelaxAll, bool
>> DWARFMustBeAtTheEnd);
>> typedef MCStreamer *(*COFFStreamerCtorTy)(MCContext &Ctx,
>> MCAsmBackend &TAB,
>> - raw_ostream &OS,
>> + raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter,
>> bool RelaxAll);
>> typedef MCTargetStreamer *(*NullTargetStreamerCtorTy)(MCStreamer
>> &S);
>> @@ -438,7 +440,7 @@ namespace llvm {
>> /// \param Emitter The target independent assembler object.Takes
>> ownership.
>> /// \param RelaxAll Relax all fixups?
>> MCStreamer *createMCObjectStreamer(const Triple &T, MCContext &Ctx,
>> - MCAsmBackend &TAB, raw_ostream
>> &OS,
>> + MCAsmBackend &TAB,
>> raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter,
>> const MCSubtargetInfo &STI,
>> bool RelaxAll,
>>
>> Modified: llvm/trunk/include/llvm/Target/TargetMachine.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/
>> llvm/Target/TargetMachine.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/include/llvm/Target/TargetMachine.h (original)
>> +++ llvm/trunk/include/llvm/Target/TargetMachine.h Tue Apr 14 17:14:34
>> 2015
>> @@ -48,6 +48,7 @@ class TargetSubtargetInfo;
>> class TargetTransformInfo;
>> class formatted_raw_ostream;
>> class raw_ostream;
>> +class raw_pwrite_stream;
>> class TargetLoweringObjectFile;
>>
>> // The old pass manager infrastructure is hidden in a legacy namespace
>> now.
>> @@ -207,7 +208,7 @@ public:
>> /// emitted. Typically this will involve several steps of code
>> generation.
>> /// This method should return true if emission of this file type is
>> not
>> /// supported, or false on success.
>> - virtual bool addPassesToEmitFile(PassManagerBase &, raw_ostream &,
>> + virtual bool addPassesToEmitFile(PassManagerBase &, raw_pwrite_stream
>> &,
>> CodeGenFileType,
>> bool /*DisableVerify*/ = true,
>> AnalysisID /*StartAfter*/ = nullptr,
>> @@ -220,9 +221,8 @@ public:
>> /// fills the MCContext Ctx pointer which can be used to build custom
>> /// MCStreamer.
>> ///
>> - virtual bool addPassesToEmitMC(PassManagerBase &,
>> - MCContext *&,
>> - raw_ostream &,
>> + virtual bool addPassesToEmitMC(PassManagerBase &, MCContext *&,
>> + raw_pwrite_stream &,
>> bool /*DisableVerify*/ = true) {
>> return true;
>> }
>> @@ -256,7 +256,7 @@ public:
>>
>> /// Add passes to the specified pass manager to get the specified file
>> /// emitted. Typically this will involve several steps of code
>> generation.
>> - bool addPassesToEmitFile(PassManagerBase &PM, raw_ostream &Out,
>> + bool addPassesToEmitFile(PassManagerBase &PM, raw_pwrite_stream &Out,
>> CodeGenFileType FileType, bool DisableVerify
>> = true,
>> AnalysisID StartAfter = nullptr,
>> AnalysisID StopAfter = nullptr) override;
>> @@ -266,7 +266,8 @@ public:
>> /// fills the MCContext Ctx pointer which can be used to build custom
>> /// MCStreamer.
>> bool addPassesToEmitMC(PassManagerBase &PM, MCContext *&Ctx,
>> - raw_ostream &OS, bool DisableVerify = true)
>> override;
>> + raw_pwrite_stream &OS,
>> + bool DisableVerify = true) override;
>> };
>>
>> } // End llvm namespace
>>
>> Modified: llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/
>> CodeGen/LLVMTargetMachine.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp (original)
>> +++ llvm/trunk/lib/CodeGen/LLVMTargetMachine.cpp Tue Apr 14 17:14:34 2015
>> @@ -141,7 +141,7 @@ static MCContext *addPassesToGenerateCod
>> }
>>
>> bool LLVMTargetMachine::addPassesToEmitFile(
>> - PassManagerBase &PM, raw_ostream &Out, CodeGenFileType FileType,
>> + PassManagerBase &PM, raw_pwrite_stream &Out, CodeGenFileType
>> FileType,
>> bool DisableVerify, AnalysisID StartAfter, AnalysisID StopAfter) {
>> // Add common CodeGen passes.
>> MCContext *Context = addPassesToGenerateCode(this, PM, DisableVerify,
>> @@ -227,9 +227,8 @@ bool LLVMTargetMachine::addPassesToEmitF
>> /// code is not supported. It fills the MCContext Ctx pointer which can
>> be
>> /// used to build custom MCStreamer.
>> ///
>> -bool LLVMTargetMachine::addPassesToEmitMC(PassManagerBase &PM,
>> - MCContext *&Ctx,
>> - raw_ostream &Out,
>> +bool LLVMTargetMachine::addPassesToEmitMC(PassManagerBase &PM,
>> MCContext *&Ctx,
>> + raw_pwrite_stream &Out,
>> bool DisableVerify) {
>> // Add common CodeGen passes.
>> Ctx = addPassesToGenerateCode(this, PM, DisableVerify, nullptr,
>> nullptr);
>>
>> Modified: llvm/trunk/lib/LTO/LTOCodeGenerator.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/LTO/
>> LTOCodeGenerator.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/LTO/LTOCodeGenerator.cpp (original)
>> +++ llvm/trunk/lib/LTO/LTOCodeGenerator.cpp Tue Apr 14 17:14:34 2015
>> @@ -566,7 +566,8 @@ bool LTOCodeGenerator::optimize(bool Dis
>> return true;
>> }
>>
>> -bool LTOCodeGenerator::compileOptimized(raw_ostream &out, std::string
>> &errMsg) {
>> +bool LTOCodeGenerator::compileOptimized(raw_pwrite_stream &out,
>> + std::string &errMsg) {
>> if (!this->determineTarget(errMsg))
>> return false;
>>
>>
>> Modified: llvm/trunk/lib/MC/ELFObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/
>> ELFObjectWriter.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/MC/ELFObjectWriter.cpp (original)
>> +++ llvm/trunk/lib/MC/ELFObjectWriter.cpp Tue Apr 14 17:14:34 2015
>> @@ -168,7 +168,7 @@ class ELFObjectWriter : public MCObjectW
>> }
>>
>> public:
>> - ELFObjectWriter(MCELFObjectTargetWriter *MOTW, raw_ostream &OS,
>> + ELFObjectWriter(MCELFObjectTargetWriter *MOTW, raw_pwrite_stream
>> &OS,
>> bool IsLittleEndian)
>> : MCObjectWriter(OS, IsLittleEndian), FWriter(IsLittleEndian),
>> TargetObjectWriter(MOTW), NeedsGOT(false) {}
>> @@ -1711,7 +1711,7 @@ bool ELFObjectWriter::isWeak(const MCSym
>> }
>>
>> MCObjectWriter *llvm::createELFObjectWriter(MCELFObjectTargetWriter
>> *MOTW,
>> - raw_ostream &OS,
>> + raw_pwrite_stream &OS,
>> bool IsLittleEndian) {
>> return new ELFObjectWriter(MOTW, OS, IsLittleEndian);
>> }
>>
>> Modified: llvm/trunk/lib/MC/MCELFStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/
>> MCELFStreamer.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/MC/MCELFStreamer.cpp (original)
>> +++ llvm/trunk/lib/MC/MCELFStreamer.cpp Tue Apr 14 17:14:34 2015
>> @@ -647,7 +647,7 @@ void MCELFStreamer::FinishImpl() {
>> }
>>
>> MCStreamer *llvm::createELFStreamer(MCContext &Context, MCAsmBackend
>> &MAB,
>> - raw_ostream &OS, MCCodeEmitter *CE,
>> + raw_pwrite_stream &OS, MCCodeEmitter
>> *CE,
>> bool RelaxAll) {
>> MCELFStreamer *S = new MCELFStreamer(Context, MAB, OS, CE);
>> if (RelaxAll)
>>
>> Modified: llvm/trunk/lib/MC/MCMachOStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/
>> MCMachOStreamer.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/MC/MCMachOStreamer.cpp (original)
>> +++ llvm/trunk/lib/MC/MCMachOStreamer.cpp Tue Apr 14 17:14:34 2015
>> @@ -54,7 +54,7 @@ private:
>> void EmitDataRegionEnd();
>>
>> public:
>> - MCMachOStreamer(MCContext &Context, MCAsmBackend &MAB, raw_ostream &OS,
>> + MCMachOStreamer(MCContext &Context, MCAsmBackend &MAB,
>> raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter, bool DWARFMustBeAtTheEnd,
>> bool label)
>> : MCObjectStreamer(Context, MAB, OS, Emitter),
>> LabelSections(label),
>> DWARFMustBeAtTheEnd(DWARFMustBeAtTheEnd),
>> CreatedADWARFSection(false) {}
>> @@ -491,7 +491,7 @@ void MCMachOStreamer::FinishImpl() {
>> }
>>
>> MCStreamer *llvm::createMachOStreamer(MCContext &Context, MCAsmBackend
>> &MAB,
>> - raw_ostream &OS, MCCodeEmitter *CE,
>> + raw_pwrite_stream &OS,
>> MCCodeEmitter *CE,
>> bool RelaxAll, bool
>> DWARFMustBeAtTheEnd,
>> bool LabelSections) {
>> MCMachOStreamer *S = new MCMachOStreamer(Context, MAB, OS, CE,
>>
>> Modified: llvm/trunk/lib/MC/MCObjectStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/
>> MCObjectStreamer.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/MC/MCObjectStreamer.cpp (original)
>> +++ llvm/trunk/lib/MC/MCObjectStreamer.cpp Tue Apr 14 17:14:34 2015
>> @@ -24,7 +24,8 @@
>> using namespace llvm;
>>
>> MCObjectStreamer::MCObjectStreamer(MCContext &Context, MCAsmBackend
>> &TAB,
>> - raw_ostream &OS, MCCodeEmitter
>> *Emitter_)
>> + raw_pwrite_stream &OS,
>> + MCCodeEmitter *Emitter_)
>> : MCStreamer(Context),
>> Assembler(new MCAssembler(Context, TAB, *Emitter_,
>> *TAB.createObjectWriter(OS), OS)),
>>
>> Modified: llvm/trunk/lib/MC/MachObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/
>> MachObjectWriter.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/MC/MachObjectWriter.cpp (original)
>> +++ llvm/trunk/lib/MC/MachObjectWriter.cpp Tue Apr 14 17:14:34 2015
>> @@ -1007,7 +1007,7 @@ void MachObjectWriter::WriteObject(MCAss
>> }
>>
>> MCObjectWriter *llvm::createMachObjectWriter(MCMachObjectTargetWriter
>> *MOTW,
>> - raw_ostream &OS,
>> + raw_pwrite_stream &OS,
>> bool IsLittleEndian) {
>> return new MachObjectWriter(MOTW, OS, IsLittleEndian);
>> }
>>
>> Modified: llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/
>> WinCOFFObjectWriter.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp (original)
>> +++ llvm/trunk/lib/MC/WinCOFFObjectWriter.cpp Tue Apr 14 17:14:34 2015
>> @@ -126,7 +126,7 @@ public:
>>
>> bool UseBigObj;
>>
>> - WinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW, raw_ostream
>> &OS);
>> + WinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW,
>> raw_pwrite_stream &OS);
>>
>> void reset() override {
>> memset(&Header, 0, sizeof(Header));
>> @@ -258,7 +258,7 @@ size_t COFFSection::size() {
>> // WinCOFFObjectWriter class implementation
>>
>> WinCOFFObjectWriter::WinCOFFObjectWriter(MCWinCOFFObjectTargetWriter
>> *MOTW,
>> - raw_ostream &OS)
>> + raw_pwrite_stream &OS)
>> : MCObjectWriter(OS, true), TargetObjectWriter(MOTW) {
>> memset(&Header, 0, sizeof(Header));
>>
>> @@ -1075,6 +1075,6 @@ void MCWinCOFFObjectTargetWriter::anchor
>>
>> MCObjectWriter *
>> llvm::createWinCOFFObjectWriter(MCWinCOFFObjectTargetWriter *MOTW,
>> - raw_ostream &OS) {
>> + raw_pwrite_stream &OS) {
>> return new WinCOFFObjectWriter(MOTW, OS);
>> }
>>
>> Modified: llvm/trunk/lib/MC/WinCOFFStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/
>> WinCOFFStreamer.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/MC/WinCOFFStreamer.cpp (original)
>> +++ llvm/trunk/lib/MC/WinCOFFStreamer.cpp Tue Apr 14 17:14:34 2015
>> @@ -39,7 +39,7 @@ using namespace llvm;
>>
>> namespace llvm {
>> MCWinCOFFStreamer::MCWinCOFFStreamer(MCContext &Context, MCAsmBackend
>> &MAB,
>> - MCCodeEmitter &CE, raw_ostream &OS)
>> + MCCodeEmitter &CE,
>> raw_pwrite_stream &OS)
>> : MCObjectStreamer(Context, MAB, OS, &CE), CurSymbol(nullptr) {}
>>
>> void MCWinCOFFStreamer::EmitInstToData(const MCInst &Inst,
>>
>> Modified: llvm/trunk/lib/Target/AArch64/MCTargetDesc/
>> AArch64AsmBackend.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> AArch64/MCTargetDesc/AArch64AsmBackend.cpp?rev=
>> 234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp Tue
>> Apr 14 17:14:34 2015
>> @@ -313,7 +313,7 @@ public:
>> DarwinAArch64AsmBackend(const Target &T, const MCRegisterInfo &MRI)
>> : AArch64AsmBackend(T), MRI(MRI) {}
>>
>> - MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
>> + MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const
>> override {
>> return createAArch64MachObjectWriter(OS, MachO::CPU_TYPE_ARM64,
>> MachO::CPU_SUBTYPE_ARM64_ALL);
>> }
>> @@ -461,7 +461,7 @@ public:
>> ELFAArch64AsmBackend(const Target &T, uint8_t OSABI, bool
>> IsLittleEndian)
>> : AArch64AsmBackend(T), OSABI(OSABI),
>> IsLittleEndian(IsLittleEndian) {}
>>
>> - MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
>> + MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const
>> override {
>> return createAArch64ELFObjectWriter(OS, OSABI, IsLittleEndian);
>> }
>>
>>
>> Modified: llvm/trunk/lib/Target/AArch64/MCTargetDesc/
>> AArch64ELFObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp?rev=234950&r1=234949&r2=
>> 234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
>> Tue Apr 14 17:14:34 2015
>> @@ -248,7 +248,7 @@ unsigned AArch64ELFObjectWriter::GetRelo
>> llvm_unreachable("Unimplemented fixup -> relocation");
>> }
>>
>> -MCObjectWriter *llvm::createAArch64ELFObjectWriter(raw_ostream &OS,
>> +MCObjectWriter *llvm::createAArch64ELFObjectWriter(raw_pwrite_stream
>> &OS,
>> uint8_t OSABI,
>> bool IsLittleEndian)
>> {
>> MCELFObjectTargetWriter *MOTW =
>>
>> Modified: llvm/trunk/lib/Target/AArch64/MCTargetDesc/
>> AArch64ELFStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> AArch64/MCTargetDesc/AArch64ELFStreamer.cpp?rev=
>> 234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
>> Tue Apr 14 17:14:34 2015
>> @@ -89,8 +89,8 @@ class AArch64ELFStreamer : public MCELFS
>> public:
>> friend class AArch64TargetELFStreamer;
>>
>> - AArch64ELFStreamer(MCContext &Context, MCAsmBackend &TAB, raw_ostream
>> &OS,
>> - MCCodeEmitter *Emitter)
>> + AArch64ELFStreamer(MCContext &Context, MCAsmBackend &TAB,
>> + raw_pwrite_stream &OS, MCCodeEmitter *Emitter)
>> : MCELFStreamer(Context, TAB, OS, Emitter),
>> MappingSymbolCounter(0),
>> LastEMS(EMS_None) {}
>>
>> @@ -211,8 +211,8 @@ MCTargetStreamer *createAArch64AsmTarget
>> }
>>
>> MCELFStreamer *createAArch64ELFStreamer(MCContext &Context,
>> MCAsmBackend &TAB,
>> - raw_ostream &OS, MCCodeEmitter
>> *Emitter,
>> - bool RelaxAll) {
>> + raw_pwrite_stream &OS,
>> + MCCodeEmitter *Emitter, bool
>> RelaxAll) {
>> AArch64ELFStreamer *S = new AArch64ELFStreamer(Context, TAB, OS,
>> Emitter);
>> if (RelaxAll)
>> S->getAssembler().setRelaxAll(true);
>>
>> Modified: llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> AArch64/MCTargetDesc/AArch64ELFStreamer.h?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h
>> (original)
>> +++ llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h Tue
>> Apr 14 17:14:34 2015
>> @@ -19,8 +19,8 @@
>> namespace llvm {
>>
>> MCELFStreamer *createAArch64ELFStreamer(MCContext &Context,
>> MCAsmBackend &TAB,
>> - raw_ostream &OS, MCCodeEmitter
>> *Emitter,
>> - bool RelaxAll);
>> + raw_pwrite_stream &OS,
>> + MCCodeEmitter *Emitter, bool
>> RelaxAll);
>> }
>>
>> #endif
>>
>> Modified: llvm/trunk/lib/Target/AArch64/MCTargetDesc/
>> AArch64MCTargetDesc.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp?rev=
>> 234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
>> Tue Apr 14 17:14:34 2015
>> @@ -123,14 +123,14 @@ static MCInstPrinter *createAArch64MCIns
>> }
>>
>> static MCStreamer *createELFStreamer(const Triple &T, MCContext &Ctx,
>> - MCAsmBackend &TAB, raw_ostream &OS,
>> + MCAsmBackend &TAB,
>> raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter, bool
>> RelaxAll) {
>> return createAArch64ELFStreamer(Ctx, TAB, OS, Emitter, RelaxAll);
>> }
>>
>> static MCStreamer *createMachOStreamer(MCContext &Ctx, MCAsmBackend
>> &TAB,
>> - raw_ostream &OS, MCCodeEmitter
>> *Emitter,
>> - bool RelaxAll,
>> + raw_pwrite_stream &OS,
>> + MCCodeEmitter *Emitter, bool
>> RelaxAll,
>> bool DWARFMustBeAtTheEnd) {
>> return createMachOStreamer(Ctx, TAB, OS, Emitter, RelaxAll,
>> DWARFMustBeAtTheEnd,
>>
>> Modified: llvm/trunk/lib/Target/AArch64/MCTargetDesc/
>> AArch64MCTargetDesc.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> AArch64/MCTargetDesc/AArch64MCTargetDesc.h?rev=
>> 234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
>> (original)
>> +++ llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h Tue
>> Apr 14 17:14:34 2015
>> @@ -33,6 +33,7 @@ class StringRef;
>> class Target;
>> class Triple;
>> class raw_ostream;
>> +class raw_pwrite_stream;
>>
>> extern Target TheAArch64leTarget;
>> extern Target TheAArch64beTarget;
>> @@ -48,10 +49,12 @@ MCAsmBackend *createAArch64beAsmBackend(
>> const MCRegisterInfo &MRI,
>> StringRef TT,
>> StringRef CPU);
>>
>> -MCObjectWriter *createAArch64ELFObjectWriter(raw_ostream &OS, uint8_t
>> OSABI,
>> +MCObjectWriter *createAArch64ELFObjectWriter(raw_pwrite_stream &OS,
>> + uint8_t OSABI,
>> bool IsLittleEndian);
>>
>> -MCObjectWriter *createAArch64MachObjectWriter(raw_ostream &OS, uint32_t
>> CPUType,
>> +MCObjectWriter *createAArch64MachObjectWriter(raw_pwrite_stream &OS,
>> + uint32_t CPUType,
>> uint32_t CPUSubtype);
>>
>> MCTargetStreamer *createAArch64AsmTargetStreamer(MCStreamer &S,
>>
>> Modified: llvm/trunk/lib/Target/AArch64/MCTargetDesc/
>> AArch64MachObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp?rev=234950&r1=234949&r2=
>> 234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
>> Tue Apr 14 17:14:34 2015
>> @@ -413,7 +413,7 @@ void AArch64MachObjectWriter::RecordRelo
>> Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);
>> }
>>
>> -MCObjectWriter *llvm::createAArch64MachObjectWriter(raw_ostream &OS,
>> +MCObjectWriter *llvm::createAArch64MachObjectWriter(raw_pwrite_stream
>> &OS,
>> uint32_t CPUType,
>> uint32_t
>> CPUSubtype) {
>> return createMachObjectWriter(
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMAsmBackendDarwin.h?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h
>> (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendDarwin.h Tue Apr
>> 14 17:14:34 2015
>> @@ -23,7 +23,7 @@ public:
>> HasDataInCodeSupport = true;
>> }
>>
>> - MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
>> + MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const
>> override {
>> return createARMMachObjectWriter(OS, /*Is64Bit=*/false,
>> MachO::CPU_TYPE_ARM,
>> Subtype);
>> }
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMAsmBackendELF.h?rev=234950&
>> r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendELF.h Tue Apr 14
>> 17:14:34 2015
>> @@ -18,7 +18,7 @@ public:
>> ARMAsmBackendELF(const Target &T, StringRef TT, uint8_t OSABI, bool
>> IsLittle)
>> : ARMAsmBackend(T, TT, IsLittle), OSABI(OSABI) {}
>>
>> - MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
>> + MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const
>> override {
>> return createARMELFObjectWriter(OS, OSABI, isLittle());
>> }
>> };
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h
>> (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMAsmBackendWinCOFF.h Tue
>> Apr 14 17:14:34 2015
>> @@ -17,7 +17,7 @@ class ARMAsmBackendWinCOFF : public ARMA
>> public:
>> ARMAsmBackendWinCOFF(const Target &T, StringRef Triple)
>> : ARMAsmBackend(T, Triple, true) {}
>> - MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
>> + MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const
>> override {
>> return createARMWinCOFFObjectWriter(OS, /*Is64Bit=*/false);
>> }
>> };
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMELFObjectWriter.cpp?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp Tue
>> Apr 14 17:14:34 2015
>> @@ -251,7 +251,7 @@ unsigned ARMELFObjectWriter::GetRelocTyp
>> return Type;
>> }
>>
>> -MCObjectWriter *llvm::createARMELFObjectWriter(raw_ostream &OS,
>> +MCObjectWriter *llvm::createARMELFObjectWriter(raw_pwrite_stream &OS,
>> uint8_t OSABI,
>> bool IsLittleEndian) {
>> MCELFObjectTargetWriter *MOTW = new ARMELFObjectWriter(OSABI);
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMELFStreamer.cpp?rev=234950&
>> r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp Tue Apr 14
>> 17:14:34 2015
>> @@ -472,7 +472,7 @@ class ARMELFStreamer : public MCELFStrea
>> public:
>> friend class ARMTargetELFStreamer;
>>
>> - ARMELFStreamer(MCContext &Context, MCAsmBackend &TAB, raw_ostream &OS,
>> + ARMELFStreamer(MCContext &Context, MCAsmBackend &TAB,
>> raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter, bool IsThumb)
>> : MCELFStreamer(Context, TAB, OS, Emitter), IsThumb(IsThumb),
>> MappingSymbolCounter(0), LastEMS(EMS_None) {
>> @@ -1382,8 +1382,9 @@ MCTargetStreamer *createARMObjectTargetS
>> }
>>
>> MCELFStreamer *createARMELFStreamer(MCContext &Context, MCAsmBackend
>> &TAB,
>> - raw_ostream &OS, MCCodeEmitter
>> *Emitter,
>> - bool RelaxAll, bool IsThumb) {
>> + raw_pwrite_stream &OS,
>> + MCCodeEmitter *Emitter, bool
>> RelaxAll,
>> + bool IsThumb) {
>> ARMELFStreamer *S = new ARMELFStreamer(Context, TAB, OS, Emitter,
>> IsThumb);
>> // FIXME: This should eventually end up somewhere else where more
>> // intelligent flag decisions can be made. For now we are just
>> maintaining
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMMCTargetDesc.cpp?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp Tue Apr
>> 14 17:14:34 2015
>> @@ -310,14 +310,14 @@ static MCCodeGenInfo *createARMMCCodeGen
>> }
>>
>> static MCStreamer *createELFStreamer(const Triple &T, MCContext &Ctx,
>> - MCAsmBackend &MAB, raw_ostream &OS,
>> + MCAsmBackend &MAB,
>> raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter, bool
>> RelaxAll) {
>> return createARMELFStreamer(Ctx, MAB, OS, Emitter, false,
>> T.getArch() == Triple::thumb);
>> }
>>
>> static MCStreamer *createARMMachOStreamer(MCContext &Ctx, MCAsmBackend
>> &MAB,
>> - raw_ostream &OS,
>> + raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter, bool
>> RelaxAll,
>> bool DWARFMustBeAtTheEnd) {
>> return createMachOStreamer(Ctx, MAB, OS, Emitter, false,
>> DWARFMustBeAtTheEnd);
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMMCTargetDesc.h?rev=234950&
>> r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h Tue Apr 14
>> 17:14:34 2015
>> @@ -34,6 +34,7 @@ class StringRef;
>> class Target;
>> class Triple;
>> class raw_ostream;
>> +class raw_pwrite_stream;
>>
>> extern Target TheARMLETarget, TheThumbLETarget;
>> extern Target TheARMBETarget, TheThumbBETarget;
>> @@ -82,20 +83,21 @@ MCAsmBackend *createThumbBEAsmBackend(co
>> // Construct a PE/COFF machine code streamer which will generate a
>> PE/COFF
>> // object file.
>> MCStreamer *createARMWinCOFFStreamer(MCContext &Context, MCAsmBackend
>> &MAB,
>> - raw_ostream &OS, MCCodeEmitter
>> *Emitter,
>> - bool RelaxAll);
>> + raw_pwrite_stream &OS,
>> + MCCodeEmitter *Emitter, bool
>> RelaxAll);
>>
>> /// Construct an ELF Mach-O object writer.
>> -MCObjectWriter *createARMELFObjectWriter(raw_ostream &OS, uint8_t OSABI,
>> +MCObjectWriter *createARMELFObjectWriter(raw_pwrite_stream &OS, uint8_t
>> OSABI,
>> bool IsLittleEndian);
>>
>> /// Construct an ARM Mach-O object writer.
>> -MCObjectWriter *createARMMachObjectWriter(raw_ostream &OS, bool Is64Bit,
>> +MCObjectWriter *createARMMachObjectWriter(raw_pwrite_stream &OS, bool
>> Is64Bit,
>> uint32_t CPUType,
>> uint32_t CPUSubtype);
>>
>> /// Construct an ARM PE/COFF object writer.
>> -MCObjectWriter *createARMWinCOFFObjectWriter(raw_ostream &OS, bool
>> Is64Bit);
>> +MCObjectWriter *createARMWinCOFFObjectWriter(raw_pwrite_stream &OS,
>> + bool Is64Bit);
>>
>> /// Construct ARM Mach-O relocation info.
>> MCRelocationInfo *createARMMachORelocationInfo(MCContext &Ctx);
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMMachObjectWriter.cpp?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp Tue
>> Apr 14 17:14:34 2015
>> @@ -472,8 +472,8 @@ void ARMMachObjectWriter::RecordRelocati
>> Writer->addRelocation(RelSymbol, Fragment->getParent(), MRE);
>> }
>>
>> -MCObjectWriter *llvm::createARMMachObjectWriter(raw_ostream &OS, bool
>> Is64Bit,
>> - uint32_t CPUType,
>> +MCObjectWriter *llvm::createARMMachObjectWriter(raw_pwrite_stream &OS,
>> + bool Is64Bit, uint32_t
>> CPUType,
>> uint32_t CPUSubtype) {
>> return createMachObjectWriter(new ARMMachObjectWriter(Is64Bit,
>> CPUType,
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/
>> ARMWinCOFFObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp?rev=234950&r1=234949&r2=
>> 234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
>> Tue Apr 14 17:14:34 2015
>> @@ -82,7 +82,8 @@ bool ARMWinCOFFObjectWriter::recordReloc
>> }
>>
>> namespace llvm {
>> -MCObjectWriter *createARMWinCOFFObjectWriter(raw_ostream &OS, bool
>> Is64Bit) {
>> +MCObjectWriter *createARMWinCOFFObjectWriter(raw_pwrite_stream &OS,
>> + bool Is64Bit) {
>> MCWinCOFFObjectTargetWriter *MOTW = new ARMWinCOFFObjectWriter(
>> Is64Bit);
>> return createWinCOFFObjectWriter(MOTW, OS);
>> }
>>
>> Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp Tue
>> Apr 14 17:14:34 2015
>> @@ -16,8 +16,8 @@ namespace {
>> class ARMWinCOFFStreamer : public MCWinCOFFStreamer {
>> public:
>> ARMWinCOFFStreamer(MCContext &C, MCAsmBackend &AB, MCCodeEmitter &CE,
>> - raw_ostream &OS)
>> - : MCWinCOFFStreamer(C, AB, CE, OS) { }
>> + raw_pwrite_stream &OS)
>> + : MCWinCOFFStreamer(C, AB, CE, OS) {}
>>
>> void EmitAssemblerFlag(MCAssemblerFlag Flag) override;
>> void EmitThumbFunc(MCSymbol *Symbol) override;
>> @@ -38,7 +38,8 @@ void ARMWinCOFFStreamer::EmitThumbFunc(M
>> }
>>
>> MCStreamer *llvm::createARMWinCOFFStreamer(MCContext &Context,
>> - MCAsmBackend &MAB,
>> raw_ostream &OS,
>> + MCAsmBackend &MAB,
>> + raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter,
>> bool RelaxAll) {
>> return new ARMWinCOFFStreamer(Context, MAB, *Emitter, OS);
>>
>> Modified: llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> CppBackend/CPPBackend.cpp?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp (original)
>> +++ llvm/trunk/lib/Target/CppBackend/CPPBackend.cpp Tue Apr 14 17:14:34
>> 2015
>> @@ -2149,11 +2149,9 @@ char CppWriter::ID = 0;
>> // External Interface declaration
>> //===-------------------------------------------------------
>> ---------------===//
>>
>> -bool CPPTargetMachine::addPassesToEmitFile(PassManagerBase &PM,
>> raw_ostream &o,
>> - CodeGenFileType FileType,
>> - bool DisableVerify,
>> - AnalysisID StartAfter,
>> - AnalysisID StopAfter) {
>> +bool CPPTargetMachine::addPassesToEmitFile(
>> + PassManagerBase &PM, raw_pwrite_stream &o, CodeGenFileType FileType,
>> + bool DisableVerify, AnalysisID StartAfter, AnalysisID StopAfter) {
>> if (FileType != TargetMachine::CGFT_AssemblyFile)
>> return true;
>> auto FOut = llvm::make_unique<formatted_raw_ostream>(o);
>>
>> Modified: llvm/trunk/lib/Target/CppBackend/CPPTargetMachine.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> CppBackend/CPPTargetMachine.h?rev=234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/CppBackend/CPPTargetMachine.h (original)
>> +++ llvm/trunk/lib/Target/CppBackend/CPPTargetMachine.h Tue Apr 14
>> 17:14:34 2015
>> @@ -29,7 +29,7 @@ struct CPPTargetMachine : public TargetM
>> : TargetMachine(T, "", TT, CPU, FS, Options) {}
>>
>> public:
>> - bool addPassesToEmitFile(PassManagerBase &PM, raw_ostream &Out,
>> + bool addPassesToEmitFile(PassManagerBase &PM, raw_pwrite_stream &Out,
>> CodeGenFileType FileType, bool DisableVerify,
>> AnalysisID StartAfter,
>> AnalysisID StopAfter) override;
>>
>> Modified: llvm/trunk/lib/Target/Hexagon/MCTargetDesc/
>> HexagonAsmBackend.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> Hexagon/MCTargetDesc/HexagonAsmBackend.cpp?rev=
>> 234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp Tue
>> Apr 14 17:14:34 2015
>> @@ -57,7 +57,7 @@ public:
>> ELFHexagonAsmBackend(Target const &T, uint8_t OSABI)
>> : HexagonAsmBackend(T), OSABI(OSABI) {}
>>
>> - MCObjectWriter *createObjectWriter(raw_ostream &OS) const override {
>> + MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const
>> override {
>> StringRef CPU("HexagonV4");
>> return createHexagonELFObjectWriter(OS, OSABI, CPU);
>> }
>>
>> Modified: llvm/trunk/lib/Target/Hexagon/MCTargetDesc/
>> HexagonELFObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp?rev=234950&r1=234949&r2=
>> 234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
>> Tue Apr 14 17:14:34 2015
>> @@ -55,7 +55,7 @@ unsigned HexagonELFObjectWriter::GetRelo
>> return Type;
>> }
>>
>> -MCObjectWriter *llvm::createHexagonELFObjectWriter(raw_ostream &OS,
>> +MCObjectWriter *llvm::createHexagonELFObjectWriter(raw_pwrite_stream
>> &OS,
>> uint8_t OSABI,
>> StringRef CPU) {
>> MCELFObjectTargetWriter *MOTW = new HexagonELFObjectWriter(OSABI,
>> CPU);
>>
>> Modified: llvm/trunk/lib/Target/Hexagon/MCTargetDesc/
>> HexagonMCTargetDesc.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> Hexagon/MCTargetDesc/HexagonMCTargetDesc.h?rev=
>> 234950&r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h
>> (original)
>> +++ llvm/trunk/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h Tue
>> Apr 14 17:14:34 2015
>> @@ -27,6 +27,7 @@ class MCSubtargetInfo;
>> class Target;
>> class StringRef;
>> class raw_ostream;
>> +class raw_pwrite_stream;
>>
>> extern Target TheHexagonTarget;
>>
>> @@ -40,8 +41,8 @@ MCAsmBackend *createHexagonAsmBackend(Ta
>> MCRegisterInfo const &MRI,
>> StringRef TT,
>> StringRef CPU);
>>
>> -MCObjectWriter *createHexagonELFObjectWriter(raw_ostream &OS, uint8_t
>> OSABI,
>> - StringRef CPU);
>> +MCObjectWriter *createHexagonELFObjectWriter(raw_pwrite_stream &OS,
>> + uint8_t OSABI, StringRef
>> CPU);
>>
>> } // End llvm namespace
>>
>>
>> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> Mips/MCTargetDesc/MipsAsmBackend.cpp?rev=234950&
>> r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp (original)
>> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp Tue Apr
>> 14 17:14:34 2015
>> @@ -155,7 +155,8 @@ static unsigned adjustFixupValue(const M
>> return Value;
>> }
>>
>> -MCObjectWriter *MipsAsmBackend::createObjectWriter(raw_ostream &OS)
>> const {
>> +MCObjectWriter *
>> +MipsAsmBackend::createObjectWriter(raw_pwrite_stream &OS) const {
>> return createMipsELFObjectWriter(OS,
>> MCELFObjectTargetWriter::getOSABI(OSType), IsLittle, Is64Bit);
>> }
>>
>> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> Mips/MCTargetDesc/MipsAsmBackend.h?rev=234950&
>> r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h (original)
>> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h Tue Apr 14
>> 17:14:34 2015
>> @@ -36,7 +36,7 @@ public:
>> bool Is64Bit)
>> : MCAsmBackend(), OSType(OSType), IsLittle(IsLittle),
>> Is64Bit(Is64Bit) {}
>>
>> - MCObjectWriter *createObjectWriter(raw_ostream &OS) const override;
>> + MCObjectWriter *createObjectWriter(raw_pwrite_stream &OS) const
>> override;
>>
>> void applyFixup(const MCFixup &Fixup, char *Data, unsigned DataSize,
>> uint64_t Value, bool IsPCRel) const override;
>>
>> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> Mips/MCTargetDesc/MipsELFObjectWriter.cpp?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp Tue
>> Apr 14 17:14:34 2015
>> @@ -444,7 +444,8 @@ MipsELFObjectWriter::needsRelocateWithSy
>> }
>> }
>>
>> -MCObjectWriter *llvm::createMipsELFObjectWriter(raw_ostream &OS,
>> uint8_t OSABI,
>> +MCObjectWriter *llvm::createMipsELFObjectWriter(raw_pwrite_stream &OS,
>> + uint8_t OSABI,
>> bool IsLittleEndian,
>> bool Is64Bit) {
>> MCELFObjectTargetWriter *MOTW =
>>
>> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> Mips/MCTargetDesc/MipsELFStreamer.cpp?rev=234950&r1=234949&r2=234950&
>> view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
>> (original)
>> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp Tue Apr
>> 14 17:14:34 2015
>> @@ -70,7 +70,8 @@ void MipsELFStreamer::EmitMipsOptionReco
>> }
>>
>> MCELFStreamer *llvm::createMipsELFStreamer(MCContext &Context,
>> - MCAsmBackend &MAB,
>> raw_ostream &OS,
>> + MCAsmBackend &MAB,
>> + raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter,
>> bool RelaxAll) {
>> return new MipsELFStreamer(Context, MAB, OS, Emitter);
>>
>> Modified: llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/
>> Mips/MCTargetDesc/MipsELFStreamer.h?rev=234950&
>> r1=234949&r2=234950&view=diff
>> ============================================================
>> ==================
>> --- llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h (original)
>> +++ llvm/trunk/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h Tue Apr 14
>> 17:14:34 2015
>> @@ -33,7 +33,7 @@ class MipsELFStreamer : public MCELFStre
>>
>>
>> public:
>> - MipsELFStreamer(MCContext &Context, MCAsmBackend &MAB, raw_ostream &OS,
>> + MipsELFStreamer(MCContext &Context, MCAsmBackend &MAB,
>> raw_pwrite_stream &OS,
>> MCCodeEmitter *Emitter)
>> : MCELFStreamer(Context, MAB, OS, Emitter) {
>>
>> @@ -68,7 +68,7 @@ public:
>> };
>>
>> MCELFStreamer *createMipsELFStreamer(MCContext &Context, MCAsmBackend
>> &MAB,
>> - raw_ostream &OS, MCCodeEmitter
>> *Emitter,
>> - bool RelaxAll);
>> + raw_pwrite_stream &OS,
>> + MCCodeEmitter *Emitter, bool
>> RelaxAll);
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150416/0ba4f2c7/attachment.html>
More information about the llvm-commits
mailing list