]> Cypherpunks repositories - gostls13.git/commitdiff
gc: issue 1231
authorRuss Cox <rsc@golang.org>
Mon, 13 Dec 2010 21:51:19 +0000 (16:51 -0500)
committerRuss Cox <rsc@golang.org>
Mon, 13 Dec 2010 21:51:19 +0000 (16:51 -0500)
Fixes #1231.

R=ken2
CC=golang-dev
https://golang.org/cl/3627041

src/cmd/gc/gen.c
test/closure.go

index 8144fabaa8cc98f7d5b1e065612d984e3fb01ea6..04af5a7bb149372d3bbc79a0eb6c85360dcdc5b7 100644 (file)
@@ -433,7 +433,7 @@ cgen_discard(Node *nr)
 
        switch(nr->op) {
        case ONAME:
-               if(!(nr->class & PHEAP) && nr->class != PEXTERN && nr->class != PFUNC)
+               if(!(nr->class & PHEAP) && nr->class != PEXTERN && nr->class != PFUNC && nr->class != PPARAMREF)
                        gused(nr);
                break;
 
index 54e4cf8eae3d707860e18f6d7ee30f1fe05687a7..3033c02ed8161c0f1e4a8cd6f010fba8fbc82ff9 100644 (file)
@@ -98,4 +98,15 @@ func main() {
                println("newfunc returned broken funcs")
                panic("fail")
        }
+
+       ff(1)
+}
+
+func ff(x int) {
+       call(func() {
+               _ = x
+       })
+}
+
+func call(func()) {
 }