| // run |
| |
| // Copyright 2022 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() { |
| f() |
| g() |
| h() |
| j(math.MinInt64) |
| } |
| func f() { |
| for i := int64(math.MaxInt64); i <= math.MaxInt64; i++ { |
| if i < 0 { |
| println("done") |
| return |
| } |
| println(i, i < 0) |
| } |
| } |
| func g() { |
| for i := int64(math.MaxInt64) - 1; i <= math.MaxInt64; i++ { |
| if i < 0 { |
| println("done") |
| return |
| } |
| println(i, i < 0) |
| } |
| } |
| func h() { |
| for i := int64(math.MaxInt64) - 2; i <= math.MaxInt64; i += 2 { |
| if i < 0 { |
| println("done") |
| return |
| } |
| println(i, i < 0) |
| } |
| } |
| |
| //go:noinline |
| func j(i int64) { |
| for j := int64(math.MaxInt64); j <= i-1; j++ { |
| if j < 0 { |
| break |
| } |
| println(j) |
| } |
| } |