/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/fixedbugs/issue32560.go
51 строка
690 B
Matthew Dempsky
cmd/compile: fix range analysis of small signed integers
12 июн 2019, 21:03
12 июн 2019, 21:03
f44404e
Код
Авторство
О чём код?
// run // Copyright 2019 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. // Values smaller than 64-bits were mistakenly always proven to be // non-negative. // // The tests here are marked go:noinline to ensure they're // independently optimized by SSA. package main var x int32 = -1 //go:noinline func a() { if x != -1 { panic(1) } if x > 0 || x != -1 { panic(2) } } //go:noinline func b() { if x != -1 { panic(3) } if x > 0 { panic(4) } } //go:noinline func c() { if x > 0 || x != -1 { panic(5) } if x > 0 || x != -1 { panic(6) } } func main() { a() b() c() }