clean up some tests

R=rsc
DELTA=10  (1 added, 2 deleted, 7 changed)
OCL=22033
CL=22033
diff --git a/test/fixedbugs/bug027.go b/test/fixedbugs/bug027.go
index d15da9c..428a4b6 100644
--- a/test/fixedbugs/bug027.go
+++ b/test/fixedbugs/bug027.go
@@ -17,7 +17,7 @@
 func New() *Vector {
 	v := new(*Vector);
 	v.nelem = 0;
-	v.elem = new([10]Element);
+	v.elem = new([]Element, 10);
 	return v;
 }
 
@@ -30,9 +30,8 @@
 	v.nelem++;
 }
 
-type I struct { val int; };  // BUG: can't be local;
-
 func main() {
+	type I struct { val int; };
 	i0 := new(*I); i0.val = 0;
 	i1 := new(*I); i1.val = 11;
 	i2 := new(*I); i2.val = 222;
diff --git a/test/fixedbugs/bug045.go b/test/fixedbugs/bug045.go
index d8a712c..37c17c1 100644
--- a/test/fixedbugs/bug045.go
+++ b/test/fixedbugs/bug045.go
@@ -13,7 +13,7 @@
 func main() {
 	var ta []*T;
 
-	ta = new([1]*T);
+	ta = *new(*[1]*T);	// TODO: the first * shouldn't be necessary
 	ta[0] = nil;
 }
 /*
diff --git a/test/fixedbugs/bug054.go b/test/fixedbugs/bug054.go
index 2caff0f..c121fb5 100644
--- a/test/fixedbugs/bug054.go
+++ b/test/fixedbugs/bug054.go
@@ -31,7 +31,7 @@
 
 func main() {
 	v := new(*Vector);
-	v.elem = new([10]Element);
+	v.elem = new([]Element, 10);
 	t := new(*TStruct);
 	t.name = "hi";
 	v.elem[0] = t;
diff --git a/test/fixedbugs/bug097.go b/test/fixedbugs/bug097.go
index 2137683..fe5fd4b 100644
--- a/test/fixedbugs/bug097.go
+++ b/test/fixedbugs/bug097.go
@@ -9,9 +9,9 @@
 type A []int;
 
 func main() {
-	var a [3]*A;
+	var a [3]A;
 	for i := 0; i < 3; i++ {
-		a[i] = &A{i};
+		a[i] = A{i};
 	}
 	if a[0][0] != 0 { panic(); }
 	if a[1][0] != 1 { panic(); }
diff --git a/test/fixedbugs/bug119.go b/test/fixedbugs/bug119.go
index e565cff..8e51ef2 100644
--- a/test/fixedbugs/bug119.go
+++ b/test/fixedbugs/bug119.go
@@ -7,14 +7,14 @@
 package main
 
 func foo(a []int) int {
-	return (*a)[0]  // this seesm to do the wrong thing
+	return a[0]  // this seems to do the wrong thing
 }
 
 func main() {
 	a := &[]int{12};
 	if x := a[0]   ; x != 12 { panicln(1) }
 	if x := (*a)[0]; x != 12 { panicln(2) }
-	if x := foo(a) ; x != 12 { panicln(3) }  // fails (x is incorrect)
+	if x := foo(*a) ; x != 12 { panicln(3) }  // fails (x is incorrect)
 }
 
 /*