Do not do null pointer arithmetic
Let me introduce builtin function instead.
This is a preparation CL to remove -Wno-null-pointer-arithmetic warning suppression.
Bug: chromium:766891
Change-Id: I05434ba0c525fd2fddf916c042d1443b1f25d7d7
Reviewed-on: https://pdfium-review.googlesource.com/c/44191
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/third_party/base/logging.h b/third_party/base/logging.h
index 2aeca31..76555f5 100644
--- a/third_party/base/logging.h
+++ b/third_party/base/logging.h
@@ -9,16 +9,15 @@
#include <stdlib.h>
#ifndef _WIN32
-#define NULL_DEREF_IF_POSSIBLE \
- *(reinterpret_cast<volatile char*>(NULL) + 42) = 0x42;
+#define NULL_DEREF_IF_POSSIBLE __builtin_unreachable()
#else
-#define NULL_DEREF_IF_POSSIBLE
+#define NULL_DEREF_IF_POSSIBLE __assume(0)
#endif
#define CHECK(condition) \
if (!(condition)) { \
abort(); \
- NULL_DEREF_IF_POSSIBLE \
+ NULL_DEREF_IF_POSSIBLE;\
}
// TODO(palmer): These are quick hacks to import PartitionAlloc with minimum