]> Cypherpunks repositories - gostls13.git/commitdiff
extend composite literal test.
authorRob Pike <r@golang.org>
Thu, 4 Sep 2008 20:35:19 +0000 (13:35 -0700)
committerRob Pike <r@golang.org>
Thu, 4 Sep 2008 20:35:19 +0000 (13:35 -0700)
update tests.
update golden.out

R=gri
OCL=14816
CL=14816

test/complit.go
test/fixedbugs/bug081.go [moved from test/bugs/bug081.go with 100% similarity]
test/golden.out

index bba690cfe407be20f7b79de9f47f9e4fc49d5f9a..21bf8e4a71867e4244e776972776c1dc174fd280 100644 (file)
@@ -8,6 +8,20 @@ package main
 
 type T struct { i int; f float; s string; next *T }
 
+type R struct { num int }
+
+func itor(a int) *R {
+       r := new(R);
+       r.num = a;
+       return r;
+}
+
+func eq(a *[]*R) {
+       for i := 0; i < len(a); i++ {
+               if a[i].num != i { panic("bad") }
+       }
+}
+
 func main() {
        var t T;
        t = T(0, 7.2, "hi", &t);
@@ -18,7 +32,7 @@ func main() {
        a1 := []int(1,2,3);
        if len(a1) != 3 { panic("a1") }
        a2 := [10]int(1,2,3);
-       if len(a2) != 10 || a2[3] != 0 { panic("a2") }
+       if len(a2) != 10 || cap(a2) != 10 { panic("a2") }
        //a3 := [10]int(1,2,3,);  // BUG: trailing commas not allowed
        //if len(a3) != 10 || a2[3] != 0 { panic("a3") }
 
@@ -41,4 +55,6 @@ func main() {
 
        m := map[string]float("one":1.0, "two":2.0, "pi":22./7.);
        if len(m) != 3 { panic("m") }
+
+       eq(&[]*R(itor(0), itor(1), itor(2), itor(3), itor(4), itor(5)));
 }
similarity index 100%
rename from test/bugs/bug081.go
rename to test/fixedbugs/bug081.go
index fd062fa9a7019717c36aee0d52f14bc0ce9d10d3..003ef0aafe2fbc72b8b6c2adc10a485c23f64450 100644 (file)
@@ -112,11 +112,6 @@ bugs/bug080.go:12: illegal types for operand: CALL
        ({<x><int32>INT32;<y><float32>FLOAT32;})
 BUG: fails incorrectly
 
-=========== bugs/bug081.go
-bugs/bug081.go:5: first constant must evaluate an expression
-BUG: compiler should not crash
-Bus error               $G $D/$F.go
-
 =========== bugs/bug083.go
 BUG: succeeds incorrectly
 
@@ -212,5 +207,8 @@ fixedbugs/bug073.go:9: illegal types for operand: RSH
        (<int32>INT32)
        (<int32>INT32)
 
+=========== fixedbugs/bug081.go
+fixedbugs/bug081.go:5: syntax error
+
 =========== fixedbugs/bug091.go
 fixedbugs/bug091.go:14: label exit not defined