src/cmd/gc/sinit.c | 4 +++- test/bugs/bug264.go => test/fixedbugs/bug264.go | 5 ----- test/golden.out | 11 ----------- diff --git a/src/cmd/gc/sinit.c b/src/cmd/gc/sinit.c index 6f0772b63eb7cb18e282b27ae6dee039f1a50710..20822542ab97302af02334796a1d495be4f86002 100644 --- a/src/cmd/gc/sinit.c +++ b/src/cmd/gc/sinit.c @@ -31,8 +31,10 @@ case PEXTERN: case PFUNC: break; default: - if(isblank(n)) + if(isblank(n) && n->defn != N && !n->defn->initorder) { + n->defn->initorder = 1; *out = list(*out, n->defn); + } return; } diff --git a/test/bugs/bug264.go b/test/fixedbugs/bug264.go rename from test/bugs/bug264.go rename to test/fixedbugs/bug264.go index e0b288d94a07ee6f81817e9ca3258eaef1141fbe..6d86c6fe5bdddccabb875675dd847b74ceb7c09c 100644 --- a/test/bugs/bug264.go +++ b/test/fixedbugs/bug264.go @@ -8,27 +8,22 @@ // Test case for http://code.google.com/p/go/issues/detail?id=692 package main -import "fmt" - var fooCount = 0 var barCount = 0 var balCount = 0 func foo() (int, int) { fooCount++ - fmt.Println("foo") return 0, 0 } func bar() (int, int) { barCount++ - fmt.Println("bar") return 0, 0 } func bal() (int, int) { balCount++ - fmt.Println("bal") return 0, 0 } diff --git a/test/golden.out b/test/golden.out index 59aec777bc3e6dab4caadcf1673b77718bc3f9b8..49bca4b874b17eba73c447c88bc23ba74813597b 100644 --- a/test/golden.out +++ b/test/golden.out @@ -177,14 +177,3 @@ =========== bugs/bug260.go FAIL BUG: bug260 failed - -=========== bugs/bug264.go -foo -bar -bar -bal -bal -panic: barCount != 1 - -panic PC=xxx -BUG