From afc577b6c76369009327225b09d41d61308abbeb Mon Sep 17 00:00:00 2001 From: sater Date: Tue, 31 Jul 1984 09:39:35 +0000 Subject: [PATCH] When building the parameter list for a pf-call, the line number for the exchanges war remembered at the wrong time. This caused: foo(3,'string') to cause an external identifier for the string. Fixed. --- lang/pc/pem/pem.p | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/pc/pem/pem.p b/lang/pc/pem/pem.p index ce36d04cd..14f98c912 100644 --- a/lang/pc/pem/pem.p +++ b/lang/pc/pem/pem.p @@ -1880,9 +1880,9 @@ end; procedure callnonstandard(fsys:sos; moreargs:boolean; fip:ip); var nxt,lip:ip; l0,l1,l2,l3,sz:integer; lsp,savasp:sp; begin with a do begin - l0:=lino; sz:=0; nxt:=fip^.parhead; + l0:=lino; l1:=l0; sz:=0; nxt:=fip^.parhead; while moreargs do - begin l1:=lino; + begin if nxt=nil then begin if fip^.pfkind<>varargs then error(+0137); expression(fsys); load; sz:=sz+sizeof(asp,wordmult) @@ -1927,7 +1927,7 @@ begin with a do begin end; nxt:=nxt^.next end; - exchange(l0,l1); moreargs:=find3(comma,fsys,+0145) + exchange(l0,l1); l1:=lino; moreargs:=find3(comma,fsys,+0145) end; if nxt<>nil then error(+0146); inita(procptr,0); pos:=fip^.pfpos; -- 2.34.1