1// compile
2
3// Copyright 2017 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// Make sure KeepAlive introduces a use of the spilled variable.
8
9package main
10
11import "runtime"
12
13type node struct {
14        next *node
15}
16
17var x bool
18
19func main() {
20        var head *node
21        for x {
22                head = &node{head}
23        }
24
25        runtime.KeepAlive(head)
26}
27