# 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]