aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Support/LLVMBuilder.h
diff options
context:
space:
mode:
authorDavid Greene <greened@obbligato.org>2007-08-01 03:43:44 +0000
committerDavid Greene <greened@obbligato.org>2007-08-01 03:43:44 +0000
commitb1c4a7b210b9a8aa98fcffae8a84a0a20860ec7a (patch)
tree1c9794c86069c19f235104ec8c2a6f91405552d2 /include/llvm/Support/LLVMBuilder.h
parent1a9e67782d0a837f629e519817b77a657f0bf55f (diff)
downloadexternal_llvm-b1c4a7b210b9a8aa98fcffae8a84a0a20860ec7a.tar.gz
external_llvm-b1c4a7b210b9a8aa98fcffae8a84a0a20860ec7a.tar.bz2
external_llvm-b1c4a7b210b9a8aa98fcffae8a84a0a20860ec7a.zip
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
Diffstat (limited to 'include/llvm/Support/LLVMBuilder.h')
-rw-r--r--include/llvm/Support/LLVMBuilder.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/include/llvm/Support/LLVMBuilder.h b/include/llvm/Support/LLVMBuilder.h
index 5a80e4185c..bd450dc9d2 100644
--- a/include/llvm/Support/LLVMBuilder.h
+++ b/include/llvm/Support/LLVMBuilder.h
@@ -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 = "") {