diff options
-rw-r--r-- | include/llvm/Support/Streams.h | 8 | ||||
-rw-r--r-- | lib/Support/Streams.cpp | 9 | ||||
-rw-r--r-- | lib/System/Unix/Program.inc | 6 | ||||
-rw-r--r-- | lib/Target/CellSPU/SPUISelDAGToDAG.cpp | 1 | ||||
-rw-r--r-- | lib/Target/CellSPU/SPUInstrInfo.cpp | 4 | ||||
-rw-r--r-- | lib/Target/CellSPU/SPURegisterInfo.cpp | 3 |
6 files changed, 23 insertions, 8 deletions
diff --git a/include/llvm/Support/Streams.h b/include/llvm/Support/Streams.h index 46bac8b..2444d5b 100644 --- a/include/llvm/Support/Streams.h +++ b/include/llvm/Support/Streams.h @@ -19,6 +19,9 @@ namespace llvm { + /// FlushStream - Function called by BaseStream to flush an ostream. + void FlushStream(std::ostream &S); + /// BaseStream - Acts like the STL streams. It's a wrapper for the std::cerr, /// std::cout, std::cin, etc. streams. However, it doesn't require #including /// @verbatim <iostream> @endverbatm in every file (doing so increases static @@ -39,6 +42,11 @@ namespace llvm { return *this; } + void flush() { + if (Stream) + FlushStream(*Stream); + } + template <typename Ty> BaseStream &operator << (const Ty &Thing) { if (Stream) *Stream << Thing; diff --git a/lib/Support/Streams.cpp b/lib/Support/Streams.cpp index 122955f..cf6cfeb 100644 --- a/lib/Support/Streams.cpp +++ b/lib/Support/Streams.cpp @@ -19,3 +19,12 @@ using namespace llvm; OStream llvm::cout(std::cout); OStream llvm::cerr(std::cerr); IStream llvm::cin(std::cin); + +namespace llvm { + +/// FlushStream - Function called by BaseStream to flush an ostream. +void FlushStream(std::ostream &S) { + S << std::flush; +} + +} // end anonymous namespace diff --git a/lib/System/Unix/Program.inc b/lib/System/Unix/Program.inc index d0dade1..182e14d 100644 --- a/lib/System/Unix/Program.inc +++ b/lib/System/Unix/Program.inc @@ -17,8 +17,8 @@ //===----------------------------------------------------------------------===// #include <llvm/Config/config.h> +#include <llvm/Support/Streams.h> #include "Unix.h" -#include <iostream> #if HAVE_SYS_STAT_H #include <sys/stat.h> #endif @@ -210,8 +210,8 @@ Program::ExecuteAndWait(const Path& path, } // Make sure stderr and stdout have been flushed - std::cerr << std::flush; - std::cout << std::flush; + cerr.flush(); + cout.flush(); fsync(1); fsync(2); diff --git a/lib/Target/CellSPU/SPUISelDAGToDAG.cpp b/lib/Target/CellSPU/SPUISelDAGToDAG.cpp index c6628ac..b491b13 100644 --- a/lib/Target/CellSPU/SPUISelDAGToDAG.cpp +++ b/lib/Target/CellSPU/SPUISelDAGToDAG.cpp @@ -31,7 +31,6 @@ #include "llvm/Support/Debug.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/Compiler.h" -#include <iostream> #include <queue> #include <set> diff --git a/lib/Target/CellSPU/SPUInstrInfo.cpp b/lib/Target/CellSPU/SPUInstrInfo.cpp index bf94cdc..3e991a9 100644 --- a/lib/Target/CellSPU/SPUInstrInfo.cpp +++ b/lib/Target/CellSPU/SPUInstrInfo.cpp @@ -17,7 +17,7 @@ #include "SPUTargetMachine.h" #include "SPUGenInstrInfo.inc" #include "llvm/CodeGen/MachineInstrBuilder.h" -#include <iostream> +#include "llvm/Support/Streams.h" using namespace llvm; @@ -218,7 +218,7 @@ void SPUInstrInfo::copyRegToReg(MachineBasicBlock &MBB, BuildMI(MBB, MI, get(SPU::ORv4i32), DestReg).addReg(SrcReg) .addReg(SrcReg); } else { - std::cerr << "Attempt to copy unknown/unsupported register class!\n"; + cerr << "Attempt to copy unknown/unsupported register class!\n"; abort(); } } diff --git a/lib/Target/CellSPU/SPURegisterInfo.cpp b/lib/Target/CellSPU/SPURegisterInfo.cpp index ea69d21..b6b7fd3 100644 --- a/lib/Target/CellSPU/SPURegisterInfo.cpp +++ b/lib/Target/CellSPU/SPURegisterInfo.cpp @@ -40,7 +40,6 @@ #include "llvm/ADT/BitVector.h" #include "llvm/ADT/STLExtras.h" #include <cstdlib> -#include <iostream> using namespace llvm; @@ -178,7 +177,7 @@ unsigned SPURegisterInfo::getRegisterNumbering(unsigned RegEnum) { case SPU::R126: return 126; case SPU::R127: return 127; default: - std::cerr << "Unhandled reg in SPURegisterInfo::getRegisterNumbering!\n"; + cerr << "Unhandled reg in SPURegisterInfo::getRegisterNumbering!\n"; abort(); } } |