]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fixed compiler warnings in compact dict implementation on 32-bit platforms.
authorSerhiy Storchaka <storchaka@gmail.com>
Sat, 10 Sep 2016 18:34:43 +0000 (21:34 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Sat, 10 Sep 2016 18:34:43 +0000 (21:34 +0300)
Objects/dictobject.c

index 91a4e7d55981dbc4c70f32a0adcab4851e0c7074..4bcc3db91127023f5cac6c95ed9d957aaf02588d 100644 (file)
@@ -326,16 +326,16 @@ dk_get_index(PyDictKeysObject *keys, Py_ssize_t i)
         int16_t *indices = keys->dk_indices.as_2;
         ix = indices[i];
     }
-    else if (s <= 0xffffffff) {
-        int32_t *indices = keys->dk_indices.as_4;
-        ix = indices[i];
-    }
 #if SIZEOF_VOID_P > 4
-    else {
+    else if (s > 0xffffffff) {
         int64_t *indices = keys->dk_indices.as_8;
         ix = indices[i];
     }
 #endif
+    else {
+        int32_t *indices = keys->dk_indices.as_4;
+        ix = indices[i];
+    }
     assert(ix >= DKIX_DUMMY);
     return ix;
 }
@@ -358,17 +358,17 @@ dk_set_index(PyDictKeysObject *keys, Py_ssize_t i, Py_ssize_t ix)
         assert(ix <= 0x7fff);
         indices[i] = (int16_t)ix;
     }
-    else if (s <= 0xffffffff) {
-        int32_t *indices = keys->dk_indices.as_4;
-        assert(ix <= 0x7fffffff);
-        indices[i] = (int32_t)ix;
-    }
 #if SIZEOF_VOID_P > 4
-    else {
+    else if (s > 0xffffffff) {
         int64_t *indices = keys->dk_indices.as_8;
         indices[i] = ix;
     }
 #endif
+    else {
+        int32_t *indices = keys->dk_indices.as_4;
+        assert(ix <= 0x7fffffff);
+        indices[i] = (int32_t)ix;
+    }
 }