diff --git a/src/cmd/compile/internal/ssa/debug_test.go b/src/cmd/compile/internal/ssa/debug_test.go index d41788103d..e1b8e38ece 100644 --- a/src/cmd/compile/internal/ssa/debug_test.go +++ b/src/cmd/compile/internal/ssa/debug_test.go @@ -32,6 +32,8 @@ var hexRe = regexp.MustCompile("0x[a-zA-Z0-9]+") var numRe = regexp.MustCompile("-?[0-9]+") var stringRe = regexp.MustCompile("\"([^\\\"]|(\\.))*\"") +var gdb = "gdb" // Might be "ggdb" on Darwin, because gdb no longer part of XCode + // TestNexting go-builds a file, then uses a debugger (default gdb, optionally delve) // to next through the generated executable, recording each line landed at, and // then compares those lines with reference file(s). @@ -56,10 +58,46 @@ var stringRe = regexp.MustCompile("\"([^\\\"]|(\\.))*\"") // go test debug_test.go -args -u // (for Delve) // go test debug_test.go -args -u -d + func TestNexting(t *testing.T) { testenv.MustHaveGoBuild(t) + + if !*delve && !*force && !(runtime.GOOS == "linux" && runtime.GOARCH == "amd64") { + // Running gdb on OSX/darwin is very flaky. + // Sometimes it is called ggdb, depending on how it is installed. + // It also probably requires an admin password typed into a dialog box. + // Various architectures tend to differ slightly sometimes, and keeping them + // all in sync is a pain for people who don't have them all at hand, + // so limit testing to amd64 (for now) + + t.Skip("Skipped unless -d (delve), -f (force), or linux-amd64") + } + + if *delve { + _, err := exec.LookPath("dlv") + if err != nil { + t.Fatal("dlv specified on command line with -d but no dlv on path") + } + } else { + _, err := exec.LookPath(gdb) + if err != nil { + if runtime.GOOS != "darwin" { + t.Skip("Skipped because gdb not available") + } + _, err = exec.LookPath("ggdb") + if err != nil { + t.Skip("Skipped because gdb (and also ggdb) not available") + } + gdb = "ggdb" + } + } + testNexting(t, "hist", "dbg", "-N -l") - testNexting(t, "hist", "opt", "") + // If this is test is run with a runtime compiled with -N -l, it is very likely to fail. + // This occurs in the noopt builders (for example). + if gogcflags := os.Getenv("GO_GCFLAGS"); *force || !strings.Contains(gogcflags, "-N") && !strings.Contains(gogcflags, "-l") { + testNexting(t, "hist", "opt", "") + } } func testNexting(t *testing.T, base, tag, gcflags string) { @@ -68,16 +106,6 @@ func testNexting(t *testing.T, base, tag, gcflags string) { // (3) Read expected history from testdata/sample.nexts // optionally, write out testdata/sample.nexts - if !*delve && !*force && !(runtime.GOOS == "linux" && runtime.GOARCH == "amd64") { - // Running gdb on OSX/darwin is very flaky. - // It also probably requires an admin password typed into a dialog box. - // Various architectures tend to differ slightly sometimes, and keeping them - // all in sync is a pain for people who don't have them all at hand, - // so limit testing to amd64 (for now) - - t.Skip() - } - exe := filepath.Join("testdata", base) logbase := exe + "-" + tag tmpbase := logbase + "-test" @@ -300,10 +328,6 @@ func (h *nextHist) addVar(text string) { func invertMapSU8(hf2i map[string]uint8) map[uint8]string { hi2f := make(map[uint8]string) for hs, i := range hf2i { - hsi := strings.Index(hs, "/src/") - if hsi != -1 { - hs = hs[hsi+1:] - } hi2f[i] = hs } return hi2f @@ -333,6 +357,14 @@ func (h *nextHist) equals(k *nextHist) bool { return true } +func canonFileName(f string) string { + i := strings.Index(f, "/src/") + if i != -1 { + f = f[i+1:] + } + return f +} + /* Delve */ type delveState struct { @@ -371,14 +403,15 @@ func (s *delveState) stepnext(ss string) bool { excerpt = excerpts[1] } if len(locations) > 0 { + fn := canonFileName(locations[2]) if *verbose { - if s.file != locations[2] { - fmt.Printf("%s\n", locations[2]) + if s.file != fn { + fmt.Printf("%s\n", locations[2]) // don't canonocalize verbose logging } fmt.Printf(" %s\n", locations[3]) } s.line = locations[3] - s.file = locations[2] + s.file = fn s.function = locations[1] s.ioState.history.add(s.file, s.line, excerpt) return true @@ -427,11 +460,8 @@ type gdbState struct { } func newGdb(tag, executable string, args ...string) dbgr { - gdb := "gdb" - if runtime.GOOS == "darwin" { - gdb = "ggdb" // A possibility on a Mac - } - cmd := exec.Command(gdb, executable) + // Turn off shell, necessary for Darwin apparently + cmd := exec.Command(gdb, "-ex", "set startup-with-shell off", executable) cmd.Env = replaceEnv(cmd.Env, "TERM", "dumb") s := &gdbState{tag: tag, cmd: cmd, args: args} s.atLineRe = regexp.MustCompile("(^|\n)([0-9]+)(.*)") @@ -479,14 +509,15 @@ func (s *gdbState) stepnext(ss string) bool { excerpt = excerpts[3] } if len(locations) > 0 { + fn := canonFileName(locations[2]) if *verbose { - if s.file != locations[2] { + if s.file != fn { fmt.Printf("%s\n", locations[2]) } fmt.Printf(" %s\n", locations[3]) } s.line = locations[3] - s.file = locations[2] + s.file = fn s.function = locations[1] s.ioState.history.add(s.file, s.line, excerpt) } diff --git a/src/cmd/compile/internal/ssa/testdata/hist-dbg.delve-nexts b/src/cmd/compile/internal/ssa/testdata/hist-dbg.delve-nexts index cf0d34eb91..4e71550975 100644 --- a/src/cmd/compile/internal/ssa/testdata/hist-dbg.delve-nexts +++ b/src/cmd/compile/internal/ssa/testdata/hist-dbg.delve-nexts @@ -1,6 +1,6 @@ ./testdata/hist.go 35: func main() { -36: hist := make([]int, 100) +36: hist := make([]int, 10) 37: var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A) 38: if len(os.Args) > 1 { 43: return @@ -106,278 +106,8 @@ 60: if a == 0 { 61: continue 59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { 68: } - /usr/local/google/home/drchase/work/go/src/runtime/proc.go + src/runtime/proc.go 201: if atomic.Load(&runningPanicDefers) != 0 { 210: if atomic.Load(&panicking) != 0 { 214: exit(0) diff --git a/src/cmd/compile/internal/ssa/testdata/hist-dbg.gdb-nexts b/src/cmd/compile/internal/ssa/testdata/hist-dbg.gdb-nexts index 39ed076e3a..5bb6102729 100644 --- a/src/cmd/compile/internal/ssa/testdata/hist-dbg.gdb-nexts +++ b/src/cmd/compile/internal/ssa/testdata/hist-dbg.gdb-nexts @@ -1,10 +1,10 @@ - /usr/local/google/home/drchase/work/go/src/cmd/compile/internal/ssa/testdata/hist.go + src/cmd/compile/internal/ssa/testdata/hist.go 35: func main() { 35: func main() { -36: hist := make([]int, 100) +36: hist := make([]int, 10) 37: var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A) -$1 = {array = , len = 100, cap = 100} -$2 = "1\n1\n1\n1\n2\n2\n2\n4\n4\n8\n" +$1 = []int = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0} +$2 = "1\n1\n1\n1\n2\n2\n2\n4\n4\n8\n" 38: if len(os.Args) > 1 { 43: return 47: for scanner.Scan() { @@ -131,278 +131,8 @@ $24 = 26 60: if a == 0 { 61: continue 59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { -60: if a == 0 { -61: continue -59: for i, a := range hist { 68: } - /usr/local/google/home/drchase/work/go/src/runtime/proc.go + src/runtime/proc.go 201: if atomic.Load(&runningPanicDefers) != 0 { 201: if atomic.Load(&runningPanicDefers) != 0 { 210: if atomic.Load(&panicking) != 0 { diff --git a/src/cmd/compile/internal/ssa/testdata/hist-opt.delve-nexts b/src/cmd/compile/internal/ssa/testdata/hist-opt.delve-nexts index 4e2584586d..659971991e 100644 --- a/src/cmd/compile/internal/ssa/testdata/hist-opt.delve-nexts +++ b/src/cmd/compile/internal/ssa/testdata/hist-opt.delve-nexts @@ -1,20 +1,20 @@ ./testdata/hist.go 35: func main() { -36: hist := make([]int, 100) +36: hist := make([]int, 10) 37: var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A) 13: "strings" - /usr/local/google/home/drchase/work/go/src/strings/reader.go + src/strings/reader.go 150: func NewReader(s string) *Reader { return &Reader{s, 0, -1} } ./testdata/hist.go 38: if len(os.Args) > 1 { 8: "bufio" - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 84: split: ScanLines, 74: MaxScanTokenSize = 64 * 1024 ./testdata/hist.go 47: for scanner.Scan() { 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -23,7 +23,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -32,7 +32,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -41,7 +41,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -50,7 +50,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -59,7 +59,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -68,7 +68,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -77,7 +77,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -86,7 +86,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -95,7 +95,7 @@ 55: hist[int(i)]++ 55: hist[int(i)]++ 47: for scanner.Scan() { - /usr/local/google/home/drchase/work/go/src/bufio/scan.go + src/bufio/scan.go 107: return string(s.token) ./testdata/hist.go 49: i, err := strconv.ParseInt(s, 10, 64) @@ -151,98 +151,8 @@ 59: for i, a := range hist { 65: fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t) 60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { 68: } - /usr/local/google/home/drchase/work/go/src/runtime/proc.go + src/runtime/proc.go 201: if atomic.Load(&runningPanicDefers) != 0 { 210: if atomic.Load(&panicking) != 0 { 214: exit(0) diff --git a/src/cmd/compile/internal/ssa/testdata/hist-opt.gdb-nexts b/src/cmd/compile/internal/ssa/testdata/hist-opt.gdb-nexts index 4add645962..66c8bcd46d 100644 --- a/src/cmd/compile/internal/ssa/testdata/hist-opt.gdb-nexts +++ b/src/cmd/compile/internal/ssa/testdata/hist-opt.gdb-nexts @@ -1,7 +1,7 @@ - /usr/local/google/home/drchase/work/go/src/cmd/compile/internal/ssa/testdata/hist.go + src/cmd/compile/internal/ssa/testdata/hist.go 35: func main() { 35: func main() { -36: hist := make([]int, 100) +36: hist := make([]int, 10) 37: var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A) 13: "strings" 150: func NewReader(s string) *Reader { return &Reader{s, 0, -1} } @@ -117,98 +117,8 @@ 59: for i, a := range hist { 65: fmt.Fprintf(os.Stderr, "%d\t%d\t%d\t%d\t%d\n", i, a, n, i*a, t) //gdb-dbg=(n,i,t) 60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { -60: if a == 0 { 68: } - /usr/local/google/home/drchase/work/go/src/runtime/proc.go + src/runtime/proc.go 201: if atomic.Load(&runningPanicDefers) != 0 { 201: if atomic.Load(&runningPanicDefers) != 0 { 210: if atomic.Load(&panicking) != 0 { diff --git a/src/cmd/compile/internal/ssa/testdata/hist.go b/src/cmd/compile/internal/ssa/testdata/hist.go index 623e2f86f9..12ad09cdaa 100644 --- a/src/cmd/compile/internal/ssa/testdata/hist.go +++ b/src/cmd/compile/internal/ssa/testdata/hist.go @@ -33,7 +33,7 @@ var cannedInput string = `1 ` func main() { - hist := make([]int, 100) + hist := make([]int, 10) var reader io.Reader = strings.NewReader(cannedInput) //gdb-dbg=(hist/A,cannedInput/A) if len(os.Args) > 1 { var err error