develooper Front page | perl.perl6.internals | Postings from October 2002

[perl #17990] perlarray.pmc prototype clashes

Thread Next
From:
Andy Dougherty
Date:
October 17, 2002 08:51
Subject:
[perl #17990] perlarray.pmc prototype clashes
Message ID:
rt-17990-40072.8.36858512348911@bugs6.perl.org
# 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		doughera@lafayette.edu




Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About