mirror of https://github.com/python/cpython
Fix MSVC compiler warnings in dictobject.c (GH-26432)
This commit is contained in:
parent
8b4312b909
commit
21dd43c01d
|
@ -416,7 +416,7 @@ calculate_log2_keysize(Py_ssize_t minsize)
|
|||
minsize = (minsize | PyDict_MINSIZE) - 1;
|
||||
unsigned long msb;
|
||||
_BitScanReverse64(&msb, (uint64_t)minsize);
|
||||
return msb + 1;
|
||||
return (uint8_t)(msb + 1);
|
||||
#else
|
||||
uint8_t log2_size;
|
||||
for (log2_size = PyDict_LOG_MINSIZE;
|
||||
|
@ -600,7 +600,7 @@ new_keys_object(uint8_t log2_size)
|
|||
dk->dk_kind = DICT_KEYS_UNICODE;
|
||||
dk->dk_nentries = 0;
|
||||
dk->dk_version = 0;
|
||||
memset(&dk->dk_indices[0], 0xff, es * (1<<log2_size));
|
||||
memset(&dk->dk_indices[0], 0xff, es<<log2_size);
|
||||
memset(DK_ENTRIES(dk), 0, sizeof(PyDictKeyEntry) * usable);
|
||||
return dk;
|
||||
}
|
||||
|
|
|
@ -545,6 +545,8 @@ _odict_get_index_raw(PyODictObject *od, PyObject *key, Py_hash_t hash)
|
|||
return ix;
|
||||
}
|
||||
|
||||
#define ONE ((Py_ssize_t)1)
|
||||
|
||||
/* Replace od->od_fast_nodes with a new table matching the size of dict's. */
|
||||
static int
|
||||
_odict_resize(PyODictObject *od)
|
||||
|
@ -553,7 +555,7 @@ _odict_resize(PyODictObject *od)
|
|||
_ODictNode **fast_nodes, *node;
|
||||
|
||||
/* Initialize a new "fast nodes" table. */
|
||||
size = 1 << (((PyDictObject *)od)->ma_keys->dk_log2_size);
|
||||
size = ONE << (((PyDictObject *)od)->ma_keys->dk_log2_size);
|
||||
fast_nodes = PyMem_NEW(_ODictNode *, size);
|
||||
if (fast_nodes == NULL) {
|
||||
PyErr_NoMemory();
|
||||
|
@ -592,7 +594,7 @@ _odict_get_index(PyODictObject *od, PyObject *key, Py_hash_t hash)
|
|||
|
||||
/* Ensure od_fast_nodes and dk_entries are in sync. */
|
||||
if (od->od_resize_sentinel != keys ||
|
||||
od->od_fast_nodes_size != (1 << (keys->dk_log2_size))) {
|
||||
od->od_fast_nodes_size != (ONE << (keys->dk_log2_size))) {
|
||||
int resize_res = _odict_resize(od);
|
||||
if (resize_res < 0)
|
||||
return -1;
|
||||
|
|
Loading…
Reference in New Issue