From: Jeffrey Yasskin Date: Sat, 25 Jul 2009 00:33:57 +0000 (+0000) Subject: Add a missing ilist_node.h #include to SparseBitVector, and add a very short X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=f595d6dd9a61c7387768d4e041539fcc6525a99b;p=oota-llvm.git Add a missing ilist_node.h #include to SparseBitVector, and add a very short test for it. The test is by no means complete, but it tests the problem I was fixing. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77025 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/ADT/SparseBitVector.h b/include/llvm/ADT/SparseBitVector.h index bcb4aac8fbf..f5bf4310530 100644 --- a/include/llvm/ADT/SparseBitVector.h +++ b/include/llvm/ADT/SparseBitVector.h @@ -20,6 +20,7 @@ #include #include "llvm/ADT/STLExtras.h" #include "llvm/ADT/ilist.h" +#include "llvm/ADT/ilist_node.h" #include "llvm/Support/DataTypes.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/raw_ostream.h" diff --git a/unittests/ADT/SparseBitVectorTest.cpp b/unittests/ADT/SparseBitVectorTest.cpp new file mode 100644 index 00000000000..d8fc5ce25db --- /dev/null +++ b/unittests/ADT/SparseBitVectorTest.cpp @@ -0,0 +1,36 @@ +//===- llvm/unittest/ADT/SparseBitVectorTest.cpp - SparseBitVector tests --===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#include "llvm/ADT/SparseBitVector.h" +#include "gtest/gtest.h" + +using namespace llvm; + +namespace { + +TEST(SparseBitVectorTest, TrivialOperation) { + SparseBitVector<> Vec; + EXPECT_EQ(0U, Vec.count()); + EXPECT_FALSE(Vec.test(17)); + Vec.set(5); + EXPECT_TRUE(Vec.test(5)); + EXPECT_FALSE(Vec.test(17)); + Vec.reset(6); + EXPECT_TRUE(Vec.test(5)); + EXPECT_FALSE(Vec.test(6)); + Vec.reset(5); + EXPECT_FALSE(Vec.test(5)); + EXPECT_TRUE(Vec.test_and_set(17)); + EXPECT_FALSE(Vec.test_and_set(17)); + EXPECT_TRUE(Vec.test(17)); + Vec.clear(); + EXPECT_FALSE(Vec.test(17)); +} + +}