# New Ticket Created by  Andy Dougherty 
# Please include the string:  [perl #17990]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=17990 >

Currently, when compiling parrot, I see the following error message:

cc -g  -I../include -o perlarray.o -c perlarray.c
"perlarray.pmc", line 108: warning: argument #5 is incompatible with prototype:
        prototype: pointer to long : "unknown", line 0
        argument : pointer to struct PMC {pointer to struct _vtable {..} vtable, long 
flags, pointer to void data, union UnionVal {..} cache, p...

The function in question is (from perlarray.pmc):
    
    void set_pmc_keyed (PMC* key, PMC* src, PMC* src_key) {
        INTVAL ix;
        if (!key) return;
        ix = key_integer(INTERP, key);
        DYNSELF.set_pmc_keyed_int(&ix, src, src_key);
    };

The argument in question is src_key, which is a PMC *.  But it's
prototyped in include/parrot/vtable.h as taking an INTVAL *.

How to fix this?  Does anyone know the actual intent?  Should we call
the appropriate function to fetch the integer out of src_key?  Or is
it really an INTVAL * and do we just need a cast?  Or is the prototype
wrong?

(I've been slowly working on getting the galactic-tcc tinderbox to even
compile.  It's getting closer -- I got rid of the trailing commas in the
enums in list.h -- but there are a few stickier problems remaining.  This
is one of them.)

-- 
    Andy Dougherty              [EMAIL PROTECTED]



Reply via email to