mirror of
https://github.com/golang/go
synced 2024-11-18 09:04:49 -07:00
29 lines
614 B
Go
29 lines
614 B
Go
|
// 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
|
||
|
}
|
||
|
}
|