pr20588: add missing calls to va_end.
authorRafael Espindola <rafael.espindola@gmail.com>
Fri, 8 Aug 2014 15:57:37 +0000 (15:57 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Fri, 8 Aug 2014 15:57:37 +0000 (15:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@215212 91177308-0d34-0410-b5e6-96231b3b80d8

lib/IR/Type.cpp

index 1efde47b856f5a3748e854daec8975afbf885e67..13424562757acb002b7785db9fc58fcc6a0e739e 100644 (file)
@@ -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) {