1
0
mirror of https://github.com/golang/go synced 2024-07-03 00:40:45 +00:00

all: avoid use of cmd/compile -G flag in tests

The next CL will remove the -G flag, effectively hard-coding it to its
current default (-G=3).

Change-Id: Ib4743b529206928f9f1cca9fdb19989728327831
Reviewed-on: https://go-review.googlesource.com/c/go/+/388534
Reviewed-by: Keith Randall <khr@golang.org>
Trust: Matthew Dempsky <mdempsky@google.com>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Matthew Dempsky 2022-02-28 14:32:19 -08:00
parent 258fc75505
commit e24977d231
254 changed files with 297 additions and 462 deletions

View File

@ -78,7 +78,7 @@ func TestDebugLinesPushback(t *testing.T) {
// Unified mangles differently
fn = "(*List[int]).PushBack"
}
testDebugLines(t, "-N -l -G=3", "pushback.go", fn, []int{17, 18, 19, 20, 21, 22, 24}, true)
testDebugLines(t, "-N -l", "pushback.go", fn, []int{17, 18, 19, 20, 21, 22, 24}, true)
}
}
@ -97,7 +97,7 @@ func TestDebugLinesConvert(t *testing.T) {
// Unified mangles differently
fn = "G[int]"
}
testDebugLines(t, "-N -l -G=3", "convertline.go", fn, []int{9, 10, 11}, true)
testDebugLines(t, "-N -l", "convertline.go", fn, []int{9, 10, 11}, true)
}
}

21
src/cmd/dist/test.go vendored
View File

@ -333,15 +333,10 @@ var (
benchMatches []string
)
func (t *tester) registerStdTest(pkg string, useG3 bool) {
func (t *tester) registerStdTest(pkg string) {
heading := "Testing packages."
testPrefix := "go_test:"
gcflags := gogcflags
if useG3 {
heading = "Testing packages with -G=3."
testPrefix = "go_test_g3:"
gcflags += " -G=3"
}
testName := testPrefix + pkg
if t.runRx == nil || t.runRx.MatchString(testName) == t.runRxWant {
@ -442,10 +437,7 @@ func (t *tester) registerTests() {
if len(t.runNames) > 0 {
for _, name := range t.runNames {
if strings.HasPrefix(name, "go_test:") {
t.registerStdTest(strings.TrimPrefix(name, "go_test:"), false)
}
if strings.HasPrefix(name, "go_test_g3:") {
t.registerStdTest(strings.TrimPrefix(name, "go_test_g3:"), true)
t.registerStdTest(strings.TrimPrefix(name, "go_test:"))
}
if strings.HasPrefix(name, "go_test_bench:") {
t.registerRaceBenchTest(strings.TrimPrefix(name, "go_test_bench:"))
@ -468,15 +460,8 @@ func (t *tester) registerTests() {
fatalf("Error running go list std cmd: %v:\n%s", err, cmd.Stderr)
}
pkgs := strings.Fields(string(all))
if false {
// Disable -G=3 option for standard tests for now, since
// they are flaky on the builder.
for _, pkg := range pkgs {
t.registerStdTest(pkg, true /* -G=3 flag */)
}
}
for _, pkg := range pkgs {
t.registerStdTest(pkg, false)
t.registerStdTest(pkg)
}
if t.race {
for _, pkg := range pkgs {

View File

@ -24,7 +24,7 @@ import (
// which declares an untyped constant of the given length.
// testProg compiles this package and checks for the absence or
// presence of a constant literal error.
func testProg(dir, name string, G_option, length int, ok bool) {
func testProg(dir, name string, length int, ok bool) {
var buf bytes.Buffer
fmt.Fprintf(&buf,
@ -37,7 +37,7 @@ func testProg(dir, name string, G_option, length int, ok bool) {
log.Fatal(err)
}
cmd := exec.Command("go", "tool", "compile", fmt.Sprintf("-G=%d", G_option), filename)
cmd := exec.Command("go", "tool", "compile", filename)
cmd.Dir = dir
output, err := cmd.CombinedOutput()
@ -70,8 +70,6 @@ func main() {
defer os.RemoveAll(dir)
const limit = 10000 // compiler-internal constant length limit
testProg(dir, "x1", 0, limit, true) // -G=0
testProg(dir, "x2", 0, limit+1, false) // -G=0
testProg(dir, "x1", 1, limit, true) // -G=1 (new type checker)
testProg(dir, "x2", 1, limit+1, false) // -G=1 (new type checker)
testProg(dir, "x1", limit, true)
testProg(dir, "x2", limit+1, false)
}

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// errorcheck -G=0 -d=panic
// errorcheck -d=panic
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// errorcheck -G=0
// errorcheck
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// errorcheck -G=3
// errorcheck
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compiledir -G=3
// compiledir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// errorcheck -G=3 -lang=go1.17
// errorcheck -lang=go1.17
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// build -gcflags=-G=3
// build
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// errorcheck -G=3
// errorcheck
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// errorcheck -G=3
// errorcheck
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -32,10 +32,6 @@ import (
"unicode"
)
// CompilerDefaultGLevel is the -G level used by default when not overridden by a
// command-line flag
const CompilerDefaultGLevel = 3
var (
verbose = flag.Bool("v", false, "verbose. if set, parallelism is set to 1.")
keep = flag.Bool("k", false, "keep. keep temporary directory.")
@ -48,7 +44,6 @@ var (
updateErrors = flag.Bool("update_errors", false, "update error messages in test file based on compiler output")
runoutputLimit = flag.Int("l", defaultRunOutputLimit(), "number of parallel runoutput tests to run")
force = flag.Bool("f", false, "ignore expected-failure test lists")
generics = flag.String("G", defaultGLevels, "a comma-separated list of -G compiler flags to test with")
shard = flag.Int("shard", 0, "shard index to run. Only applicable if -shards is non-zero.")
shards = flag.Int("shards", 0, "number of shards. If 0, all tests are run. This is used by the continuous build.")
@ -79,22 +74,10 @@ var env = func() (res envVars) {
return
}()
var unifiedEnabled, defaultGLevels = func() (bool, string) {
// TODO(mdempsky): This will give false negatives if the unified
// experiment is enabled by default, but presumably at that point we
// won't need to disable tests for it anymore anyway.
enabled := strings.Contains(","+env.GOEXPERIMENT+",", ",unified,")
// Test both -G=0 and -G=3 on the longtest builders, to make sure we
// don't accidentally break -G=0 mode until we're ready to remove it
// completely. But elsewhere, testing -G=3 alone should be enough.
glevels := "3"
if strings.Contains(os.Getenv("GO_BUILDER_NAME"), "longtest") {
glevels = "0,3"
}
return enabled, glevels
}()
// TODO(mdempsky): This will give false negatives if the unified
// experiment is enabled by default, but presumably at that point we
// won't need to disable tests for it anymore anyway.
var unifiedEnabled = strings.Contains(","+env.GOEXPERIMENT+",", ",unified,")
// defaultAllCodeGen returns the default value of the -all_codegen
// flag. By default, we prefer to be fast (returning false), except on
@ -132,15 +115,6 @@ const maxTests = 5000
func main() {
flag.Parse()
var glevels []int
for _, s := range strings.Split(*generics, ",") {
glevel, err := strconv.Atoi(s)
if err != nil {
log.Fatalf("invalid -G flag: %v", err)
}
glevels = append(glevels, glevel)
}
findExecCmd()
// Disable parallelism if printing or if using a simulator.
@ -165,11 +139,11 @@ func main() {
}
if fi, err := os.Stat(arg); err == nil && fi.IsDir() {
for _, baseGoFile := range goFiles(arg) {
tests = append(tests, startTests(arg, baseGoFile, glevels)...)
tests = append(tests, startTest(arg, baseGoFile))
}
} else if strings.HasSuffix(arg, ".go") {
dir, file := filepath.Split(arg)
tests = append(tests, startTests(dir, file, glevels)...)
tests = append(tests, startTest(dir, file))
} else {
log.Fatalf("can't yet deal with non-directory and non-go file %q", arg)
}
@ -177,7 +151,7 @@ func main() {
} else {
for _, dir := range dirs {
for _, baseGoFile := range goFiles(dir) {
tests = append(tests, startTests(dir, baseGoFile, glevels)...)
tests = append(tests, startTest(dir, baseGoFile))
}
}
}
@ -210,8 +184,7 @@ func main() {
resCount[status]++
dt := fmt.Sprintf("%.3fs", test.dt.Seconds())
if status == "FAIL" {
fmt.Printf("# go run run.go -G=%v %s\n%s\nFAIL\t%s\t%s\n",
test.glevel,
fmt.Printf("# go run run.go %s\n%s\nFAIL\t%s\t%s\n",
path.Join(test.dir, test.gofile),
errStr, test.goFileName(), dt)
continue
@ -330,7 +303,6 @@ type test struct {
dir, gofile string
donec chan bool // closed when done
dt time.Duration
glevel int // what -G level this test should use
src string
@ -345,30 +317,24 @@ type test struct {
// initExpectFail initializes t.expectFail based on the build+test
// configuration.
func (t *test) initExpectFail(hasGFlag bool) {
func (t *test) initExpectFail() {
if *force {
return
}
var failureSets []map[string]bool
failureSets := []map[string]bool{types2Failures}
if t.glevel == 0 && !hasGFlag && !unifiedEnabled {
failureSets = append(failureSets, g0Failures)
// Note: gccgo supports more 32-bit architectures than this, but
// hopefully the 32-bit failures are fixed before this matters.
switch goarch {
case "386", "arm", "mips", "mipsle":
failureSets = append(failureSets, types2Failures32Bit)
}
if unifiedEnabled {
failureSets = append(failureSets, unifiedFailures)
} else {
failureSets = append(failureSets, types2Failures)
// Note: gccgo supports more 32-bit architectures than this, but
// hopefully the 32-bit failures are fixed before this matters.
switch goarch {
case "386", "arm", "mips", "mipsle":
failureSets = append(failureSets, types2Failures32Bit)
}
if unifiedEnabled {
failureSets = append(failureSets, unifiedFailures)
} else {
failureSets = append(failureSets, g3Failures)
}
failureSets = append(failureSets, g3Failures)
}
filename := strings.Replace(t.goFileName(), "\\", "/", -1) // goFileName() uses \ on Windows
@ -381,27 +347,22 @@ func (t *test) initExpectFail(hasGFlag bool) {
}
}
func startTests(dir, gofile string, glevels []int) []*test {
tests := make([]*test, len(glevels))
for i, glevel := range glevels {
t := &test{
dir: dir,
gofile: gofile,
glevel: glevel,
donec: make(chan bool, 1),
}
if toRun == nil {
toRun = make(chan *test, maxTests)
go runTests()
}
select {
case toRun <- t:
default:
panic("toRun buffer size (maxTests) is too small")
}
tests[i] = t
func startTest(dir, gofile string) *test {
t := &test{
dir: dir,
gofile: gofile,
donec: make(chan bool, 1),
}
return tests
if toRun == nil {
toRun = make(chan *test, maxTests)
go runTests()
}
select {
case toRun <- t:
default:
panic("toRun buffer size (maxTests) is too small")
}
return t
}
// runTests runs tests in parallel, but respecting the order they
@ -589,15 +550,11 @@ func init() { checkShouldTest() }
// or else the commands will rebuild any needed packages (like runtime)
// over and over.
func (t *test) goGcflags() string {
flags := os.Getenv("GO_GCFLAGS")
if t.glevel != CompilerDefaultGLevel {
flags = fmt.Sprintf("%s -G=%v", flags, t.glevel)
}
return "-gcflags=all=" + flags
return "-gcflags=all=" + os.Getenv("GO_GCFLAGS")
}
func (t *test) goGcflagsIsEmpty() bool {
return "" == os.Getenv("GO_GCFLAGS") && t.glevel == CompilerDefaultGLevel
return "" == os.Getenv("GO_GCFLAGS")
}
var errTimeout = errors.New("command exceeded time limit")
@ -744,60 +701,7 @@ func (t *test) run() {
}
}
type Tool int
const (
_ Tool = iota
AsmCheck
Build
Run
Compile
)
// validForGLevel reports whether the current test is valid to run
// at the specified -G level. If so, it may update flags as
// necessary to test with -G.
validForGLevel := func(tool Tool) bool {
hasGFlag := false
for _, flag := range flags {
if strings.Contains(flag, "-G") {
hasGFlag = true
}
}
// In unified IR mode, run the test regardless of explicit -G flag.
if !unifiedEnabled && hasGFlag && t.glevel != CompilerDefaultGLevel {
// test provides explicit -G flag already; don't run again
if *verbose {
fmt.Printf("excl\t%s\n", t.goFileName())
}
return false
}
t.initExpectFail(hasGFlag)
switch tool {
case Build, Run:
// ok; handled in goGcflags
case Compile:
if !hasGFlag {
flags = append(flags, fmt.Sprintf("-G=%v", t.glevel))
}
default:
if t.glevel != CompilerDefaultGLevel {
// we don't know how to add -G for this test yet
if *verbose {
fmt.Printf("excl\t%s\n", t.goFileName())
}
return false
}
}
return true
}
t.initExpectFail()
t.makeTempDir()
if !*keep {
defer os.RemoveAll(t.tempDir)
@ -881,10 +785,6 @@ func (t *test) run() {
t.err = fmt.Errorf("unimplemented action %q", action)
case "asmcheck":
if !validForGLevel(AsmCheck) {
return
}
// Compile Go file and match the generated assembly
// against a set of regexps in comments.
ops := t.wantedAsmOpcodes(long)
@ -939,10 +839,6 @@ func (t *test) run() {
return
case "errorcheck":
if !validForGLevel(Compile) {
return
}
// Compile Go file.
// Fail if wantError is true and compilation was successful and vice versa.
// Match errors produced by gc against errors in comments.
@ -973,18 +869,10 @@ func (t *test) run() {
t.err = t.errorCheck(string(out), wantAuto, long, t.gofile)
case "compile":
if !validForGLevel(Compile) {
return
}
// Compile Go file.
_, t.err = compileFile(runcmd, long, flags)
case "compiledir":
if !validForGLevel(Compile) {
return
}
// Compile all files in the directory as packages in lexicographic order.
longdir := filepath.Join(cwd, t.goDirName())
pkgs, err := goDirPackages(longdir, singlefilepkgs)
@ -1000,10 +888,6 @@ func (t *test) run() {
}
case "errorcheckdir", "errorcheckandrundir":
if !validForGLevel(Compile) {
return
}
flags = append(flags, "-d=panic")
// Compile and errorCheck all files in the directory as packages in lexicographic order.
// If errorcheckdir and wantError, compilation of the last package must fail.
@ -1049,10 +933,6 @@ func (t *test) run() {
fallthrough
case "rundir":
if !validForGLevel(Run) {
return
}
// Compile all files in the directory as packages in lexicographic order.
// In case of errorcheckandrundir, ignore failed compilation of the package before the last.
// Link as if the last file is the main package, run it.
@ -1111,10 +991,6 @@ func (t *test) run() {
}
case "runindir":
if !validForGLevel(Run) {
return
}
// Make a shallow copy of t.goDirName() in its own module and GOPATH, and
// run "go run ." in it. The module path (and hence import path prefix) of
// the copy is equal to the basename of the source directory.
@ -1154,10 +1030,6 @@ func (t *test) run() {
t.checkExpectedOutput(out)
case "build":
if !validForGLevel(Build) {
return
}
// Build Go file.
_, err := runcmd(goTool(), "build", t.goGcflags(), "-o", "a.exe", long)
if err != nil {
@ -1165,10 +1037,6 @@ func (t *test) run() {
}
case "builddir", "buildrundir":
if !validForGLevel(Build) {
return
}
// Build an executable from all the .go and .s files in a subdirectory.
// Run it and verify its output in the buildrundir case.
longdir := filepath.Join(cwd, t.goDirName())
@ -1248,10 +1116,6 @@ func (t *test) run() {
}
case "buildrun":
if !validForGLevel(Build) {
return
}
// Build an executable from Go file, then run it, verify its output.
// Useful for timeout tests where failure mode is infinite loop.
// TODO: not supported on NaCl
@ -1277,10 +1141,6 @@ func (t *test) run() {
t.checkExpectedOutput(out)
case "run":
if !validForGLevel(Run) {
return
}
// Run Go file if no special go command flags are provided;
// otherwise build an executable and run it.
// Verify the output.
@ -1324,10 +1184,6 @@ func (t *test) run() {
t.checkExpectedOutput(out)
case "runoutput":
if !validForGLevel(Run) {
return
}
// Run Go file and write its output into temporary Go file.
// Run generated Go file and verify its output.
rungatec <- true
@ -1363,10 +1219,6 @@ func (t *test) run() {
t.checkExpectedOutput(out)
case "errorcheckoutput":
if !validForGLevel(Compile) {
return
}
// Run Go file and write its output into temporary Go file.
// Compile and errorCheck generated Go file.
runInDir = ""

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags="-G=3 -l"
// run -gcflags="-l"
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G
// compile
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2022 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// errorcheck -G=3
// errorcheck
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compiledir -G=3
// compiledir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// errorcheck -G=3
// errorcheck
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// rundir -G=3
// rundir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compiledir -G=3
// compiledir
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3 -p=p
// compile -p=p
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// run -gcflags=-G=3
// run
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

View File

@ -1,4 +1,4 @@
// compile -G=3
// compile
// Copyright 2021 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style

Some files were not shown because too many files have changed in this diff Show More