diff options
Diffstat (limited to 'gnu/llvm/unittests/ADT/PointerEmbeddedIntTest.cpp')
| -rw-r--r-- | gnu/llvm/unittests/ADT/PointerEmbeddedIntTest.cpp | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/gnu/llvm/unittests/ADT/PointerEmbeddedIntTest.cpp b/gnu/llvm/unittests/ADT/PointerEmbeddedIntTest.cpp deleted file mode 100644 index 695ea12e0b0..00000000000 --- a/gnu/llvm/unittests/ADT/PointerEmbeddedIntTest.cpp +++ /dev/null @@ -1,80 +0,0 @@ -//===- llvm/unittest/ADT/PointerEmbeddedIntTest.cpp -----------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include "llvm/ADT/PointerEmbeddedInt.h" -#include "gtest/gtest.h" -using namespace llvm; - -namespace { - -TEST(PointerEmbeddedIntTest, Basic) { - PointerEmbeddedInt<int, CHAR_BIT> I = 42, J = 43; - - EXPECT_EQ(42, I); - EXPECT_EQ(43, I + 1); - EXPECT_EQ(sizeof(uintptr_t) * CHAR_BIT - CHAR_BIT, - PointerLikeTypeTraits<decltype(I)>::NumLowBitsAvailable); - - EXPECT_FALSE(I == J); - EXPECT_TRUE(I != J); - EXPECT_TRUE(I < J); - EXPECT_FALSE(I > J); - EXPECT_TRUE(I <= J); - EXPECT_FALSE(I >= J); - - EXPECT_FALSE(I == 43); - EXPECT_TRUE(I != 43); - EXPECT_TRUE(I < 43); - EXPECT_FALSE(I > 43); - EXPECT_TRUE(I <= 43); - EXPECT_FALSE(I >= 43); - - EXPECT_FALSE(42 == J); - EXPECT_TRUE(42 != J); - EXPECT_TRUE(42 < J); - EXPECT_FALSE(42 > J); - EXPECT_TRUE(42 <= J); - EXPECT_FALSE(42 >= J); -} - -TEST(PointerEmbeddedIntTest, intptr_t) { - PointerEmbeddedInt<intptr_t, CHAR_BIT> IPos = 42, INeg = -42; - EXPECT_EQ(42, IPos); - EXPECT_EQ(-42, INeg); - - PointerEmbeddedInt<uintptr_t, CHAR_BIT> U = 42, USaturated = 255; - EXPECT_EQ(42U, U); - EXPECT_EQ(255U, USaturated); - - PointerEmbeddedInt<intptr_t, std::numeric_limits<intptr_t>::digits> - IMax = std::numeric_limits<intptr_t>::max() >> 1, - IMin = std::numeric_limits<intptr_t>::min() >> 1; - EXPECT_EQ(std::numeric_limits<intptr_t>::max() >> 1, IMax); - EXPECT_EQ(std::numeric_limits<intptr_t>::min() >> 1, IMin); - - PointerEmbeddedInt<uintptr_t, std::numeric_limits<uintptr_t>::digits - 1> - UMax = std::numeric_limits<uintptr_t>::max() >> 1, - UMin = std::numeric_limits<uintptr_t>::min() >> 1; - EXPECT_EQ(std::numeric_limits<uintptr_t>::max() >> 1, UMax); - EXPECT_EQ(std::numeric_limits<uintptr_t>::min() >> 1, UMin); -} - -TEST(PointerEmbeddedIntTest, PointerLikeTypeTraits) { - PointerEmbeddedInt<int, CHAR_BIT> I = 42; - using ITraits = PointerLikeTypeTraits<decltype(I)>; - EXPECT_EQ(42, ITraits::getFromVoidPointer(ITraits::getAsVoidPointer(I))); - - PointerEmbeddedInt<uintptr_t, std::numeric_limits<uintptr_t>::digits - 1> - Max = std::numeric_limits<uintptr_t>::max() >> 1; - using MaxTraits = PointerLikeTypeTraits<decltype(Max)>; - EXPECT_EQ(std::numeric_limits<uintptr_t>::max() >> 1, - MaxTraits::getFromVoidPointer(MaxTraits::getAsVoidPointer(Max))); -} - -} // end anonymous namespace |
