mirror of
https://github.com/apple/swift.git
synced 2026-09-30 10:17:34 +02:00
On 32-bit hosts, pointers lack the spare low bits the compiler's `PointerIntPair`-based structures pack tags into, and the object-header refcount is the wrong width. A new `swift::PointerIntPair` packs the tag when those low bits exist and stores it in a separate field otherwise. The refcount becomes pointer-width, `AbstractConformance` is force-aligned, and 64-bit builds are unchanged. `include/swift/Basic/SwiftObjectHeader.h` is also updated to use `intptr_t`.