| // 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) |
| } |