summaryrefslogtreecommitdiff
path: root/test/bugs
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-01-17 12:40:45 +0100
committerOndřej Surý <ondrej@sury.org>2011-01-17 12:40:45 +0100
commit3e45412327a2654a77944249962b3652e6142299 (patch)
treebc3bf69452afa055423cbe0c5cfa8ca357df6ccf /test/bugs
parentc533680039762cacbc37db8dc7eed074c3e497be (diff)
downloadgolang-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.go55
-rw-r--r--test/bugs/bug274.go29
-rw-r--r--test/bugs/bug286.go94
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()
-*/