#define BIT_WITHIN_UV_MASK 0x3F #define BIT0 ((UV)0x8000000000000000) #define BITNO_TO_BITMASK(bitno) (BIT0>>(bitno&BIT_WITHIN_UV_MASK)) SV *mm_array_fetch (mm_array *array, IV index, int prelocked) { UV uv; uv = ... sv = uv & BITNO_TO_BITMASK(index) ? &PL_sv_yes : &PL_sv_no; #### MMA.xs:463: warning: integer constant is too large for "long" type