Some bug reports

Tue, 25 Feb 1997 15:01:59 GMT



Hi everyone!

I've got a number of bug reports. Perhaps some of them are already known,
but I didn't find any information about them. I'm listing all the problems
I encountered when I ported a BP program to gpc.

The bugs were tested with 2.0, and "verified" with 970221.

1.
The output of a compiler program is not redirectable (neither as stdout,
nor stderr).

2.
Writeln('a','':5,'b');
I think it should write "a     b", but it just writes "ab".

3.
My standard way for "variable size arrays" in BP doesn't work in gpc:

PROGRAM t;

CONST MaxVar=$FFF0;

TYPE
  X=Integer;

  XArray=ARRAY[1..MaxVar DIV SizeOf(X)] OF X; {}

BEGIN
END.

The error message for the line "{}" is:

  subrange bounds are not of the same type
  ordinal type expected

It doesn't depend on the type of X, and it doesn't help to declare a
constant with value MaxVar DIV SizeOf(X).

4.
Problem with CONST parameters:

PROGRAM x;

TYPE t=ARRAY[1..1] OF Integer;

PROCEDURE p(CONST c:t);
BEGIN
  IF c[1]=0 THEN
END;

BEGIN
END.

gpc crashes with:

Exiting due to signal SIGSEGV
Page fault at...

(I could provide all the register values if necessary.)

It doesn't matter if I invoce it as
   gpc x.p
or gpc -o x x.p
or gpc -c x.p

It doesn't seem to depend on the type of t (it must only be an array), and
it doesn't matter if c[1] is accessed as above, or e.g. in a Write statement.

5.
Initialized set variables don't seem to work:

PROGRAM t;

TYPE
 IByte=__byte__ Integer;
 Byte=__unsigned__ IByte;
 ByteSet=SET OF Byte;

VAR
  m:ByteSet VALUE [1,2,3]; {"CONST ... = ..." gives the same result}
  k:Integer; {or k:Byte - the same}

BEGIN
  { m:=[1,2,3]; ...then it works correctly }
  FOR k:=0 TO $FF DO
    IF k IN m THEN Write(Integer(k))
END.

The numbers written are more or less random.

6.
Last but not least:
Is there anything like TP's Exit (return from current procedure/function)?
I couldn't find it in the docs.

Frank


Frank Heckenbach (heckenb@mi.uni-erlangen.de)

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