OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [fixedbugs/] [bug294.go] - Blame information for rev 700

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 700 jeremybenn
// $G $D/$F.go && $L $F.$A && ./$A.out
2
 
3
// Copyright 2010 The Go Authors.  All rights reserved.
4
// Use of this source code is governed by a BSD-style
5
// license that can be found in the LICENSE file.
6
 
7
// http://code.google.com/p/go/issues/detail?id=800
8
 
9
package main
10
 
11
var log string
12
 
13
type T int
14
 
15
func (t T) a(s string) T {
16
        log += "a(" + s + ")"
17
        return t
18
}
19
 
20
func (T) b(s string) string {
21
        log += "b"
22
        return s
23
}
24
 
25
type F func(s string) F
26
 
27
func a(s string) F {
28
        log += "a(" + s + ")"
29
        return F(a)
30
}
31
 
32
func b(s string) string {
33
        log += "b"
34
        return s
35
}
36
 
37
type I interface {
38
        a(s string) I
39
        b(s string) string
40
}
41
 
42
type T1 int
43
 
44
func (t T1) a(s string) I {
45
        log += "a(" + s + ")"
46
        return t
47
}
48
 
49
func (T1) b(s string) string {
50
        log += "b"
51
        return s
52
}
53
 
54
var ok = true
55
 
56
func bad() {
57
        if !ok {
58
                println("BUG")
59
                ok = false
60
        }
61
        println(log)
62
}
63
 
64
func main() {
65
        var t T
66
        if t.a("1").a(t.b("2")); log != "a(1)ba(2)" {
67
                bad()
68
        }
69
        log = ""
70
        if a("3")(b("4"))(b("5")); log != "a(3)ba(4)ba(5)" {
71
                bad()
72
        }
73
        log = ""
74
        var i I = T1(0)
75
        if i.a("6").a(i.b("7")).a(i.b("8")).a(i.b("9")); log != "a(6)ba(7)ba(8)ba(9)" {
76
                bad()
77
        }
78
}
79
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.