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.
This commit is contained in:
sater 1984-05-21 11:29:48 +00:00
parent 0796d79a9a
commit 0dc5d2c310

View file

@ -1207,7 +1207,7 @@ end end;
procedure temporary(fsp:sp;r:integer); procedure temporary(fsp:sp;r:integer);
begin inita(fsp,negaddr(fsp)); 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; end;
procedure genhol; procedure genhol;
@ -2780,7 +2780,8 @@ begin with b do begin
begin begin
if not spset then if not spset then
begin spset:=true; 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 gencst(op_lor,1); store
end; end;
argdlb(llp^.labdlb); lino:=lino+1; genop(ps_rom); argdlb(llp^.labdlb); lino:=lino+1; genop(ps_rom);