From ef3c6d2703183d7c50bc7ce7935fb1e0a235e5a0 Mon Sep 17 00:00:00 2001
From: Serge Guelton <sguelton@quarkslab.com>
Date: Tue, 9 May 2017 21:19:44 +0000
Subject: [PATCH] Fix CGObjCGNU::init bug introduced by r302572

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@302588 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/CodeGen/CGObjCGNU.cpp | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/lib/CodeGen/CGObjCGNU.cpp b/lib/CodeGen/CGObjCGNU.cpp
index ff801aafb4..c8b8be7f45 100644
--- a/lib/CodeGen/CGObjCGNU.cpp
+++ b/lib/CodeGen/CGObjCGNU.cpp
@@ -63,8 +63,13 @@ public:
     CGM = Mod;
     FunctionName = name;
     Function = nullptr;
-    std::vector<llvm::Type *> ArgTys{{Types...}};
-    FTy = llvm::FunctionType::get(RetTy, ArgTys, false);
+    if(sizeof...(Tys)) {
+      SmallVector<llvm::Type *, 8> ArgTys({Types...});
+      FTy = llvm::FunctionType::get(RetTy, ArgTys, false);
+    }
+    else {
+      FTy = llvm::FunctionType::get(RetTy, None, false);
+    }
   }
 
   llvm::FunctionType *getType() { return FTy; }
-- 
2.40.0