diff options
-rw-r--r-- | op.c | 2 | ||||
-rw-r--r-- | pad.h | 8 | ||||
-rw-r--r-- | pp_hot.c | 3 |
3 files changed, 4 insertions, 9 deletions
@@ -13907,7 +13907,7 @@ Perl_rpeep(pTHX_ OP *o) if ( intro && (8*sizeof(base) > 8*sizeof(UV)-OPpPADRANGE_COUNTSHIFT-SAVE_TIGHT_SHIFT - ? base + ? (Size_t)base : (UV_MAX >> (OPpPADRANGE_COUNTSHIFT+SAVE_TIGHT_SHIFT)) ) > (UV_MAX >> (OPpPADRANGE_COUNTSHIFT+SAVE_TIGHT_SHIFT)) @@ -18,13 +18,7 @@ /* offsets within a pad */ -#if PTRSIZE == 4 -typedef U32TYPE PADOFFSET; -#else -# if PTRSIZE == 8 -typedef U64TYPE PADOFFSET; -# endif -#endif +typedef SSize_t PADOFFSET; /* signed so that -1 is a valid value */ #define NOT_IN_PAD ((PADOFFSET) -1) /* B.xs expects the first members of these two structs to line up @@ -382,7 +382,8 @@ PP(pp_padrange) | (count << SAVE_TIGHT_SHIFT) | SAVEt_CLEARPADRANGE); STATIC_ASSERT_STMT(OPpPADRANGE_COUNTMASK + 1 == (1 << OPpPADRANGE_COUNTSHIFT)); - assert((payload >> (OPpPADRANGE_COUNTSHIFT+SAVE_TIGHT_SHIFT)) == base); + assert((payload >> (OPpPADRANGE_COUNTSHIFT+SAVE_TIGHT_SHIFT)) + == (Size_t)base); { dSS_ADD; SS_ADD_UV(payload); |