]> Cypherpunks.ru repositories - gostls13.git/blob - test/prove_constant_folding.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / prove_constant_folding.go
1 // errorcheck -0 -d=ssa/prove/debug=2
2
3 //go:build amd64
4
5 // Copyright 2022 The Go Authors. All rights reserved.
6 // Use of this source code is governed by a BSD-style
7 // license that can be found in the LICENSE file.
8
9 package main
10
11 func f0i(x int) int {
12   if x == 20 {
13     return x // ERROR "Proved.+is constant 20$"
14   }
15
16   if (x + 20) == 20 {
17     return x + 5 // ERROR "Proved.+is constant 0$"
18   }
19
20   return x / 2
21 }
22
23 func f0u(x uint) uint {
24   if x == 20 {
25     return x // ERROR "Proved.+is constant 20$"
26   }
27
28   if (x + 20) == 20 {
29     return x + 5 // ERROR "Proved.+is constant 0$"
30   }
31
32   return x / 2
33 }