]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/gc: fix missing slice/array types in export data.
authorRémy Oudompheng <oudomphe@phare.normalesup.org>
Tue, 4 Jun 2013 06:18:36 +0000 (08:18 +0200)
committerRémy Oudompheng <oudomphe@phare.normalesup.org>
Tue, 4 Jun 2013 06:18:36 +0000 (08:18 +0200)
Fixes #5614.

R=golang-dev
CC=golang-dev
https://golang.org/cl/9953044

src/cmd/gc/export.c
test/fixedbugs/issue5614.dir/rethinkgo.go [new file with mode: 0644]
test/fixedbugs/issue5614.dir/x.go [new file with mode: 0644]
test/fixedbugs/issue5614.dir/y.go [new file with mode: 0644]
test/fixedbugs/issue5614.go [new file with mode: 0644]

index d7b46b11454a37de9372196b18336f89151823c6..4a9b8c8ba31c6e70e0a39d4f02702315f5b2a90c 100644 (file)
@@ -164,6 +164,7 @@ reexportdep(Node *n)
        case ODOTTYPE:
        case ODOTTYPE2:
        case OSTRUCTLIT:
+       case OARRAYLIT:
        case OPTRLIT:
        case OMAKEMAP:
        case OMAKESLICE:
diff --git a/test/fixedbugs/issue5614.dir/rethinkgo.go b/test/fixedbugs/issue5614.dir/rethinkgo.go
new file mode 100644 (file)
index 0000000..4ae66d6
--- /dev/null
@@ -0,0 +1,16 @@
+package rethinkgo
+
+type Session struct {
+}
+
+func (s *Session) Run(query Exp) *int { return nil }
+
+type List []interface{}
+
+type Exp struct {
+       args []interface{}
+}
+
+func (e Exp) UseOutdated(useOutdated bool) Exp {
+       return Exp{args: List{e, useOutdated}}
+}
diff --git a/test/fixedbugs/issue5614.dir/x.go b/test/fixedbugs/issue5614.dir/x.go
new file mode 100644 (file)
index 0000000..7e4f3a7
--- /dev/null
@@ -0,0 +1,7 @@
+package x
+
+import "./rethinkgo"
+
+var S *rethinkgo.Session
+
+
diff --git a/test/fixedbugs/issue5614.dir/y.go b/test/fixedbugs/issue5614.dir/y.go
new file mode 100644 (file)
index 0000000..97cc93a
--- /dev/null
@@ -0,0 +1,5 @@
+package y
+
+import "./x"
+
+var T = x.S
diff --git a/test/fixedbugs/issue5614.go b/test/fixedbugs/issue5614.go
new file mode 100644 (file)
index 0000000..f2518d2
--- /dev/null
@@ -0,0 +1,11 @@
+// compiledir
+
+// Copyright 2013 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 5614: exported data for inlining may miss
+// named types when used in implicit conversion to
+// their underlying type.
+
+package ignored