one should.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32845
91177308-0d34-0410-b5e6-
96231b3b80d8
OStream &getErrorOutputStream(const char *DebugType);
#ifdef NDEBUG
-#define DOUT cnull
+#define DOUT OStream(0)
#else
#define DOUT getErrorOutputStream(DEBUG_TYPE)
#endif
return *this;
}
-// inline BaseStream &operator << (std::ios &(*Func)(std::ios&)) {
-// if (Stream) *Stream << Func;
-// return *this;
-// }
-
template <typename Ty>
BaseStream &operator << (const Ty &Thing) {
if (Stream) *Stream << Thing;
typedef BaseStream<std::istream> IStream;
typedef BaseStream<std::stringstream> StringStream;
- extern OStream cnull;
extern OStream cout;
extern OStream cerr;
extern IStream cin;
// program from having to have hundreds of static c'tor/d'tors for them.
//
OStream &llvm::getErrorOutputStream(const char *DebugType) {
+ static OStream cnoout(0);
if (DebugFlag && isCurrentDebugType(DebugType))
return cerr;
else
- return cnull;
+ return cnoout;
}
#include <iostream>
using namespace llvm;
-OStream llvm::cnull;
OStream llvm::cout(std::cout);
OStream llvm::cerr(std::cerr);
IStream llvm::cin(std::cin);