Hi,
This test I've tried to tweak to isolate the set on Alpha problem. I hope they might give some help with finding bug (altough I'm aware that there are many other important things to do with GPC).
New tests are in attachment (submitted for approval). I hope that it's not a problem - it may be harder to read on some email clients, but on the other hand it's easier to save them ...
Results on SOlaris: all OK. Results on Alpha: mirsad06: Failed: extra: 31 IN [0..255]-[31..31] miss: 32 NOT IN [0..255]-[0..0] mirsad07: OK mirsad08: Failed: 32 not set but IN [0..255] mirsad09: Failed: 32 not set but IN [0..255] mirsad10: Failed: 31 set but not IN [32..95] mirsad11: Failed: 32 not set but IN [0..32] mirsad12: Failed: 31 set but not IN [32..32]
I was surprized for mirsad07 passed OK, since I've designed it to fail on Alpha (you might say maliciously).
It uses something like ``IF (i IN [start..endr]) THEN'' test which compiled correctly. This leas me to produce assembly, and I was surprized to see that it didn't call _p_set_in fucntion from RTS (p/rts/sets.pas, as Frank said).
On the other hand, ``FOR i IN [start..endr] DO'' use _p_set_in and do fail.
Once Frank has time, I hope this might help a step in the rigth direction.
mirsad
-- This message has been made up using recycled ideas and language constructs. No plant or animal has been injured in process of making this message.