commit 7b0b6b3b3945b1adcf460321227243143d7e1543
parent 89da4168df5c8f6199504fed6e25fc5326c14fd2
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Fri, 16 Mar 2018 11:20:53 -0300
cannot use 'defined' inside a macro +
call to 'luaT_keydef' must be protected
Diffstat:
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/lvm.c b/lvm.c
@@ -1,5 +1,5 @@
/*
-** $Id: lvm.c,v 2.349 2018/03/02 18:59:19 roberto Exp roberto $
+** $Id: lvm.c,v 2.350 2018/03/07 15:55:38 roberto Exp roberto $
** Lua virtual machine
** See Copyright Notice in lua.h
*/
@@ -36,7 +36,11 @@
** and compatible compilers.
*/
#if !defined(LUA_USE_JUMPTABLE)
-#define LUA_USE_JUMPTABLE defined(__GNUC__)
+#if defined(__GNUC__)
+#define LUA_USE_JUMPTABLE 1
+#else
+#define LUA_USE_JUMPTABLE 0
+#endif
#endif
@@ -1560,7 +1564,8 @@ void luaV_execute (lua_State *L, CallInfo *ci) {
vmcase(OP_ISDEF) {
TValue *rb = vRB(i);
TValue *rc = vRC(i);
- int res = luaT_keydef(L, rb, rc, 0);
+ int res;
+ Protect(res = luaT_keydef(L, rb, rc, 0));
setbvalue(vra, res == GETARG_k(i));
vmbreak;
}