modernc.org/gc@v1.0.1-0.20240304020402-f0dba7c97c2b/testdata/errchk/test/fixedbugs/issue19515.go (about)

     1  // compile
     2  
     3  // Copyright 2017 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 19515: compiler panics on spilling int128 constant.
     8  
     9  package x
    10  
    11  type VScrollPanel struct {
    12  	x, y int
    13  }
    14  
    15  type Color struct {
    16  	R, G, B, A float32
    17  }
    18  
    19  func maxF(a, b float32) float32 {
    20  	if a > b {
    21  		return 0
    22  	}
    23  	return 1
    24  }
    25  
    26  type TransformMatrix [6]float32
    27  
    28  type Paint struct {
    29  	xform      TransformMatrix
    30  	feather    float32
    31  	innerColor Color
    32  	outerColor Color
    33  }
    34  
    35  func BoxGradient(x, y, w, h, f float32, iColor, oColor Color) Paint {
    36  	return Paint{
    37  		xform:      TransformMatrix{9, 0, 0, 0, x, y},
    38  		feather:    maxF(1.0, f),
    39  		innerColor: iColor,
    40  		outerColor: oColor,
    41  	}
    42  }
    43  
    44  func (v *VScrollPanel) Draw() {
    45  	x := float32(v.x)
    46  	y := float32(v.y)
    47  
    48  	BoxGradient(x+x-2, y-1, 0, 0, 0, Color{}, Color{})
    49  	BoxGradient(x+y-2, y-1, 0, 0, 0, Color{}, Color{})
    50  }
    51