]> Cypherpunks.ru repositories - gostls13.git/blob - test/fixedbugs/issue51101.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / fixedbugs / issue51101.go
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
7 // Issue 51101: on RISCV64, difference of two pointers
8 // was marked as pointer and crashes GC.
9
10 package main
11
12 var a, b int
13
14 func main() {
15         F(&b, &a)
16 }
17
18 //go:noinline
19 func F(a, b *int) bool {
20         x := a == b
21         G(x)
22         y := a != b
23         return y
24 }
25
26 //go:noinline
27 func G(bool) {
28         grow([1000]int{20})
29 }
30
31 func grow(x [1000]int) {
32         if x[0] != 0 {
33                 x[0]--
34                 grow(x)
35         }
36 }