diff gen/logger.cpp @ 994:18ad5601dff7

Use LLVM OStream wrapper instead of <iostream> in the logger. llvm::OStream provides all std::ostream functionality (by holding a std::ostream* internally), but * doesn't include <iostream>, avoiding per-file overhead. * allows the stream pointer to be null, and the (inlined) operators do nothing when that's the case. (This also allows removal of the ofstream("/dev/null") hack Logger used when disabled, which presumably wasn't very portable)
author Frits van Bommel <fvbommel wxs.nl>
date Thu, 26 Feb 2009 14:51:02 +0100
parents a8cb25d478c4
children e7f0c2b48047
line wrap: on
line diff
--- a/gen/logger.cpp	Thu Feb 26 15:24:20 2009 +0100
+++ b/gen/logger.cpp	Thu Feb 26 14:51:02 2009 +0100
@@ -2,7 +2,6 @@
 #include <cstdarg>
 #include <cstdio>
 #include <cstdlib>
-#include <iostream>
 #include <fstream>
 #include <string>
 
@@ -14,7 +13,6 @@
 namespace Logger
 {
     static std::string indent_str;
-    static std::ofstream null_out("/dev/null");
 
     llvm::cl::opt<bool> _enabled("vv",
         llvm::cl::desc("Very verbose"),
@@ -33,12 +31,12 @@
             indent_str.resize(indent_str.size()-2);
         }
     }
-    std::ostream& cout()
+    llvm::OStream cout()
     {
         if (_enabled)
-            return std::cout << indent_str;
+            return llvm::cout << indent_str;
         else
-            return null_out;
+            return 0;
     }
     void println(const char* fmt,...)
     {