Bug fixes (was: "Recursion, need more stack space.")

Mon, 16 Jun 1997 15:54:37 +0200 (MET DST)


According to Frank Heckenbach:
> 
> program p;
> 
> var x:record
>         f:function:real;
>       end;
> 
> begin
>   Writeln(x.f)
> end.

Fixed.

> Another little bug I just found:
> 
> program x;
> var x:real value 0; {"initial value is of wrong type}
> begin
> end.

Fixed.

> Another thing I observed when looking at the asm code (see above) was
> that the i386 backend doesn't seem to know the "push mem" instruction.

Indeed.

> [...] But since it's a backend problem
> (the same can happen with gcc), this is probably the wrong place to
> report it...

Probably.  However if you want to try yourself on that problem, look
into the GCC info documentation, and read about "machine descriptions".
There is something about how to describe each instruction a processor
has, and maybe it's a trivial error and somebody overlooked this
instruction.  Or else: Loading the memory reference into a register and
pushing that *might* be faster than a direct push (don't know).

Greetings,

    Peter

 Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer
peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [970201]
 maintainer GNU Pascal [970510] - http://home.pages.de/~gnu-pascal/ [970125]


Peter Gerwinski (peter@agnes.dida.physik.uni-essen.de)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es