Index: src/runtime/sparsearray.m ================================================================== --- src/runtime/sparsearray.m +++ src/runtime/sparsearray.m @@ -105,11 +105,11 @@ obj = src->buckets[i]->buckets[j]->buckets[k]; if (obj == NULL) continue; - idx = (i << 16) | (j << 8) | k; + idx = (uint32_t)((i << 16) | (j << 8) | k); objc_sparsearray_set(dst, idx, obj); } } #else for (j = 0; j < 256; j++) {