From f4dc2c0b6e63807d4c7e18383b348534d597aef5 Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 14 Oct 2014 09:27:24 +0000 Subject: bugfix in the bytecode generator --- src/compiler/GF/Compile/GenerateBC.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/compiler/GF/Compile') diff --git a/src/compiler/GF/Compile/GenerateBC.hs b/src/compiler/GF/Compile/GenerateBC.hs index b749a40e1..3d8a7ef3a 100644 --- a/src/compiler/GF/Compile/GenerateBC.hs +++ b/src/compiler/GF/Compile/GenerateBC.hs @@ -68,11 +68,11 @@ compileEquations gr arity st (i:is) eqs fl bs = whilePP eqs Map.empty (EFloat d) -> CASE_LIT (LFlt d) compileBranch0 fl bs ((t,n),eqs) = - let (bs1,instrs) = compileEquations gr arity (st+n) (push_is st n is) eqs fl bs + let (bs1,instrs) = compileEquations gr arity (st+n) (push_is (st+n-1) n is) eqs fl bs in (bs1, case_instr t n (length bs1) : instrs) compileBranch l bs ((t,n),eqs) = - let (bs1,instrs) = compileEquations gr arity (st+n) (push_is st n is) eqs fl ((case_instr t n (length bs1) : instrs) : bs) + let (bs1,instrs) = compileEquations gr arity (st+n) (push_is (st+n-1) n is) eqs fl ((case_instr t n (length bs1) : instrs) : bs) in bs1 mkFail st1 Nothing = FAIL -- cgit v1.2.3