changeset 1541:1e7a09548e67

Target.addPassesToEmitFile takes a formatted_raw_ostream now Build fix for LLVM r75670
author Benjamin Kramer <benny.kra@gmail.com>
date Tue, 14 Jul 2009 23:06:31 +0200
parents a0114765fe34
children ba2a5d2fe748
files gen/toobj.cpp
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/gen/toobj.cpp	Sun Jul 19 23:52:07 2009 +0100
+++ b/gen/toobj.cpp	Tue Jul 14 23:06:31 2009 +0200
@@ -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 @@
     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 @@
             Passes.run(*I);
 
     Passes.doFinalization();
+    
+    fout.flush();
 
     // release module from module provider so we can delete it ourselves
     std::string Err;