From: Ian Lance Taylor Date: Mon, 23 Apr 2012 22:47:34 +0000 (-0700) Subject: test: test handling of negative float constants X-Git-Tag: go1.1rc2~3337 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f14a5347e69b4bb95e4f1d62d0967b14734193f3;p=gostls13.git test: test handling of negative float constants This used to panic when compiled by gccgo. Updates #2876. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/6100055 --- diff --git a/test/fixedbugs/bug434.go b/test/fixedbugs/bug434.go new file mode 100644 index 0000000000..5abb567b43 --- /dev/null +++ b/test/fixedbugs/bug434.go @@ -0,0 +1,32 @@ +// run + +// Copyright 2012 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. + +// Test that typed and untyped negative zero floating point constants +// are treated as equivalent to zero constants. + +package main + +import "math" + +const zero = 0.0 + +func main() { + x := -zero + b := math.Float64bits(x) + if b != 0 { + panic(b) + } + x = -float64(zero) + b = math.Float64bits(x) + if b != 0 { + panic(b) + } + v := x + b = math.Float64bits(-v) + if b != 0x8000000000000000 { + panic(b) + } +}