summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/include/llvm/Support/Debug.h8
-rw-r--r--llvm/lib/Support/Debug.cpp8
2 files changed, 14 insertions, 2 deletions
diff --git a/llvm/include/llvm/Support/Debug.h b/llvm/include/llvm/Support/Debug.h
index 0ebed202e4b..489a076dc39 100644
--- a/llvm/include/llvm/Support/Debug.h
+++ b/llvm/include/llvm/Support/Debug.h
@@ -61,6 +61,11 @@ bool isCurrentDebugType(const char *Type);
do { if (DebugFlag && isCurrentDebugType(DEBUG_TYPE)) { X; } } while (0)
#endif
+/// getNullOutputStream - Return a null string that does not output
+/// anything. This hides the static variable from other modules.
+///
+OStream &getNullOutputStream();
+
/// getErrorOutputStream - Returns the error output stream (std::cerr). This
/// 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.
@@ -68,8 +73,7 @@ bool isCurrentDebugType(const char *Type);
OStream &getErrorOutputStream(const char *DebugType);
#ifdef NDEBUG
-static llvm::OStream NullStream(0);
-#define DOUT llvm::NullStream
+#define DOUT llvm::getNullOutputStream()
#else
#define DOUT llvm::getErrorOutputStream(DEBUG_TYPE)
#endif
diff --git a/llvm/lib/Support/Debug.cpp b/llvm/lib/Support/Debug.cpp
index a09cddf9022..b6beddb369d 100644
--- a/llvm/lib/Support/Debug.cpp
+++ b/llvm/lib/Support/Debug.cpp
@@ -64,6 +64,14 @@ bool llvm::isCurrentDebugType(const char *DebugType) {
#endif
}
+/// getNullOutputStream - Return a null string that does not output
+/// anything. This hides the static variable from other modules.
+///
+OStream &llvm::getNullOutputStream() {
+ static llvm::OStream NullStream(0);
+ return NullStream;
+}
+
// getErrorOutputStream - Returns the error output stream (std::cerr). This
// 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.
OpenPOWER on IntegriCloud