From 23b83c4d7bf4d71a4b7a5407b2d2ce5503ec92a0 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Tue, 14 Jul 2009 23:06:31 +0200 Subject: [PATCH] Target.addPassesToEmitFile takes a formatted_raw_ostream now Build fix for LLVM r75670 --- gen/toobj.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gen/toobj.cpp b/gen/toobj.cpp index 563906a4..4b95d9fa 100644 --- a/gen/toobj.cpp +++ b/gen/toobj.cpp @@ -21,6 +21,7 @@ #include "llvm/System/Program.h" #include "llvm/Support/raw_ostream.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/FormattedStream.h" #include "llvm/Target/TargetMachine.h" #include "mars.h" @@ -308,7 +309,8 @@ void write_asm_to_file(llvm::TargetMachine &Target, llvm::Module& m, llvm::raw_f else if (optLevel() >= 3) LastArg = CodeGenOpt::Aggressive; - FileModel::Model mod = Target.addPassesToEmitFile(Passes, out, TargetMachine::AssemblyFile, LastArg); + llvm::formatted_raw_ostream fout(out); + FileModel::Model mod = Target.addPassesToEmitFile(Passes, fout, TargetMachine::AssemblyFile, LastArg); assert(mod == FileModel::AsmFile); bool err = Target.addPassesToEmitFileFinish(Passes, MCE, LastArg); @@ -322,6 +324,8 @@ void write_asm_to_file(llvm::TargetMachine &Target, llvm::Module& m, llvm::raw_f Passes.run(*I); Passes.doFinalization(); + + fout.flush(); // release module from module provider so we can delete it ourselves std::string Err;