1// run 2 3// Copyright 2022 The Go Authors. All rights reserved. 4// Use of this source code is governed by a BSD-style 5// license that can be found in the LICENSE file. 6 7package main 8 9import "math" 10 11func main() { 12 f() 13 g() 14 h() 15 j(math.MinInt64) 16} 17func f() { 18 for i := int64(math.MaxInt64); i <= math.MaxInt64; i++ { 19 if i < 0 { 20 println("done") 21 return 22 } 23 println(i, i < 0) 24 } 25} 26func g() { 27 for i := int64(math.MaxInt64) - 1; i <= math.MaxInt64; i++ { 28 if i < 0 { 29 println("done") 30 return 31 } 32 println(i, i < 0) 33 } 34} 35func h() { 36 for i := int64(math.MaxInt64) - 2; i <= math.MaxInt64; i += 2 { 37 if i < 0 { 38 println("done") 39 return 40 } 41 println(i, i < 0) 42 } 43} 44 45//go:noinline 46func j(i int64) { 47 for j := int64(math.MaxInt64); j <= i-1; j++ { 48 if j < 0 { 49 break 50 } 51 println(j) 52 } 53} 54