X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp.h;h=2ff6f5e04e722a00e28e424446b784f88358012d;hb=d20626d86bf3d55ba658adbc2678de4c519cbc6c;hp=0eac5a56f90cb5d2a456d1f1cc99438197a17e28;hpb=b162f9ead0a98db35cdcfc8c889e344c040c8d8e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp.h b/pp.h index 0eac5a5..2ff6f5e 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 Quad_t +#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 Quad_t +#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 Quad_t +#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)