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;
|
minsize = (minsize | PyDict_MINSIZE) - 1;
|
||||||
unsigned long msb;
|
unsigned long msb;
|
||||||
_BitScanReverse64(&msb, (uint64_t)minsize);
|
_BitScanReverse64(&msb, (uint64_t)minsize);
|
||||||
return msb + 1;
|
return (uint8_t)(msb + 1);
|
||||||
#else
|
#else
|
||||||
uint8_t log2_size;
|
uint8_t log2_size;
|
||||||
for (log2_size = PyDict_LOG_MINSIZE;
|
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_kind = DICT_KEYS_UNICODE;
|
||||||
dk->dk_nentries = 0;
|
dk->dk_nentries = 0;
|
||||||
dk->dk_version = 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);
|
memset(DK_ENTRIES(dk), 0, sizeof(PyDictKeyEntry) * usable);
|
||||||
return dk;
|
return dk;
|
||||||
}
|
}
|
||||||
|
|
|
@ -545,6 +545,8 @@ _odict_get_index_raw(PyODictObject *od, PyObject *key, Py_hash_t hash)
|
||||||
return ix;
|
return ix;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define ONE ((Py_ssize_t)1)
|
||||||
|
|
||||||
/* Replace od->od_fast_nodes with a new table matching the size of dict's. */
|
/* Replace od->od_fast_nodes with a new table matching the size of dict's. */
|
||||||
static int
|
static int
|
||||||
_odict_resize(PyODictObject *od)
|
_odict_resize(PyODictObject *od)
|
||||||
|
@ -553,7 +555,7 @@ _odict_resize(PyODictObject *od)
|
||||||
_ODictNode **fast_nodes, *node;
|
_ODictNode **fast_nodes, *node;
|
||||||
|
|
||||||
/* Initialize a new "fast nodes" table. */
|
/* 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);
|
fast_nodes = PyMem_NEW(_ODictNode *, size);
|
||||||
if (fast_nodes == NULL) {
|
if (fast_nodes == NULL) {
|
||||||
PyErr_NoMemory();
|
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. */
|
/* Ensure od_fast_nodes and dk_entries are in sync. */
|
||||||
if (od->od_resize_sentinel != keys ||
|
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);
|
int resize_res = _odict_resize(od);
|
||||||
if (resize_res < 0)
|
if (resize_res < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue