| Index: base/logging.h
|
| diff --git a/base/logging.h b/base/logging.h
|
| index a0975689861bee1e55bd81203f9bc17f762a988d..662deae115bf9eaa6af4e91b75ab4e6ab96742ae 100644
|
| --- a/base/logging.h
|
| +++ b/base/logging.h
|
| @@ -165,6 +165,11 @@ 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
|
| +};
|
| +
|
| // TODO(avi): do we want to do a unification of character types here?
|
| #if defined(OS_WIN)
|
| typedef wchar_t PathChar;
|
| @@ -188,7 +193,8 @@ typedef char PathChar;
|
| bool BaseInitLoggingImpl(const PathChar* log_file,
|
| LoggingDestination logging_dest,
|
| LogLockingState lock_log,
|
| - OldFileDeletionState delete_old);
|
| + OldFileDeletionState delete_old,
|
| + DcheckState dcheck_state);
|
|
|
| // Sets the log file name and other global logging state. Calling this function
|
| // is recommended, and is normally done at the beginning of application init.
|
| @@ -203,8 +209,10 @@ bool BaseInitLoggingImpl(const PathChar* log_file,
|
| inline bool InitLogging(const PathChar* log_file,
|
| LoggingDestination logging_dest,
|
| LogLockingState lock_log,
|
| - OldFileDeletionState delete_old) {
|
| - return BaseInitLoggingImpl(log_file, logging_dest, lock_log, delete_old);
|
| + OldFileDeletionState delete_old,
|
| + DcheckState dcheck_state) {
|
| + return BaseInitLoggingImpl(log_file, logging_dest, lock_log,
|
| + delete_old, dcheck_state);
|
| }
|
|
|
| // Sets the log level. Anything at or above this level will be written to the
|
| @@ -600,10 +608,11 @@ enum { DEBUG_MODE = ENABLE_DLOG };
|
| 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;
|
| -// This is set to true in InitLogging when we want to enable the
|
| -// DCHECKs in release.
|
| -extern bool g_enable_dcheck;
|
| -#define DCHECK_IS_ON() (::logging::g_enable_dcheck && LOG_IS_ON(DCHECK))
|
| +extern DcheckState g_dcheck_state;
|
| +#define DCHECK_IS_ON() \
|
| + ((::logging::g_dcheck_state == \
|
| + ::logging::ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS) && \
|
| + LOG_IS_ON(DCHECK))
|
|
|
| #else // defined(NDEBUG)
|
|
|
|
|