gaines@.ucalgary.ca (Brian Gaines) (10/11/88)
Under MPW and MPW Pascal 2.0.2 I have been getting a peculiar compiler error
which looks like an interaction between packed byte arrays and register usage.
The code below is a reduced skeleton that shows the error.
Anyone else met this? Any later update to Pascal without the problem?
Brian Gaines, gaines@calgary.cdn, (403) 239-7696
Compilation and code follows:-
-------
Compilation follows
-------
Pascal FocLibx.p -o FocLibx.p.o
### Code Generator Fatal Error
### Register 0..3
### Within DELEGRID (Error 2001): Expression too complicated, code generator ran out of registers ###
### IC = 64, IN = 0:200
-------
Program follows
-------
Unit x;
Interface
Implementation
Type
bt = 0..255;
ba = Packed Array[1..10,1..10] Of bt;
gp = ^gr;
gr = Record
gr: Packed Array[1..2] of ba;
end;
Procedure DelEgrid(g: gp);
Var
i,j : Integer;
Begin
With g^ Do Begin
For i:=1 To 10 Do gr[1,i,j]:=gr[1,i,j];
End;
End;
End.8325499@elecvax.eecs.unsw.oz (Gilbert Taylor-Wood) (10/24/88)
I found the same thing happened when getting Weave/Tangle to run
as MPW tools, My solution was to rearrange the offending expressions
so that the most deeply nested parts came first. You may have more
trouble :-).
I think I reported the problem { along with several others } to
Apple Australia but they never replied and as far as I know there is
no fix.
regards
Gilbert