From: Dean Prichard Date: Sat, 27 Mar 2010 06:27:24 +0000 (-0700) Subject: arm: fix build X-Git-Tag: weekly.2010-03-30~35 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=55b145e32ac948d90c46ba1f8bf59cb09b8fcd6c;p=gostls13.git arm: fix build R=rsc CC=golang-dev https://golang.org/cl/800041 --- diff --git a/src/cmd/5g/ggen.c b/src/cmd/5g/ggen.c index c60c05863a..50c90912e0 100644 --- a/src/cmd/5g/ggen.c +++ b/src/cmd/5g/ggen.c @@ -87,10 +87,8 @@ compile(Node *fn) if(pret) patch(pret, pc); - ginit(); if(curfn->exit) genlist(curfn->exit); - gclean(); if(nerrors != 0) goto ret; if(hasdefer) @@ -427,9 +425,10 @@ void cgen_ret(Node *n) { genlist(n->list); // copy out args - if(hasdefer) - ginscall(deferreturn, 0); - gins(ARET, N, N); + if(hasdefer || curfn->exit) + gjmp(pret); + else + gins(ARET, N, N); } /* diff --git a/test/arm-pass.txt b/test/arm-pass.txt index 7b1d311335..8a101a9ec6 100644 --- a/test/arm-pass.txt +++ b/test/arm-pass.txt @@ -27,7 +27,6 @@ convlit1.go declbad.go empty.go escape.go -escape1.go fixedbugs/bug000.go fixedbugs/bug001.go fixedbugs/bug002.go