[llvm-commits] [llvm-gcc-4.2] r55111 - /llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
Chris Lattner
sabre at nondot.org
Wed Aug 20 22:48:27 PDT 2008
Author: lattner
Date: Thu Aug 21 00:48:27 2008
New Revision: 55111
URL: http://llvm.org/viewvc/llvm-project?rev=55111&view=rev
Log:
adapt to changes in the backend to use raw_ostream.
Modified:
llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
Modified: llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp?rev=55111&r1=55110&r2=55111&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-backend.cpp Thu Aug 21 00:48:27 2008
@@ -50,6 +50,7 @@
#include "llvm/Support/Streams.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Support/raw_ostream.h"
#include "llvm/System/Program.h"
#include <cassert>
#undef VISIBILITY_HIDDEN
@@ -239,6 +240,7 @@
}
oFILEstream *AsmOutStream = 0;
+static raw_ostream *AsmOutRawStream = 0;
oFILEstream *AsmIntermediateOutStream = 0;
/// Read bytecode from PCH file. Initialize TheModule and setup
@@ -289,6 +291,8 @@
void llvm_pch_write_init(void) {
timevar_push(TV_LLVM_INIT);
AsmOutStream = new oFILEstream(asm_out_file);
+ // FIXME: disentangle ostream madness here. Kill off ostream and FILE.
+ AsmOutRawStream = new raw_os_ostream(*AsmOutStream);
AsmOutFile = new OStream(*AsmOutStream);
assert(!OptimizationPassesCreated);
@@ -456,7 +460,7 @@
// Normal mode, emit a .s file by running the code generator.
// Note, this also adds codegenerator level optimization passes.
- switch (TheTarget->addPassesToEmitFile(*PM, *AsmOutStream,
+ switch (TheTarget->addPassesToEmitFile(*PM, *AsmOutRawStream,
TargetMachine::AssemblyFile,
/*FAST*/optimize == 0)) {
default:
@@ -490,6 +494,8 @@
void llvm_asm_file_start(void) {
timevar_push(TV_LLVM_INIT);
AsmOutStream = new oFILEstream(asm_out_file);
+ // FIXME: disentangle ostream madness here. Kill off ostream and FILE.
+ AsmOutRawStream = new raw_os_ostream(*AsmOutStream);
AsmOutFile = new OStream(*AsmOutStream);
flag_llvm_pch_read = 0;
@@ -643,8 +649,11 @@
CodeGenPasses->doFinalization();
}
+ AsmOutRawStream->flush();
AsmOutStream->flush();
fflush(asm_out_file);
+ delete AsmOutRawStream;
+ AsmOutRawStream = 0;
delete AsmOutStream;
AsmOutStream = 0;
delete AsmOutFile;
More information about the llvm-commits
mailing list