aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile
diff options
context:
space:
mode:
authorMateusz Poliwczak <mpoliwczak34@gmail.com>2025-10-12 10:56:13 +0200
committerGopher Robot <gobot@golang.org>2025-10-14 11:31:42 -0700
commit0ddb5ed4653a2cac6ecc7315fcbb1e9f6dcb6dda (patch)
tree74b6adf9478a7649a52949583a150470308365b4 /src/cmd/compile
parent0a239bcc9987b8a20a152feceb4884e810683a2c (diff)
downloadgo-0ddb5ed4653a2cac6ecc7315fcbb1e9f6dcb6dda.tar.xz
cmd/compile/internal/devirtualize: use FatalfAt instead of Fatalf where possible
Change-Id: I5e9e9c89336446720c3c21347969e4126a6a6964 Reviewed-on: https://go-review.googlesource.com/c/go/+/711140 Reviewed-by: Keith Randall <khr@golang.org> Reviewed-by: Keith Randall <khr@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> Auto-Submit: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/cmd/compile')
-rw-r--r--src/cmd/compile/internal/devirtualize/devirtualize.go24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/cmd/compile/internal/devirtualize/devirtualize.go b/src/cmd/compile/internal/devirtualize/devirtualize.go
index 363cd6f2e5..dfcdd42236 100644
--- a/src/cmd/compile/internal/devirtualize/devirtualize.go
+++ b/src/cmd/compile/internal/devirtualize/devirtualize.go
@@ -187,7 +187,7 @@ func concreteType(s *State, n ir.Node) (typ *types.Type) {
return nil
}
if typ != nil && typ.IsInterface() {
- base.Fatalf("typ.IsInterface() = true; want = false; typ = %v", typ)
+ base.FatalfAt(n.Pos(), "typ.IsInterface() = true; want = false; typ = %v", typ)
}
return typ
}
@@ -226,7 +226,7 @@ func concreteType1(s *State, n ir.Node, seen map[*ir.Name]struct{}) (outT *types
if !n1.Type().IsInterface() || !types.Identical(n1.Type().Underlying(), n1.X.Type().Underlying()) {
// As we check (directly before this switch) whether n is an interface, thus we should only reach
// here for iface conversions where both operands are the same.
- base.Fatalf("not identical/interface types found n1.Type = %v; n1.X.Type = %v", n1.Type(), n1.X.Type())
+ base.FatalfAt(n1.Pos(), "not identical/interface types found n1.Type = %v; n1.X.Type = %v", n1.Type(), n1.X.Type())
}
n = n1.X
continue
@@ -260,12 +260,12 @@ func concreteType1(s *State, n ir.Node, seen map[*ir.Name]struct{}) (outT *types
}
if name.Op() != ir.ONAME {
- base.Fatalf("name.Op = %v; want = ONAME", n.Op())
+ base.FatalfAt(name.Pos(), "name.Op = %v; want = ONAME", n.Op())
}
// name.Curfn must be set, as we checked name.Class != ir.PAUTO before.
if name.Curfn == nil {
- base.Fatalf("name.Curfn = nil; want not nil")
+ base.FatalfAt(name.Pos(), "name.Curfn = nil; want not nil")
}
if name.Addrtaken() {
@@ -385,11 +385,11 @@ func (s *State) InlinedCall(fun *ir.Func, origCall *ir.CallExpr, inlinedCall *ir
func (s *State) assignments(n *ir.Name) []assignment {
fun := n.Curfn
if fun == nil {
- base.Fatalf("n.Curfn = <nil>")
+ base.FatalfAt(n.Pos(), "n.Curfn = <nil>")
}
if !n.Type().IsInterface() {
- base.Fatalf("name passed to assignments is not of an interface type: %v", n.Type())
+ base.FatalfAt(n.Pos(), "name passed to assignments is not of an interface type: %v", n.Type())
}
// Analyze assignments in func, if not analyzed before.
@@ -430,7 +430,7 @@ func (s *State) analyze(nodes ir.Nodes) {
n = n.Canonical()
if n.Op() != ir.ONAME {
- base.Fatalf("n.Op = %v; want = ONAME", n.Op())
+ base.FatalfAt(n.Pos(), "n.Op = %v; want = ONAME", n.Op())
}
switch a := assignment.(type) {
@@ -492,14 +492,14 @@ func (s *State) analyze(nodes ir.Nodes) {
case ir.OAS2DOTTYPE:
n := n.(*ir.AssignListStmt)
if n.Rhs[0] == nil {
- base.Fatalf("n.Rhs[0] == nil; n = %v", n)
+ base.FatalfAt(n.Pos(), "n.Rhs[0] == nil; n = %v", n)
}
assign(n.Lhs[0], n.Rhs[0])
assign(n.Lhs[1], nil) // boolean does not have methods to devirtualize
case ir.OAS2MAPR, ir.OAS2RECV, ir.OSELRECV2:
n := n.(*ir.AssignListStmt)
if n.Rhs[0] == nil {
- base.Fatalf("n.Rhs[0] == nil; n = %v", n)
+ base.FatalfAt(n.Pos(), "n.Rhs[0] == nil; n = %v", n)
}
assign(n.Lhs[0], n.Rhs[0].Type())
assign(n.Lhs[1], nil) // boolean does not have methods to devirtualize
@@ -529,7 +529,7 @@ func (s *State) analyze(nodes ir.Nodes) {
assign(p, call.ReturnVars[i])
}
} else {
- base.Fatalf("unexpected type %T in OAS2FUNC Rhs[0]", call)
+ base.FatalfAt(n.Pos(), "unexpected type %T in OAS2FUNC Rhs[0]", call)
}
case ir.ORANGE:
n := n.(*ir.RangeStmt)
@@ -545,7 +545,7 @@ func (s *State) analyze(nodes ir.Nodes) {
assign(n.Value, xTyp.Elem())
} else if xTyp.IsChan() {
assign(n.Key, xTyp.Elem())
- base.Assertf(n.Value == nil, "n.Value != nil in range over chan")
+ base.AssertfAt(n.Value == nil, n.Pos(), "n.Value != nil in range over chan")
} else if xTyp.IsMap() {
assign(n.Key, xTyp.Key())
assign(n.Value, xTyp.Elem())
@@ -556,7 +556,7 @@ func (s *State) analyze(nodes ir.Nodes) {
} else {
// We will not reach here in case of an range-over-func, as it is
// rewrtten to function calls in the noder package.
- base.Fatalf("range over unexpected type %v", n.X.Type())
+ base.FatalfAt(n.Pos(), "range over unexpected type %v", n.X.Type())
}
case ir.OSWITCH:
n := n.(*ir.SwitchStmt)