aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-08-08 15:57:37 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-08-08 15:57:37 +0000
commit9ccd52f5b53efcc0c9ad4ed5ccf496a059f66c0c (patch)
tree366d8958f94c7391c029707ba73bb99012104b3e
parentfeb613028bfc7edb371546cd493708fd156b45a3 (diff)
downloadllvm-9ccd52f5b53efcc0c9ad4ed5ccf496a059f66c0c.zip
llvm-9ccd52f5b53efcc0c9ad4ed5ccf496a059f66c0c.tar.gz
llvm-9ccd52f5b53efcc0c9ad4ed5ccf496a059f66c0c.tar.bz2
pr20588: add missing calls to va_end.
llvm-svn: 215212
-rw-r--r--llvm/lib/IR/Type.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/IR/Type.cpp b/llvm/lib/IR/Type.cpp
index 1efde47..1342456 100644
--- a/llvm/lib/IR/Type.cpp
+++ b/llvm/lib/IR/Type.cpp
@@ -506,7 +506,9 @@ StructType *StructType::get(Type *type, ...) {
StructFields.push_back(type);
type = va_arg(ap, llvm::Type*);
}
- return llvm::StructType::get(Ctx, StructFields);
+ auto *Ret = llvm::StructType::get(Ctx, StructFields);
+ va_end(ap);
+ return Ret;
}
StructType *StructType::create(LLVMContext &Context, ArrayRef<Type*> Elements,
@@ -547,7 +549,9 @@ StructType *StructType::create(StringRef Name, Type *type, ...) {
StructFields.push_back(type);
type = va_arg(ap, llvm::Type*);
}
- return llvm::StructType::create(Ctx, StructFields, Name);
+ auto *Ret = llvm::StructType::create(Ctx, StructFields, Name);
+ va_end(ap);
+ return Ret;
}
bool StructType::isSized(SmallPtrSet<const Type*, 4> *Visited) const {
@@ -591,6 +595,7 @@ void StructType::setBody(Type *type, ...) {
type = va_arg(ap, llvm::Type*);
}
setBody(StructFields);
+ va_end(ap);
}
bool StructType::isValidElementType(Type *ElemTy) {