go/test/fixedbugs/issue19217.go
David Chase bf71119d54 [release-branch.go1.8] cmd/compile: repaired loop-finder to handle trickier nesting
The loop-A-encloses-loop-C code did not properly handle the
case where really C was already known to be enclosed by B,
and A was nearest-outer to B, not C.

Fixes #19217.

Change-Id: I755dd768e823cb707abdc5302fed39c11cdb34d4
Reviewed-on: https://go-review.googlesource.com/39596
Run-TryBot: Austin Clements <austin@google.com>
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
2017-04-05 16:58:17 +00:00

40 lines
588 B
Go

// compile
// 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.
package foo
import (
"encoding/binary"
)
type DbBuilder struct {
arr []int
}
func (bld *DbBuilder) Finish() error {
defer bld.Finish()
var hash []byte
for _, ixw := range bld.arr {
for {
if ixw != 0 {
panic("ixw != 0")
}
ixw--
insertOne:
for {
for i := 0; i < 1; i++ {
if binary.LittleEndian.Uint16(hash[i:]) == 0 {
break insertOne
}
}
}
}
}
return nil
}