From ad960095bfc10e9b7172ac8bd6ae785d798b850f Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Tue, 9 Jan 2018 12:23:40 -0200 Subject: avoid jumping into a variable scope (C++ does not allow that) --- lvm.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lvm.c b/lvm.c index 2b035932..8ba7f1c7 100644 --- a/lvm.c +++ b/lvm.c @@ -1,5 +1,5 @@ /* -** $Id: lvm.c,v 2.330 2017/12/28 15:42:57 roberto Exp roberto $ +** $Id: lvm.c,v 2.331 2017/12/30 20:46:18 roberto Exp roberto $ ** Lua virtual machine ** See Copyright Notice in lua.h */ @@ -1401,12 +1401,7 @@ void luaV_execute (lua_State *L, CallInfo *ci) { vmcase(OP_EQ) { TValue *rb = vRB(i); Protect(cond = luaV_equalobj(L, vra, rb)); - condjump: - if (cond != GETARG_k(i)) - pc++; /* skip next jump */ - else - donextjump(ci); - vmbreak; + goto condjump; } vmcase(OP_LT) { TValue *rb = vRB(i); @@ -1472,7 +1467,12 @@ void luaV_execute (lua_State *L, CallInfo *ci) { } vmcase(OP_TEST) { cond = !l_isfalse(vra); - goto condjump; + condjump: + if (cond != GETARG_k(i)) + pc++; /* skip next jump */ + else + donextjump(ci); + vmbreak; } vmcase(OP_TESTSET) { TValue *rb = vRB(i); -- cgit v1.2.3-55-g6feb