diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-01-17 12:40:45 +0100 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-01-17 12:40:45 +0100 |
commit | 3e45412327a2654a77944249962b3652e6142299 (patch) | |
tree | bc3bf69452afa055423cbe0c5cfa8ca357df6ccf /test/bugs | |
parent | c533680039762cacbc37db8dc7eed074c3e497be (diff) | |
download | golang-upstream/2011.01.12.tar.gz |
Imported Upstream version 2011.01.12upstream/2011.01.12
Diffstat (limited to 'test/bugs')
-rw-r--r-- | test/bugs/bug260.go | 55 | ||||
-rw-r--r-- | test/bugs/bug274.go | 29 | ||||
-rw-r--r-- | test/bugs/bug286.go | 94 |
3 files changed, 0 insertions, 178 deletions
diff --git a/test/bugs/bug260.go b/test/bugs/bug260.go deleted file mode 100644 index 6a6331e65..000000000 --- a/test/bugs/bug260.go +++ /dev/null @@ -1,55 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug260 failed - -// Test that structures pack densely, according to the alignment of the largest field. - -package main - -import ( - "fmt" - "os" - "strconv" -) - -type T1 struct { x uint8 } -type T2 struct { x uint16 } -type T4 struct { x uint32 } - -func main() { - report := len(os.Args) > 1 - status := 0 - var b1 [10]T1 - a0, _ := strconv.Btoui64(fmt.Sprintf("%p", &b1[0])[2:], 16) - a1, _ := strconv.Btoui64(fmt.Sprintf("%p", &b1[1])[2:], 16) - if a1 != a0 + 1 { - fmt.Println("FAIL") - if report { - fmt.Println("alignment should be 1, is", a1-a0) - } - status = 1 - } - var b2 [10]T2 - a0, _ = strconv.Btoui64(fmt.Sprintf("%p", &b2[0])[2:], 16) - a1, _ = strconv.Btoui64(fmt.Sprintf("%p", &b2[1])[2:], 16) - if a1 != a0 + 2 { - if status == 0 { - fmt.Println("FAIL") - status = 1 - } - if report { - fmt.Println("alignment should be 2, is", a1-a0) - } - } - var b4 [10]T4 - a0, _ = strconv.Btoui64(fmt.Sprintf("%p", &b4[0])[2:], 16) - a1, _ = strconv.Btoui64(fmt.Sprintf("%p", &b4[1])[2:], 16) - if a1 != a0 + 4 { - if status == 0 { - fmt.Println("FAIL") - status = 1 - } - if report { - fmt.Println("alignment should be 4, is", a1-a0) - } - } - os.Exit(status) -} diff --git a/test/bugs/bug274.go b/test/bugs/bug274.go deleted file mode 100644 index 621f31eed..000000000 --- a/test/bugs/bug274.go +++ /dev/null @@ -1,29 +0,0 @@ -// errchk $G $D/$F.go - -// Copyright 2010 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. - -// 6g accepts the program below even though it is syntactically incorrect: -// Each statement in the list of statements for each case clause must be -// terminated with a semicolon. No semicolon is present for the labeled -// statements and because the last token is a colon ":", no semicolon is -// inserted automatically. -// -// Both gccgo and gofmt correctly refuse this program as is and accept it -// when the semicolons are present. - -// This is a test case for issue 777 ( http://code.google.com/p/go/issues/detail?id=777 ). - -package main - -func main() { - switch 0 { - case 0: - L0: // ERROR "statement" - case 1: - L1: // ERROR "statement" - default: - L2: // correct since no semicolon is required before a '}' - } -} diff --git a/test/bugs/bug286.go b/test/bugs/bug286.go deleted file mode 100644 index 94423be81..000000000 --- a/test/bugs/bug286.go +++ /dev/null @@ -1,94 +0,0 @@ -// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: bug286 failed - -// Copyright 2010 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. - -// Test case for issue 849. - -package main - -type I interface { - f() -} - - -var callee string -var error bool - -type T int - -func (t *T) f() { callee = "f" } -func (i *T) g() { callee = "g" } - - -// test1 and test2 are the same except that in the interface J -// the entries are swapped. test2 and test3 are the same except -// that in test3 the interface J is declared outside the function. -// -// Error: test2 calls g instead of f - -func test1(x I) { - type J interface { - I - g() - } - x.(J).f() - if callee != "f" { - println("test1 called", callee) - error = true - } -} - - -func test2(x I) { - type J interface { - g() - I - } - x.(J).f() - if callee != "f" { - println("test2 called", callee) - error = true - } -} - - -type J interface { - g() - I -} - -func test3(x I) { - x.(J).f() - if callee != "f" { - println("test3 called", callee) - error = true - } -} - -func main() { - x := new(T) - test1(x) - test2(x) - test3(x) - if error { - panic("wrong method called") - } -} - -/* -6g bug286.go && 6l bug286.6 && 6.out -test2 called g -panic: wrong method called - -panic PC=0x24e040 -runtime.panic+0x7c /home/gri/go1/src/pkg/runtime/proc.c:1012 - runtime.panic(0x0, 0x24e0a0) -main.main+0xef /home/gri/go1/test/bugs/bug286.go:76 - main.main() -mainstart+0xf /home/gri/go1/src/pkg/runtime/amd64/asm.s:60 - mainstart() -goexit /home/gri/go1/src/pkg/runtime/proc.c:145 - goexit() -*/ |