]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: use typecheck.InitUniverse in unit tests
authorMatthew Dempsky <mdempsky@google.com>
Thu, 26 Aug 2021 21:16:24 +0000 (14:16 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Fri, 27 Aug 2021 00:36:19 +0000 (00:36 +0000)
Rather than ad hoc setting up the universe, just initialize it
properly.

Change-Id: I18484b952321f55eb3e1e48fd383068a4ee75f66
Reviewed-on: https://go-review.googlesource.com/c/go/+/345475
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Robert Griesemer <gri@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>

src/cmd/compile/internal/ssa/export_test.go

index 6d3c0f3ccbda17fb89ef7b4152fcf5a1f570c589..c4e87ec7d0f9e8c74d5ff10703f27f09b5e5fa01 100644 (file)
@@ -5,14 +5,16 @@
 package ssa
 
 import (
+       "testing"
+
        "cmd/compile/internal/ir"
+       "cmd/compile/internal/typecheck"
        "cmd/compile/internal/types"
        "cmd/internal/obj"
        "cmd/internal/obj/arm64"
        "cmd/internal/obj/s390x"
        "cmd/internal/obj/x86"
        "cmd/internal/src"
-       "testing"
 )
 
 var CheckFunc = checkFunc
@@ -104,33 +106,12 @@ func (d TestFrontend) MyImportPath() string {
 var testTypes Types
 
 func init() {
-       // Initialize just enough of the universe and the types package to make our tests function.
-       // TODO(josharian): move universe initialization to the types package,
-       // so this test setup can share it.
-
-       for _, typ := range [...]struct {
-               width int64
-               et    types.Kind
-       }{
-               {1, types.TINT8},
-               {1, types.TUINT8},
-               {1, types.TBOOL},
-               {2, types.TINT16},
-               {2, types.TUINT16},
-               {4, types.TINT32},
-               {4, types.TUINT32},
-               {4, types.TFLOAT32},
-               {4, types.TFLOAT64},
-               {8, types.TUINT64},
-               {8, types.TINT64},
-               {8, types.TINT},
-               {8, types.TUINTPTR},
-       } {
-               t := types.New(typ.et)
-               t.Width = typ.width
-               t.Align = uint8(typ.width)
-               types.Types[typ.et] = t
-       }
+       // TODO(mdempsky): Push into types.InitUniverse or typecheck.InitUniverse.
+       types.PtrSize = 8
+       types.RegSize = 8
+       types.MaxWidth = 1 << 50
+
+       typecheck.InitUniverse()
        testTypes.SetTypPtrs()
 }