Added an automatic cast to "std::ostream*" etc. from OStream. We then can
rework the hacks that had us passing OStream in. We pass in std::ostream*
instead, check for null, and then dispatch to the correct print() method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32636 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Support/Debug.cpp b/lib/Support/Debug.cpp
index 949e3d9..6e67ed8 100644
--- a/lib/Support/Debug.cpp
+++ b/lib/Support/Debug.cpp
@@ -68,9 +68,9 @@
// places the std::c* I/O streams into one .cpp file and relieves the whole
// program from having to have hundreds of static c'tor/d'tors for them.
//
-OStream llvm::getErrorOutputStream(const char *DebugType) {
+OStream &llvm::getErrorOutputStream(const char *DebugType) {
if (DebugFlag && isCurrentDebugType(DebugType))
return cerr;
else
- return NullStream;
+ return cnull;
}
diff --git a/lib/Support/Streams.cpp b/lib/Support/Streams.cpp
index 02aec1f..3d20e9a 100644
--- a/lib/Support/Streams.cpp
+++ b/lib/Support/Streams.cpp
@@ -16,7 +16,7 @@
#include <iostream>
using namespace llvm;
-OStream llvm::NullStream;
+OStream llvm::cnull;
OStream llvm::cout(std::cout);
OStream llvm::cerr(std::cerr);
IStream llvm::cin(std::cin);