On Fri, 29 Aug 2003, Nicholas Clark wrote: > > Andy Dougherty <[EMAIL PROTECTED]> wrote: > > > > > "closure.pmc", line 21: warning: a cast does not yield an lvalue
> I think that the appended patch will work around the problem, by doing > the case on the pointer (which is an RVALUE) and then deferencing. > --- include/parrot/sub.h.orig 2003-08-29 21:09:19.000000000 +0100 > +++ include/parrot/sub.h 2003-08-29 21:14:26.000000000 +0100 > @@ -33,7 +33,7 @@ typedef struct Parrot_Sub { > char *packed; /* to simplify packing Constant Subs */ > } * parrot_sub_t; > > -#define PMC_sub(pmc) ((parrot_sub_t)((pmc)->cache.pmc_val)) > +#define PMC_sub(pmc) (*((parrot_sub_t *)&((pmc)->cache.pmc_val))) > > /* the first entries must match Parrot_Sub, so we can cast > * these two to the other type > Thanks. That worked just fine. Andy Dougherty [EMAIL PROTECTED]