From 8e1e64c16a4d53c06ed4f2287fc11eeb5029ca1a Mon Sep 17 00:00:00 2001 From: Keith Randall Date: Tue, 19 Jul 2022 09:07:38 -0700 Subject: [PATCH] cmd/compile: fix mknode script It's not currently working. Somehow a field of type []constant.Value causes it to barf. (That field was added with jump table statements.) Also added some instructions about how to run it correctly (which took me a suprisingly long time to figure out). Larger improvements coming, but this gets us to a working state and is safe for 1.19. Change-Id: I3027356fde1294942e87d075ca28bb40d2c0d6c3 Reviewed-on: https://go-review.googlesource.com/c/go/+/418234 Reviewed-by: Keith Randall TryBot-Result: Gopher Robot Reviewed-by: Matthew Dempsky Run-TryBot: Keith Randall --- src/cmd/compile/internal/ir/mini.go | 1 + src/cmd/compile/internal/ir/mknode.go | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/cmd/compile/internal/ir/mini.go b/src/cmd/compile/internal/ir/mini.go index 98c0ffa5b0..48f5eccf34 100644 --- a/src/cmd/compile/internal/ir/mini.go +++ b/src/cmd/compile/internal/ir/mini.go @@ -3,6 +3,7 @@ // license that can be found in the LICENSE file. //go:generate go run -mod=mod mknode.go +// Note: see comment at top of mknode.go package ir diff --git a/src/cmd/compile/internal/ir/mknode.go b/src/cmd/compile/internal/ir/mknode.go index 5a0aaadf16..af8869d122 100644 --- a/src/cmd/compile/internal/ir/mknode.go +++ b/src/cmd/compile/internal/ir/mknode.go @@ -5,6 +5,12 @@ //go:build ignore // +build ignore +// Note: this program must be run with the GOROOT +// environment variable set to the root of this tree. +// GOROOT=... +// cd $GOROOT/src/cmd/compile/internal/ir +// ../../../../../bin/go run -mod=mod mknode.go + package main import ( @@ -154,6 +160,9 @@ func forNodeFields(named *types.Named, prologue, singleTmpl, sliceTmpl, epilogue } tmpl, what := singleTmpl, types.TypeString(typ, types.RelativeTo(irPkg)) + if what == "go/constant.Value" { + return false + } if implementsNode(typ) { if slice != nil { helper := strings.TrimPrefix(what, "*") + "s" -- 2.48.1