llvm-6502/unittests/Support
Justin Bogner 981eb59138 Path: Stop claiming path::const_iterator is bidirectional
path::const_iterator claims that it's a bidirectional iterator, but it
doesn't satisfy all of the contracts for a bidirectional iterator.
For example, n3376 24.2.5 p6 says "If a and b are both dereferenceable,
then a == b if and only if *a and *b are bound to the same object",
but this doesn't work with how we stash and recreate Components.

This means that our use of reverse_iterator on this type is invalid
and leads to many of the valgrind errors we're hitting, as explained
by Tilmann Scheller here:

    http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140728/228654.html

Instead, we admit that path::const_iterator is only an input_iterator,
and implement a second input_iterator for path::reverse_iterator (by
changing const_iterator::operator-- to reverse_iterator::operator++).
All of the uses of this just traverse once over the path in one
direction or the other anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@214737 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-04 17:36:41 +00:00
..
AlignOfTest.cpp
AllocatorTest.cpp [Allocator] Make BumpPtrAllocator movable and move assignable. 2014-04-16 10:48:27 +00:00
ArrayRecyclerTest.cpp
BlockFrequencyTest.cpp Support: More BlockFrequencyTest => BranchProbabilityTest 2014-04-29 16:44:59 +00:00
BranchProbabilityTest.cpp SupportTest: Fix test names harder 2014-04-29 17:07:45 +00:00
Casting.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
CMakeLists.txt Decouple llvm::SpecialCaseList text representation and its LLVM IR semantics. 2014-07-09 19:40:08 +00:00
CommandLineTest.cpp Support: Fix option handling when using cl::Required with aliasopt 2014-07-14 20:53:57 +00:00
CompressionTest.cpp Simplify compression API by compressing into a SmallVector rather than a MemoryBuffer 2014-04-05 21:53:04 +00:00
ConvertUTFTest.cpp ConvertUTF tests: remove uses of initializer lists to restore compatibility 2014-06-17 09:33:24 +00:00
DataExtractorTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
EndianTest.cpp
ErrorOrTest.cpp Finishing touch for the std::error_code transition. 2014-06-13 17:20:48 +00:00
FileOutputBufferTest.cpp Remove the last uses of 'using std::error_code' 2014-06-13 03:20:08 +00:00
formatted_raw_ostream_test.cpp
IteratorTest.cpp [ADT] Generalize pointee_iterator to smart pointers by using decltype. 2014-04-24 21:10:35 +00:00
LEB128Test.cpp Move get[S|U]LEB128Size() to LEB128.h. 2014-02-22 14:00:39 +00:00
LineIteratorTest.cpp Replace OwningPtr<T> with std::unique_ptr<T>. 2014-03-06 05:51:42 +00:00
LockFileManagerTest.cpp Remove the last uses of 'using std::error_code' 2014-06-13 03:20:08 +00:00
Makefile Update incorrect file headers. 2013-08-01 18:42:28 +00:00
ManagedStatic.cpp Re-apply r211287: Remove support for LLVM runtime multi-threading. 2014-06-27 15:13:01 +00:00
MathExtrasTest.cpp [Support] Remove Count{Leading,Trailing}Zeros_{32,64}. 2013-05-24 22:58:37 +00:00
MD5Test.cpp Add support for adding the contents of a StringRef to the MD5 hash. 2013-05-31 22:34:56 +00:00
MemoryBufferTest.cpp Update the MemoryBuffer API to use ErrorOr. 2014-07-06 17:43:13 +00:00
MemoryTest.cpp Remove the last uses of 'using std::error_code' 2014-06-13 03:20:08 +00:00
Path.cpp Path: Stop claiming path::const_iterator is bidirectional 2014-08-04 17:36:41 +00:00
ProcessTest.cpp Silence a warning: 2014-02-04 22:53:45 +00:00
ProgramTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
raw_ostream_test.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
RegexTest.cpp [C++11] Remove uses of LLVM_HAS_RVALUE_REFERENCES from the unittests. 2014-03-01 09:36:06 +00:00
ScaledNumberTest.cpp Remove unused typedef. GCC warns about this. 2014-07-01 15:39:32 +00:00
SourceMgrTest.cpp SourceMgr diagnotics printing: fix a bug where printing a fixit for a source 2013-09-27 21:24:36 +00:00
SpecialCaseListTest.cpp Decouple llvm::SpecialCaseList text representation and its LLVM IR semantics. 2014-07-09 19:40:08 +00:00
StringPool.cpp PR10140 - StringPool's PooledStringPtr has non-const operator== causing bad OR-result. 2014-06-19 00:26:49 +00:00
SwapByteOrderTest.cpp Adding llvm::sys::swapByteOrder() for the common use-case of byte-swapping a value in place 2014-06-14 12:52:55 +00:00
ThreadLocalTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
TimeValueTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
UnicodeTest.cpp Move generic isPrint and columnWidth implementations to a separate header/source to allow using both generic and system-dependent versions on win32. 2013-09-04 16:00:12 +00:00
YAMLIOTest.cpp [C++11] Use 'nullptr'. 2014-06-08 22:29:17 +00:00
YAMLParserTest.cpp