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

Reply via email to