OSDN Git Service

PR c++/51318
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / go.test / test / fixedbugs / bug102.go
1 // $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG: should not crash
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 func main() {
10         var b [0]byte
11         s := string(b[0:]) // out of bounds trap
12         if s != "" {
13                 panic("bad convert")
14         }
15         var b1 = [5]byte{'h', 'e', 'l', 'l', 'o'}
16         if string(b1[0:]) != "hello" {
17                 panic("bad convert 1")
18         }
19         var b2 = make([]byte, 5)
20         for i := 0; i < 5; i++ {
21                 b2[i] = b1[i]
22         }
23         if string(b2) != "hello" {
24                 panic("bad convert 2")
25         }
26 }