diff options
author | Russ Cox <rsc@golang.org> | 2010-03-31 11:46:01 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-03-31 11:46:01 -0700 |
commit | ea38be0512395c8f81417fb75ce98664d9329b9b (patch) | |
tree | 6fd09575dcc2abccf75c017828b45ddbb98c3e88 /src/cmd/gc/walk.c | |
parent | 867aa94eb6c414512801b14f5931dc27d51cd3d4 (diff) | |
download | golang-ea38be0512395c8f81417fb75ce98664d9329b9b.tar.gz |
gc: implement panic and recover
R=ken2, r, ken3
CC=golang-dev
http://codereview.appspot.com/831042
Diffstat (limited to 'src/cmd/gc/walk.c')
-rw-r--r-- | src/cmd/gc/walk.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cmd/gc/walk.c b/src/cmd/gc/walk.c index 1d5db4c04..37b5efa6f 100644 --- a/src/cmd/gc/walk.c +++ b/src/cmd/gc/walk.c @@ -391,6 +391,7 @@ walkstmt(Node **np) case OPRINTN: case OPANIC: case OEMPTY: + case ORECOVER: if(n->typecheck == 0) fatal("missing typecheck"); init = n->ninit; @@ -631,7 +632,7 @@ walkexpr(Node **np, NodeList **init) goto ret; case ORECOVER: - n = mkcall("recover", n->type, init); + n = mkcall("recover", n->type, init, nod(OADDR, nodfp, N)); goto ret; case OLITERAL: |