Waldek Hebisch wrote:
I can not reproduce the problem. Since the compiler semm to be build one can try to copy RTS (libgpc.a) compiled using different backend into build directory and run the testsuite to get more information.
Also, could you try the following patch (it should print internal information about failing set initializers):
--- gcc-4.1.0/gcc/tree.c.pp 2006-04-11 02:18:02.158210824 +0200 +++ gcc-4.1.0/gcc/tree.c 2006-04-11 02:18:24.782771368 +0200 @@ -6013,6 +6013,7 @@
if (lo_index < low_limit || hi_index >= bit_size) {
debug_tree (vals); error ("invalid initializer for set"); return NULL_TREE; }
@@ -6031,6 +6032,7 @@ = tree_low_cst (TREE_VALUE (vals), 0) - domain_min; if (index < 0 || index >= bit_size) {
debug_tree (vals); error ("invalid initializer for set"); return NULL_TREE; }
This results in:
../.././xgpc -B../.././ -c -I. -W -Wall -Wmissing-prototypes -Wmissing-declarations -g -O2 --unit-path=/Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts --automake -DRTS_RELEASE_STRING="'`cat /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/rts-version`'" -DGCC_VERSION="''" "/Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas" <tree_list 0x44018080 purpose <integer_cst 0x44018060 type <enumeral_type 0x434e28c0 Ioselectevents> constant invariant tree_5 1> value <integer_cst 0x44018060 1>> /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas: In function `CanRead': /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas:1878: error: invalid initializer for set <tree_list 0x44018080 purpose <integer_cst 0x44018060 type <enumeral_type 0x434e28c0 Ioselectevents> constant invariant tree_5 1> value <integer_cst 0x44018060 1>> /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas:1878: error: invalid initializer for set <tree_list 0x4401b280 purpose <integer_cst 0x4401b260 type <enumeral_type 0x434e28c0 Ioselectevents> constant invariant tree_5 3> value <integer_cst 0x4401b260 3>> /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas: In function `CanWrite': /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas:1884: error: invalid initializer for set <tree_list 0x4401b280 purpose <integer_cst 0x4401b260 type <enumeral_type 0x434e28c0 Ioselectevents> constant invariant tree_5 3> value <integer_cst 0x4401b260 3>> /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas:1884: error: invalid initializer for set <tree_list 0x4401c6a0 purpose <integer_cst 0x4401c680 type <enumeral_type 0x434e28c0 Ioselectevents> constant invariant tree_5 0> value <integer_cst 0x4401c680 0>> /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas: In procedure `GPC_BlockRead': /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas:1894: error: invalid initializer for set <tree_list 0x4401c6a0 purpose <integer_cst 0x4401c680 type <enumeral_type 0x434e28c0 Ioselectevents> constant invariant tree_5 0> value <integer_cst 0x4401c680 0>> /Users/adriaan/gpc/gpc-20060325/gcc-41/gcc-4.1.0/gcc/p/rts/files.pas:1893: error: invalid initializer for set make[3]: *** [files.o] Error 1 make[2]: *** [pascal.rts] Error 2 make[1]: *** [all-gcc] Error 2 make: *** [all] Error 2
I haven't tried the testsuite yet.
Regards,
Adriaan van Os