12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifndef BASE_NOTREACHED_H_
- #define BASE_NOTREACHED_H_
- #include "base/check.h"
- #include "base/logging_buildflags.h"
- namespace logging {
- #if BUILDFLAG(ENABLE_LOG_ERROR_NOT_REACHED)
- void BASE_EXPORT LogErrorNotReached(const char* file, int line);
- #define NOTREACHED() \
- true ? ::logging::LogErrorNotReached(__FILE__, __LINE__) \
- : EAT_CHECK_STREAM_PARAMS()
- #else
- #define NOTREACHED() DCHECK(false)
- #endif
- #if DCHECK_IS_ON()
- #define NOTIMPLEMENTED() \
- ::logging::CheckError::NotImplemented(__FILE__, __LINE__, \
- __PRETTY_FUNCTION__) \
- .stream()
- #else
- #define NOTIMPLEMENTED() EAT_CHECK_STREAM_PARAMS()
- #endif
- #define NOTIMPLEMENTED_LOG_ONCE() \
- { \
- static bool logged_once = false; \
- if (!logged_once) { \
- NOTIMPLEMENTED(); \
- logged_once = true; \
- } \
- } \
- EAT_CHECK_STREAM_PARAMS()
- }
- #endif // BASE_NOTREACHED_H_
|