Flush the raw_ostream after emitting the assembly for a function.

This is a temporary fix for the -print-emitted-asm option, where
errs() is used as the stream, in the case where other code is
using stderr without using errs()' buffer. Hopefully soon we'll
fix errs() to be non-buffered instead. Patch by Preston Gurd.

llvm-svn: 58859
This commit is contained in:
Dan Gohman 2008-11-07 19:49:17 +00:00
parent 4510149fd2
commit 1418c52e1a
4 changed files with 8 additions and 0 deletions

View File

@ -263,6 +263,8 @@ bool ARMAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
// FIXME: Dwarf support.
//DW.EndFunction();
O.flush();
return false;
}

View File

@ -619,6 +619,8 @@ bool PPCLinuxAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
// Emit post-function debug information.
DW.EndFunction(&MF);
O.flush();
// We didn't modify anything.
return false;
}

View File

@ -265,6 +265,8 @@ bool X86ATTAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
// Print out jump tables referenced by the function.
EmitJumpTableInfo(MF.getJumpTableInfo(), MF);
O.flush();
// We didn't modify anything.
return false;
}

View File

@ -179,6 +179,8 @@ bool X86IntelAsmPrinter::runOnMachineFunction(MachineFunction &MF) {
O << CurrentFnName << "\tendp\n";
O.flush();
// We didn't modify anything.
return false;
}