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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [method.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 2009 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
package main
8
 
9
type S string
10
type S1 string
11
type I int
12
type I1 int
13
type T struct {
14
        x int
15
}
16
type T1 T
17
 
18
func (s S) val() int   { return 1 }
19
func (s *S1) val() int { return 2 }
20
func (i I) val() int   { return 3 }
21
func (i *I1) val() int { return 4 }
22
func (t T) val() int   { return 7 }
23
func (t *T1) val() int { return 8 }
24
 
25
type Val interface {
26
        val() int
27
}
28
 
29
func val(v Val) int { return v.val() }
30
 
31
func main() {
32
        var s S
33
        var ps *S1
34
        var i I
35
        var pi *I1
36
        var pt *T1
37
        var t T
38
        var v Val
39
 
40
        if s.val() != 1 {
41
                println("s.val:", s.val())
42
                panic("fail")
43
        }
44
        if S.val(s) != 1 {
45
                println("S.val(s):", S.val(s))
46
                panic("fail")
47
        }
48
        if (*S).val(&s) != 1 {
49
                println("(*S).val(s):", (*S).val(&s))
50
                panic("fail")
51
        }
52
        if ps.val() != 2 {
53
                println("ps.val:", ps.val())
54
                panic("fail")
55
        }
56
        if (*S1).val(ps) != 2 {
57
                println("(*S1).val(ps):", (*S1).val(ps))
58
                panic("fail")
59
        }
60
        if i.val() != 3 {
61
                println("i.val:", i.val())
62
                panic("fail")
63
        }
64
        if I.val(i) != 3 {
65
                println("I.val(i):", I.val(i))
66
                panic("fail")
67
        }
68
        if (*I).val(&i) != 3 {
69
                println("(*I).val(&i):", (*I).val(&i))
70
                panic("fail")
71
        }
72
        if pi.val() != 4 {
73
                println("pi.val:", pi.val())
74
                panic("fail")
75
        }
76
        if (*I1).val(pi) != 4 {
77
                println("(*I1).val(pi):", (*I1).val(pi))
78
                panic("fail")
79
        }
80
        if t.val() != 7 {
81
                println("t.val:", t.val())
82
                panic("fail")
83
        }
84
        if pt.val() != 8 {
85
                println("pt.val:", pt.val())
86
                panic("fail")
87
        }
88
        if (*T1).val(pt) != 8 {
89
                println("(*T1).val(pt):", (*T1).val(pt))
90
                panic("fail")
91
        }
92
 
93
        if val(s) != 1 {
94
                println("s.val:", val(s))
95
                panic("fail")
96
        }
97
        if val(ps) != 2 {
98
                println("ps.val:", val(ps))
99
                panic("fail")
100
        }
101
        if val(i) != 3 {
102
                println("i.val:", val(i))
103
                panic("fail")
104
        }
105
        if val(pi) != 4 {
106
                println("pi.val:", val(pi))
107
                panic("fail")
108
        }
109
        if val(t) != 7 {
110
                println("t.val:", val(t))
111
                panic("fail")
112
        }
113
        if val(pt) != 8 {
114
                println("pt.val:", val(pt))
115
                panic("fail")
116
        }
117
 
118
        if Val.val(i) != 3 {
119
                println("Val.val(i):", Val.val(i))
120
                panic("fail")
121
        }
122
        v = i
123
        if Val.val(v) != 3 {
124
                println("Val.val(v):", Val.val(v))
125
                panic("fail")
126
        }
127
}

powered by: WebSVN 2.1.0

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