I haven't been following Parrot lately, but I just checked out the current version to see how well it gets along with my current perl-5.7.3. My perl is compiled with IV='long long', which means Parrot will default to using 'long long' as INTVAL. (I suspect this is likely to be a reasonably common configuration once perl-5.8.0 is released. It's also been a good one for seeking out unportable assumptions.)
When I try to build parrot with gcc, I get 754 warnings. Obviously I won't post them all here, but some typical ones are: global_setup.c:23: warning: passing arg 1 of `Parrot_Array_class_init' with different width due to prototype core.ops:273: warning: cast to pointer from integer of different size core.ops:884: warning: cast increases required alignment of target type packfile.c:48: warning: passing arg 1 of `mem_sys_allocate' with different width due to prototype Not unexpectedly, 'make test' is a total failure, with lots of lines of the form: t/op/basic..........# Failed test (t/op/basic.t at line 6) # got: 'PackFile_unpack: Not a Parrot PackFile! # Parrot VM: Can't unpack packfile t/op/basic1.pbc. # ' # expected: '' I'm not sure where to even start. There are a variety of places where casts to (INTVAL) or (UINTVAL) are used even though the receiving end is actually expecting something else (e.g. size_t). If anyone is looking into this, please speak up. I haven't been following the group closely for a while. If no one else is, then I'll take a look, but I can't promise a rapid response. -- Andy Dougherty [EMAIL PROTECTED] Dept. of Physics Lafayette College, Easton PA 18042