Index: base/logging.h |
diff --git a/base/logging.h b/base/logging.h |
index 0476a4450fb09453db113b38e59b71b5ff226fec..36c9c6f311d1615b98c7507235e0bb41ec68e4b1 100644 |
--- a/base/logging.h |
+++ b/base/logging.h |
@@ -453,17 +453,11 @@ |
// Make all CHECK functions discard their log strings to reduce code |
// bloat, and improve performance, for official release builds. |
-#if defined(COMPILER_GCC) || __clang__ |
-#define LOGGING_CRASH() __builtin_trap() |
-#else |
-#define LOGGING_CRASH() ((void)(*(volatile char*)0 = 0)) |
-#endif |
- |
-// This is not calling BreakDebugger since this is called frequently, and |
-// calling an out-of-line function instead of a noreturn inline macro prevents |
-// compiler optimizations. |
+// TODO(akalin): This would be more valuable if there were some way to |
+// remove BreakDebugger() from the backtrace, perhaps by turning it |
+// into a macro (like __debugbreak() on Windows). |
#define CHECK(condition) \ |
- !(condition) ? LOGGING_CRASH() : EAT_STREAM_PARAMETERS |
+ !(condition) ? ::base::debug::BreakDebugger() : EAT_STREAM_PARAMETERS |
#define PCHECK(condition) CHECK(condition) |