From ea41c213bea5dcc04dea39a2903dc7f301bd5184 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Mon, 4 May 2015 16:40:38 -0700 Subject: [PATCH] Add additional shielding against the ERROR macro. Including the logging header with ERROR defined will always be a problem, so check for it explicitly. Move the NOGDI define from logging.cpp to logging.h since the standard library headers might be including windows.h, pulling in ERROR. Change-Id: Ib426973d2f1840710c0bf0e0cfb2420d0d322e27 --- base/include/base/logging.h | 9 +++++++++ base/logging.cpp | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/base/include/base/logging.h b/base/include/base/logging.h index 230adb8b0..84ec538a2 100644 --- a/base/include/base/logging.h +++ b/base/include/base/logging.h @@ -17,6 +17,15 @@ #ifndef BASE_LOGGING_H #define BASE_LOGGING_H +#ifdef ERROR +#error ERROR is already defined. If this is Windows code, #define NOGDI before \ +including anything. +#endif + +#ifdef _WIN32 +#define NOGDI // Suppress the evil ERROR macro. +#endif + #include #include #include diff --git a/base/logging.cpp b/base/logging.cpp index 83957b38d..7a08c39f2 100644 --- a/base/logging.cpp +++ b/base/logging.cpp @@ -35,7 +35,6 @@ #ifndef _WIN32 #include #else -#define NOGDI // Suppress the evil ERROR macro. #include #endif