| // run | |
| // Copyright 2017 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. | |
| // Issue 20029: make sure we zero at VARKILLs of | |
| // ambiguously live variables. | |
| // The ambiguously live variable here is the hiter | |
| // for the inner range loop. | |
| package main | |
| import "runtime" | |
| func f(m map[int]int) { | |
| outer: | |
| for i := 0; i < 10; i++ { | |
| for k := range m { | |
| if k == 5 { | |
| continue outer | |
| } | |
| } | |
| runtime.GC() | |
| break | |
| } | |
| runtime.GC() | |
| } | |
| func main() { | |
| m := map[int]int{1: 2, 2: 3, 3: 4} | |
| f(m) | |
| } |