summaryrefslogtreecommitdiff
path: root/pp.h
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>1999-08-16 18:55:35 +0000
committerJarkko Hietaniemi <jhi@iki.fi>1999-08-16 18:55:35 +0000
commit2d4389e49f01a9fd18e4d854b4d31048551328b6 (patch)
treeb9836aabebca08c331ad5fff785cd7e93a51862c /pp.h
parentd31e93ed51afbd7df0a0db125e55929ae1cf7552 (diff)
downloadperl-2d4389e49f01a9fd18e4d854b4d31048551328b6.tar.gz
Batch of small 64-bit/long double/large file support tweaks:
- scan for LDBL_DIG - from DBL_DIG and LDBL_DIG select NV_DIG - introduce IVSIZE, UVSIZE, NVSIZE - introduce IV_DIG - remove stdio64 - AIX uses `oslevel` when others use `uname -r` - already AIX 4.2 goes 64-bit - in HP-UX require the 64-bit libc, just the directory isn't enough - group ids are not NVs - #undef USE_LONG_DOUBLE if long double is no better than double - introduce NV_WITHIN_*() and IV_FITS_IN_IV - mention large file support in perldelta - introduce quad TOPpin' and POPpin' - the svcat... buffer was tiny for printing quads in %b - fix the multiplication test in 64bit.t - try to make VMS to comply with all this removal and "introducal" of symbols p4raw-id: //depot/cfgperl@3995
Diffstat (limited to 'pp.h')
-rw-r--r--pp.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/pp.h b/pp.h
index 0e6383c58a..c35f9677d4 100644
--- a/pp.h
+++ b/pp.h
@@ -67,6 +67,7 @@
#define POPul ((unsigned long)SvIVx(POPs))
#ifdef HAS_QUAD
#define POPq ((Quad_t)SvIVx(POPs))
+#define POPuq ((Uquad_t)SvIVx(POPs))
#endif
#define TOPs (*sp)
@@ -79,6 +80,7 @@
#define TOPul ((unsigned long)SvIV(TOPs))
#ifdef HAS_QUAD
#define TOPq ((Quad_t)SvIV(TOPs))
+#define TOPuq ((Uquad_t)SvIV(TOPs))
#endif
/* Go to some pains in the rare event that we must extend the stack. */
@@ -123,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)