;
format : FORMAT startformsub formname block
- { SvREFCNT_inc(PL_compcv);
+ { SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
$$ = newFORM($2, $3, $4);
prepend_madprops($1->tk_mad, $$, 'F');
/* Unimplemented "my sub foo { }" */
mysubrout: MYSUB startsub subname proto subattrlist subbody
- { SvREFCNT_inc(PL_compcv);
+ { SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
$$ = newMYSUB($2, $3, $4, $5, $6);
token_getmad($1,$$,'d');
/* Subroutine definition */
subrout : SUB startsub subname proto subattrlist subbody
- { SvREFCNT_inc(PL_compcv);
+ { SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
OP* o = newSVOP(OP_ANONCODE, 0,
(SV*)newATTRSUB($2, $3, $4, $5, $6));
use : USE startsub
{ CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
WORD WORD listexpr ';'
- { SvREFCNT_inc(PL_compcv);
+ { SvREFCNT_inc_simple_void(PL_compcv);
#ifdef MAD
$$ = utilize(IVAL($1), $2, $4, $5, $6);
token_getmad($1,$$,'o');
TOKEN_GETMAD($4,$$,')');
}
| LSTOPSUB startanonsub block /* sub f(&@); f { foo } ... */
- { SvREFCNT_inc(PL_compcv);
+ { SvREFCNT_inc_simple_void(PL_compcv);
$<opval>$ = newANONATTRSUB($2, 0, Nullop, $3); }
listexpr %prec LSTOP /* ... @bar */
{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
TOKEN_GETMAD($3,$$,'}');
}
| ANONSUB startanonsub proto subattrlist block %prec '('
- { SvREFCNT_inc(PL_compcv);
+ { SvREFCNT_inc_simple_void(PL_compcv);
$$ = newANONATTRSUB($2, $3, $4, $5);
TOKEN_GETMAD($1,$$,'o');
OP_GETMAD($3,$$,'s');