1// compile 2 3// Copyright 2021 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 p 8 9//go:noinline 10func g(d uintptr, a, m []int, s struct { 11 a, b, c, d, e int 12}, u uint) { 13 _ = a 14 _ = m 15 _ = s 16 func() { 17 for i := 0; i < 5; i++ { 18 _ = a 19 _ = m 20 _, _ = s, s 21 } 22 }() 23} 24 25var One float64 = 1.0 26 27func f(d uintptr) { 28 var a, m []int 29 var s struct { 30 a, b, c, d, e int 31 } 32 33 g(d, a, m, s, uint(One)) // Uint of not-a-constant inserts a conditional, necessary to bug 34 35 defer func() uint { 36 return 0 37 }() 38} 39 40var d uintptr 41 42func h() { 43 f(d) 44} 45