new macro 'lua_longassert' that is equivalent to an assertion without

a stringfication of the condition, to avoid too long string literals
(limited by C90 to ~510 characters)
This commit is contained in:
Roberto Ierusalimschy
2011-05-05 16:43:14 -03:00
parent 74b0bb3a45
commit 3cf1729a02
2 changed files with 7 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: lobject.h,v 2.51 2011/05/04 17:04:06 roberto Exp roberto $
** $Id: lobject.h,v 2.52 2011/05/05 15:53:23 roberto Exp roberto $
** Type definitions for Lua objects
** See Copyright Notice in lua.h
*/
@@ -152,10 +152,9 @@ typedef struct lua_TValue {
/* Macros for internal tests */
#define righttt(obj) (ttype(obj) == gcvalue(obj)->gch.tt)
#define checkconsistency(obj) lua_assert(!iscollectable(obj) || righttt(obj))
#define checkliveness(g,obj) \
lua_assert(!iscollectable(obj) || (righttt(obj) && !isdead(g,gcvalue(obj))))
lua_longassert(!iscollectable(obj) || \
(righttt(obj) && !isdead(g,gcvalue(obj))))
/* Macros to set values */