summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-02-21 17:42:24 +0100
committerfaketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-02-21 17:42:24 +0100
commitbe0a659153bce07207c07b6146c315107e035724 (patch)
treec94ea86524697361934f4273db96b322e5fd83d1 /source
parentRemoved cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :) (diff)
downloadcuberite-be0a659153bce07207c07b6146c315107e035724.tar
cuberite-be0a659153bce07207c07b6146c315107e035724.tar.gz
cuberite-be0a659153bce07207c07b6146c315107e035724.tar.bz2
cuberite-be0a659153bce07207c07b6146c315107e035724.tar.lz
cuberite-be0a659153bce07207c07b6146c315107e035724.tar.xz
cuberite-be0a659153bce07207c07b6146c315107e035724.tar.zst
cuberite-be0a659153bce07207c07b6146c315107e035724.zip
Diffstat (limited to 'source')
-rw-r--r--source/Globals.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/Globals.h b/source/Globals.h
index c2aa3753c..592580153 100644
--- a/source/Globals.h
+++ b/source/Globals.h
@@ -120,7 +120,15 @@
/// Faster than (int)floorf((float)x / (float)div)
#define FAST_FLOOR_DIV( x, div ) ( (x) < 0 ? (((int)x / div) - 1) : ((int)x / div) )
-#define ASSERT( x ) { if( !(x) ) { LOGERROR("Assertion failed: \"%s\", file %s, line %i", #x, __FILE__, __LINE__ ); assert( !#x ); } }
+// Own version of assert() that writes failed assertions to the log for review
+#ifdef NDEBUG
+ #define ASSERT(x) ((void)0)
+#else
+ #define ASSERT( x ) ( !!(x) || ( LOGERROR("Assertion failed: %s, file %s, line %i", #x, __FILE__, __LINE__ ), assert(0), 0 ) )
+#endif
+
+// Pretty much the same as ASSERT() but stays in Release builds
+#define VERIFY( x ) ( !!(x) || ( LOGERROR("Verification failed: %s, file %s, line %i", #x, __FILE__, __LINE__ ), exit(1), 0 ) )