libmdb: Fixed broken CHECK_INVARIANTS macro when MDB_RECHECK_INVARIANTS defined.
authorSimon Gerber <simon.gerber@inf.ethz.ch>
Fri, 5 Dec 2014 16:24:06 +0000 (17:24 +0100)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Fri, 5 Dec 2014 16:24:06 +0000 (17:24 +0100)
hake/Config.hs.template
lib/mdb/mdb_tree.c

index e9e0364..bf428da 100644 (file)
@@ -208,7 +208,7 @@ mdb_trace = False
 mdb_trace_no_recursive :: Bool
 mdb_trace_no_recursive = False
 
--- fail on invariant violaitions
+-- fail on invariant violations
 mdb_fail_invariants :: Bool
 mdb_fail_invariants = True
 
index 79a4e42..af6f989 100644 (file)
@@ -62,9 +62,10 @@ do { \
 
 // PP switch to toggle recursive checking of invariants by default
 #ifdef MDB_RECHECK_INVARIANTS
-// disable toplevel invariants checks as we're doing them anyway
+// disable toplevel invariants checks except for the assertion clause as we're
+// doing them anyway in CHECK_INVARIANTS_SUB
 #undef CHECK_INVARIANTS
-#define CHECK_INVARIANTS ((void)0)
+#define CHECK_INVARIANTS(cte, assertion) assert(assertion)
 #define CHECK_INVARIANTS_SUB(cte) mdb_check_subtree_invariants(cte)
 #else
 #define CHECK_INVARIANTS_SUB(cte) ((void)0)