Reimplement the temporary non-const getSubtargetImpl routine so
[oota-llvm.git] / unittests / ADT / PointerUnionTest.cpp
index 87c60887ad3796c5bf8a2ec80a933320937c8533..a592784ae095f1069dbe518de19242042f45b7bf 100644 (file)
@@ -19,14 +19,18 @@ struct PointerUnionTest : public testing::Test {
   float f;
   int i;
 
-  PU a, b, n;
+  PU a, b, c, n;
 
-  PointerUnionTest() : f(3.14f), i(42), a(&f), b(&i), n() {}
+  PointerUnionTest() : f(3.14f), i(42), a(&f), b(&i), c(&i), n() {}
 };
 
 TEST_F(PointerUnionTest, Comparison) {
+  EXPECT_TRUE(a == a);
+  EXPECT_FALSE(a != a);
   EXPECT_TRUE(a != b);
   EXPECT_FALSE(a == b);
+  EXPECT_TRUE(b == c);
+  EXPECT_FALSE(b != c);
   EXPECT_TRUE(b != n);
   EXPECT_FALSE(b == n);
 }
@@ -42,6 +46,12 @@ TEST_F(PointerUnionTest, Null) {
   EXPECT_TRUE((bool)a);
   EXPECT_TRUE((bool)b);
   EXPECT_FALSE(n);
+
+  EXPECT_NE(n, b);
+  EXPECT_EQ(b, c);
+  b = nullptr;
+  EXPECT_EQ(n, b);
+  EXPECT_NE(b, c);
 }
 
 TEST_F(PointerUnionTest, Is) {
@@ -56,7 +66,7 @@ TEST_F(PointerUnionTest, Is) {
 TEST_F(PointerUnionTest, Get) {
   EXPECT_EQ(a.get<float *>(), &f);
   EXPECT_EQ(b.get<int *>(), &i);
-  EXPECT_EQ(n.get<int *>(), (int *)0);
+  EXPECT_EQ(n.get<int *>(), (int *)nullptr);
 }
 
 } // end anonymous namespace