gh-124064: Fix -Wconversion warnings in pycore_{gc,list,stackref}.h (#124174)

This commit is contained in:
Victor Stinner 2024-09-17 16:43:39 +02:00 committed by GitHub
parent 33eeccf6d4
commit 98f93a32f3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 4 additions and 9 deletions

View File

@ -227,7 +227,7 @@ static inline void _PyGC_CLEAR_FINALIZED(PyObject *op) {
_PyObject_CLEAR_GC_BITS(op, _PyGC_BITS_FINALIZED); _PyObject_CLEAR_GC_BITS(op, _PyGC_BITS_FINALIZED);
#else #else
PyGC_Head *gc = _Py_AS_GC(op); PyGC_Head *gc = _Py_AS_GC(op);
gc->_gc_prev &= ~_PyGC_PREV_MASK_FINALIZED; gc->_gc_prev &= ~(uintptr_t)_PyGC_PREV_MASK_FINALIZED;
#endif #endif
} }

View File

@ -45,7 +45,7 @@ _Py_memory_repeat(char* dest, Py_ssize_t len_dest, Py_ssize_t len_src)
Py_ssize_t copied = len_src; Py_ssize_t copied = len_src;
while (copied < len_dest) { while (copied < len_dest) {
Py_ssize_t bytes_to_copy = Py_MIN(copied, len_dest - copied); Py_ssize_t bytes_to_copy = Py_MIN(copied, len_dest - copied);
memcpy(dest + copied, dest, bytes_to_copy); memcpy(dest + copied, dest, (size_t)bytes_to_copy);
copied += bytes_to_copy; copied += bytes_to_copy;
} }
} }

View File

@ -98,7 +98,7 @@ typedef union _PyStackRef {
static inline PyObject * static inline PyObject *
PyStackRef_AsPyObjectBorrow(_PyStackRef stackref) PyStackRef_AsPyObjectBorrow(_PyStackRef stackref)
{ {
PyObject *cleared = ((PyObject *)((stackref).bits & (~Py_TAG_BITS))); PyObject *cleared = ((PyObject *)((stackref).bits & (~(uintptr_t)Py_TAG_BITS)));
return cleared; return cleared;
} }
#else #else
@ -133,7 +133,7 @@ _PyStackRef_FromPyObjectSteal(PyObject *obj)
{ {
// Make sure we don't take an already tagged value. // Make sure we don't take an already tagged value.
assert(((uintptr_t)obj & Py_TAG_BITS) == 0); assert(((uintptr_t)obj & Py_TAG_BITS) == 0);
int tag = (obj == NULL || _Py_IsImmortal(obj)) ? (Py_TAG_DEFERRED) : Py_TAG_PTR; unsigned int tag = (obj == NULL || _Py_IsImmortal(obj)) ? (Py_TAG_DEFERRED) : Py_TAG_PTR;
return ((_PyStackRef){.bits = ((uintptr_t)(obj)) | tag}); return ((_PyStackRef){.bits = ((uintptr_t)(obj)) | tag});
} }
# define PyStackRef_FromPyObjectSteal(obj) _PyStackRef_FromPyObjectSteal(_PyObject_CAST(obj)) # define PyStackRef_FromPyObjectSteal(obj) _PyStackRef_FromPyObjectSteal(_PyObject_CAST(obj))

View File

@ -6,7 +6,6 @@
Include/internal/mimalloc/mimalloc/internal.h 4 Include/internal/mimalloc/mimalloc/internal.h 4
Include/internal/pycore_backoff.h 1 Include/internal/pycore_backoff.h 1
Include/internal/pycore_dict.h 2 Include/internal/pycore_dict.h 2
Include/internal/pycore_gc.h 1
Include/internal/pycore_long.h 2 Include/internal/pycore_long.h 2
Include/internal/pycore_object.h 4 Include/internal/pycore_object.h 4
Modules/_asynciomodule.c 3 Modules/_asynciomodule.c 3

View File

@ -19,10 +19,7 @@ Include/internal/pycore_asdl.h 1
Include/internal/pycore_backoff.h 3 Include/internal/pycore_backoff.h 3
Include/internal/pycore_blocks_output_buffer.h 1 Include/internal/pycore_blocks_output_buffer.h 1
Include/internal/pycore_dict.h 2 Include/internal/pycore_dict.h 2
Include/internal/pycore_gc.h 1
Include/internal/pycore_gc.h 1
Include/internal/pycore_interp.h 1 Include/internal/pycore_interp.h 1
Include/internal/pycore_list.h 1
Include/internal/pycore_long.h 3 Include/internal/pycore_long.h 3
Include/internal/pycore_object.h 4 Include/internal/pycore_object.h 4
Include/internal/pycore_obmalloc.h 1 Include/internal/pycore_obmalloc.h 1
@ -233,7 +230,6 @@ Python/generated_cases.c.h 27
Python/generated_cases.c.h 27 Python/generated_cases.c.h 27
Python/getargs.c 7 Python/getargs.c 7
Python/hashtable.c 1 Python/hashtable.c 1
Python/import.c 6
Python/import.c 7 Python/import.c 7
Python/initconfig.c 11 Python/initconfig.c 11
Python/instrumentation.c 43 Python/instrumentation.c 43