OSDN Git Service

PR c++/51318
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / go.test / test / fixedbugs / bug227.go
1 // $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 var (
10         nf      int
11         x, y, z = f(), f(), f()
12         m       = map[string]string{"a": "A"}
13         a, aok  = m["a"]
14         b, bok  = m["b"]
15 )
16
17 func look(s string) (string, bool) {
18         x, ok := m[s]
19         return x, ok
20 }
21
22 func f() int {
23         nf++
24         return nf
25 }
26
27 func main() {
28         if nf != 3 || x != 1 || y != 2 || z != 3 {
29                 println("nf=", nf, " x=", x, " y=", y)
30                 panic("fail")
31         }
32         if a != "A" || aok != true || b != "" || bok != false {
33                 println("a=", a, " aok=", aok, " b=", b, " bok=", bok)
34                 panic("fail")
35         }
36 }