From 8823f371a2a63f634121a0c16cb1d02e5ce9f5c5 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 2 Feb 2001 13:12:25 -0200 Subject: new header to put together debug-related declarations --- ltests.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 ltests.h diff --git a/ltests.h b/ltests.h new file mode 100644 index 00000000..1cba13e4 --- /dev/null +++ b/ltests.h @@ -0,0 +1,47 @@ +/* +** $Id: $ +** Internal Header for Debugging of the Lua Implementation +** See Copyright Notice in lua.h +*/ + +#ifndef ltests_h +#define ltests_h + + +#include "llimits.h" + + +#define LUA_DEBUG + +#undef NDEBUG +#include +#define lua_assert(c) assert(c) + + +/* to avoid warnings, and to make sure value is really unused */ +#define UNUSED(x) (x=0, (void)(x)) + + +/* memory allocator control variables */ +extern mem_int memdebug_numblocks; +extern mem_int memdebug_total; +extern mem_int memdebug_maxmem; +extern mem_int memdebug_memlimit; + + +/* test for lock/unlock */ +#define LUA_USERSTATE int *lock; +extern int islocked; +#define LUA_LOCK(L) lua_assert((**((int **)L))++ == 0) +#define LUA_UNLOCK(L) lua_assert(--(**((int **)L)) == 0) + + +extern lua_State *lua_state; + + +void luaB_opentests (lua_State *L); + +#define LUA_USERINIT(L) luaB_opentests(L) + + +#endif -- cgit v1.2.3-55-g6feb