From 059e38d8f01fc6bd92ca4dc98c9c034e71b30f68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Santos=20Costa?= Date: Tue, 29 Sep 2015 23:05:04 +0100 Subject: [PATCH] call_w_fail should know the current P. --- C/amasm.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/C/amasm.c b/C/amasm.c index a91656637..5751d7473 100755 --- a/C/amasm.c +++ b/C/amasm.c @@ -1460,13 +1460,14 @@ a_p(op_numbers opcode, clause_info *clinfo, yamop *code_p, int pass_no, struct i siglongjmp(cip->CompilerBotch, 1); } else code_p->opc = emit_op(_call_c_wfail); - code_p->y_u.slp.s = + code_p->y_u.slpp.s = emit_count(-Signed(RealEnvSize) - CELLSIZE * cip->cpc->rnd2); - code_p->y_u.slp.l = emit_fail(cip); - code_p->y_u.slp.p = + code_p->y_u.slpp.l = emit_fail(cip); + code_p->y_u.slpp.p0 = clinfo->CurrentPred; + code_p->y_u.slpp.p = emit_pe(RepPredProp(fe)); } - GONEXT(slp); + GONEXT(slpp); } else { if (pass_no) { code_p->y_u.Osbpp.p = RepPredProp(fe);