X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp.h;h=1f426e7da07203cdf18d0bd149fa644d58b427ea;hb=e52fd6f4ebd87d6146c934dfc974265434a96d9b;hp=7bce54fdf09cd42f987fce8a2c5baddd7faa7746;hpb=1d3259712a05143b33614901d9fae89e4bbfaa3e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp.h b/pp.h index 7bce54f..1f426e7 100644 --- a/pp.h +++ b/pp.h @@ -68,8 +68,7 @@ Refetch the stack pointer. Used after a callback. See L. #define dSP register SV **sp = PL_stack_sp #define djSP dSP #define dMARK register SV **mark = PL_stack_base + POPMARK -#define dORIGMARK I32 origmark = mark - PL_stack_base -#define SETORIGMARK origmark = mark - PL_stack_base +#define dORIGMARK const I32 origmark = mark - PL_stack_base #define ORIGMARK (PL_stack_base + origmark) #define SPAGAIN sp = PL_stack_sp @@ -88,7 +87,6 @@ Refetch the stack pointer. Used after a callback. See L. #define NORMAL PL_op->op_next #define DIE return Perl_die -#define DIE_NULL return DieNull /* =for apidoc Ams||PUTBACK @@ -99,16 +97,13 @@ See C and L for other uses. Pops an SV off the stack. =for apidoc Amn|char*|POPp -Pops a string off the stack. Deprecated. New code should provide -a STRLEN n_a and use POPpx. +Pops a string off the stack. Deprecated. New code should use POPpx. =for apidoc Amn|char*|POPpx Pops a string off the stack. -Requires a variable STRLEN n_a in scope. =for apidoc Amn|char*|POPpbytex Pops a string off the stack which must consist of bytes i.e. characters < 256. -Requires a variable STRLEN n_a in scope. =for apidoc Amn|NV|POPn Pops a double off the stack. @@ -129,8 +124,9 @@ Pops a long off the stack. #define POPs (*sp--) #define POPp (SvPVx(POPs, PL_na)) /* deprecated */ -#define POPpx (SvPVx(POPs, n_a)) -#define POPpbytex (SvPVbytex(POPs, n_a)) +#define POPpx (SvPVx_nolen(POPs)) +#define POPpconstx (SvPVx_nolen_const(POPs)) +#define POPpbytex (SvPVbytex_nolen(POPs)) #define POPn (SvNVx(POPs)) #define POPi ((IV)SvIVx(POPs)) #define POPu ((UV)SvUVx(POPs)) @@ -145,7 +141,7 @@ Pops a long off the stack. #define TOPm1s (*(sp-1)) #define TOPp1s (*(sp+1)) #define TOPp (SvPV(TOPs, PL_na)) /* deprecated */ -#define TOPpx (SvPV(TOPs, n_a)) +#define TOPpx (SvPV_nolen(TOPs)) #define TOPn (SvNV(TOPs)) #define TOPi ((IV)SvIV(TOPs)) #define TOPu ((UV)SvUV(TOPs)) @@ -286,8 +282,8 @@ and C. } } STMT_END /* Same thing, but update mark register too. */ -#define MEXTEND(p,n) STMT_START {if (PL_stack_max - p < (int)(n)) { \ - int markoff = mark - PL_stack_base; \ +#define MEXTEND(p,n) STMT_START {if (PL_stack_max - p < (int)(n)) { \ + const int markoff = mark - PL_stack_base; \ sp = stack_grow(sp,p,(int) (n)); \ mark = PL_stack_base + markoff; \ } } STMT_END @@ -404,7 +400,7 @@ and C. #define tryAMAGICbinW(meth,assign,set) STMT_START { \ if (PL_amagic_generation) { \ SV* tmpsv; \ - SV* right= *(sp); SV* left= *(sp-1);\ + SV* const right= *(sp); SV* const left= *(sp-1);\ if ((SvAMAGIC(left)||SvAMAGIC(right))&&\ (tmpsv=amagic_call(left, \ right, \ @@ -476,7 +472,7 @@ and C. changed SV* ref to SV* tmpRef */ #define RvDEEPCP(rv) STMT_START { SV* tmpRef=SvRV(rv); \ if (SvREFCNT(tmpRef)>1) { \ - SvRV(rv)=AMG_CALLun(rv,copy); \ + SvRV_set(rv, AMG_CALLun(rv,copy)); \ SvREFCNT_dec(tmpRef); \ } } STMT_END @@ -486,3 +482,13 @@ True if this op will be the return value of an lvalue subroutine =cut */ #define LVRET ((PL_op->op_private & OPpMAYBE_LVSUB) && is_lvalue_sub()) + +/* + * Local variables: + * c-indentation-style: bsd + * c-basic-offset: 4 + * indent-tabs-mode: t + * End: + * + * ex: set ts=8 sts=4 sw=4 noet: + */