Update GEP constructors to use an iterator interface to fix

GLIBCXX_DEBUG issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41697 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Greene
2007-09-04 15:46:09 +00:00
parent 3825262399
commit b8f74793b9
21 changed files with 195 additions and 160 deletions

View File

@@ -217,16 +217,13 @@ public:
StoreInst *CreateStore(Value *Val, Value *Ptr, bool isVolatile = false) {
return Insert(new StoreInst(Val, Ptr, isVolatile));
}
GetElementPtrInst *CreateGEP(Value *Ptr, Value* const *Idx, unsigned NumIdx,
const char *Name = "") {
return Insert(new GetElementPtrInst(Ptr, Idx, NumIdx, Name));
template<typename InputIterator>
GetElementPtrInst *CreateGEP(Value *Ptr, InputIterator IdxBegin,
InputIterator IdxEnd, const char *Name = "") {
return(Insert(new GetElementPtrInst(Ptr, IdxBegin, IdxEnd, Name)));
}
GetElementPtrInst *CreateGEP(Value *Ptr, Value *Idx, const char *Name = "") {
return Insert(new GetElementPtrInst(Ptr, &Idx, 1, Name));
}
GetElementPtrInst *CreateGEP(Value *Ptr, Value *Idx0, Value *Idx1,
const char *Name = "") {
return Insert(new GetElementPtrInst(Ptr, Idx0, Idx1, Name));
return Insert(new GetElementPtrInst(Ptr, Idx, Name));
}
//===--------------------------------------------------------------------===//