mirror of
https://github.com/golang/go.git
synced 2025-05-05 23:53:05 +00:00
cmd/compile: don't report newLimit discovered when unsat happens multiple times
Fixes #71852 Change-Id: I696fcb8fc8c0c2e5e5ae6ab50596f6bdb9b7d498 Reviewed-on: https://go-review.googlesource.com/c/go/+/650975 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Keith Randall <khr@google.com> Reviewed-by: Michael Knyszek <mknyszek@google.com> Reviewed-by: Keith Randall <khr@golang.org>
This commit is contained in:
parent
0de8fc8527
commit
00635de759
@ -552,8 +552,9 @@ func (ft *factsTable) newLimit(v *Value, newLim limit) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if lim.unsat() {
|
if lim.unsat() {
|
||||||
|
r := !ft.unsat
|
||||||
ft.unsat = true
|
ft.unsat = true
|
||||||
return true
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check for recursion. This normally happens because in unsatisfiable
|
// Check for recursion. This normally happens because in unsatisfiable
|
||||||
|
23
test/fixedbugs/issue71852.go
Normal file
23
test/fixedbugs/issue71852.go
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
// compile
|
||||||
|
|
||||||
|
// Copyright 2025 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 main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"math"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
test(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
func test(i int) {
|
||||||
|
if i <= 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
_ = math.Pow10(i + 2)
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user