]> Cypherpunks repositories - gostls13.git/commitdiff
test: match gccgo error messages
authorIan Lance Taylor <iant@golang.org>
Fri, 27 Jan 2012 07:06:47 +0000 (23:06 -0800)
committerIan Lance Taylor <iant@golang.org>
Fri, 27 Jan 2012 07:06:47 +0000 (23:06 -0800)
complit1.go:37:34: error: may only omit types within composite literals of slice, array, or map type
complit1.go:38:19: error: may only omit types within composite literals of slice, array, or map type
complit1.go:18:21: error: slice of unaddressable value
complit1.go:19:10: error: slice of unaddressable value
complit1.go:20:9: error: slice of unaddressable value

convert1.go:28:13: error: invalid type conversion
convert1.go:32:12: error: invalid type conversion (cannot use type string as type Tint64)
convert1.go:36:12: error: invalid type conversion
convert1.go:37:13: error: invalid type conversion
convert1.go:40:11: error: invalid type conversion
convert1.go:41:12: error: invalid type conversion
convert1.go:44:12: error: invalid type conversion
convert1.go:46:13: error: invalid type conversion
convert1.go:48:11: error: invalid type conversion
convert1.go:50:12: error: invalid type conversion
convert1.go:52:6: error: invalid type conversion
convert1.go:53:12: error: invalid type conversion
convert1.go:54:12: error: invalid type conversion
convert1.go:56:13: error: invalid type conversion
convert1.go:57:11: error: invalid type conversion
convert1.go:58:11: error: invalid type conversion
convert1.go:64:13: error: invalid type conversion
convert1.go:68:12: error: invalid type conversion (cannot use type Tstring as type Tint64)
convert1.go:72:12: error: invalid type conversion
convert1.go:73:13: error: invalid type conversion
convert1.go:76:11: error: invalid type conversion (cannot use type Tbyte as type Trune)
convert1.go:77:12: error: invalid type conversion (cannot use type Tbyte as type Tint64)
convert1.go:80:12: error: invalid type conversion
convert1.go:82:13: error: invalid type conversion
convert1.go:84:11: error: invalid type conversion (cannot use type Trune as type Tbyte)
convert1.go:86:12: error: invalid type conversion (cannot use type Trune as type Tint64)
convert1.go:88:6: error: invalid type conversion (cannot use type Tint64 as type string)
convert1.go:89:12: error: invalid type conversion
convert1.go:90:12: error: invalid type conversion
convert1.go:92:13: error: invalid type conversion (cannot use type Tint64 as type Tstring)
convert1.go:93:11: error: invalid type conversion (cannot use type Tint64 as type Tbyte)
convert1.go:94:11: error: invalid type conversion (cannot use type Tint64 as type Trune)

fixedbugs/bug195.go:9:21: error: interface contains embedded non-interface
fixedbugs/bug195.go:12:21: error: interface contains embedded non-interface
fixedbugs/bug195.go:15:15: error: interface contains embedded non-interface
fixedbugs/bug195.go:18:2: error: invalid recursive interface
fixedbugs/bug195.go:26:2: error: invalid recursive interface
fixedbugs/bug195.go:22:2: error: invalid recursive interface

fixedbugs/bug251.go:15:2: error: invalid recursive interface
fixedbugs/bug251.go:11:2: error: invalid recursive interface

fixedbugs/bug374.go:18:34: error: use of undefined type ‘xxxx’
fixedbugs/bug374.go:16:5: error: incompatible type in initialization (incompatible type for method ‘m’ (different number of parameters))

fixedbugs/bug383.go:11:2: error: expected boolean expression
fixedbugs/bug383.go:12:2: error: expected boolean expression

fixedbugs/bug386.go:10:25: error: incompatible type for return value 1 (type has no methods)
fixedbugs/bug386.go:12:25: error: incompatible type for return value 1 (type has no methods)

fixedbugs/bug388.go:12:10: error: invalid named/anonymous mix
fixedbugs/bug388.go:17:19: error: non-name on left side of ‘:=’
fixedbugs/bug388.go:22:9: error: non-name on left side of ‘:=’
fixedbugs/bug388.go:27:10: error: expected type
fixedbugs/bug388.go:32:9: error: expected type
fixedbugs/bug388.go:23:14: error: reference to field ‘i’ in object which has no fields or methods
fixedbugs/bug388.go:18:18: error: invalid use of type

fixedbugs/bug389.go:12:5: error: incompatible type in initialization (different parameter types)

fixedbugs/bug390.go:15:24: error: expected integer, floating, or complex type

fixedbugs/bug394.go:10:1: error: expected declaration

fixedbugs/bug397.go:12:2: error: incompatible type for element 2 key in map construction

switch3.go:18:2: error: incompatible types in binary expression
switch3.go:22:2: error: incompatible types in binary expression
switch3.go:28:2: error: map can only be compared to nil
switch3.go:35:2: error: slice can only be compared to nil
switch3.go:42:2: error: func can only be compared to nil

syntax/else.go:11:9: error: expected ‘if’ or ‘{’

typeswitch2.go:15:2: error: duplicate type in switch
typeswitch2.go:19:2: error: duplicate type in switch
typeswitch2.go:26:2: error: duplicate type in switch
typeswitch2.go:40:9: error: ‘t’ declared and not used

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5573073

15 files changed:
test/complit1.go
test/convert1.go
test/fixedbugs/bug195.go
test/fixedbugs/bug251.go
test/fixedbugs/bug374.go
test/fixedbugs/bug383.go
test/fixedbugs/bug386.go
test/fixedbugs/bug388.go
test/fixedbugs/bug389.go
test/fixedbugs/bug390.go
test/fixedbugs/bug394.go
test/fixedbugs/bug397.go
test/switch3.go
test/syntax/else.go
test/typeswitch2.go

index aaf701f73f7153ee3212ebb43ab8617713bfd084..cd543930eef7ef1f264bfce9aea9bd9d83e68c81 100644 (file)
@@ -34,6 +34,6 @@ type T struct {
 
 var (
        _ = &T{0, 0, "", nil}               // ok
-       _ = &T{i: 0, f: 0, s: "", next: {}} // ERROR "missing type in composite literal"
-       _ = &T{0, 0, "", {}}                // ERROR "missing type in composite literal"
+       _ = &T{i: 0, f: 0, s: "", next: {}} // ERROR "missing type in composite literal|omit types within composite literal"
+       _ = &T{0, 0, "", {}}                // ERROR "missing type in composite literal|omit types within composite literal"
 )
index 9de1b7e0170ed23503c55b83ba7b88b95f953aef..bbd0c5f2b06364cde6112645571aee732be79178 100644 (file)
@@ -25,72 +25,72 @@ func main() {
        _ = string(s)
        _ = []byte(s)
        _ = []rune(s)
-       _ = []int64(s) // ERROR "cannot convert.*\[\]int64"
+       _ = []int64(s) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(s)
        _ = Tbyte(s)
        _ = Trune(s)
-       _ = Tint64(s) // ERROR "cannot convert.*Tint64"
+       _ = Tint64(s) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
        _ = string(sb)
        _ = []byte(sb)
-       _ = []rune(sb)  // ERROR "cannot convert.*\[\]rune"
-       _ = []int64(sb) // ERROR "cannot convert.*\[\]int64"
+       _ = []rune(sb)  // ERROR "cannot convert.*\[\]rune|invalid type conversion"
+       _ = []int64(sb) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(sb)
        _ = Tbyte(sb)
-       _ = Trune(sb)  // ERROR "cannot convert.*Trune"
-       _ = Tint64(sb) // ERROR "cannot convert.*Tint64"
+       _ = Trune(sb)  // ERROR "cannot convert.*Trune|invalid type conversion"
+       _ = Tint64(sb) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
        _ = string(sr)
-       _ = []byte(sr) // ERROR "cannot convert.*\[\]byte"
+       _ = []byte(sr) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
        _ = []rune(sr)
-       _ = []int64(sr) // ERROR "cannot convert.*\[\]int64"
+       _ = []int64(sr) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(sr)
-       _ = Tbyte(sr) // ERROR "cannot convert.*Tbyte"
+       _ = Tbyte(sr) // ERROR "cannot convert.*Tbyte|invalid type conversion"
        _ = Trune(sr)
-       _ = Tint64(sr) // ERROR "cannot convert.*Tint64"
+       _ = Tint64(sr) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
-       _ = string(si) // ERROR "cannot convert.* string"
-       _ = []byte(si) // ERROR "cannot convert.*\[\]byte"
-       _ = []rune(si) // ERROR "cannot convert.*\[\]rune"
+       _ = string(si) // ERROR "cannot convert.* string|invalid type conversion"
+       _ = []byte(si) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
+       _ = []rune(si) // ERROR "cannot convert.*\[\]rune|invalid type conversion"
        _ = []int64(si)
-       _ = Tstring(si) // ERROR "cannot convert.*Tstring"
-       _ = Tbyte(si)   // ERROR "cannot convert.*Tbyte"
-       _ = Trune(si)   // ERROR "cannot convert.*Trune"
+       _ = Tstring(si) // ERROR "cannot convert.*Tstring|invalid type conversion"
+       _ = Tbyte(si)   // ERROR "cannot convert.*Tbyte|invalid type conversion"
+       _ = Trune(si)   // ERROR "cannot convert.*Trune|invalid type conversion"
        _ = Tint64(si)
 
        _ = string(ts)
        _ = []byte(ts)
        _ = []rune(ts)
-       _ = []int64(ts) // ERROR "cannot convert.*\[\]int64"
+       _ = []int64(ts) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(ts)
        _ = Tbyte(ts)
        _ = Trune(ts)
-       _ = Tint64(ts) // ERROR "cannot convert.*Tint64"
+       _ = Tint64(ts) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
        _ = string(tsb)
        _ = []byte(tsb)
-       _ = []rune(tsb)  // ERROR "cannot convert.*\[\]rune"
-       _ = []int64(tsb) // ERROR "cannot convert.*\[\]int64"
+       _ = []rune(tsb)  // ERROR "cannot convert.*\[\]rune|invalid type conversion"
+       _ = []int64(tsb) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(tsb)
        _ = Tbyte(tsb)
-       _ = Trune(tsb)  // ERROR "cannot convert.*Trune"
-       _ = Tint64(tsb) // ERROR "cannot convert.*Tint64"
+       _ = Trune(tsb)  // ERROR "cannot convert.*Trune|invalid type conversion"
+       _ = Tint64(tsb) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
        _ = string(tsr)
-       _ = []byte(tsr) // ERROR "cannot convert.*\[\]byte"
+       _ = []byte(tsr) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
        _ = []rune(tsr)
-       _ = []int64(tsr) // ERROR "cannot convert.*\[\]int64"
+       _ = []int64(tsr) // ERROR "cannot convert.*\[\]int64|invalid type conversion"
        _ = Tstring(tsr)
-       _ = Tbyte(tsr) // ERROR "cannot convert.*Tbyte"
+       _ = Tbyte(tsr) // ERROR "cannot convert.*Tbyte|invalid type conversion"
        _ = Trune(tsr)
-       _ = Tint64(tsr) // ERROR "cannot convert.*Tint64"
+       _ = Tint64(tsr) // ERROR "cannot convert.*Tint64|invalid type conversion"
 
-       _ = string(tsi) // ERROR "cannot convert.* string"
-       _ = []byte(tsi) // ERROR "cannot convert.*\[\]byte"
-       _ = []rune(tsi) // ERROR "cannot convert.*\[\]rune"
+       _ = string(tsi) // ERROR "cannot convert.* string|invalid type conversion"
+       _ = []byte(tsi) // ERROR "cannot convert.*\[\]byte|invalid type conversion"
+       _ = []rune(tsi) // ERROR "cannot convert.*\[\]rune|invalid type conversion"
        _ = []int64(tsi)
-       _ = Tstring(tsi) // ERROR "cannot convert.*Tstring"
-       _ = Tbyte(tsi)   // ERROR "cannot convert.*Tbyte"
-       _ = Trune(tsi)   // ERROR "cannot convert.*Trune"
+       _ = Tstring(tsi) // ERROR "cannot convert.*Tstring|invalid type conversion"
+       _ = Tbyte(tsi)   // ERROR "cannot convert.*Tbyte|invalid type conversion"
+       _ = Trune(tsi)   // ERROR "cannot convert.*Trune|invalid type conversion"
        _ = Tint64(tsi)
 }
index 65ab02a0393311faefcec29775e1554e8d7adcd6..d8e112a3a6822dd82c61c95914ca6385ca7ee2fe 100644 (file)
@@ -23,5 +23,5 @@ type I5 interface {
 }
 
 type I6 interface {
-       I5      // GC_ERROR "interface"
+       I5      // ERROR "interface"
 }
index 385f28dd4dacec5984607efaeae78bef2fd0f701..d2ee6fb29dbe3b5358151a39585fab283ff6be92 100644 (file)
@@ -12,7 +12,7 @@ type I1 interface {
 }
 
 type I2 interface {
-       I1 // GC_ERROR "loop|interface"
+       I1 // ERROR "loop|interface"
 }
 
 
index 2e6f27adcdffbc27fd02be76a8544ed3c5a3ec92..b55c5df4567ca77f1c66ea3abab451f1d9eb3448 100644 (file)
@@ -13,8 +13,8 @@ type I interface {
 
 type T int
 
-var _ I = T(0)
+var _ I = T(0) // GCCGO_ERROR "incompatible"
 
 func (T) m(buf []byte) (a int, b xxxx) {  // ERROR "xxxx"
        return 0, nil
-}
\ No newline at end of file
+}
index 9dccff590e5af032e9fb591b24400c94f5eaca7b..181a897b63d42f82b96db769f67e2be468591498 100644 (file)
@@ -8,6 +8,6 @@
 
 package main
 func main() {
-       if 2e9 { }      // ERROR "2e.09"
-       if 3.14+1i { }  // ERROR "3.14 . 1i"
-}
\ No newline at end of file
+       if 2e9 { }      // ERROR "2e.09|expected bool"
+       if 3.14+1i { }  // ERROR "3.14 . 1i|expected bool"
+}
index 85b8d308245ca7eaf42dead116774b3cd86c185c..b42c07073b03946c4ad58ab9dea057b82002fa3b 100644 (file)
@@ -7,6 +7,6 @@
 // Issue 2451, 2452 
 package foo
 
-func f() error { return 0 } // ERROR "cannot use 0 .type int."
+func f() error { return 0 } // ERROR "cannot use 0 .type int.|has no methods"
 
-func g() error { return -1 }  // ERROR "cannot use -1 .type int."
\ No newline at end of file
+func g() error { return -1 }  // ERROR "cannot use -1 .type int.|has no methods"
index d480e852f09739aced56aa12f2e9d374ca1b6f7e..1459285b2fab841107071639c6bbf273041c38b7 100644 (file)
@@ -9,27 +9,27 @@
 package main
 import "runtime"
 
-func foo(runtime.UintType, i int) {  // ERROR "cannot declare name runtime.UintType"
+func foo(runtime.UintType, i int) {  // ERROR "cannot declare name runtime.UintType|named/anonymous mix"
        println(i, runtime.UintType) 
 }
 
 func bar(i int) {
-       runtime.UintType := i       // ERROR "cannot declare name runtime.UintType"
-       println(runtime.UintType)
+       runtime.UintType := i       // ERROR "cannot declare name runtime.UintType|non-name on left side"
+       println(runtime.UintType)       // GCCGO_ERROR "invalid use of type"
 }
 
 func baz() {
-       main.i := 1     // ERROR "non-name main.i"
-       println(main.i)
+       main.i := 1     // ERROR "non-name main.i|non-name on left side"
+       println(main.i) // GCCGO_ERROR "no fields or methods"
 }
 
 func qux() {
-       var main.i      // ERROR "unexpected [.]"
+       var main.i      // ERROR "unexpected [.]|expected type"
        println(main.i)
 }
 
 func corge() {
-       var foo.i int  // ERROR "unexpected [.]"
+       var foo.i int  // ERROR "unexpected [.]|expected type"
        println(foo.i)
 }
 
index 40d6c419cfed898c886de40d3c44aa6e5895f504..ecbbbdd585e8fe4c04ac34e1f127ab3014b38d9d 100644 (file)
@@ -9,4 +9,4 @@ package foo
 
 func fn(a float32) {}
 
-var f func(arg int) = fn  // ERROR "cannot use fn .type func.float32.. as type func.int. in assignment"
\ No newline at end of file
+var f func(arg int) = fn  // ERROR "cannot use fn .type func.float32.. as type func.int. in assignment|different parameter types"
index 9ee5bc9d6cdcdb613c11c9e8562ac6a6436e4a5f..31c4dd40babb829eef8dc13350c5c535c00451ef 100644 (file)
@@ -12,5 +12,5 @@ import "unsafe"
 
 func main() {
        var x *int
-       _ = unsafe.Pointer(x) - unsafe.Pointer(x) // ERROR "operator - not defined on unsafe.Pointer"
+       _ = unsafe.Pointer(x) - unsafe.Pointer(x) // ERROR "operator - not defined on unsafe.Pointer|expected integer, floating, or complex type"
 }
index 4d0f090bcd7b25124c8a35269418bc5eac36bbf2..42c20e7a9188c797922389d47ef38e178489e15e 100644 (file)
@@ -7,4 +7,4 @@
 // Issue 2598
 package foo
 
-return nil // ERROR "non-declaration statement outside function body"
+return nil // ERROR "non-declaration statement outside function body|expected declaration"
index cc8bfc017e331e284d6da5be249878518a17aff8..03957013023af0051c2962c0ba0a8452fded3d26 100644 (file)
@@ -9,5 +9,5 @@ package main
 // Issue 2623
 var m = map[string]int {
        "abc":1,
-       1:2, // ERROR "cannot use 1.*as type string in map key"
+       1:2, // ERROR "cannot use 1.*as type string in map key|incompatible type"
 }
index e91499db096a1732f9dfc7205e0fc49b736505d5..6c9ebfe6d48ee9ef7bbd7459d1f0a4cf0412dd76 100644 (file)
@@ -15,31 +15,31 @@ func bad() {
        var s string
 
        switch i {
-       case s: // ERROR "mismatched types string and I"
+       case s: // ERROR "mismatched types string and I|incompatible types"
        }
 
        switch s {
-       case i: // ERROR "mismatched types I and string"
+       case i: // ERROR "mismatched types I and string|incompatible types"
        }
 
        var m, m1 map[int]int
        switch m {
        case nil:
-       case m1: // ERROR "can only compare map m to nil"
+       case m1: // ERROR "can only compare map m to nil|map can only be compared to nil"
        default:
        }
 
        var a, a1 []int
        switch a {
        case nil:
-       case a1: // ERROR "can only compare slice a to nil"
+       case a1: // ERROR "can only compare slice a to nil|slice can only be compared to nil"
        default:
        }
 
        var f, f1 func()
        switch f {
        case nil:
-       case f1: // ERROR "can only compare func f to nil"
+       case f1: // ERROR "can only compare func f to nil|func can only be compared to nil"
        default:
        }
 }
index 186d5959a8cef2d8fb2f9337d418a3c59005767a..99595254fd4877a402b77f3bbfe217d2d24b50a6 100644 (file)
@@ -8,5 +8,5 @@ package main
 
 func main() {
        if true {
-       } else ;  // ERROR "else must be followed by if or statement block"
+       } else ;  // ERROR "else must be followed by if or statement block|expected .if. or .{."
 }
index 57c5a18ab2da952bbfac1007252c12583955ea1a..3e3acdae37747a6337d075ec9421505dc7f7111d 100644 (file)
@@ -23,10 +23,10 @@ func whatis(x interface{}) string {
                w()
        }:
                return "rw"
-       case interface {
+       case interface {        // GCCGO_ERROR "duplicate"
                w()
                r()
-       }: // ERROR "duplicate"
+       }: // GC_ERROR "duplicate"
                return "wr"
 
        }