]> Cypherpunks repositories - gostls13.git/commitdiff
Test composite literals with undeclared types. This crashed
authorIan Lance Taylor <iant@golang.org>
Fri, 21 Aug 2009 23:09:17 +0000 (16:09 -0700)
committerIan Lance Taylor <iant@golang.org>
Fri, 21 Aug 2009 23:09:17 +0000 (16:09 -0700)
gccgo in a few different places, and crashes 6g as of this
writing.  Note that the index in a composite literal must be
looked up in a different namespace if the composite literal
type turns out to be a struct.

R=rsc
DELTA=36  (36 added, 0 deleted, 0 changed)
OCL=33681
CL=33685

test/bugs/bug194.go [new file with mode: 0644]
test/golden.out

diff --git a/test/bugs/bug194.go b/test/bugs/bug194.go
new file mode 100644 (file)
index 0000000..5f10144
--- /dev/null
@@ -0,0 +1,32 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG should compile and run
+
+// Copyright 2009 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
+
+var v1 = T1(1)
+var v2 = T2{2}
+var v3 = T3{0:3, 1:4}
+var v4 = T4{0:5, 1:6}
+var v5 = T5{0:7, 1:8}
+var v6 = T2{f:9}
+var v7 = T4{f:10}
+var v8 = T5{f:11}
+var pf func(T1)
+
+func main() {
+       if v1 != 1 || v2.f != 2 || v3[0] != 3 || v3[1] != 4
+          || v4[0] != 5 || v4[1] != 6 || v5[0] != 7 || v5[1] != 8
+          || v6.f != 9 || v7[0] != 10 || v8[0] != 11 {
+               panic()
+       }
+}
+
+type T1 int
+type T2 struct { f int }
+type T3 []int
+type T4 [2]int
+type T5 map[int] int
+const f = 0
index 6dc5cc66a66e9e0435ecd7e32cfc6c4e3fc9bef1..a813eba85f61c9033e3f29c04870b8e2a6872ad8 100644 (file)
@@ -173,3 +173,7 @@ BUG: should compile
 BUG: errchk: bugs/bug193.go:13: error message does not match 'shift'
 bugs/bug193.go:13: fatal error: optoas: no entry LSH-float
 errchk: bugs/bug193.go:14: missing expected error: 'shift'
+
+=========== bugs/bug194.go
+BUG should compile and run
+$RUNFILE: line 1: PID Segmentation fault      (core dumped) $G $D/$F.go