lua

A copy of the Lua development repository
Log | Files | Refs | README

commit 8823f371a2a63f634121a0c16cb1d02e5ce9f5c5
parent e506b864cdc522ed7bf33e81d785fcfbd40a0368
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Fri,  2 Feb 2001 13:12:03 -0200

new header to put together debug-related declarations

Diffstat:
Altests.h | 47+++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+), 0 deletions(-)

diff --git a/ltests.h 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 <assert.h> +#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