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.
This commit is contained in:
sater 1984-07-31 09:39:35 +00:00
parent fe922d190d
commit afc577b6c7

View file

@ -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;