On Sun, Aug 08, 2004 at 08:01:52PM +0100, Nicholas Clark wrote:
> On Sun, Aug 08, 2004 at 10:46:20AM -0700, Jarkko Hietaniemi wrote:
> > # New Ticket Created by  Jarkko Hietaniemi 
> > # Please include the string:  [perl #30995]
> > # in the subject line of all future correspondence about this issue. 
> > # <URL: http://rt.perl.org:80/rt3/Ticket/Display.html?id=30995 >
> > 
> > 
> > Anyone who thinks sizeof(int) == sizeof(long) == sizeof(*)
> > should now as a penance run ten times around the building, backwards.
There are further assumptions of this implicit in the pointer casts.

> not ok 13 - nci_i_i3
> #     Failed test (t/pmc/nci.t at line 376)
> #          got: '0
> # 20233590931463
> # '
> #     expected: '42
> # 4711
> # '

static void
pcf_i_i3(Interp *interpreter, PMC *self)
{
    typedef int (*func_t)(int, int *);
    func_t pointer;
    int return_data;
    
    

    pointer =  (func_t)D2FPTR(PMC_struct_val(self));
    return_data =  (int)(*pointer)((int)REG_INT(5),(int*)&PMC_int_val(REG_PMC(5)));


That ponter cast ISN'T going to work where sizeof(PMC_int_val) != sizeof(int)

I'm not sure where to start - there are probably a lot of these assumptions in
the code (which is generated anyway) so tonight when I'm hot, tired and
defrosting the fridge isn't a great time to start.

Nicholas Clark

Reply via email to