// compile | |
// Copyright 2018 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. | |
package r | |
// f compiles into code where no stores remain in the two successors | |
// of a write barrier block; i.e., they are empty. Pre-fix, this | |
// results in an unexpected input to markUnsafePoints, that expects to | |
// see a pair of non-empty plain blocks. | |
func f() { | |
var i int | |
var s string | |
for len(s) < len(s) { | |
i++ | |
s = "a" | |
} | |
var b bool | |
var sa []string | |
for true { | |
sa = []string{""} | |
for b || i == 0 { | |
} | |
b = !b | |
_ = sa | |
} | |
} |