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);