mirror of
https://github.com/golang/go
synced 2024-11-27 03:11:19 -07:00
bb76193a7f
The helper function used by the compiler's walk phase to determine whether a param can be passed in a single float register wasn't quite correct (didn't allow for the possibility of struct with two fields, first zero size and second float). Fix up the helper to take this case into account. Updates #40724. Change-Id: I55b42a1b17ea86de1d696788f029ad3aae4a179c Reviewed-on: https://go-review.googlesource.com/c/go/+/308689 Trust: Than McIntosh <thanm@google.com> Run-TryBot: Than McIntosh <thanm@google.com> Reviewed-by: Cherry Zhang <cherryyz@google.com>
28 lines
424 B
Go
28 lines
424 B
Go
// run
|
|
|
|
// Copyright 2021 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.
|
|
|
|
package main
|
|
|
|
import "fmt"
|
|
|
|
type myStruct struct {
|
|
F0 [0]struct{}
|
|
F1 float32
|
|
}
|
|
|
|
type myStruct2 struct {
|
|
F0 [0]struct{}
|
|
F1 float32
|
|
F2 [0]struct{}
|
|
}
|
|
|
|
func main() {
|
|
x := myStruct{F1: -1.25}
|
|
fmt.Println(x)
|
|
x2 := myStruct2{F1: -7.97}
|
|
fmt.Println(x2)
|
|
}
|