
=========== ./cmp2.go
comparing uncomparable type []int
throw: interface compare

panic PC=xxx

=========== ./cmp3.go
comparing uncomparable type map[string] int
throw: interface compare

panic PC=xxx

=========== ./cmp4.go
hash of unhashable type []int
throw: interface hash

panic PC=xxx

=========== ./cmp5.go
hash of unhashable type map[string] int
throw: interface hash

panic PC=xxx

=========== ./helloworld.go
hello, world

=========== ./peano.go
0! = 1
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800

=========== ./printbig.go
-9223372036854775808
9223372036854775807

=========== ./sigchld.go
survived SIGCHLD

=========== ./turing.go
Hello World!

=========== ken/intervar.go
 print 1 bio 2 file 3 -- abc

=========== ken/label.go
100

=========== ken/rob1.go
9876543210

=========== ken/rob2.go
(defn foo (add 12 34))

=========== ken/simpprint.go
hello world

=========== ken/simpswitch.go
0out01out12out2aout34out4fiveout56out6aout78out89out9

=========== ken/string.go
abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz-abcxyz

=========== chan/nonblock.go
PASS

=========== interface/fail.go
cannot convert type *main.S to interface main.I: missing method Foo
throw: interface conversion

panic PC=xxx

=========== interface/returntype.go
cannot convert type *main.S to interface main.I2: missing method Name
throw: interface conversion

panic PC=xxx

=========== bugs/bug132.go
BUG: compilation succeeds incorrectly

=========== bugs/bug136.go
BUG: should not compile

=========== bugs/bug148.go
2 3
5 7
BUG: should crash

=========== bugs/bug159.go
xyz: expected 1 2 3 got 3 2 1
abc: expected 4 5 6 got -4 4 4
BUG: bug159

=========== bugs/bug162.go
123
BUG: should fail

=========== fixedbugs/bug016.go
fixedbugs/bug016.go:7: constant -3 overflows uint

=========== fixedbugs/bug027.go
hi
0 44444
1 3333
2 222
3 11
4 0
0 44444
1 3333
2 222
3 11
4 0

=========== fixedbugs/bug035.go
fixedbugs/bug035.go:6: variable i redeclared in this block
	previous declaration at fixedbugs/bug035.go:5
fixedbugs/bug035.go:7: variable f redeclared in this block
	previous declaration at fixedbugs/bug035.go:5

=========== fixedbugs/bug037.go
fixedbugs/bug037.go:6: vlong: undefined
fixedbugs/bug037.go:6: s: undefined

=========== fixedbugs/bug039.go
fixedbugs/bug039.go:6: variable x redeclared in this block
	previous declaration at fixedbugs/bug039.go:5

=========== fixedbugs/bug049.go
fixedbugs/bug049.go:6: illegal types for operand: EQ
	string
	nil

=========== fixedbugs/bug050.go
fixedbugs/bug050.go:3: package statement must be first

=========== fixedbugs/bug051.go
fixedbugs/bug051.go:10: expression must be a constant

=========== fixedbugs/bug062.go
fixedbugs/bug062.go:6: illegal types for operand: AS
	string
	nil

=========== fixedbugs/bug067.go
ok

=========== fixedbugs/bug068.go
fixedbugs/bug068.go:8: unknown escape sequence: '

=========== fixedbugs/bug070.go
outer loop top k 0
inner loop top i 0
do break
broke

=========== fixedbugs/bug072.go
fixedbugs/bug072.go:6: bug: undefined

=========== fixedbugs/bug073.go
fixedbugs/bug073.go:8: illegal types for operand: LSH
	int
	int
fixedbugs/bug073.go:8: illegal types for operand: AS
	int
fixedbugs/bug073.go:9: illegal types for operand: RSH
	int
	int
fixedbugs/bug073.go:9: illegal types for operand: AS
	int

=========== fixedbugs/bug074.go
fixedbugs/bug074.go:6: invalid type for composite literal: string
fixedbugs/bug074.go:6: invalid type for composite literal: string

=========== fixedbugs/bug081.go
fixedbugs/bug081.go:5: x is not a type

=========== fixedbugs/bug083.go
fixedbugs/bug083.dir/bug1.go:9: cannot use type bug0.t0

=========== fixedbugs/bug086.go
fixedbugs/bug086.go:5: function ends without a return statement

=========== fixedbugs/bug091.go
fixedbugs/bug091.go:15: c: undefined
fixedbugs/bug091.go:15: illegal types for operand: AS
	undefined

=========== fixedbugs/bug093.go
M

=========== fixedbugs/bug103.go
fixedbugs/bug103.go:8: assignment count mismatch: 1 = 0
fixedbugs/bug103.go:8: x: undefined
fixedbugs/bug103.go:8: function requires a return type
fixedbugs/bug103.go:8: illegal types for operand: AS
	int

=========== fixedbugs/bug113.go
interface is int, not int32
throw: interface conversion

panic PC=xxx

=========== fixedbugs/bug121.go
fixedbugs/bug121.go:9: syntax error near T
fixedbugs/bug121.go:20: incomplete type I
fixedbugs/bug121.go:20: illegal types for operand: AS
	I
	*S

=========== fixedbugs/bug131.go
fixedbugs/bug131.go:7: cannot convert uint64 constant to int64
fixedbugs/bug131.go:7: illegal types for operand: AS
	int64
	uint64

=========== fixedbugs/bug133.go
fixedbugs/bug133.dir/bug2.go:11: undefined DOT i on bug0.T
fixedbugs/bug133.dir/bug2.go:11: illegal types for operand: RETURN
	int
