(previous post was refused)
Jonas Maebe wrote:
Hello,
While working on packed array support for FPC and verifying against GPC, I discovered a bug in
GPC's packed array support. The following program prints 0 as second line instead of 1540222835
type ta = packed 0..$7fffffff; tb = packed array[0..40] of ta;
function test(i: longint): integer; var b: tb; begin b[1] := $5BCDEF73; test := b[i]; end;
begin writeln(sizeof(tb)); writeln(test(1)); end.
Thanks for the testprogram. On Mac OS X, I get
[P17:~/gpc/testgpc/adriaan] adriaan% gp packing.p PC=gpc-ppc [P17:~/gpc/testgpc/adriaan] adriaan% ./packing 160 0
[P17:~/gpc/testgpc/adriaan] adriaan% gp packing.p PC=gpc-i386 [P17:~/gpc/testgpc/adriaan] adriaan% ./packing 160 126835
[P17:~/gpc/testgpc/adriaan] adriaan% gpc -v Reading specs from /Developer/Pascal/gpc345u2/lib/gcc/i386-apple-darwin8/3.4.5/specs Configured with: ../gcc-3.4.5/configure --enable-languages=pascal,c --enable-threads=posix --target=i386-apple-darwin8 --host=i386-apple-darwin8 --build=i386-apple-darwin8 --prefix=/Developer/Pascal/gpc345u2 --with-arch=pentium-m --with-tune=prescott Thread model: posix gpc version 20051116, based on gcc-3.4.5
Regards,
Adriaan van Os