Commit 5af7553f authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder

cmd/compile: ensure that knownFormats is up to date

Change-Id: I4febdddfe5be569a8bba0a4cddf52dec7f1be1bf
Reviewed-on: https://go-review.googlesource.com/32930
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 2925427a
...@@ -211,6 +211,28 @@ func TestFormats(t *testing.T) { ...@@ -211,6 +211,28 @@ func TestFormats(t *testing.T) {
fmt.Println("}") fmt.Println("}")
} }
// check that knownFormats is up to date
if !testing.Verbose() && !*update {
var mismatch bool
for s := range foundFormats {
if _, ok := knownFormats[s]; !ok {
mismatch = true
break
}
}
if !mismatch {
for s := range knownFormats {
if _, ok := foundFormats[s]; !ok {
mismatch = true
break
}
}
}
if mismatch {
t.Errorf("knownFormats is out of date; please run with -v to regenerate")
}
}
// all format strings of calls must be in the formatStrings set (self-verification) // all format strings of calls must be in the formatStrings set (self-verification)
for _, p := range callSites { for _, p := range callSites {
if lit, ok := p.arg.(*ast.BasicLit); ok && lit.Kind == token.STRING { if lit, ok := p.arg.(*ast.BasicLit); ok && lit.Kind == token.STRING {
...@@ -535,8 +557,6 @@ func init() { ...@@ -535,8 +557,6 @@ func init() {
// To print out a new table, run: go test -run Formats -v. // To print out a new table, run: go test -run Formats -v.
var knownFormats = map[string]string{ var knownFormats = map[string]string{
"*bytes.Buffer %s": "", "*bytes.Buffer %s": "",
"*math/big.Int %#x": "",
"*cmd/compile/internal/gc.Bits %v": "",
"*cmd/compile/internal/gc.Field %p": "", "*cmd/compile/internal/gc.Field %p": "",
"*cmd/compile/internal/gc.Field %v": "", "*cmd/compile/internal/gc.Field %v": "",
"*cmd/compile/internal/gc.Mpflt %v": "", "*cmd/compile/internal/gc.Mpflt %v": "",
...@@ -575,6 +595,7 @@ var knownFormats = map[string]string{ ...@@ -575,6 +595,7 @@ var knownFormats = map[string]string{
"*cmd/internal/obj.Prog %p": "", "*cmd/internal/obj.Prog %p": "",
"*cmd/internal/obj.Prog %s": "", "*cmd/internal/obj.Prog %s": "",
"*cmd/internal/obj.Prog %v": "", "*cmd/internal/obj.Prog %v": "",
"*math/big.Int %#x": "",
"[16]byte %x": "", "[16]byte %x": "",
"[]*cmd/compile/internal/gc.Node %v": "", "[]*cmd/compile/internal/gc.Node %v": "",
"[]*cmd/compile/internal/gc.Sig %#v": "", "[]*cmd/compile/internal/gc.Sig %#v": "",
...@@ -584,7 +605,6 @@ var knownFormats = map[string]string{ ...@@ -584,7 +605,6 @@ var knownFormats = map[string]string{
"[]cmd/compile/internal/ssa.Edge %v": "", "[]cmd/compile/internal/ssa.Edge %v": "",
"[]cmd/compile/internal/ssa.ID %v": "", "[]cmd/compile/internal/ssa.ID %v": "",
"[]string %v": "", "[]string %v": "",
"bool %t": "",
"bool %v": "", "bool %v": "",
"byte %02x": "", "byte %02x": "",
"byte %08b": "", "byte %08b": "",
...@@ -609,17 +629,17 @@ var knownFormats = map[string]string{ ...@@ -609,17 +629,17 @@ var knownFormats = map[string]string{
"cmd/compile/internal/gc.Val %T": "", "cmd/compile/internal/gc.Val %T": "",
"cmd/compile/internal/gc.Val %v": "", "cmd/compile/internal/gc.Val %v": "",
"cmd/compile/internal/gc.initKind %d": "", "cmd/compile/internal/gc.initKind %d": "",
"cmd/compile/internal/ssa.BlockKind %s": "",
"cmd/compile/internal/ssa.BranchPrediction %d": "", "cmd/compile/internal/ssa.BranchPrediction %d": "",
"cmd/compile/internal/ssa.Edge %v": "", "cmd/compile/internal/ssa.Edge %v": "",
"cmd/compile/internal/ssa.GCNode %s": "", "cmd/compile/internal/ssa.GCNode %v": "",
"cmd/compile/internal/ssa.ID %d": "", "cmd/compile/internal/ssa.ID %d": "",
"cmd/compile/internal/ssa.LocalSlot %s": "", "cmd/compile/internal/ssa.LocalSlot %v": "",
"cmd/compile/internal/ssa.Location %v": "", "cmd/compile/internal/ssa.Location %v": "",
"cmd/compile/internal/ssa.Op %s": "", "cmd/compile/internal/ssa.Op %s": "",
"cmd/compile/internal/ssa.Op %v": "", "cmd/compile/internal/ssa.Op %v": "",
"cmd/compile/internal/ssa.SizeAndAlign %s": "", "cmd/compile/internal/ssa.SizeAndAlign %s": "",
"cmd/compile/internal/ssa.Type %s": "", "cmd/compile/internal/ssa.Type %s": "",
"cmd/compile/internal/ssa.Type %v": "",
"cmd/compile/internal/ssa.ValAndOff %s": "", "cmd/compile/internal/ssa.ValAndOff %s": "",
"cmd/compile/internal/ssa.markKind %d": "", "cmd/compile/internal/ssa.markKind %d": "",
"cmd/compile/internal/ssa.rbrank %d": "", "cmd/compile/internal/ssa.rbrank %d": "",
...@@ -640,23 +660,17 @@ var knownFormats = map[string]string{ ...@@ -640,23 +660,17 @@ var knownFormats = map[string]string{
"float64 %.6g": "", "float64 %.6g": "",
"float64 %g": "", "float64 %g": "",
"fmt.Stringer %T": "", "fmt.Stringer %T": "",
"int %#x": "",
"int %-12d": "", "int %-12d": "",
"int %-2d": "",
"int %-6d": "", "int %-6d": "",
"int %-8o": "", "int %-8o": "",
"int %2d": "",
"int %5d": "", "int %5d": "",
"int %6d": "", "int %6d": "",
"int %c": "", "int %c": "",
"int %d": "", "int %d": "",
"int %v": "", "int %v": "",
"int %x": "", "int %x": "",
"int16 %2d": "",
"int16 %d": "", "int16 %d": "",
"int16 %x": "", "int16 %x": "",
"int32 %4d": "",
"int32 %5d": "",
"int32 %d": "", "int32 %d": "",
"int32 %v": "", "int32 %v": "",
"int32 %x": "", "int32 %x": "",
...@@ -677,7 +691,6 @@ var knownFormats = map[string]string{ ...@@ -677,7 +691,6 @@ var knownFormats = map[string]string{
"reflect.Type %s": "", "reflect.Type %s": "",
"rune %#U": "", "rune %#U": "",
"rune %c": "", "rune %c": "",
"rune %d": "",
"string %-16s": "", "string %-16s": "",
"string %.*s": "", "string %.*s": "",
"string %q": "", "string %q": "",
...@@ -685,18 +698,14 @@ var knownFormats = map[string]string{ ...@@ -685,18 +698,14 @@ var knownFormats = map[string]string{
"string %v": "", "string %v": "",
"time.Duration %d": "", "time.Duration %d": "",
"time.Duration %v": "", "time.Duration %v": "",
"uint %.4d": "",
"uint %04x": "", "uint %04x": "",
"uint %d": "", "uint %d": "",
"uint %v": "",
"uint16 %d": "", "uint16 %d": "",
"uint16 %v": "", "uint16 %v": "",
"uint16 %x": "", "uint16 %x": "",
"uint32 %#x": "",
"uint32 %08x": "", "uint32 %08x": "",
"uint32 %d": "", "uint32 %d": "",
"uint32 %x": "", "uint32 %x": "",
"uint64 %#x": "",
"uint64 %016x": "", "uint64 %016x": "",
"uint64 %08x": "", "uint64 %08x": "",
"uint64 %d": "", "uint64 %d": "",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment