X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=cop.h;h=83f1f04bd2bad3015035665eaa2c497702cd6acf;hb=7b8203e3be66f22041237ce6c371ea09ae857f20;hp=203e4312d0c9d9ae376e6dda7d26bbab70ec700b;hpb=c28fe1ecc160a002d731cdf38ff7215ad3cf2a19;p=p5sagit%2Fp5-mst-13.2.git diff --git a/cop.h b/cop.h index 203e431..83f1f04 100644 --- a/cop.h +++ b/cop.h @@ -143,11 +143,11 @@ struct cop { HV * cop_stash; /* package line was compiled in */ GV * cop_filegv; /* file the following line # is from */ #endif + U32 cop_hints; /* hints bits from pragmata */ U32 cop_seq; /* parse sequence number */ line_t cop_line; /* line # of this command */ /* Beware. mg.c and warnings.pl assume the type of this is STRLEN *: */ STRLEN * cop_warnings; /* lexical warnings bitmask */ - SV * cop_io; /* lexical IO defaults */ /* compile time state of %^H. See the comment in op.c for how this is used to recreate a hash to return from caller. */ struct refcounted_he * cop_hints_hash; @@ -239,8 +239,8 @@ struct cop { "$[", 2, 0, 0)) \ : 0) #define CopARYBASE_set(c, b) STMT_START { \ - if (b || ((c)->op_private & HINT_ARYBASE)) { \ - (c)->op_private |= HINT_ARYBASE; \ + if (b || ((c)->cop_hints & HINT_ARYBASE)) { \ + (c)->cop_hints |= HINT_ARYBASE; \ if ((c) == &PL_compiling) \ PL_hints |= HINT_LOCALIZE_HH | HINT_ARYBASE; \ (c)->cop_hints_hash \ @@ -251,10 +251,9 @@ struct cop { } STMT_END /* FIXME NATIVE_HINTS if this is changed from op_private (see perl.h) */ -#define CopHINTS_get(c) ((c)->op_private + 0) +#define CopHINTS_get(c) ((c)->cop_hints + 0) #define CopHINTS_set(c, h) STMT_START { \ - (c)->op_private \ - = (U8)((h) & HINT_PRIVATE_MASK); \ + (c)->cop_hints = (h); \ } STMT_END /* @@ -331,7 +330,7 @@ struct block_sub { POP_SAVEARRAY(); \ /* abandon @_ if it got reified */ \ if (AvREAL(cx->blk_sub.argarray)) { \ - SSize_t fill = AvFILLp(cx->blk_sub.argarray); \ + const SSize_t fill = AvFILLp(cx->blk_sub.argarray); \ SvREFCNT_dec(cx->blk_sub.argarray); \ cx->blk_sub.argarray = newAV(); \ av_extend(cx->blk_sub.argarray, fill); \