Forráskód Böngészése

Fix discharge order of comparisons in Lua parser.

Mike Pall 12 éve
szülő
commit
f22d5d9eef
1 módosított fájl, 1 hozzáadás és 0 törlés
  1. 1 0
      src/lj_parse.c

+ 1 - 0
src/lj_parse.c

@@ -848,6 +848,7 @@ static void bcemit_comp(FuncState *fs, BinOpr opr, ExpDesc *e1, ExpDesc *e2)
     if ((op-BC_ISLT) & 1) {  /* GT -> LT, GE -> LE */
       e1 = e2; e2 = eret;  /* Swap operands. */
       op = ((op-BC_ISLT)^3)+BC_ISLT;
+      expr_toval(fs, e1);
     }
     rd = expr_toanyreg(fs, e2);
     ra = expr_toanyreg(fs, e1);