aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@golang.org>2011-07-18 07:23:52 -0700
committerBrad Fitzpatrick <bradfitz@golang.org>2011-07-18 07:23:52 -0700
commite8689404a7ba46acb491702fa8554c1394223325 (patch)
tree19d437e341a405b9952e8a820bb2a4052aba645c
parentc945d9c8a1c1b1a48a87dfc9c55b63c75db7ba89 (diff)
downloadgo-e8689404a7ba46acb491702fa8554c1394223325.tar.gz
go-e8689404a7ba46acb491702fa8554c1394223325.zip
cgo: add missing semicolon in generated struct
This affected certain signatures needing padding like: //export Foo func Foo() (int, C.long) { ... } R=golang-dev, rsc CC=golang-dev https://golang.org/cl/4745047
-rw-r--r--misc/cgo/test/Makefile1
-rw-r--r--misc/cgo/test/exports.go12
-rw-r--r--src/cmd/cgo/out.go2
3 files changed, 14 insertions, 1 deletions
diff --git a/misc/cgo/test/Makefile b/misc/cgo/test/Makefile
index 43c45f416e..f26f972898 100644
--- a/misc/cgo/test/Makefile
+++ b/misc/cgo/test/Makefile
@@ -11,6 +11,7 @@ CGOFILES=\
basic.go\
callback.go\
env.go\
+ exports.go\
issue1222.go\
issue1328.go\
issue1560.go\
diff --git a/misc/cgo/test/exports.go b/misc/cgo/test/exports.go
new file mode 100644
index 0000000000..f96c60b004
--- /dev/null
+++ b/misc/cgo/test/exports.go
@@ -0,0 +1,12 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package cgotest
+
+import "C"
+
+//export ReturnIntLong
+func ReturnIntLong() (int, C.long) {
+ return 1, 2
+}
diff --git a/src/cmd/cgo/out.go b/src/cmd/cgo/out.go
index 5999807322..1dde2d935d 100644
--- a/src/cmd/cgo/out.go
+++ b/src/cmd/cgo/out.go
@@ -412,7 +412,7 @@ func (p *Package) writeExports(fgo2, fc, fm *os.File) {
t := p.cgoType(atype)
if off%t.Align != 0 {
pad := t.Align - off%t.Align
- ctype += fmt.Sprintf("\t\tchar __pad%d[%d]\n", npad, pad)
+ ctype += fmt.Sprintf("\t\tchar __pad%d[%d];\n", npad, pad)
off += pad
npad++
}