diff options
| author | fumiyanokesinn <shindori238@gmail.com> | 2026-01-25 23:59:25 +0900 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2026-01-26 18:28:40 -0800 |
| commit | cf0c42c2ca04c3ae9fa20ce9dd4f6bce301bd37b (patch) | |
| tree | f7906d370423297fe9913fb13eddd732160f78f3 /test/fixedbugs | |
| parent | bb221e8954b639e8790fd1d4a8cd35ff3a9340aa (diff) | |
| download | go-cf0c42c2ca04c3ae9fa20ce9dd4f6bce301bd37b.tar.xz | |
cmd/compile/internal/reflectdata: fix divide by zero for zero-size array elements
When generating equality signatures for arrays with zero-size ASPECIAL
elements (e.g., [3]struct{_ [0]float64}), the compiler crashed with
a divide by zero error when computing the loop unroll factor.
Skip comparison code generation for zero-size elements since they
need no comparison.
Fixes #77303
Change-Id: Ib432cfece22b1cb714de4f0a0b0d1a2d89bb0d33
Reviewed-on: https://go-review.googlesource.com/c/go/+/738841
Reviewed-by: Cherry Mui <cherryyz@google.com>
Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Reviewed-by: Keith Randall <khr@google.com>
Diffstat (limited to 'test/fixedbugs')
| -rw-r--r-- | test/fixedbugs/issue77303.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/fixedbugs/issue77303.go b/test/fixedbugs/issue77303.go new file mode 100644 index 0000000000..995e73b034 --- /dev/null +++ b/test/fixedbugs/issue77303.go @@ -0,0 +1,19 @@ +// compile + +// Copyright 2026 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 77303: compiler crash on array of zero-size ASPECIAL elements. + +package p + +type zeroSizeSpecial struct { + _ [0]float64 +} + +var x [3]zeroSizeSpecial + +func f() bool { + return x == x +} |
