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