fix a bug in post-order iterators with external storage, patch by

Olaf Krzikalla!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74933 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2009-07-07 18:43:48 +00:00
parent f5a1edce23
commit 151f369c53

View File

@ -71,7 +71,7 @@ class po_iterator : public forward_iterator<typename GT::NodeType, ptrdiff_t>,
inline po_iterator() {} // End is when stack is empty.
inline po_iterator(NodeType *BB, SetType &S) :
po_iterator_storage<SetType, ExtStorage>(&S) {
po_iterator_storage<SetType, ExtStorage>(S) {
if(!S.count(BB)) {
this->Visited.insert(BB);
VisitStack.push(std::make_pair(BB, GT::child_begin(BB)));
@ -80,7 +80,7 @@ class po_iterator : public forward_iterator<typename GT::NodeType, ptrdiff_t>,
}
inline po_iterator(SetType &S) :
po_iterator_storage<SetType, ExtStorage>(&S) {
po_iterator_storage<SetType, ExtStorage>(S) {
} // End is when stack is empty.
public:
typedef typename super::pointer pointer;