Procházet zdrojové kódy

Fix discharge order of comparisons in Lua parser.

Mike Pall před 13 roky
rodič
revize
f22d5d9eef
1 změnil soubory, kde provedl 1 přidání a 0 odebrání
  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);