diff options
author | faketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-21 17:42:24 +0100 |
---|---|---|
committer | faketruth <faketruth@0a769ca7-a7f5-676a-18bf-c427514a06d6> | 2012-02-21 17:42:24 +0100 |
commit | be0a659153bce07207c07b6146c315107e035724 (patch) | |
tree | c94ea86524697361934f4273db96b322e5fd83d1 /source | |
parent | Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :) (diff) | |
download | cuberite-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.h | 10 |
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 ) )
|