87: if a == 0 { //gdb-opt=(a,n,t)
88: continue
86: for i, a := range hist {
-98: }
+99: }
86: for i, a := range hist {
87: if a == 0 { //gdb-opt=(a,n,t)
86: for i, a := range hist {
-98: }
+99: }
87: if a == 0 { //gdb-opt=(a,n,t)
88: continue
86: for i, a := range hist {
-98: }
+99: }
n = 9
t = 22
86: for i, a := range hist {
-98: }
+99: }
}
func main() {
+ growstack() // Use stack early to prevent growth during test, which confuses gdb
test()
}
+
+var snk string
+
+//go:noinline
+func growstack() {
+ snk = fmt.Sprintf("%#v,%#v,%#v", 1, true, "cat")
+}
27: for _, p := range t.stuff {
28: if isFoo(t, p) {
29: return
-43: }
+44: }
}
func main() {
+ growstack() // Use stack early to prevent growth during test, which confuses gdb
t := &thing{name: "t", self: nil, next: nil, stuff: make([]big, 1)}
u := thing{name: "u", self: t, next: t, stuff: make([]big, 1)}
test(t, &u)
}
+
+var snk string
+
+//go:noinline
+func growstack() {
+ snk = fmt.Sprintf("%#v,%#v,%#v", 1, true, "cat")
+}
10: if err != nil {
14: fmt.Println(pwd)
15: }
-19: }
+20: }
10: if err != nil {
14: fmt.Println(pwd)
15: }
-19: }
+20: }
}
func main() {
+ growstack() // Use stack early to prevent growth during test, which confuses gdb
test()
}
+
+var snk string
+
+//go:noinline
+func growstack() {
+ snk = fmt.Sprintf("%#v,%#v,%#v", 1, true, "cat")
+}
./testdata/scopes.go
-21: func test() {
-22: x := id(0)
-23: y := id(0)
-24: fmt.Println(x)
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
-30: fmt.Println(x, y)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-33: a := y
-34: f1(a)
-36: b := 0
-37: f2(b)
-38: if gretbool() {
-39: c := 0
-40: f3(c)
-45: f5(b)
-47: f6(a)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-33: a := y
-34: f1(a)
-36: b := 0
-37: f2(b)
-38: if gretbool() {
-42: c := 1.1
-43: f4(int(c))
-45: f5(b)
-47: f6(a)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-52: j = id(1)
-53: f = id(2)
-55: for i := 0; i <= 5; i++ {
-56: j += j * (j ^ 3) / 100
-57: if i == f {
-61: sleepytime()
-55: for i := 0; i <= 5; i++ {
-56: j += j * (j ^ 3) / 100
-57: if i == f {
-61: sleepytime()
-55: for i := 0; i <= 5; i++ {
-56: j += j * (j ^ 3) / 100
-57: if i == f {
-58: fmt.Println("foo")
-59: break
-63: helloworld()
-65: }
-14: }
+22: func test() {
+23: x := id(0)
+24: y := id(0)
+25: fmt.Println(x)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+31: fmt.Println(x, y)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+34: a := y
+35: f1(a)
+37: b := 0
+38: f2(b)
+39: if gretbool() {
+40: c := 0
+41: f3(c)
+46: f5(b)
+48: f6(a)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+34: a := y
+35: f1(a)
+37: b := 0
+38: f2(b)
+39: if gretbool() {
+43: c := 1.1
+44: f4(int(c))
+46: f5(b)
+48: f6(a)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+53: j = id(1)
+54: f = id(2)
+56: for i := 0; i <= 5; i++ {
+57: j += j * (j ^ 3) / 100
+58: if i == f {
+62: sleepytime()
+56: for i := 0; i <= 5; i++ {
+57: j += j * (j ^ 3) / 100
+58: if i == f {
+62: sleepytime()
+56: for i := 0; i <= 5; i++ {
+57: j += j * (j ^ 3) / 100
+58: if i == f {
+59: fmt.Println("foo")
+60: break
+64: helloworld()
+66: }
+15: }
./testdata/scopes.go
-21: func test() {
-22: x := id(0)
-23: y := id(0)
-24: fmt.Println(x)
-25: for i := x; i < 3; i++ {
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
-25: for i := x; i < 3; i++ {
-30: fmt.Println(x, y)
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
-30: fmt.Println(x, y)
-21: func test() {
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-34: f1(a)
-37: f2(b)
-38: if gretbool() {
-40: f3(c)
-45: f5(b)
-47: f6(a)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-34: f1(a)
-37: f2(b)
-38: if gretbool() {
-43: f4(int(c))
-45: f5(b)
-47: f6(a)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-52: j = id(1)
-53: f = id(2)
-55: for i := 0; i <= 5; i++ {
-57: if i == f {
-55: for i := 0; i <= 5; i++ {
-61: sleepytime()
-55: for i := 0; i <= 5; i++ {
-57: if i == f {
-55: for i := 0; i <= 5; i++ {
-61: sleepytime()
-55: for i := 0; i <= 5; i++ {
-57: if i == f {
-58: fmt.Println("foo")
-63: helloworld()
-65: }
-14: }
+22: func test() {
+23: x := id(0)
+24: y := id(0)
+25: fmt.Println(x)
+26: for i := x; i < 3; i++ {
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+31: fmt.Println(x, y)
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+31: fmt.Println(x, y)
+22: func test() {
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+35: f1(a)
+38: f2(b)
+39: if gretbool() {
+41: f3(c)
+46: f5(b)
+48: f6(a)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+35: f1(a)
+38: f2(b)
+39: if gretbool() {
+44: f4(int(c))
+46: f5(b)
+48: f6(a)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+53: j = id(1)
+54: f = id(2)
+56: for i := 0; i <= 5; i++ {
+58: if i == f {
+56: for i := 0; i <= 5; i++ {
+62: sleepytime()
+56: for i := 0; i <= 5; i++ {
+58: if i == f {
+56: for i := 0; i <= 5; i++ {
+62: sleepytime()
+56: for i := 0; i <= 5; i++ {
+58: if i == f {
+59: fmt.Println("foo")
+64: helloworld()
+66: }
+15: }
src/cmd/compile/internal/ssa/testdata/scopes.go
-21: func test() {
-22: x := id(0)
-23: y := id(0)
-24: fmt.Println(x)
+22: func test() {
+23: x := id(0)
+24: y := id(0)
+25: fmt.Println(x)
0:
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
x = 0
y = 0
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
x = 1
y = 0
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
x = 4
y = 1
-25: for i := x; i < 3; i++ {
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
x = 0
y = 5
-30: fmt.Println(x, y)
+31: fmt.Println(x, y)
0: 5
-33: a := y
-34: f1(a)
-36: b := 0
-37: f2(b)
-38: if gretbool() {
-39: c := 0
-40: f3(c)
-45: f5(b)
-47: f6(a)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-33: a := y
-34: f1(a)
-36: b := 0
-37: f2(b)
-38: if gretbool() {
-42: c := 1.1
-43: f4(int(c))
-45: f5(b)
-47: f6(a)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-52: j = id(1)
-53: f = id(2)
-55: for i := 0; i <= 5; i++ {
-56: j += j * (j ^ 3) / 100
-57: if i == f {
-61: sleepytime()
-55: for i := 0; i <= 5; i++ {
-56: j += j * (j ^ 3) / 100
-57: if i == f {
-61: sleepytime()
-55: for i := 0; i <= 5; i++ {
-56: j += j * (j ^ 3) / 100
-57: if i == f {
-58: fmt.Println("foo")
-59: break
-63: helloworld()
-65: }
-14: }
+34: a := y
+35: f1(a)
+37: b := 0
+38: f2(b)
+39: if gretbool() {
+40: c := 0
+41: f3(c)
+46: f5(b)
+48: f6(a)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+34: a := y
+35: f1(a)
+37: b := 0
+38: f2(b)
+39: if gretbool() {
+43: c := 1.1
+44: f4(int(c))
+46: f5(b)
+48: f6(a)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+53: j = id(1)
+54: f = id(2)
+56: for i := 0; i <= 5; i++ {
+57: j += j * (j ^ 3) / 100
+58: if i == f {
+62: sleepytime()
+56: for i := 0; i <= 5; i++ {
+57: j += j * (j ^ 3) / 100
+58: if i == f {
+62: sleepytime()
+56: for i := 0; i <= 5; i++ {
+57: j += j * (j ^ 3) / 100
+58: if i == f {
+59: fmt.Println("foo")
+60: break
+64: helloworld()
+66: }
+15: }
src/cmd/compile/internal/ssa/testdata/scopes.go
-21: func test() {
-22: x := id(0)
-23: y := id(0)
-24: fmt.Println(x)
+22: func test() {
+23: x := id(0)
+24: y := id(0)
+25: fmt.Println(x)
0:
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
x = 0
y = 0
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
x = 1
y = 0
-25: for i := x; i < 3; i++ {
-26: x := i * i
-27: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+27: x := i * i
+28: y += id(x) //gdb-dbg=(x,y)//gdb-opt=(x,y)
x = 4
y = 1
-25: for i := x; i < 3; i++ {
-30: fmt.Println(x, y)
-29: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
+26: for i := x; i < 3; i++ {
+31: fmt.Println(x, y)
+30: y = x + y //gdb-dbg=(x,y)//gdb-opt=(x,y)
x = 0
y = 5
0: 5
-34: f1(a)
-37: f2(b)
-38: if gretbool() {
-40: f3(c)
-45: f5(b)
-47: f6(a)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-34: f1(a)
-37: f2(b)
-38: if gretbool() {
-43: f4(int(c))
-45: f5(b)
-47: f6(a)
-32: for x := 0; x <= 1; x++ { // From delve scopetest.go
-52: j = id(1)
-53: f = id(2)
-55: for i := 0; i <= 5; i++ {
-57: if i == f {
-61: sleepytime()
-55: for i := 0; i <= 5; i++ {
-57: if i == f {
-61: sleepytime()
-55: for i := 0; i <= 5; i++ {
-57: if i == f {
-58: fmt.Println("foo")
-63: helloworld()
-65: }
-14: }
+35: f1(a)
+38: f2(b)
+39: if gretbool() {
+41: f3(c)
+46: f5(b)
+48: f6(a)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+35: f1(a)
+38: f2(b)
+39: if gretbool() {
+44: f4(int(c))
+46: f5(b)
+48: f6(a)
+33: for x := 0; x <= 1; x++ { // From delve scopetest.go
+53: j = id(1)
+54: f = id(2)
+56: for i := 0; i <= 5; i++ {
+58: if i == f {
+62: sleepytime()
+56: for i := 0; i <= 5; i++ {
+58: if i == f {
+62: sleepytime()
+56: for i := 0; i <= 5; i++ {
+58: if i == f {
+59: fmt.Println("foo")
+64: helloworld()
+66: }
+15: }
)
func main() {
+ growstack() // Use stack early to prevent growth during test, which confuses gdb
test()
}
boolvar = !boolvar
return x
}
+
+var sink string
+
+//go:noinline
+func growstack() {
+ sink = fmt.Sprintf("%#v,%#v,%#v", 1, true, "cat")
+}