go/test/fixedbugs/issue19515.go
Cherry Zhang 8a44c8efae cmd/compile: don't spill rematerializeable value when resolving merge edges
Fixes #19515.

Change-Id: I4bcce152cef52d00fbb5ab4daf72a6e742bae27c
Reviewed-on: https://go-review.googlesource.com/38158
Reviewed-by: Keith Randall <khr@golang.org>
2017-03-14 22:55:52 +00:00

52 lines
931 B
Go

// compile
// Copyright 2017 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.
// Issue 19515: compiler panics on spilling int128 constant.
package x
type VScrollPanel struct {
x, y int
}
type Color struct {
R, G, B, A float32
}
func maxF(a, b float32) float32 {
if a > b {
return 0
}
return 1
}
type TransformMatrix [6]float32
type Paint struct {
xform TransformMatrix
feather float32
innerColor Color
outerColor Color
}
func BoxGradient(x, y, w, h, f float32, iColor, oColor Color) Paint {
return Paint{
xform: TransformMatrix{9, 0, 0, 0, x, y},
feather: maxF(1.0, f),
innerColor: iColor,
outerColor: oColor,
}
}
func (v *VScrollPanel) Draw() {
x := float32(v.x)
y := float32(v.y)
BoxGradient(x+x-2, y-1, 0, 0, 0, Color{}, Color{})
BoxGradient(x+y-2, y-1, 0, 0, 0, Color{}, Color{})
}