From 0dc5d2c3109f69255fd8c998d8833f5f0eb9ec6d Mon Sep 17 00:00:00 2001 From: sater Date: Mon, 21 May 1984 11:29:48 +0000 Subject: [PATCH] Added output of mes ms_gto Fixed bug: The frontend generated a mes ms_reg for the local temp where the stackpointer was kept in destination procedures for a non local goto. This was wrong. --- lang/pc/pem/pem.p | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lang/pc/pem/pem.p b/lang/pc/pem/pem.p index df7c87cf5..ccd399a4f 100644 --- a/lang/pc/pem/pem.p +++ b/lang/pc/pem/pem.p @@ -1207,7 +1207,7 @@ end end; procedure temporary(fsp:sp;r:integer); begin inita(fsp,negaddr(fsp)); - genreg(sizeof(fsp,wordmult),a.pos.ad,r) + if r>=0 then genreg(sizeof(fsp,wordmult),a.pos.ad,r) end; procedure genhol; @@ -2780,7 +2780,8 @@ begin with b do begin begin if not spset then begin spset:=true; - temporary(nilptr,reg_pointer); ssp:=a.pos.ad; + gencst(ps_mes,ms_gto); argend; + temporary(nilptr,-1); ssp:=a.pos.ad; gencst(op_lor,1); store end; argdlb(llp^.labdlb); lino:=lino+1; genop(ps_rom); -- 2.34.1