llvm/unittests/ADT
Chandler Carruth 40dab1059e Bring TinyPtrVector under test. Somehow we never picked up unit tests
for this class. These tests exercise most of the basic properties, but
the API for TinyPtrVector is very strange currently. My plan is to start
fleshing out the API to match that of SmallVector, but I wanted a test
for what is there first.

Sadly, it doesn't look reasonable to just re-use the SmallVector tests,
as this container can only ever store pointers, and much of the
SmallVector testing is to get construction and destruction right.

Just to get this basic test working, I had to add value_type to the
interface.

While here I found a subtle bug in the combination of 'erase', 'begin',
and 'end'. Both 'begin' and 'end' wanted to use a null pointer to
indicate the "end" iterator of an empty vector, regardless of whether
there is actually a vector allocated or the pointer union is null.
Everything else was fine with this except for erase. If you erase the
last element of a vector after it has held more than one element, we
return the end iterator of the underlying SmallVector which need not be
a null pointer. Instead, simply use the pointer, and poniter + size()
begin/end definitions in the tiny case, and delegate to the inner vector
whenever it is present.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161024 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-31 02:48:31 +00:00
..
APFloatTest.cpp Fix APFloat::convert so that it handles narrowing conversions correctly; it 2011-11-26 03:38:02 +00:00
APIntTest.cpp fix the quotient returned by sdivrem() for the case when LHS is negative and RHS is positive 2012-05-22 01:09:48 +00:00
BitVectorTest.cpp Merge the SmallBitVector and BitVector unit tests with gtest's typed test magic and bring SmallBitVector up to date. 2012-06-16 10:51:07 +00:00
CMakeLists.txt Bring TinyPtrVector under test. Somehow we never picked up unit tests 2012-07-31 02:48:31 +00:00
DAGDeltaAlgorithmTest.cpp Remove some code that is no longer needed now that googletest knows how 2011-07-27 09:26:13 +00:00
DeltaAlgorithmTest.cpp Define the new operator<< for sets into namespace std, so that 2009-12-24 21:11:45 +00:00
DenseMapTest.cpp Add a unit test for 'swap', and fix a pile of bugs in 2012-06-17 11:28:13 +00:00
DenseSetTest.cpp Prevent looping when DenseSet is abused. 2009-05-01 20:47:53 +00:00
FoldingSet.cpp Add test for PR 8111. By Frits van Bommel. 2010-11-19 23:23:22 +00:00
HashingTest.cpp Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
ilistTest.cpp Fix const ilist_node::get{Prev,Next}Node() to actually compile. Picky, picky. 2010-05-13 18:35:02 +00:00
ImmutableSetTest.cpp Tweak ImmutableMap/ImmutableSet/ImmutableList APIs 2010-11-24 00:54:28 +00:00
IntEqClassesTest.cpp Add ADT/IntEqClasses.h as a light-weight implementation of EquivalenceClasses.h. 2010-12-21 00:04:46 +00:00
IntervalMapTest.cpp Add more checks to IntervalMapOverlaps::advance() to ensure that advanceTo sees 2010-12-17 22:07:54 +00:00
IntrusiveRefCntPtrTest.cpp RefCountedBaseVPTR needs the IntrusiveRefCntPtrInfo as friend, 2012-01-31 19:58:34 +00:00
Makefile Move ValueMapTest from ADT to VMCore so that ADT doesn't need 2010-09-27 15:50:08 +00:00
PackedVectorTest.cpp Try fixing http://google1.osuosl.org:8011/builders/clang-i686-freebsd/builds/3548 2011-06-15 20:39:05 +00:00
SCCIteratorTest.cpp Avoid undefined behaviour if somehow NUM_GRAPHS equals 2^32 (or 2011-07-29 07:50:02 +00:00
SmallPtrSetTest.cpp SmallPtrSet: Provide a more efficient implementation of swap than the default triple-copy std::swap. 2012-03-06 20:40:02 +00:00
SmallStringTest.cpp Additional methods for SmallString. 2012-01-24 23:43:59 +00:00
SmallVectorTest.cpp Move the SmallVector unit tests to be type-parameterized so that we can 2012-07-30 22:17:52 +00:00
SparseBitVectorTest.cpp Add a missing ilist_node.h #include to SparseBitVector, and add a very short 2009-07-25 00:33:57 +00:00
SparseSetTest.cpp SparseSet: Add support for key-derived indexes and arbitrary key types. 2012-04-20 20:05:28 +00:00
StringMapTest.cpp Fix PR13148, an inf-loop in StringMap. 2012-06-19 17:40:35 +00:00
StringRefTest.cpp [Support/StringRef] Add find_last_not_of and {r,l,}trim. 2012-05-11 22:08:50 +00:00
TinyPtrVectorTest.cpp Bring TinyPtrVector under test. Somehow we never picked up unit tests 2012-07-31 02:48:31 +00:00
TripleTest.cpp Remove the PTX back-end and all of its artifacts (triple, etc.) 2012-05-24 21:38:21 +00:00
TwineTest.cpp Add Twine support for characters, and switch twine to use a union internally 2011-07-24 20:44:30 +00:00
VariadicFunctionTest.cpp As Doug pointed out (and I really should know), it is perfectly easy to 2011-12-17 10:20:15 +00:00