Expose passinfo from BreakCriticalEdges pass so that it may be "Required" by
[oota-llvm.git] / include / llvm / ADT / PostOrderIterator.h
index 29d315e89c90c3cbae5820e0278e513a2d7de2a4..a9f13da03deb313c2eb1d328703f325a8880d559 100644 (file)
 #define LLVM_SUPPORT_POSTORDER_ITERATOR_H
 
 #include "Support/GraphTraits.h"
-#include <iterator>
+#include <Support/iterator>
 #include <stack>
 #include <set>
 
 template<class GraphT, class GT = GraphTraits<GraphT> >
-class po_iterator : public std::forward_iterator<typename GT::NodeType,
-                                                 ptrdiff_t> {
+class po_iterator : public forward_iterator<typename GT::NodeType, ptrdiff_t> {
+  typedef forward_iterator<typename GT::NodeType, ptrdiff_t> super;
+  typedef typename super::pointer pointer;
   typedef typename GT::NodeType          NodeType;
   typedef typename GT::ChildIteratorType ChildItTy;
 
@@ -130,7 +131,7 @@ class ReversePostOrderTraversal {
     copy(po_begin(BB), po_end(BB), back_inserter(Blocks));
   }
 public:
-  typedef std::vector<NodeType*>::reverse_iterator rpo_iterator;
+  typedef typename std::vector<NodeType*>::reverse_iterator rpo_iterator;
 
   inline ReversePostOrderTraversal(GraphT G) {
     Initialize(GT::getEntryNode(G));