From b74155db1e902817d993db77861b14506618ff0c Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 30 Apr 2010 20:50:28 +0000 Subject: Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp, and fix a bug in BitVector's reference proxy class which this exposed. llvm-svn: 102768 --- llvm/unittests/ADT/BitVectorTest.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'llvm/unittests/ADT/BitVectorTest.cpp') diff --git a/llvm/unittests/ADT/BitVectorTest.cpp b/llvm/unittests/ADT/BitVectorTest.cpp index 4fe11c1d17a..a9fc133c72e 100644 --- a/llvm/unittests/ADT/BitVectorTest.cpp +++ b/llvm/unittests/ADT/BitVectorTest.cpp @@ -7,7 +7,9 @@ // //===----------------------------------------------------------------------===// -#ifndef XFAIL +// Some of these tests fail on PowerPC for unknown reasons. +#ifndef __ppc__ + #include "llvm/ADT/BitVector.h" #include "gtest/gtest.h" @@ -56,7 +58,7 @@ TEST(BitVectorTest, TrivialOperation) { Vec.resize(26, true); Vec.resize(29, false); Vec.resize(33, true); - Vec.resize(61, false); + Vec.resize(57, false); unsigned Count = 0; for (unsigned i = Vec.find_first(); i != -1u; i = Vec.find_next(i)) { ++Count; @@ -67,7 +69,8 @@ TEST(BitVectorTest, TrivialOperation) { EXPECT_EQ(Count, 23u); EXPECT_FALSE(Vec[0]); EXPECT_TRUE(Vec[32]); - EXPECT_FALSE(Vec[60]); + EXPECT_FALSE(Vec[56]); + Vec.resize(61, false); BitVector Copy = Vec; BitVector Alt(3, false); @@ -177,6 +180,15 @@ TEST(BitVectorTest, CompoundAssignment) { EXPECT_EQ(100U, A.size()); } +TEST(BitVectorTest, ProxyIndex) { + BitVector Vec(3); + EXPECT_TRUE(Vec.none()); + Vec[0] = Vec[1] = Vec[2] = true; + EXPECT_EQ(Vec.size(), Vec.count()); + Vec[2] = Vec[1] = Vec[0] = false; + EXPECT_TRUE(Vec.none()); +} + } #endif -- cgit v1.2.3