summaryrefslogtreecommitdiff
path: root/misc/cgo/testgodefs/main.go
diff options
context:
space:
mode:
authorIan Lance Taylor <iant@golang.org>2014-08-05 17:10:15 -0700
committerIan Lance Taylor <iant@golang.org>2014-08-05 17:10:15 -0700
commit53f6f0a3f78b218b3aba77e39acb7c601c223957 (patch)
treed55478aa8b5554b7ced45fe73d8c654404526832 /misc/cgo/testgodefs/main.go
parent0ad1c6efce3e555ba5337b849fcc6295494a3be6 (diff)
downloadgo-53f6f0a3f78b218b3aba77e39acb7c601c223957.tar.gz
cmd/cgo: for -godefs, promote first field of anonymous union
Update issue 6677 When a struct contains an anonymous union, use the type and name of the first field in the union. This should make the glibc <sys/resource.h> file work; in that file struct rusage has fields like __extension__ union { long int ru_maxrss; __syscall_slong_t __ru_maxrss_word; }; in which the field that matters is ru_maxrss and __ru_maxrss_word just exists to advance to the next field on systems where the kernel uses long long fields but userspace expects long fields. LGTM=mikioh.mikioh R=golang-codereviews, mikioh.mikioh CC=golang-codereviews https://codereview.appspot.com/106260044
Diffstat (limited to 'misc/cgo/testgodefs/main.go')
-rw-r--r--misc/cgo/testgodefs/main.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/misc/cgo/testgodefs/main.go b/misc/cgo/testgodefs/main.go
new file mode 100644
index 000000000..eaf91bc11
--- /dev/null
+++ b/misc/cgo/testgodefs/main.go
@@ -0,0 +1,12 @@
+// 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.
+
+package main
+
+// Test that the struct field in anonunion.go was promoted.
+var v1 T
+var v2 = v1.L
+
+func main() {
+}