diff options
author | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2017-03-07 21:56:32 +0000 |
---|---|---|
committer | Duncan P. N. Exon Smith <dexonsmith@apple.com> | 2017-03-07 21:56:32 +0000 |
commit | 14ab3e6885ba8e703889fc5e49fbe059d57b1eb6 (patch) | |
tree | 88e239284f2d480d9a91b49ab5839ff47021038e /lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp | |
parent | 48d257d76cac5bfc3f0e1f15125d21577a2299da (diff) | |
download | bcm5719-llvm-14ab3e6885ba8e703889fc5e49fbe059d57b1eb6.tar.gz bcm5719-llvm-14ab3e6885ba8e703889fc5e49fbe059d57b1eb6.zip |
ADT: Fix SmallPtrSet iterators in reverse mode
Fix SmallPtrSet::iterator behaviour and creation ReverseIterate is true.
- Any function that creates an iterator now uses
SmallPtrSet::makeIterator, which creates an iterator that
dereferences to the given pointer.
- In reverse-iterate mode, initialze iterator::End with "CurArray"
instead of EndPointer.
- In reverse-iterate mode, the current node is iterator::Buffer[-1].
iterator::operator* and SmallPtrSet::makeIterator are the only ones
that need to know.
- Fix the assertions for reverse-iterate mode.
This fixes the tests Danny B added in r297182, and adds a couple of
others to confirm that dereferencing does the right thing, regardless of
how the iterator was found, and that iteration works correctly from each
return from find.
llvm-svn: 297234
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/python_api/process/main.cpp')
0 files changed, 0 insertions, 0 deletions