@@ -483,8 +483,8 @@ PyLong_AsLongAndOverflow(PyObject *vv, int *overflow)
483
483
do_decref = 1 ;
484
484
}
485
485
if (_PyLong_IsCompact (v )) {
486
- #if SIZEOF_LONG < SIZEOF_VOID_P
487
- intptr_t tmp = _PyLong_CompactValue (v );
486
+ #if SIZEOF_LONG < SIZEOF_SIZE_T
487
+ Py_ssize_t tmp = _PyLong_CompactValue (v );
488
488
res = (long )tmp ;
489
489
if (res != tmp ) {
490
490
* overflow = tmp < 0 ? -1 : 1 ;
@@ -632,14 +632,14 @@ PyLong_AsUnsignedLong(PyObject *vv)
632
632
633
633
v = (PyLongObject * )vv ;
634
634
if (_PyLong_IsNonNegativeCompact (v )) {
635
- #if SIZEOF_LONG < SIZEOF_VOID_P
636
- intptr_t tmp = _PyLong_CompactValue (v );
635
+ #if SIZEOF_LONG < SIZEOF_SIZE_T
636
+ Py_ssize_t tmp = _PyLong_CompactValue (v );
637
637
unsigned long res = (unsigned long )tmp ;
638
638
if (res != tmp ) {
639
639
goto overflow ;
640
640
}
641
641
#else
642
- return _PyLong_CompactValue (v );
642
+ return ( unsigned long )( size_t ) _PyLong_CompactValue (v );
643
643
#endif
644
644
}
645
645
if (_PyLong_IsNegative (v )) {
@@ -685,7 +685,7 @@ PyLong_AsSize_t(PyObject *vv)
685
685
686
686
v = (PyLongObject * )vv ;
687
687
if (_PyLong_IsNonNegativeCompact (v )) {
688
- return _PyLong_CompactValue (v );
688
+ return ( size_t ) _PyLong_CompactValue (v );
689
689
}
690
690
if (_PyLong_IsNegative (v )) {
691
691
PyErr_SetString (PyExc_OverflowError ,
@@ -722,7 +722,7 @@ _PyLong_AsUnsignedLongMask(PyObject *vv)
722
722
}
723
723
v = (PyLongObject * )vv ;
724
724
if (_PyLong_IsCompact (v )) {
725
- return (unsigned long )_PyLong_CompactValue (v );
725
+ return (unsigned long )( size_t ) _PyLong_CompactValue (v );
726
726
}
727
727
i = _PyLong_DigitCount (v );
728
728
int sign = _PyLong_NonCompactSign (v );
@@ -1540,7 +1540,7 @@ PyLong_AsUnsignedLongLong(PyObject *vv)
1540
1540
v = (PyLongObject * )vv ;
1541
1541
if (_PyLong_IsNonNegativeCompact (v )) {
1542
1542
res = 0 ;
1543
- bytes = _PyLong_CompactValue (v );
1543
+ bytes = ( unsigned long long )( size_t ) _PyLong_CompactValue (v );
1544
1544
}
1545
1545
else {
1546
1546
res = _PyLong_AsByteArray ((PyLongObject * )vv , (unsigned char * )& bytes ,
@@ -1571,7 +1571,7 @@ _PyLong_AsUnsignedLongLongMask(PyObject *vv)
1571
1571
}
1572
1572
v = (PyLongObject * )vv ;
1573
1573
if (_PyLong_IsCompact (v )) {
1574
- return (unsigned long long )(signed long long )_PyLong_CompactValue (v );
1574
+ return (unsigned long long )(size_t )_PyLong_CompactValue (v );
1575
1575
}
1576
1576
i = _PyLong_DigitCount (v );
1577
1577
sign = _PyLong_NonCompactSign (v );
@@ -3579,7 +3579,7 @@ long_hash(PyLongObject *v)
3579
3579
int sign ;
3580
3580
3581
3581
if (_PyLong_IsCompact (v )) {
3582
- x = _PyLong_CompactValue (v );
3582
+ x = ( Py_uhash_t )( size_t ) _PyLong_CompactValue (v );
3583
3583
if (x == (Py_uhash_t )- 1 ) {
3584
3584
x = (Py_uhash_t )- 2 ;
3585
3585
}
0 commit comments