aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCuong Manh Le <cuong.manhle.vn@gmail.com>2026-03-03 23:10:05 +0700
committerGopher Robot <gobot@golang.org>2026-03-06 10:31:11 -0800
commitbf1b0973db38346afae460e80d18020fa7de4e8c (patch)
treeef25dfe835c7152f7813d4504911e8b9519ecb8a /src
parent252a8adbc08f5b8ae97d2a857bf12810da54a11c (diff)
downloadgo-bf1b0973db38346afae460e80d18020fa7de4e8c.tar.xz
cmd/compile/internal/typecheck: simplify tcSliceHeader
types2 handles all constant-related bounds checks in user Go code now, so it's safe to remove all constants checking in tcSliceHeader function. Fixed #77919 Change-Id: Ibc137c84792d4898eb073cdeabac175684f73746 Reviewed-on: https://go-review.googlesource.com/c/go/+/751040 Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Cherry Mui <cherryyz@google.com> Reviewed-by: Keith Randall <khr@golang.org> Auto-Submit: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/compile/internal/typecheck/expr.go13
1 files changed, 0 insertions, 13 deletions
diff --git a/src/cmd/compile/internal/typecheck/expr.go b/src/cmd/compile/internal/typecheck/expr.go
index 44a69f0332..7dc29636cc 100644
--- a/src/cmd/compile/internal/typecheck/expr.go
+++ b/src/cmd/compile/internal/typecheck/expr.go
@@ -7,7 +7,6 @@ package typecheck
import (
"fmt"
"go/constant"
- "go/token"
"internal/types/errors"
"strings"
@@ -826,18 +825,6 @@ func tcSliceHeader(n *ir.SliceHeaderExpr) ir.Node {
n.Len = DefaultLit(Expr(n.Len), types.Types[types.TINT])
n.Cap = DefaultLit(Expr(n.Cap), types.Types[types.TINT])
- if ir.IsConst(n.Len, constant.Int) && ir.Int64Val(n.Len) < 0 {
- base.Fatalf("len for OSLICEHEADER must be non-negative")
- }
-
- if ir.IsConst(n.Cap, constant.Int) && ir.Int64Val(n.Cap) < 0 {
- base.Fatalf("cap for OSLICEHEADER must be non-negative")
- }
-
- if ir.IsConst(n.Len, constant.Int) && ir.IsConst(n.Cap, constant.Int) && constant.Compare(n.Len.Val(), token.GTR, n.Cap.Val()) {
- base.Fatalf("len larger than cap for OSLICEHEADER")
- }
-
return n
}