@@ -483,8 +483,8 @@ PyLong_AsLongAndOverflow(PyObject *vv, int *overflow)
483483 do_decref = 1 ;
484484 }
485485 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 );
488488 res = (long )tmp ;
489489 if (res != tmp ) {
490490 * overflow = tmp < 0 ? -1 : 1 ;
@@ -632,14 +632,14 @@ PyLong_AsUnsignedLong(PyObject *vv)
632632
633633 v = (PyLongObject * )vv ;
634634 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 );
637637 unsigned long res = (unsigned long )tmp ;
638638 if (res != tmp ) {
639639 goto overflow ;
640640 }
641641#else
642- return _PyLong_CompactValue (v );
642+ return ( unsigned long )( size_t ) _PyLong_CompactValue (v );
643643#endif
644644 }
645645 if (_PyLong_IsNegative (v )) {
@@ -685,7 +685,7 @@ PyLong_AsSize_t(PyObject *vv)
685685
686686 v = (PyLongObject * )vv ;
687687 if (_PyLong_IsNonNegativeCompact (v )) {
688- return _PyLong_CompactValue (v );
688+ return ( size_t ) _PyLong_CompactValue (v );
689689 }
690690 if (_PyLong_IsNegative (v )) {
691691 PyErr_SetString (PyExc_OverflowError ,
@@ -722,7 +722,7 @@ _PyLong_AsUnsignedLongMask(PyObject *vv)
722722 }
723723 v = (PyLongObject * )vv ;
724724 if (_PyLong_IsCompact (v )) {
725- return (unsigned long )_PyLong_CompactValue (v );
725+ return (unsigned long )( size_t ) _PyLong_CompactValue (v );
726726 }
727727 i = _PyLong_DigitCount (v );
728728 int sign = _PyLong_NonCompactSign (v );
@@ -1540,7 +1540,7 @@ PyLong_AsUnsignedLongLong(PyObject *vv)
15401540 v = (PyLongObject * )vv ;
15411541 if (_PyLong_IsNonNegativeCompact (v )) {
15421542 res = 0 ;
1543- bytes = _PyLong_CompactValue (v );
1543+ bytes = ( unsigned long long )( size_t ) _PyLong_CompactValue (v );
15441544 }
15451545 else {
15461546 res = _PyLong_AsByteArray ((PyLongObject * )vv , (unsigned char * )& bytes ,
@@ -1571,7 +1571,7 @@ _PyLong_AsUnsignedLongLongMask(PyObject *vv)
15711571 }
15721572 v = (PyLongObject * )vv ;
15731573 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 );
15751575 }
15761576 i = _PyLong_DigitCount (v );
15771577 sign = _PyLong_NonCompactSign (v );
@@ -3579,7 +3579,7 @@ long_hash(PyLongObject *v)
35793579 int sign ;
35803580
35813581 if (_PyLong_IsCompact (v )) {
3582- x = _PyLong_CompactValue (v );
3582+ x = ( Py_uhash_t )( size_t ) _PyLong_CompactValue (v );
35833583 if (x == (Py_uhash_t )- 1 ) {
35843584 x = (Py_uhash_t )- 2 ;
35853585 }
0 commit comments