add bug045: bad nil assigning into array
update robfunc.go (BUG comment deleted)
SVN=122143
diff --git a/test/bugs/bug045.go b/test/bugs/bug045.go
new file mode 100644
index 0000000..d6ec0f1
--- /dev/null
+++ b/test/bugs/bug045.go
@@ -0,0 +1,21 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out
+
+// 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
+
+type T struct {
+ i int
+}
+
+func main() {
+ var ta *[]T;
+
+ ta = new([1]T);
+ ta[0] = nil;
+}
+/*
+bug045.go:13: fatal error: goc: exit 1
+*/
diff --git a/test/golden.out b/test/golden.out
index f1d3e43..07a0729 100644
--- a/test/golden.out
+++ b/test/golden.out
@@ -67,8 +67,6 @@
=========== ken/litfun.go
=========== ken/mfunc.go
-ken/mfunc.go:13: function call must be single valued (2)
-BUG: known to fail incorrectly
=========== ken/ptrfun.go
@@ -82,10 +80,6 @@
=========== ken/robfor.go
=========== ken/robfunc.go
-ken/robfunc.go:74: function call must be single valued (2)
-ken/robfunc.go:79: function call must be single valued (2)
-ken/robfunc.go:84: function call must be single valued (2)
-BUG: known to fail incorrectly
=========== ken/robif.go
@@ -242,6 +236,10 @@
bugs/bug044.go:23: error in shape across assignment
BUG: compilation should succeed
+=========== bugs/bug045.go
+bugs/bug045.go:13: fatal error: naddr: const <T>{<i><int32>INT32;}
+BUG: known to fail incorrectly
+
=========== fixedbugs/bug000.go
=========== fixedbugs/bug005.go
diff --git a/test/ken/robfunc.go b/test/ken/robfunc.go
index addd05b..c6b1a10c 100644
--- a/test/ken/robfunc.go
+++ b/test/ken/robfunc.go
@@ -54,11 +54,9 @@
func f9(a int) (i int, f float) {
-// BUG funny return value
i := 9;
f := float(9);
return i, f;
-// return;
}
@@ -83,14 +81,14 @@
r8, s8 = f8(1);
assertequal(r8, 8, "r8");
assertequal(int(s8), 8, "s8");
- var r9 int;
- var s9 float;
- r9, s9 = f9(1);
- assertequal(r9, 9, "r9");
- assertequal(int(s9), 9, "s9");
- var t *T = new(T);
- t.x = 1;
- t.y = 2;
- r10 := t.m10(1, 3.0);
- assertequal(r10, 10, "10");
+ var r9 int;
+ var s9 float;
+ r9, s9 = f9(1);
+ assertequal(r9, 9, "r9");
+ assertequal(int(s9), 9, "s9");
+ var t *T = new(T);
+ t.x = 1;
+ t.y = 2;
+ r10 := t.m10(1, 3.0);
+ assertequal(r10, 10, "10");
}