ltests.h 868 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. ** $Id: $
  3. ** Internal Header for Debugging of the Lua Implementation
  4. ** See Copyright Notice in lua.h
  5. */
  6. #ifndef ltests_h
  7. #define ltests_h
  8. #include "llimits.h"
  9. #define LUA_DEBUG
  10. #undef NDEBUG
  11. #include <assert.h>
  12. #define lua_assert(c) assert(c)
  13. /* to avoid warnings, and to make sure value is really unused */
  14. #define UNUSED(x) (x=0, (void)(x))
  15. /* memory allocator control variables */
  16. extern mem_int memdebug_numblocks;
  17. extern mem_int memdebug_total;
  18. extern mem_int memdebug_maxmem;
  19. extern mem_int memdebug_memlimit;
  20. /* test for lock/unlock */
  21. #define LUA_USERSTATE int *lock;
  22. extern int islocked;
  23. #define LUA_LOCK(L) lua_assert((**((int **)L))++ == 0)
  24. #define LUA_UNLOCK(L) lua_assert(--(**((int **)L)) == 0)
  25. extern lua_State *lua_state;
  26. void luaB_opentests (lua_State *L);
  27. #define LUA_USERINIT(L) luaB_opentests(L)
  28. #endif