diff options
author | Russ Cox <rsc@golang.org> | 2014-06-06 22:06:57 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-06-06 22:06:57 -0400 |
commit | 81d77633506982abc3dcb6dd21734676fa2f3bff (patch) | |
tree | 74b9935e2b867d479a4e4ea72e40dc3af8f2abad /misc | |
parent | 2c8503eb5cc7ab29bd97bdad7a03cd26aaf0b16f (diff) | |
download | go-81d77633506982abc3dcb6dd21734676fa2f3bff.tar.gz |
[release-branch.go1.3] cmd/cgo: for typedef of untagged struct, use typedef name in C code
??? CL 103080043 / 5e058e21b67d
cmd/cgo: for typedef of untagged struct, use typedef name in C code
Fixes issue 8148.
LGTM=cookieo9, rsc
R=rsc, cookieo9
CC=golang-codereviews
https://codereview.appspot.com/103080043
???
LGTM=iant
R=golang-codereviews, iant
CC=golang-codereviews, r
https://codereview.appspot.com/103900046
Diffstat (limited to 'misc')
-rw-r--r-- | misc/cgo/test/issue8148.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/misc/cgo/test/issue8148.go b/misc/cgo/test/issue8148.go new file mode 100644 index 000000000..8e4190848 --- /dev/null +++ b/misc/cgo/test/issue8148.go @@ -0,0 +1,31 @@ +// Copyright 2014 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. + +// Issue 8148. A typedef of an unnamed struct didn't work when used +// with an exported Go function. No runtime test; just make sure it +// compiles. + +package cgotest + +/* +typedef struct { int i; } T; + +int issue8148Callback(T*); + +static int get() { + T t; + t.i = 42; + return issue8148Callback(&t); +} +*/ +import "C" + +//export issue8148Callback +func issue8148Callback(t *C.T) C.int { + return t.i +} + +func Issue8148() int { + return int(C.get()) +} |