bind: fix CLANG_WARN_STRICT_PROTOTYPES errors for generated ObjC code

Xcode 9 now enables CLANG_WARN_STRICT_PROTOTYPES by default.

This update ObjC function prototypes with no params from

FOUNDATION_EXPORT Something* DoSomething();

to

FOUNDATION_EXPORT Something* DoSomething(void);

Change-Id: I23b1d3e70a2ede2d2d77951ffe8a1a9598a1b7a0
Reviewed-on: https://go-review.googlesource.com/68970
Reviewed-by: Elias Naur <elias.naur@gmail.com>
diff --git a/bind/genobjc.go b/bind/genobjc.go
index 44e178b..1470b56 100644
--- a/bind/genobjc.go
+++ b/bind/genobjc.go
@@ -546,7 +546,11 @@
 	for _, p := range s.retParams[skip:] {
 		params = append(params, g.objcType(p.typ)+"* "+p.name)
 	}
-	return fmt.Sprintf("%s %s%s(%s)", s.ret, g.namePrefix, s.name, strings.Join(params, ", "))
+	paramContents := "void"
+	if len(params) > 0 {
+		paramContents = strings.Join(params, ", ")
+	}
+	return fmt.Sprintf("%s %s%s(%s)", s.ret, g.namePrefix, s.name, paramContents)
 }
 
 func (s *funcSummary) asMethod(g *ObjcGen) string {
diff --git a/bind/testdata/customprefix.objc.h.golden b/bind/testdata/customprefix.objc.h.golden
index 4169f6a..8e098b4 100644
--- a/bind/testdata/customprefix.objc.h.golden
+++ b/bind/testdata/customprefix.objc.h.golden
@@ -10,6 +10,6 @@
 #include "Universe.objc.h"
 
 
-FOUNDATION_EXPORT void CustomprefixF();
+FOUNDATION_EXPORT void CustomprefixF(void);
 
 #endif
diff --git a/bind/testdata/customprefix.objc.m.golden b/bind/testdata/customprefix.objc.m.golden
index 4db7753..f7b6433 100644
--- a/bind/testdata/customprefix.objc.m.golden
+++ b/bind/testdata/customprefix.objc.m.golden
@@ -9,7 +9,7 @@
 #include "Customprefix.objc.h"
 
 
-void CustomprefixF() {
+void CustomprefixF(void) {
     proxycustomprefix__F();
 }
 
diff --git a/bind/testdata/customprefixEX.objc.h.golden b/bind/testdata/customprefixEX.objc.h.golden
index 9bec10c..167d4cc 100644
--- a/bind/testdata/customprefixEX.objc.h.golden
+++ b/bind/testdata/customprefixEX.objc.h.golden
@@ -10,6 +10,6 @@
 #include "Universe.objc.h"
 
 
-FOUNDATION_EXPORT void EXCustomprefixF();
+FOUNDATION_EXPORT void EXCustomprefixF(void);
 
 #endif
diff --git a/bind/testdata/customprefixEX.objc.m.golden b/bind/testdata/customprefixEX.objc.m.golden
index 90c7f28..db708cc 100644
--- a/bind/testdata/customprefixEX.objc.m.golden
+++ b/bind/testdata/customprefixEX.objc.m.golden
@@ -9,7 +9,7 @@
 #include "EXCustomprefix.objc.h"
 
 
-void EXCustomprefixF() {
+void EXCustomprefixF(void) {
     proxycustomprefix__F();
 }
 
diff --git a/bind/testdata/doc.objc.h.golden b/bind/testdata/doc.objc.h.golden
index c417fa8..bc2a2e8 100644
--- a/bind/testdata/doc.objc.h.golden
+++ b/bind/testdata/doc.objc.h.golden
@@ -110,12 +110,12 @@
 /**
  * F is a function.
  */
-FOUNDATION_EXPORT void DocF();
+FOUNDATION_EXPORT void DocF(void);
 
 /**
  * NewS is a constructor.
  */
-FOUNDATION_EXPORT DocS* DocNewS();
+FOUNDATION_EXPORT DocS* DocNewS(void);
 
 @class DocI;
 
diff --git a/bind/testdata/doc.objc.m.golden b/bind/testdata/doc.objc.m.golden
index d7c00df..9d6dd5d 100644
--- a/bind/testdata/doc.objc.m.golden
+++ b/bind/testdata/doc.objc.m.golden
@@ -202,11 +202,11 @@
 @end
 
 
-void DocF() {
+void DocF(void) {
 	proxydoc__F();
 }
 
-DocS* DocNewS() {
+DocS* DocNewS(void) {
 	int32_t r0 = proxydoc__NewS();
 	DocS* _ret0_ = nil;
 	GoSeqRef* _ret0__ref = go_seq_from_refnum(r0);
diff --git a/bind/testdata/interfaces.objc.h.golden b/bind/testdata/interfaces.objc.h.golden
index 3962a89..ca5c7a4 100644
--- a/bind/testdata/interfaces.objc.h.golden
+++ b/bind/testdata/interfaces.objc.h.golden
@@ -76,7 +76,7 @@
 
 FOUNDATION_EXPORT BOOL InterfacesCallErr(id<InterfacesError> e, NSError** error);
 
-FOUNDATION_EXPORT id<InterfacesI> InterfacesSeven();
+FOUNDATION_EXPORT id<InterfacesI> InterfacesSeven(void);
 
 @class InterfacesError;
 
diff --git a/bind/testdata/interfaces.objc.m.golden b/bind/testdata/interfaces.objc.m.golden
index 628ff8e..7b5e1d9 100644
--- a/bind/testdata/interfaces.objc.m.golden
+++ b/bind/testdata/interfaces.objc.m.golden
@@ -214,7 +214,7 @@
 	return (_error == nil);
 }
 
-id<InterfacesI> InterfacesSeven() {
+id<InterfacesI> InterfacesSeven(void) {
 	int32_t r0 = proxyinterfaces__Seven();
 	InterfacesI* _ret0_ = nil;
 	GoSeqRef* _ret0__ref = go_seq_from_refnum(r0);
diff --git a/bind/testdata/try.objc.h.golden b/bind/testdata/try.objc.h.golden
index e236205..f5c9a48 100644
--- a/bind/testdata/try.objc.h.golden
+++ b/bind/testdata/try.objc.h.golden
@@ -10,6 +10,6 @@
 #include "Universe.objc.h"
 
 
-FOUNDATION_EXPORT NSString* TryThis();
+FOUNDATION_EXPORT NSString* TryThis(void);
 
 #endif
diff --git a/bind/testdata/try.objc.m.golden b/bind/testdata/try.objc.m.golden
index 990a81f..8c6d281 100644
--- a/bind/testdata/try.objc.m.golden
+++ b/bind/testdata/try.objc.m.golden
@@ -9,7 +9,7 @@
 #include "Try.objc.h"
 
 
-NSString* TryThis() {
+NSString* TryThis(void) {
 	nstring r0 = proxytry__This();
 	NSString *_ret0_ = go_seq_to_objc_string(r0);
 	return _ret0_;
diff --git a/cmd/gobind/doc.go b/cmd/gobind/doc.go
index f15466c..32965b5 100644
--- a/cmd/gobind/doc.go
+++ b/cmd/gobind/doc.go
@@ -79,7 +79,7 @@
 	- (void)setValue:(int64_t)v;
 	@end
 
-	FOUNDATION_EXPORT GoMypkgCounter* GoMypkgNewCounter();
+	FOUNDATION_EXPORT GoMypkgCounter* GoMypkgNewCounter(void);
 
 The equivalent of calling newCounter in Go is GoMypkgNewCounter in Objective-C.
 The returned GoMypkgCounter* holds a reference to an underlying Go