Files
swift-mirror/include/swift/Basic/Algorithm.h
David Farler 3b9f1bd77f FlaggedPointer should only compose with itself
<rdar://problem/19104060>

LLVM's PointerIntPair always picks the highest bits of the available low
order free bits but NumLowBitsAvailable is the number of *lowest* bits
available from the LSB. This could cause problems with overwriting when
putting a FlaggedPointer inside a PointerIntPair. Just don't allow it.

Add a static assert to make sure there are enough bits to support the
number of nested FlaggedPointers.

Add a helper constexpr min function which isn't available until C++14.

Swift SVN r23597
2014-12-01 20:05:44 +00:00

1.0 KiB