llvm-6502/unittests/ADT
Duncan Sands bcc2393369 Fix the ValueMap copy constructor. The issue is that the map keys are value
handles with a pointer to the containing map.  When a map is copied, these
pointers need to be corrected to point to the new map.  If not, then consider
the case of a map M1 which maps a value V to something.  Create a copy M2 of
M1.  At this point there are two value handles on V, one representing V as a
key in M1, the other representing V as a key in M2.  But both value handles
point to M1 as the containing map.  Now delete V.  The value handles remove
themselves from their containing map (which destroys them), but only the first
value handle is successful: the second one cannot remove itself from M1 as
(once the first one has removed itself) there is nothing there to remove; it
is therefore not destroyed.  This causes an assertion failure "All references
to V were not removed?".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109851 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-30 05:49:32 +00:00
..
APFloatTest.cpp Fix death tests in -Asserts builds. 2010-03-17 01:18:45 +00:00
APIntTest.cpp Switch from EXPECT_EQ({true,false, ...) to the more canonical 2010-07-13 17:28:05 +00:00
BitVectorTest.cpp Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp, 2010-04-30 20:50:28 +00:00
DAGDeltaAlgorithmTest.cpp ADT: Add DAGDeltaAlgorithm, which is a DAG minimization algorithm built on top of the standard 'delta debugging' algorithm. 2010-06-08 16:21:22 +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 Fix DenseMap iterator constness. 2009-11-10 01:02:17 +00:00
DenseSetTest.cpp Prevent looping when DenseSet is abused. 2009-05-01 20:47:53 +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 improve test and address Misha's comments 2009-01-03 14:55:26 +00:00
Makefile Disable unittests/ADT/BitVectorTest on PPC Darwin. 2010-02-09 22:15:27 +00:00
SmallBitVectorTest.cpp Update BitVectorTest.cpp to stay in sync with SmallBitVectorTest.cpp, 2010-04-30 20:50:28 +00:00
SmallStringTest.cpp Remove SmallString::append_*int* unit tests. 2009-08-19 19:41:05 +00:00
SmallVectorTest.cpp Fix SmallVector's insert to handle non-random-access iterators. 2010-03-26 18:53:37 +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
StringMapTest.cpp Fix (harmless) memory leak found by memcheck. 2010-02-11 07:16:13 +00:00
StringRefTest.cpp Add StringRef::compare_numeric and use it to sort TableGen register records. 2010-05-26 21:47:28 +00:00
TripleTest.cpp Improve Triple to recognize the OS in i386-mingw32. 2009-08-18 19:26:55 +00:00
TwineTest.cpp Twine: Use raw_ostream::write_hex, remove unused itohexstr method. 2009-07-30 18:30:19 +00:00
ValueMapTest.cpp Fix the ValueMap copy constructor. The issue is that the map keys are value 2010-07-30 05:49:32 +00:00