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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [ken/] [interbasic.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 myint int
10
type mystring string
11
type I0 interface{}
12
 
13
func f() {
14
        var ia, ib I0
15
        var i myint
16
        var s mystring
17
 
18
        if ia != ib {
19
                panic("1")
20
        }
21
 
22
        i = 1
23
        ia = i
24
        ib = i
25
        if ia != ib {
26
                panic("2")
27
        }
28
        if ia == nil {
29
                panic("3")
30
        }
31
 
32
        i = 2
33
        ia = i
34
        if ia == ib {
35
                panic("4")
36
        }
37
 
38
        ia = nil
39
        if ia == ib {
40
                panic("5")
41
        }
42
 
43
        ib = nil
44
        if ia != ib {
45
                panic("6")
46
        }
47
 
48
        if ia != nil {
49
                panic("7")
50
        }
51
 
52
        s = "abc"
53
        ia = s
54
        ib = nil
55
        if ia == ib {
56
                panic("8")
57
        }
58
 
59
        s = "def"
60
        ib = s
61
        if ia == ib {
62
                panic("9")
63
        }
64
 
65
        s = "abc"
66
        ib = s
67
        if ia != ib {
68
                panic("a")
69
        }
70
}
71
 
72
func main() {
73
        var ia [20]I0
74
        var b bool
75
        var s string
76
        var i8 int8
77
        var i16 int16
78
        var i32 int32
79
        var i64 int64
80
        var u8 uint8
81
        var u16 uint16
82
        var u32 uint32
83
        var u64 uint64
84
 
85
        f()
86
 
87
        ia[0] = "xxx"
88
        ia[1] = 12345
89
        ia[2] = true
90
 
91
        s = "now is"
92
        ia[3] = s
93
        b = false
94
        ia[4] = b
95
 
96
        i8 = 29
97
        ia[5] = i8
98
        i16 = 994
99
        ia[6] = i16
100
        i32 = 3434
101
        ia[7] = i32
102
        i64 = 1234567
103
        ia[8] = i64
104
 
105
        u8 = 12
106
        ia[9] = u8
107
        u16 = 799
108
        ia[10] = u16
109
        u32 = 4455
110
        ia[11] = u32
111
        u64 = 765432
112
        ia[12] = u64
113
 
114
        s = ia[0].(string)
115
        if s != "xxx" {
116
                println(0, s)
117
                panic("fail")
118
        }
119
        i32 = int32(ia[1].(int))
120
        if i32 != 12345 {
121
                println(1, i32)
122
                panic("fail")
123
        }
124
        b = ia[2].(bool)
125
        if b != true {
126
                println(2, b)
127
                panic("fail")
128
        }
129
 
130
        s = ia[3].(string)
131
        if s != "now is" {
132
                println(3, s)
133
                panic("fail")
134
        }
135
        b = ia[4].(bool)
136
        if b != false {
137
                println(4, b)
138
                panic("fail")
139
        }
140
 
141
        i8 = ia[5].(int8)
142
        if i8 != 29 {
143
                println(5, i8)
144
                panic("fail")
145
        }
146
        i16 = ia[6].(int16)
147
        if i16 != 994 {
148
                println(6, i16)
149
                panic("fail")
150
        }
151
        i32 = ia[7].(int32)
152
        if i32 != 3434 {
153
                println(7, i32)
154
                panic("fail")
155
        }
156
        i64 = ia[8].(int64)
157
        if i64 != 1234567 {
158
                println(8, i64)
159
                panic("fail")
160
        }
161
 
162
        u8 = ia[9].(uint8)
163
        if u8 != 12 {
164
                println(5, u8)
165
                panic("fail")
166
        }
167
        u16 = ia[10].(uint16)
168
        if u16 != 799 {
169
                println(6, u16)
170
                panic("fail")
171
        }
172
        u32 = ia[11].(uint32)
173
        if u32 != 4455 {
174
                println(7, u32)
175
                panic("fail")
176
        }
177
        u64 = ia[12].(uint64)
178
        if u64 != 765432 {
179
                println(8, u64)
180
                panic("fail")
181
        }
182
}

powered by: WebSVN 2.1.0

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