diff --git a/llvm/include/llvm/Support/GetElementPtrTypeIterator.h b/llvm/include/llvm/Support/GetElementPtrTypeIterator.h index 068ec45dc5a2..d9b38f27400e 100644 --- a/llvm/include/llvm/Support/GetElementPtrTypeIterator.h +++ b/llvm/include/llvm/Support/GetElementPtrTypeIterator.h @@ -19,7 +19,7 @@ #include "llvm/DerivedTypes.h" namespace llvm { - template + template class generic_gep_type_iterator : public forward_iterator { typedef forward_iterator super; @@ -76,18 +76,18 @@ namespace llvm { typedef generic_gep_type_iterator<> gep_type_iterator; - inline gep_type_iterator gep_type_begin(User *GEP) { + inline gep_type_iterator gep_type_begin(const User *GEP) { return gep_type_iterator::begin(GEP->getOperand(0)->getType(), GEP->op_begin()+1); } - inline gep_type_iterator gep_type_end(User *GEP) { + inline gep_type_iterator gep_type_end(const User *GEP) { return gep_type_iterator::end(GEP->op_end()); } - inline gep_type_iterator gep_type_begin(User &GEP) { + inline gep_type_iterator gep_type_begin(const User &GEP) { return gep_type_iterator::begin(GEP.getOperand(0)->getType(), GEP.op_begin()+1); } - inline gep_type_iterator gep_type_end(User &GEP) { + inline gep_type_iterator gep_type_end(const User &GEP) { return gep_type_iterator::end(GEP.op_end()); }