Files
swift-mirror/lib/Sema/ConstraintLocator.h
Connor Wakamo 6c11ab65ea Switch from an llvm::PointerIntPair to manually handling storage and storedKind in ConstraintLocator::PathElement.
The previous approach -- which attempted to put an llvm::Fixnum<52> into an
llvm::PointerUnion -- failed to compile for 32-bit platforms. This approach now
explicitly uses 62 bits of a uint64_t for storing either an ArchetypeType * or
an llvm::Fixnum<62>, using the remaining 2 bits to store what kind of value is
in storage.

This fixes <rdar://problem/19283881>.

Swift SVN r24084
2014-12-22 23:23:14 +00:00

19 KiB