Mirsad Todorovac wrote:
I took some effort to investigate on this: I've rebuilt GPC, both on Ultra1/Solaris7 and Alpha/DU4.0b:
Both are 64 bit processors (but I'm not sure whether gcc on Solaris was built to be true 64-bit compiler!) -
If you want to know, you can output `SizeOf (Pointer)', `SizeOf (Integer)' and `SizeOf (MedInt)' (or in C: `sizeof (void *)', `sizeof (int)' and `sizeof (long)').
and on Solaris prime numbers with sieve of Erastothenes test passed!!! (While on DEC Alpha/osf4.0b (patched) it still miserably fails).
OK, I tried isolate bug by minimizing the example (even switching from automatic set construction to ``Include'' didn't make it work!):
[...]
You will probably guess that even this simple example on my Alpha fails.
Thanks. I'm putting your programs in the test suite (mirsad[12].pas).
Does my thinking make any sense to you?
Yes it does. Unfortunately, I do not use any 64-bit machines, so I cannot test this problem (nor do I understand DEC Alpha assembler). Therefore, unless Frank Heckenbach has a 64-bit system available, we need you to help us determine what the problem is.
Unfortunatelly, I'm not an expert on DEC alpha assembler either, yet I will give the marvin00.s here just in case somebody reading the list *is*, later on ...
Not me (though it doesn't look quite as strange to me as AIX assembler, so maybe if I take some time, I could make some sense out of it ...).
Anyway, by surface analisys of the listing it seemed to me that it will not show much, since it just calls _p_set_include and _p_set_in (these are as I suspect probably in RTL library?) ...
Yes, more precisely in p/rts/sets.pas
Anyway - if I could be of more help (even including giving you access to our Alpha machine) -
Indeed, it would be very helpful if you could give me an account and somme disk space. I have a few ideas what could be wrong, and it's probably easier if I can test them on the actual machine, than each time asking you to do it and send me the results ...
It might be related to endianness, and at the moment I'm quite confident that it will be rather easy to fix.
I'm very interrested in this SET feature in PASCAL, I think it's a great thing!!!
BTW, I've just fixed a few other bugs with sets, so you should wait for the next release, anyway, before using them seriously.
Also, if that may help, I've defined -DEGCS95 while compiling (I think that last time it did not compile without defining no -DEGCS....). Then again, I've used the same -DEGCS95 on Solaris and it works ...
Usually configure will detect the version automatically and write it into gcc-version.h, so one doesn't have to give any of these flags manually. However, there was a bug in it when using non-GNU grep. It was fixed before 20010924, but after 20010315.
Frank