bind: avoid header guard clashes for uppercase Go packages

Fixes golang/go#21552

Change-Id: Id01434271916ddc489eb5f7d8355d9519885eaf4
Reviewed-on: https://go-review.googlesource.com/101116
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
diff --git a/bind/genobjc.go b/bind/genobjc.go
index f3697ea..2edb401 100644
--- a/bind/genobjc.go
+++ b/bind/genobjc.go
@@ -110,8 +110,8 @@
 		pkgPath = g.Pkg.Path()
 	}
 	g.Printf(objcPreamble, pkgPath, g.gobindOpts(), pkgPath)
-	g.Printf("#ifndef __%s_H__\n", g.pkgName)
-	g.Printf("#define __%s_H__\n\n", g.pkgName)
+	g.Printf("#ifndef __GO_%s_H__\n", g.pkgName)
+	g.Printf("#define __GO_%s_H__\n\n", g.pkgName)
 	g.Printf("#include <stdint.h>\n")
 	g.Printf("#include <objc/objc.h>\n")
 
diff --git a/bind/testdata/basictypes.objc.go.h.golden b/bind/testdata/basictypes.objc.go.h.golden
index 77c00b7..84cbbbd 100644
--- a/bind/testdata/basictypes.objc.go.h.golden
+++ b/bind/testdata/basictypes.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __basictypes_H__
-#define __basictypes_H__
+#ifndef __GO_basictypes_H__
+#define __GO_basictypes_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/customprefix.objc.go.h.golden b/bind/testdata/customprefix.objc.go.h.golden
index 170e236..8e5e9be 100644
--- a/bind/testdata/customprefix.objc.go.h.golden
+++ b/bind/testdata/customprefix.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __customprefix_H__
-#define __customprefix_H__
+#ifndef __GO_customprefix_H__
+#define __GO_customprefix_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/customprefixEX.objc.go.h.golden b/bind/testdata/customprefixEX.objc.go.h.golden
index 9da6551..334a29a 100644
--- a/bind/testdata/customprefixEX.objc.go.h.golden
+++ b/bind/testdata/customprefixEX.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __customprefix_H__
-#define __customprefix_H__
+#ifndef __GO_customprefix_H__
+#define __GO_customprefix_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/doc.objc.go.h.golden b/bind/testdata/doc.objc.go.h.golden
index 2e4f436..803e31a 100644
--- a/bind/testdata/doc.objc.go.h.golden
+++ b/bind/testdata/doc.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __doc_H__
-#define __doc_H__
+#ifndef __GO_doc_H__
+#define __GO_doc_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/ignore.objc.go.h.golden b/bind/testdata/ignore.objc.go.h.golden
index b214a2b..7924f01 100644
--- a/bind/testdata/ignore.objc.go.h.golden
+++ b/bind/testdata/ignore.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __ignore_H__
-#define __ignore_H__
+#ifndef __GO_ignore_H__
+#define __GO_ignore_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/interfaces.objc.go.h.golden b/bind/testdata/interfaces.objc.go.h.golden
index 983de54..6b77787 100644
--- a/bind/testdata/interfaces.objc.go.h.golden
+++ b/bind/testdata/interfaces.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __interfaces_H__
-#define __interfaces_H__
+#ifndef __GO_interfaces_H__
+#define __GO_interfaces_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/issue10788.objc.go.h.golden b/bind/testdata/issue10788.objc.go.h.golden
index 28f3c46..3001a05 100644
--- a/bind/testdata/issue10788.objc.go.h.golden
+++ b/bind/testdata/issue10788.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __issue10788_H__
-#define __issue10788_H__
+#ifndef __GO_issue10788_H__
+#define __GO_issue10788_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/issue12328.objc.go.h.golden b/bind/testdata/issue12328.objc.go.h.golden
index cdf8789..2ae70c1 100644
--- a/bind/testdata/issue12328.objc.go.h.golden
+++ b/bind/testdata/issue12328.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __issue12328_H__
-#define __issue12328_H__
+#ifndef __GO_issue12328_H__
+#define __GO_issue12328_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/issue12403.objc.go.h.golden b/bind/testdata/issue12403.objc.go.h.golden
index 9d4e5fc..9bcfb01 100644
--- a/bind/testdata/issue12403.objc.go.h.golden
+++ b/bind/testdata/issue12403.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __issue12403_H__
-#define __issue12403_H__
+#ifndef __GO_issue12403_H__
+#define __GO_issue12403_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/keywords.objc.go.h.golden b/bind/testdata/keywords.objc.go.h.golden
index 0e16f5a..c4a7d5d 100644
--- a/bind/testdata/keywords.objc.go.h.golden
+++ b/bind/testdata/keywords.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __keywords_H__
-#define __keywords_H__
+#ifndef __GO_keywords_H__
+#define __GO_keywords_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/structs.objc.go.h.golden b/bind/testdata/structs.objc.go.h.golden
index 737f8fc..41f67cb 100644
--- a/bind/testdata/structs.objc.go.h.golden
+++ b/bind/testdata/structs.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __structs_H__
-#define __structs_H__
+#ifndef __GO_structs_H__
+#define __GO_structs_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/try.objc.go.h.golden b/bind/testdata/try.objc.go.h.golden
index d3798cf..2b05316 100644
--- a/bind/testdata/try.objc.go.h.golden
+++ b/bind/testdata/try.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __try_H__
-#define __try_H__
+#ifndef __GO_try_H__
+#define __GO_try_H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/universe.objc.go.h.golden b/bind/testdata/universe.objc.go.h.golden
index 50c5c44..dec1785 100644
--- a/bind/testdata/universe.objc.go.h.golden
+++ b/bind/testdata/universe.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef ___H__
-#define ___H__
+#ifndef __GO__H__
+#define __GO__H__
 
 #include <stdint.h>
 #include <objc/objc.h>
diff --git a/bind/testdata/vars.objc.go.h.golden b/bind/testdata/vars.objc.go.h.golden
index aad1c5a..3e0bcf8 100644
--- a/bind/testdata/vars.objc.go.h.golden
+++ b/bind/testdata/vars.objc.go.h.golden
@@ -3,8 +3,8 @@
 //
 // File is generated by gobind. Do not edit.
 
-#ifndef __vars_H__
-#define __vars_H__
+#ifndef __GO_vars_H__
+#define __GO_vars_H__
 
 #include <stdint.h>
 #include <objc/objc.h>