NILCONSTANT also depends no endianess (with NaN trick)

This commit is contained in:
Roberto Ierusalimschy 2011-07-04 17:29:02 -03:00
parent b707e81c3d
commit 9e89a55a4f
1 changed files with 4 additions and 4 deletions

View File

@ -1,5 +1,5 @@
/*
** $Id: lobject.h,v 2.59 2011/06/09 18:21:25 roberto Exp roberto $
** $Id: lobject.h,v 2.60 2011/06/13 14:13:06 roberto Exp roberto $
** Type definitions for Lua objects
** See Copyright Notice in lua.h
*/
@ -275,14 +275,17 @@ typedef struct lua_TValue TValue;
#endif
#undef TValuefields
#undef NILCONSTANT
#if defined(LUA_NANTRICKLE)
/* little endian */
#define TValuefields \
union { struct { Value v_; int tt_; } i; double d_; } u
#define NILCONSTANT {{{NULL}, tag2tt(LUA_TNIL)}}
#else
/* big endian */
#define TValuefields \
union { struct { int tt_; Value v_; } i; double d_; } u
#define NILCONSTANT {{tag2tt(LUA_TNIL), {NULL}}}
#endif
#undef numfield
@ -294,9 +297,6 @@ typedef struct lua_TValue TValue;
#define tag2tt(t) (NNMARK | (t))
#undef NILCONSTANT
#define NILCONSTANT {{{NULL}, tag2tt(LUA_TNIL)}}
#undef val_
#define val_(o) ((o)->u.i.v_)
#undef num_