diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1999-05-10 10:54:01 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1999-05-10 10:54:01 -0300 |
commit | 73308c7605ac2e6c9af1c86f15c03d924f362696 (patch) | |
tree | ec42ab7889f70e57bbeb4451c988b871c5ea077b | |
parent | 288fa056020f20647c6db3e721498b96d8c62713 (diff) | |
download | lua-73308c7605ac2e6c9af1c86f15c03d924f362696.tar.gz lua-73308c7605ac2e6c9af1c86f15c03d924f362696.tar.bz2 lua-73308c7605ac2e6c9af1c86f15c03d924f362696.zip |
warnings by clinio
-rw-r--r-- | ldo.c | 33 | ||||
-rw-r--r-- | lparser.c | 10 | ||||
-rw-r--r-- | lstate.h | 16 |
3 files changed, 34 insertions, 25 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldo.c,v 1.40 1999/03/10 14:23:07 roberto Exp roberto $ | 2 | ** $Id: ldo.c,v 1.41 1999/03/11 18:59:19 roberto Exp roberto $ |
3 | ** Stack and Call structure of Lua | 3 | ** Stack and Call structure of Lua |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -123,22 +123,21 @@ void luaD_callHook (StkId base, TProtoFunc *tf, int isreturn) | |||
123 | ** Cstack.num is the number of arguments; Cstack.lua2C points to the | 123 | ** Cstack.num is the number of arguments; Cstack.lua2C points to the |
124 | ** first argument. Returns an index to the first result from C. | 124 | ** first argument. Returns an index to the first result from C. |
125 | */ | 125 | */ |
126 | static StkId callC (lua_CFunction f, StkId base) | 126 | static StkId callC (lua_CFunction f, StkId base) { |
127 | { | 127 | struct C_Lua_Stack *cls = &L->Cstack; |
128 | struct C_Lua_Stack *CS = &L->Cstack; | 128 | struct C_Lua_Stack oldCLS = *cls; |
129 | struct C_Lua_Stack oldCLS = *CS; | ||
130 | StkId firstResult; | 129 | StkId firstResult; |
131 | int numarg = (L->stack.top-L->stack.stack) - base; | 130 | int numarg = (L->stack.top-L->stack.stack) - base; |
132 | CS->num = numarg; | 131 | cls->num = numarg; |
133 | CS->lua2C = base; | 132 | cls->lua2C = base; |
134 | CS->base = base+numarg; /* == top-stack */ | 133 | cls->base = base+numarg; /* == top-stack */ |
135 | if (L->callhook) | 134 | if (L->callhook) |
136 | luaD_callHook(base, NULL, 0); | 135 | luaD_callHook(base, NULL, 0); |
137 | (*f)(); /* do the actual call */ | 136 | (*f)(); /* do the actual call */ |
138 | if (L->callhook) /* func may have changed callhook */ | 137 | if (L->callhook) /* func may have changed callhook */ |
139 | luaD_callHook(base, NULL, 1); | 138 | luaD_callHook(base, NULL, 1); |
140 | firstResult = CS->base; | 139 | firstResult = cls->base; |
141 | *CS = oldCLS; | 140 | *cls = oldCLS; |
142 | return firstResult; | 141 | return firstResult; |
143 | } | 142 | } |
144 | 143 | ||
@@ -249,7 +248,7 @@ static void message (char *s) { | |||
249 | void lua_error (char *s) { | 248 | void lua_error (char *s) { |
250 | if (s) message(s); | 249 | if (s) message(s); |
251 | if (L->errorJmp) | 250 | if (L->errorJmp) |
252 | longjmp(*((jmp_buf *)L->errorJmp), 1); | 251 | longjmp(L->errorJmp->b, 1); |
253 | else { | 252 | else { |
254 | message("exit(1). Unable to recover.\n"); | 253 | message("exit(1). Unable to recover.\n"); |
255 | exit(1); | 254 | exit(1); |
@@ -276,11 +275,11 @@ static void do_callinc (int nResults) | |||
276 | */ | 275 | */ |
277 | int luaD_protectedrun (int nResults) { | 276 | int luaD_protectedrun (int nResults) { |
278 | volatile struct C_Lua_Stack oldCLS = L->Cstack; | 277 | volatile struct C_Lua_Stack oldCLS = L->Cstack; |
279 | jmp_buf myErrorJmp; | 278 | struct lua_longjmp myErrorJmp; |
280 | volatile int status; | 279 | volatile int status; |
281 | jmp_buf *volatile oldErr = L->errorJmp; | 280 | struct lua_longjmp *volatile oldErr = L->errorJmp; |
282 | L->errorJmp = &myErrorJmp; | 281 | L->errorJmp = &myErrorJmp; |
283 | if (setjmp(myErrorJmp) == 0) { | 282 | if (setjmp(myErrorJmp.b) == 0) { |
284 | do_callinc(nResults); | 283 | do_callinc(nResults); |
285 | status = 0; | 284 | status = 0; |
286 | } | 285 | } |
@@ -299,12 +298,12 @@ int luaD_protectedrun (int nResults) { | |||
299 | */ | 298 | */ |
300 | static int protectedparser (ZIO *z, int bin) { | 299 | static int protectedparser (ZIO *z, int bin) { |
301 | volatile struct C_Lua_Stack oldCLS = L->Cstack; | 300 | volatile struct C_Lua_Stack oldCLS = L->Cstack; |
302 | jmp_buf myErrorJmp; | 301 | struct lua_longjmp myErrorJmp; |
303 | volatile int status; | 302 | volatile int status; |
304 | TProtoFunc *volatile tf; | 303 | TProtoFunc *volatile tf; |
305 | jmp_buf *volatile oldErr = L->errorJmp; | 304 | struct lua_longjmp *volatile oldErr = L->errorJmp; |
306 | L->errorJmp = &myErrorJmp; | 305 | L->errorJmp = &myErrorJmp; |
307 | if (setjmp(myErrorJmp) == 0) { | 306 | if (setjmp(myErrorJmp.b) == 0) { |
308 | tf = bin ? luaU_undump1(z) : luaY_parser(z); | 307 | tf = bin ? luaU_undump1(z) : luaY_parser(z); |
309 | status = 0; | 308 | status = 0; |
310 | } | 309 | } |
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lparser.c,v 1.31 1999/03/25 21:06:57 roberto Exp roberto $ | 2 | ** $Id: lparser.c,v 1.32 1999/05/06 14:41:41 roberto Exp roberto $ |
3 | ** LL(1) Parser and code generator for Lua | 3 | ** LL(1) Parser and code generator for Lua |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -50,7 +50,7 @@ | |||
50 | */ | 50 | */ |
51 | typedef enum {VGLOBAL, VLOCAL, VDOT, VINDEXED, VEXP} varkind; | 51 | typedef enum {VGLOBAL, VLOCAL, VDOT, VINDEXED, VEXP} varkind; |
52 | 52 | ||
53 | typedef struct { | 53 | typedef struct vardesc { |
54 | varkind k; | 54 | varkind k; |
55 | int info; | 55 | int info; |
56 | } vardesc; | 56 | } vardesc; |
@@ -62,7 +62,7 @@ typedef struct { | |||
62 | ** and, if last expression is open (a function call), | 62 | ** and, if last expression is open (a function call), |
63 | ** where is its pc index of "nparam" | 63 | ** where is its pc index of "nparam" |
64 | */ | 64 | */ |
65 | typedef struct { | 65 | typedef struct listdesc { |
66 | int n; | 66 | int n; |
67 | int pc; /* 0 if last expression is closed */ | 67 | int pc; /* 0 if last expression is closed */ |
68 | } listdesc; | 68 | } listdesc; |
@@ -74,7 +74,7 @@ typedef struct { | |||
74 | ** it is a list constructor (k = 0) or a record constructor (k = 1) | 74 | ** it is a list constructor (k = 0) or a record constructor (k = 1) |
75 | ** or empty (k = ';' or '}') | 75 | ** or empty (k = ';' or '}') |
76 | */ | 76 | */ |
77 | typedef struct { | 77 | typedef struct constdesc { |
78 | int n; | 78 | int n; |
79 | int k; | 79 | int k; |
80 | } constdesc; | 80 | } constdesc; |
@@ -911,7 +911,7 @@ static OpCode opcodes [POW+1] = {NOTOP, MINUSOP, EQOP, NEQOP, GTOP, LTOP, | |||
911 | 911 | ||
912 | #define MAXOPS 20 /* op's stack size */ | 912 | #define MAXOPS 20 /* op's stack size */ |
913 | 913 | ||
914 | typedef struct { | 914 | typedef struct stack_op { |
915 | int ops[MAXOPS]; | 915 | int ops[MAXOPS]; |
916 | int top; | 916 | int top; |
917 | } stack_op; | 917 | } stack_op; |
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lstate.h,v 1.15 1999/02/25 15:17:01 roberto Exp roberto $ | 2 | ** $Id: lstate.h,v 1.16 1999/04/13 19:30:51 roberto Exp roberto $ |
3 | ** Global State | 3 | ** Global State |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -21,6 +21,16 @@ | |||
21 | 21 | ||
22 | typedef int StkId; /* index to stack elements */ | 22 | typedef int StkId; /* index to stack elements */ |
23 | 23 | ||
24 | |||
25 | /* | ||
26 | ** "jmp_buf" may be an array, so it is better to make sure it has an | ||
27 | ** address (and not that it *is* an address...) | ||
28 | */ | ||
29 | struct lua_longjmp { | ||
30 | jmp_buf b; | ||
31 | }; | ||
32 | |||
33 | |||
24 | struct Stack { | 34 | struct Stack { |
25 | TObject *top; | 35 | TObject *top; |
26 | TObject *stack; | 36 | TObject *stack; |
@@ -35,7 +45,7 @@ struct C_Lua_Stack { | |||
35 | }; | 45 | }; |
36 | 46 | ||
37 | 47 | ||
38 | typedef struct { | 48 | typedef struct stringtable { |
39 | int size; | 49 | int size; |
40 | int nuse; /* number of elements (including EMPTYs) */ | 50 | int nuse; /* number of elements (including EMPTYs) */ |
41 | TaggedString **hash; | 51 | TaggedString **hash; |
@@ -54,7 +64,7 @@ struct lua_State { | |||
54 | /* thread-specific state */ | 64 | /* thread-specific state */ |
55 | struct Stack stack; /* Lua stack */ | 65 | struct Stack stack; /* Lua stack */ |
56 | struct C_Lua_Stack Cstack; /* C2lua struct */ | 66 | struct C_Lua_Stack Cstack; /* C2lua struct */ |
57 | jmp_buf *errorJmp; /* current error recover point */ | 67 | struct lua_longjmp *errorJmp; /* current error recover point */ |
58 | char *Mbuffer; /* global buffer */ | 68 | char *Mbuffer; /* global buffer */ |
59 | int Mbuffbase; /* current first position of Mbuffer */ | 69 | int Mbuffbase; /* current first position of Mbuffer */ |
60 | int Mbuffsize; /* size of Mbuffer */ | 70 | int Mbuffsize; /* size of Mbuffer */ |