X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp.h;h=ec701f3054f3cfa53ebfdc9cc2aae4c2bb4b92fe;hb=cc50ac46d6f5968c34044ce7c501b06af15fc51a;hp=0eac5a56f90cb5d2a456d1f1cc99438197a17e28;hpb=41af67ece9e9160bd6c5f33ad5ae5d493a869b60;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp.h b/pp.h index 0eac5a5..ec701f3 100644 --- a/pp.h +++ b/pp.h @@ -64,6 +64,11 @@ #define POPi ((IV)SvIVx(POPs)) #define POPu ((UV)SvUVx(POPs)) #define POPl ((long)SvIVx(POPs)) +#define POPul ((unsigned long)SvIVx(POPs)) +#ifdef HAS_QUAD +#define POPq ((Quad_t)SvIVx(POPs)) +#define POPuq ((Uquad_t)SvUVx(POPs)) +#endif #define TOPs (*sp) #define TOPp (SvPV(TOPs, PL_na)) /* deprecated */ @@ -72,6 +77,11 @@ #define TOPi ((IV)SvIV(TOPs)) #define TOPu ((UV)SvUV(TOPs)) #define TOPl ((long)SvIV(TOPs)) +#define TOPul ((unsigned long)SvUV(TOPs)) +#ifdef HAS_QUAD +#define TOPq ((Quad_t)SvIV(TOPs)) +#define TOPuq ((Uquad_t)SvUV(TOPs)) +#endif /* Go to some pains in the rare event that we must extend the stack. */ #define EXTEND(p,n) STMT_START { if (PL_stack_max - p < (n)) { \ @@ -115,6 +125,12 @@ #define dPOPiv IV value = POPi #define dTOPuv UV value = TOPu #define dPOPuv UV value = POPu +#ifdef HAS_QUAD +#define dTOPqv Quad_t value = TOPu +#define dPOPqv Quad_t value = POPu +#define dTOPuqv Uquad_t value = TOPuq +#define dPOPuqv Uquad_t value = POPuq +#endif #define dPOPXssrl(X) SV *right = POPs; SV *left = CAT2(X,s) #define dPOPXnnrl(X) NV right = POPn; NV left = CAT2(X,n)