8000 Fix MSVC compiler warnings in dictobject.c (GH-26432) · python/cpython@21dd43c · GitHub
[go: up one dir, main page]

Skip to content

Commit 21dd43c

Browse files
authored
Fix MSVC compiler warnings in dictobject.c (GH-26432)
1 parent 8b4312b commit 21dd43c

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

Objects/dictobject.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ calculate_log2_keysize(Py_ssize_t minsize)
416416
minsize = (minsize | PyDict_MINSIZE) - 1;
417417
unsigned long msb;
418418
_BitScanReverse64(&msb, (uint64_t)minsize);
419-
return msb + 1;
419+
return (uint8_t)(msb + 1);
420420
#else
421421
uint8_t log2_size;
422422
for (log2_size = PyDict_LOG_MINSIZE;
@@ -600,7 +600,7 @@ new_keys_object(uint8_t log2_size)
600600
dk->dk_kind = DICT_KEYS_UNICODE;
601601
dk->dk_nentries = 0;
602602
dk->dk_version = 0;
603-
memset(&dk->dk_indices[0], 0xff, es * (1<<log2_size));
603+
memset(&dk->dk_indices[0], 0xff, es<<log2_size);
604604
memset(DK_ENTRIES(dk), 0, sizeof(PyDictKeyEntry) * usable);
605605
return dk;
606606
}

Objects/odictobject.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,8 @@ _odict_get_index_raw(PyODictObject *od, PyObject *key, Py_hash_t hash)
545545
return ix;
546546
}
547547

548+
#define ONE ((Py_ssize_t)1)
549+
548550
/* Replace od->od_fast_nodes with a new table matching the size of dict's. */
549551
static int
550552
_odict_resize(PyODictObject *od)
@@ -553,7 +555,7 @@ _odict_resize(PyODictObject *od)
553555
_ODictNode **fast_nodes, *node;
554556

555557
/* Initialize a new "fast nodes" table. */
556-
size = 1 << (((PyDictObject *)od)->ma_keys->dk_log2_size);
558+
size = ONE << (((PyDictObject *)od)->ma_keys->dk_log2_size);
557559
fast_nodes = PyMem_NEW(_ODictNode *, size);
558560
if (fast_nodes == NULL) {
559561
PyErr_NoMemory();
@@ -592,7 +594,7 @@ _odict_get_index(PyODictObject *od, PyObject *key, Py_hash_t hash)
592594

593595
/* Ensure od_fast_nodes and dk_entries are in sync. */
594596
if (od->od_resize_sentinel != keys ||
595-
od->od_fast_nodes_size != (1 << (keys->dk_log2_size))) {
597+
od->od_fast_nodes_size != (ONE << (keys->dk_log2_size))) {
596598
int resize_res = _odict_resize(od);
597599
if (resize_res < 0)
598600
return -1;

0 commit comments

Comments
 (0)
0