Leopold Toetsch wrote: > > Nicholas Clark <[EMAIL PROTECTED]> wrote: > > -#define PMC_sub(pmc) ((parrot_sub_t)((pmc)->cache.pmc_val)) > > +#define PMC_sub(pmc) (*((parrot_sub_t *)&((pmc)->cache.pmc_val))) > > This seems to work. Thanks for the patch. > (the tcc tinderbox seems to be missing a make realclean/Configure or > such though)
Hmm, maybe we should define a new macro, to make this easier in the future: #ifdef __gcc #define LVALUE_CAST(type, val) ((type)(val)) #else #define LVALUE_CAST(type, val) (*((type *)&(val))) #endif Then, PMC_sub becomes: #define PMC_sub(pmc) LVALUE_CAST( parrot_sub_t, (pmc)->cache.pmc_val ) -- $a=24;split//,240513;s/\B/ => /for@@=qw(ac ab bc ba cb ca );{push(@b,$a),($a-=6)^=1 for 2..$a/6x--$|;print "[EMAIL PROTECTED] ]\n";((6<=($a-=6))?$a+=$_[$a%6]-$a%6:($a=pop @b))&&redo;}