From 84e0b1bc9789148092797fecf303547fef35a875 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 22 Oct 2002 14:18:28 -0300 Subject: small changes in type configuration facilities --- llimits.h | 15 ++++++++++++--- lobject.c | 4 ++-- lobject.h | 6 +++--- ltests.c | 4 ++-- lua.h | 7 ++++--- 5 files changed, 23 insertions(+), 13 deletions(-) diff --git a/llimits.h b/llimits.h index 9acea06d..ae24db35 100644 --- a/llimits.h +++ b/llimits.h @@ -1,5 +1,5 @@ /* -** $Id: llimits.h,v 1.45 2002/07/08 20:22:08 roberto Exp roberto $ +** $Id: llimits.h,v 1.46 2002/10/08 18:46:08 roberto Exp roberto $ ** Limits, basic types, and some other `installation-dependent' definitions ** See Copyright Notice in lua.h */ @@ -77,9 +77,18 @@ typedef unsigned char lu_byte; /* type to ensure maximum alignment */ #ifndef LUSER_ALIGNMENT_T -#define LUSER_ALIGNMENT_T double +typedef union { double u; void *s; long l; } L_Umaxalign; +#else +typedef LUSER_ALIGNMENT_T L_Umaxalign; +#endif + + +/* result of `usual argument convertion' over lua_Number */ +#ifndef LUA_UACNUMBER +typedef double l_uacNumber; +#else +typedef LUA_UACNUMBER l_uacNumber; #endif -union L_Umaxalign { LUSER_ALIGNMENT_T u; void *s; long l; }; #ifndef lua_assert diff --git a/lobject.c b/lobject.c index bf6b4c00..6dde80fc 100644 --- a/lobject.c +++ b/lobject.c @@ -1,5 +1,5 @@ /* -** $Id: lobject.c,v 1.89 2002/10/04 14:31:03 roberto Exp roberto $ +** $Id: lobject.c,v 1.90 2002/10/08 18:46:08 roberto Exp roberto $ ** Some generic functions over Lua objects ** See Copyright Notice in lua.h */ @@ -116,7 +116,7 @@ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) { incr_top(L); break; case 'f': - setnvalue(L->top, va_arg(argp, lua_Number)); + setnvalue(L->top, va_arg(argp, l_uacNumber)); incr_top(L); break; case '%': diff --git a/lobject.h b/lobject.h index ba81d56d..580848aa 100644 --- a/lobject.h +++ b/lobject.h @@ -1,5 +1,5 @@ /* -** $Id: lobject.h,v 1.147 2002/10/08 18:46:08 roberto Exp roberto $ +** $Id: lobject.h,v 1.148 2002/10/16 20:40:58 roberto Exp roberto $ ** Type definitions for Lua objects ** See Copyright Notice in lua.h */ @@ -140,7 +140,7 @@ typedef TObject *StkId; /* index to stack elements */ ** String headers for string table */ typedef union TString { - union L_Umaxalign dummy; /* ensures maximum alignment for strings */ + L_Umaxalign dummy; /* ensures maximum alignment for strings */ struct { union GCObject *next; /* pointer to next object */ lu_byte tt; /* object type */ @@ -158,7 +158,7 @@ typedef union TString { typedef union Udata { - union L_Umaxalign dummy; /* ensures maximum alignment for `local' udata */ + L_Umaxalign dummy; /* ensures maximum alignment for `local' udata */ struct { union GCObject *next; /* pointer to next object */ lu_byte tt; /* object type */ diff --git a/ltests.c b/ltests.c index d6f8adc4..86586d6a 100644 --- a/ltests.c +++ b/ltests.c @@ -1,5 +1,5 @@ /* -** $Id: ltests.c,v 1.134 2002/08/30 19:09:21 roberto Exp roberto $ +** $Id: ltests.c,v 1.135 2002/09/05 19:57:08 roberto Exp roberto $ ** Internal Module for Debugging of the Lua Implementation ** See Copyright Notice in lua.h */ @@ -58,7 +58,7 @@ static void setnameval (lua_State *L, const char *name, int val) { /* ensures maximum alignment for HEADER */ -#define HEADER (sizeof(union L_Umaxalign)) +#define HEADER (sizeof(L_Umaxalign)) #define MARKSIZE 32 #define MARK 0x55 /* 01010101 (a nice pattern) */ diff --git a/lua.h b/lua.h index d3a22a75..49a99f88 100644 --- a/lua.h +++ b/lua.h @@ -1,5 +1,5 @@ /* -** $Id: lua.h,v 1.156 2002/08/30 20:00:59 roberto Exp roberto $ +** $Id: lua.h,v 1.157 2002/09/02 20:00:41 roberto Exp roberto $ ** Lua - An Extensible Extension Language ** Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil ** http://www.lua.org mailto:info@lua.org @@ -86,9 +86,10 @@ typedef const char * (*lua_Chunkreader) (lua_State *L, void *ud, size_t *sz); /* type of Numbers in Lua */ #ifndef LUA_NUMBER -#define LUA_NUMBER double -#endif +typedef double lua_Number; +#else typedef LUA_NUMBER lua_Number; +#endif /* mark for all API functions */ -- cgit v1.2.3-55-g6feb