OSDN Git Service

[ADT] Update PointerIntPair to handle pointer types with more than 31 bits free.
authorJordan Rose <jordan_rose@apple.com>
Fri, 7 Mar 2014 19:19:56 +0000 (19:19 +0000)
committerJordan Rose <jordan_rose@apple.com>
Fri, 7 Mar 2014 19:19:56 +0000 (19:19 +0000)
commitbc3b24269eabf6e9e54598c82ede3c741d8a6e61
tree05263dec97561e85f08186e318bd8b84b517f290
parentfac248734708670e898b814f88f5f262da774de3
[ADT] Update PointerIntPair to handle pointer types with more than 31 bits free.

Previously, the assertions in PointerIntPair would try to calculate the value
(1 << NumLowBitsAvailable); the inferred type here is 'int', so if there were
more than 31 bits available we'd get a shift overflow.

Also, add a rudimentary unit test file for PointerIntPair.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203273 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ADT/PointerIntPair.h
unittests/ADT/CMakeLists.txt
unittests/ADT/PointerIntPairTest.cpp [new file with mode: 0644]