-
Notifications
You must be signed in to change notification settings - Fork 18.3k
Closed
Labels
Description
go version devel go1.17-f53c2fac46 Wed Apr 21 04:27:01 2021 +0000 linux/amd64
It appears that there's still a bit more work to be done on issue #395. This program gives an internal compiler error:
package main
func main() {
Get([]string{"a", "b"})
}
func Get(ss []string) *[2]string {
return (*[2]string)(ss)
}
The stack trace I get is:
<autogenerated>:1: internal compiler error: cannot export SLICE2ARRPTR (21) node
==> please file an issue and assign to gri@
goroutine 1 [running]:
runtime/debug.Stack()
/home/rogpeppe/go/src/runtime/debug/stack.go:24 +0x65
cmd/compile/internal/base.FatalfAt(0xc0001254f0, 0xd4354d, 0xc0005cc820, 0xc0000a9538, 0x3000000c82280, 0x0)
/home/rogpeppe/go/src/cmd/compile/internal/base/print.go:227 +0x157
cmd/compile/internal/base.Fatalf(...)
/home/rogpeppe/go/src/cmd/compile/internal/base/print.go:196
cmd/compile/internal/typecheck.(*exportWriter).expr(0xffffffffffffffeb, 0xe7f0b0, 0xc0001254f0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1833 +0x17d0
cmd/compile/internal/typecheck.(*exportWriter).exprList(0xc0001254a0, 0xc00011c230, 0x1, 0x1)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1442 +0x76
cmd/compile/internal/typecheck.(*exportWriter).stmt(0xc0001254a0, 0xe80438, 0xc0001254a0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1341 +0x83f
cmd/compile/internal/typecheck.(*exportWriter).node(0xc000132270, 0xe80438, 0xc0001254a0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1267 +0x65
cmd/compile/internal/typecheck.(*exportWriter).stmtList(0xc0000a96c0, 0xc00011c210, 0x1, 0xc0000885a0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1260 +0x76
cmd/compile/internal/typecheck.(*exportWriter).funcBody(0xc0000a9710, 0xc00011e2c0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1255 +0x5b
cmd/compile/internal/typecheck.(*iexporter).doInline(0x0, 0xc0001260e4)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:550 +0xc5
cmd/compile/internal/typecheck.(*exportWriter).funcExt(0xe7ff88, 0xc0001320d0)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:1192 +0x13a
cmd/compile/internal/typecheck.(*iexporter).doDecl(0xc0007ea140, 0x4620fb)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:463 +0x16f
cmd/compile/internal/typecheck.WriteExports(0xc0005e0880)
/home/rogpeppe/go/src/cmd/compile/internal/typecheck/iexport.go:279 +0x269
cmd/compile/internal/gc.dumpexport(0xc000377000)
/home/rogpeppe/go/src/cmd/compile/internal/gc/export.go:39 +0x1c5
cmd/compile/internal/gc.dumpCompilerObj(0x7ffdd7019ab4)
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:106 +0x28
cmd/compile/internal/gc.dumpobj1(0x7ffdd7019ab4, 0xc0000a9bdc, 0x3)
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:62 +0x17b
cmd/compile/internal/gc.dumpobj()
/home/rogpeppe/go/src/cmd/compile/internal/gc/obj.go:43 +0x36
cmd/compile/internal/gc.Main(0xd4aae0)
/home/rogpeppe/go/src/cmd/compile/internal/gc/main.go:307 +0x105b
main.main()
/home/rogpeppe/go/src/cmd/compile/main.go:55 +0xdd