| Index: base/logging.h
|
| diff --git a/base/logging.h b/base/logging.h
|
| index 2c538d2e6d81d40658426873bd48cea723a0c644..b1f1ebd1d282db06fd5587eaf581005a386c0226 100644
|
| --- a/base/logging.h
|
| +++ b/base/logging.h
|
| @@ -181,11 +181,6 @@ enum LogLockingState { LOCK_LOG_FILE, DONT_LOCK_LOG_FILE };
|
| // Defaults to APPEND_TO_OLD_LOG_FILE.
|
| enum OldFileDeletionState { DELETE_OLD_LOG_FILE, APPEND_TO_OLD_LOG_FILE };
|
|
|
| -enum DcheckState {
|
| - DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS,
|
| - ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS
|
| -};
|
| -
|
| struct BASE_EXPORT LoggingSettings {
|
| // The defaults values are:
|
| //
|
| @@ -193,7 +188,6 @@ struct BASE_EXPORT LoggingSettings {
|
| // log_file: NULL
|
| // lock_log: LOCK_LOG_FILE
|
| // delete_old: APPEND_TO_OLD_LOG_FILE
|
| - // dcheck_state: DISABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS
|
| LoggingSettings();
|
|
|
| LoggingDestination logging_dest;
|
| @@ -203,8 +197,6 @@ struct BASE_EXPORT LoggingSettings {
|
| const PathChar* log_file;
|
| LogLockingState lock_log;
|
| OldFileDeletionState delete_old;
|
| -
|
| - DcheckState dcheck_state;
|
| };
|
|
|
| // Define different names for the BaseInitLoggingImpl() function depending on
|
| @@ -465,20 +457,6 @@ const LogSeverity LOG_0 = LOG_ERROR;
|
| #define PLOG_IF(severity, condition) \
|
| LAZY_STREAM(PLOG_STREAM(severity), LOG_IS_ON(severity) && (condition))
|
|
|
| -#if !defined(NDEBUG)
|
| -// Debug builds always include DCHECK and DLOG.
|
| -#undef LOGGING_IS_OFFICIAL_BUILD
|
| -#define LOGGING_IS_OFFICIAL_BUILD 0
|
| -#elif defined(OFFICIAL_BUILD)
|
| -// Official release builds always disable and remove DCHECK and DLOG.
|
| -#undef LOGGING_IS_OFFICIAL_BUILD
|
| -#define LOGGING_IS_OFFICIAL_BUILD 1
|
| -#elif !defined(LOGGING_IS_OFFICIAL_BUILD)
|
| -// Unless otherwise specified, unofficial release builds include
|
| -// DCHECK and DLOG.
|
| -#define LOGGING_IS_OFFICIAL_BUILD 0
|
| -#endif
|
| -
|
| // The actual stream used isn't important.
|
| #define EAT_STREAM_PARAMETERS \
|
| true ? (void) 0 : ::logging::LogMessageVoidify() & LOG_STREAM(FATAL)
|
| @@ -490,10 +468,10 @@ const LogSeverity LOG_0 = LOG_ERROR;
|
| // We make sure CHECK et al. always evaluates their arguments, as
|
| // doing CHECK(FunctionWithSideEffect()) is a common idiom.
|
|
|
| -#if LOGGING_IS_OFFICIAL_BUILD
|
| +#if defined(OFFICIAL_BUILD) && defined(NDEBUG)
|
|
|
| // Make all CHECK functions discard their log strings to reduce code
|
| -// bloat for official builds.
|
| +// bloat for official release builds.
|
|
|
| // TODO(akalin): This would be more valuable if there were some way to
|
| // remove BreakDebugger() from the backtrace, perhaps by turning it
|
| @@ -590,21 +568,15 @@ DEFINE_CHECK_OP_IMPL(GT, > )
|
| #define CHECK_GE(val1, val2) CHECK_OP(GE, >=, val1, val2)
|
| #define CHECK_GT(val1, val2) CHECK_OP(GT, > , val1, val2)
|
|
|
| -#if LOGGING_IS_OFFICIAL_BUILD
|
| -// In order to have optimized code for official builds, remove DLOGs and
|
| -// DCHECKs.
|
| -#define ENABLE_DLOG 0
|
| -#define ENABLE_DCHECK 0
|
| -
|
| -#elif defined(NDEBUG)
|
| -// Otherwise, if we're a release build, remove DLOGs but not DCHECKs
|
| -// (since those can still be turned on via a command-line flag).
|
| +#if defined(NDEBUG)
|
| #define ENABLE_DLOG 0
|
| -#define ENABLE_DCHECK 1
|
| -
|
| #else
|
| -// Otherwise, we're a debug build so enable DLOGs and DCHECKs.
|
| #define ENABLE_DLOG 1
|
| +#endif
|
| +
|
| +#if defined(NDEBUG) && !defined(DCHECK_ALWAYS_ON)
|
| +#define ENABLE_DCHECK 0
|
| +#else
|
| #define ENABLE_DCHECK 1
|
| #endif
|
|
|
| @@ -672,44 +644,12 @@ enum { DEBUG_MODE = ENABLE_DLOG };
|
|
|
| #if ENABLE_DCHECK
|
|
|
| -#if defined(NDEBUG)
|
| -
|
| -BASE_EXPORT extern DcheckState g_dcheck_state;
|
| -BASE_EXPORT void set_dcheck_state(DcheckState state);
|
| -
|
| -#if defined(DCHECK_ALWAYS_ON)
|
| -
|
| -#define DCHECK_IS_ON() true
|
| -#define COMPACT_GOOGLE_LOG_EX_DCHECK(ClassName, ...) \
|
| - COMPACT_GOOGLE_LOG_EX_FATAL(ClassName , ##__VA_ARGS__)
|
| -#define COMPACT_GOOGLE_LOG_DCHECK COMPACT_GOOGLE_LOG_FATAL
|
| -const LogSeverity LOG_DCHECK = LOG_FATAL;
|
| -
|
| -#else
|
| -
|
| -#define COMPACT_GOOGLE_LOG_EX_DCHECK(ClassName, ...) \
|
| - COMPACT_GOOGLE_LOG_EX_ERROR_REPORT(ClassName , ##__VA_ARGS__)
|
| -#define COMPACT_GOOGLE_LOG_DCHECK COMPACT_GOOGLE_LOG_ERROR_REPORT
|
| -const LogSeverity LOG_DCHECK = LOG_ERROR_REPORT;
|
| -
|
| -#define DCHECK_IS_ON() \
|
| - UNLIKELY(::logging::g_dcheck_state == \
|
| - ::logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS) && \
|
| - LOG_IS_ON(DCHECK)
|
| -
|
| -#endif // defined(DCHECK_ALWAYS_ON)
|
| -
|
| -#else // defined(NDEBUG)
|
| -
|
| -// On a regular debug build, we want to have DCHECKs enabled.
|
| #define COMPACT_GOOGLE_LOG_EX_DCHECK(ClassName, ...) \
|
| COMPACT_GOOGLE_LOG_EX_FATAL(ClassName , ##__VA_ARGS__)
|
| #define COMPACT_GOOGLE_LOG_DCHECK COMPACT_GOOGLE_LOG_FATAL
|
| const LogSeverity LOG_DCHECK = LOG_FATAL;
|
| #define DCHECK_IS_ON() true
|
|
|
| -#endif // defined(NDEBUG)
|
| -
|
| #else // ENABLE_DCHECK
|
|
|
| // These are just dummy values since DCHECK_IS_ON() is always false in
|
|
|