]> Cypherpunks.ru repositories - gostls13.git/blob - test/fixedbugs/issue7997.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / fixedbugs / issue7997.go
1 // compile
2
3 // Copyright 2014 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 // /tmp/x.go:3: internal error: f &p (type *int) recorded as live on entry
8
9 package p
10
11 func f(ch chan int) *int {
12         select {
13         case p1x := <-ch:
14                 return &p1x
15         default:
16                 // ok
17         }
18         select {
19         case p1 := <-ch:
20                 return &p1
21         default:
22                 // ok
23         }
24         select {
25         case p2 := <-ch:
26                 return &p2
27         case p3 := <-ch:
28                 return &p3
29         default:
30                 // ok
31         }
32         select {
33         case p4, ok := <-ch:
34                 if ok {
35                         return &p4
36                 }
37         default:
38                 // ok
39         }
40         select {
41         case p5, ok := <-ch:
42                 if ok {
43                         return &p5
44                 }
45         case p6, ok := <-ch:
46                 if !ok {
47                         return &p6
48                 }
49         default:
50                 // ok
51         }
52         return nil
53 }