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