Fix compile failures with clang in stl_logging_unittest.cc
author <shinichiro.hamaji@gmail.com> <>
Thu, 12 Jan 2012 07:49:25 +0000 (07:49 +0000)
committer <shinichiro.hamaji@gmail.com> <>
Thu, 12 Jan 2012 07:49:25 +0000 (07:49 +0000)
This happens due to the reason I wrote in stl_logging.h.
We don't need utilities.h (which includes logging.h) so we can just
remove it.

git-svn-id: https://google-glog.googlecode.com/svn/trunk@105 eb4d4688-79bd-11dd-afb4-1d65580434c0

src/glog/stl_logging.h.in
src/stl_logging_unittest.cc
src/windows/glog/stl_logging.h

index f09e087..70e61f0 100644 (file)
 //   using ::operator<<;
 //
 // to fix these errors.
+//
+//
+// Notice for clang users: you should include stl_logging.h BEFORE you
+// include logging.h. Otherwise, you will see some errors when you use
+// CHECK with STL containers.
+//
+// Clang's "using ::operator<<" incorporate symbols which are declared
+// before the using keyword. With GCC, symbols defined after the using
+// keyword are incorporated as well. The CHECK macro defined in
+// logging.h uses the using keyword so you need to include logging.h
+// after including stl_logging.h.
+//
 
 #ifndef UTIL_GTL_STL_LOGGING_INL_H_
 #define UTIL_GTL_STL_LOGGING_INL_H_
index 0ed4695..021f642 100644 (file)
@@ -27,7 +27,6 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
-#include "utilities.h"
 #include "config.h"
 
 #ifdef HAVE_USING_OPERATOR
index d76f6c1..72c020b 100755 (executable)
 //   using ::operator<<;
 //
 // to fix these errors.
+//
+//
+// Notice for clang users: you should include stl_logging.h BEFORE you
+// include logging.h. Otherwise, you will see some errors when you use
+// CHECK with STL containers.
+//
+// Clang's "using ::operator<<" incorporate symbols which are declared
+// before the using keyword. With GCC, symbols defined after the using
+// keyword are incorporated as well. The CHECK macro defined in
+// logging.h uses the using keyword so you need to include logging.h
+// after including stl_logging.h.
+//
 
 #ifndef UTIL_GTL_STL_LOGGING_INL_H_
 #define UTIL_GTL_STL_LOGGING_INL_H_