From 94dba61276f26c01b7d3d1a4abb195bdcc596bfd Mon Sep 17 00:00:00 2001 From: Austin Clements Date: Mon, 1 Apr 2024 15:39:41 -0400 Subject: internal/abi: clean up type of Kind and Type.Kind_ Currently, Type.Kind_ is a uint8, Kind is a uint, and some of the abi.Kind consts are not of type Kind. Clean this all up by making Kind a uint8, then making Type.Kind a Kind, and finally making all Kind consts actually have type Kind. This has some ripple effect, but I think all of the changes are improvements. Change-Id: If39be74699c2cdb52bf0ad7092d392bc8fb68d15 Reviewed-on: https://go-review.googlesource.com/c/go/+/575579 Auto-Submit: Austin Clements Reviewed-by: Keith Randall Reviewed-by: Keith Randall LUCI-TryBot-Result: Go LUCI --- src/cmd/link/internal/ld/deadcode.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/cmd/link/internal/ld/deadcode.go') diff --git a/src/cmd/link/internal/ld/deadcode.go b/src/cmd/link/internal/ld/deadcode.go index f635d7582f..241cf603db 100644 --- a/src/cmd/link/internal/ld/deadcode.go +++ b/src/cmd/link/internal/ld/deadcode.go @@ -512,7 +512,7 @@ func (d *deadcodePass) decodeIfaceMethod(ldr *loader.Loader, arch *sys.Arch, sym if p == nil { panic(fmt.Sprintf("missing symbol %q", ldr.SymName(symIdx))) } - if abi.Kind(decodetypeKind(arch, p)&abi.KindMask) != abi.Interface { + if decodetypeKind(arch, p) != abi.Interface { panic(fmt.Sprintf("symbol %q is not an interface", ldr.SymName(symIdx))) } relocs := ldr.Relocs(symIdx) @@ -533,7 +533,7 @@ func (d *deadcodePass) decodetypeMethods(ldr *loader.Loader, arch *sys.Arch, sym panic(fmt.Sprintf("no methods on %q", ldr.SymName(symIdx))) } off := commonsize(arch) // reflect.rtype - switch abi.Kind(decodetypeKind(arch, p) & abi.KindMask) { + switch decodetypeKind(arch, p) { case abi.Struct: // reflect.structType off += 4 * arch.PtrSize case abi.Pointer: // reflect.ptrType -- cgit v1.3-5-g9baa