diff --git a/include/llvm/Analysis/DataStructure/DataStructure.h b/include/llvm/Analysis/DataStructure/DataStructure.h index 8e83f3037b1..247e4800c53 100644 --- a/include/llvm/Analysis/DataStructure/DataStructure.h +++ b/include/llvm/Analysis/DataStructure/DataStructure.h @@ -157,11 +157,12 @@ public: return ActualCallees; } - ActualCalleesTy::iterator callee_begin(Instruction *I) const { + typedef ActualCalleesTy::const_iterator callee_iterator; + callee_iterator callee_begin(Instruction *I) const { return ActualCallees.lower_bound(std::pair(I, 0)); } - ActualCalleesTy::iterator callee_end(Instruction *I) const { + callee_iterator callee_end(Instruction *I) const { I = (Instruction*)((char*)I + 1); return ActualCallees.lower_bound(std::pair(I, 0)); } diff --git a/include/llvm/Analysis/DataStructure/EquivClassGraphs.h b/include/llvm/Analysis/DataStructure/EquivClassGraphs.h index d97739acbf3..009e3ca87f0 100644 --- a/include/llvm/Analysis/DataStructure/EquivClassGraphs.h +++ b/include/llvm/Analysis/DataStructure/EquivClassGraphs.h @@ -100,12 +100,13 @@ namespace llvm { const ActualCalleesTy &getActualCallees() const { return ActualCallees; } - - ActualCalleesTy::iterator callee_begin(Instruction *I) const { + + typedef ActualCalleesTy::const_iterator callee_iterator; + callee_iterator callee_begin(Instruction *I) const { return ActualCallees.lower_bound(std::pair(I, 0)); } - ActualCalleesTy::iterator callee_end(Instruction *I) const { + callee_iterator callee_end(Instruction *I) const { I = (Instruction*)((char*)I + 1); return ActualCallees.lower_bound(std::pair(I, 0)); }