URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [fixedbugs/] [bug113.go] - Rev 700
Compare with Previous | Blame | View Log
// $G $D/$F.go && $L $F.$A && ./$A.out// Copyright 2009 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.package maintype I interface{}func foo1(i int) int { return i }func foo2(i int32) int32 { return i }func main() {var i Ii = 1var v1 = i.(int)if foo1(v1) != 1 {panic(1)}var v2 = int32(i.(int))if foo2(v2) != 1 {panic(2)}shouldPanic(p1)}func p1() {var i Ii = 1var v3 = i.(int32) // This type conversion should fail at runtime.if foo2(v3) != 1 {panic(3)}}func shouldPanic(f func()) {defer func() {if recover() == nil {panic("function should panic")}}()f()}
