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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [fixedbugs/] [bug201.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 T1 struct {
10
        x, y int
11
}
12
type T2 struct {
13
        z, w byte
14
}
15
type T3 T1
16
 
17
type MyInt int
18
 
19
func (MyInt) m(*T1) {}
20
 
21
func main() {
22
        {
23
                var i interface{} = new(T1)
24
                _, ok1 := i.(*T1)
25
                _, ok2 := i.(*T2)
26
                _, ok3 := i.(*T3)
27
                if !ok1 || ok2 || ok3 {
28
                        println("*T1", ok1, ok2, ok3)
29
                        panic("fail")
30
                }
31
        }
32
        {
33
                var i interface{} = MyInt(0)
34
                _, ok1 := i.(interface {
35
                        m(*T1)
36
                })
37
                _, ok2 := i.(interface {
38
                        m(*T2)
39
                })
40
                _, ok3 := i.(interface {
41
                        m(*T3)
42
                })
43
                if !ok1 || ok2 || ok3 {
44
                        println("T", ok1, ok2, ok3)
45
                        panic("fail")
46
                }
47
        }
48
}

powered by: WebSVN 2.1.0

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