Chromium Code Reviews| Index: base/logging.h |
| diff --git a/base/logging.h b/base/logging.h |
| index 6689eec8c56d5d1bbac08d6934729990ac00352a..b316430126919a82d215b12860da776d55b795bd 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 |
| @@ -602,8 +610,11 @@ enum { DEBUG_MODE = ENABLE_DLOG }; |
| const LogSeverity LOG_DCHECK = LOG_ERROR_REPORT; |
| // This is set to true in InitLogging when we want to enable the |
|
brettw
2011/01/03 06:53:32
Can you bring this comment up-to-date? Or maybe it
akalin
2011/01/04 19:26:45
Done.
|
| // 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 == \ |
| + ENABLE_DCHECK_FOR_NON_OFFICIAL_RELEASE_BUILDS) && \ |
| + LOG_IS_ON(DCHECK)) |
| #else // defined(NDEBUG) |