New CallInst interface to address GLIBCXX_DEBUG errors caused by

indexing an empty std::vector.

Updates to all clients.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40660 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Greene
2007-08-01 03:43:44 +00:00
parent 7fc77611ef
commit 52eec54820
22 changed files with 158 additions and 66 deletions

View File

@@ -380,22 +380,31 @@ public:
}
CallInst *CreateCall(Value *Callee, const char *Name = "") {
return Insert(new CallInst(Callee, (Value**)0, 0, Name));
return Insert(new CallInst(Callee, Name));
}
CallInst *CreateCall(Value *Callee, Value *Arg, const char *Name = "") {
return Insert(new CallInst(Callee, &Arg, 1, Name));
return Insert(new CallInst(Callee, Arg, Name));
}
CallInst *CreateCall(Value *Callee, Value *Arg0, Value *Arg1,
template<typename InputIterator>
CallInst *CreateCall(Value *Callee, InputIterator ArgBegin, InputIterator ArgEnd,
const char *Name = "") {
Value *Args[] = { Arg0, Arg1 };
return Insert(new CallInst(Callee, Args, 2, Name));
return(Insert(new CallInst(Callee, ArgBegin, ArgEnd, Name)));
}
#if 0
CallInst *CreateCall(Value *Callee, Value *Arg0, Value *Arg1,
const char *Name = "") {
Value *Args[] = { Arg0, Arg1 };
return Insert(new CallInst(Callee, Args, Args+2, Name));
}
// Leave this here for llvm-gcc
CallInst *CreateCall(Value *Callee, Value* const *Args, unsigned NumArgs,
const char *Name = "") {
return Insert(new CallInst(Callee, Args, NumArgs, Name));
return Insert(new CallInst(Callee, Args, Args+NumArgs, Name));
}
#endif
SelectInst *CreateSelect(Value *C, Value *True, Value *False,
const char *Name = "") {