llvm-6502/unittests/ADT
Owen Anderson 9cbd7afb76 Fix a subtle issue in SmallVector. The following code did not work as expected:
vec.insert(vec.begin(), vec[3]);
The issue was that vec[3] returns a reference into the vector, which is invalidated when insert() memmove's the elements down to make space.  The method needs to specifically detect and handle this case to correctly match std::vector's semantics.

Thanks to Howard Hinnant for clarifying the correct behavior, and explaining how std::vector solves this problem.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134554 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06 22:36:59 +00:00
..
APFloatTest.cpp
APIntTest.cpp unittests: add test for APInt::toString() 2011-06-15 23:36:34 +00:00
BitVectorTest.cpp
DAGDeltaAlgorithmTest.cpp
DeltaAlgorithmTest.cpp
DenseMapTest.cpp
DenseSetTest.cpp
FoldingSet.cpp
ilistTest.cpp
ImmutableSetTest.cpp
IntEqClassesTest.cpp
IntervalMapTest.cpp
Makefile
PackedVectorTest.cpp
SmallBitVectorTest.cpp
SmallStringTest.cpp
SmallVectorTest.cpp Fix a subtle issue in SmallVector. The following code did not work as expected: 2011-07-06 22:36:59 +00:00
SparseBitVectorTest.cpp
StringMapTest.cpp
StringRefTest.cpp
TripleTest.cpp
TwineTest.cpp