summaryrefslogtreecommitdiff
path: root/src/cmd/gc/walk.c
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-03-31 11:46:01 -0700
committerRuss Cox <rsc@golang.org>2010-03-31 11:46:01 -0700
commitea38be0512395c8f81417fb75ce98664d9329b9b (patch)
tree6fd09575dcc2abccf75c017828b45ddbb98c3e88 /src/cmd/gc/walk.c
parent867aa94eb6c414512801b14f5931dc27d51cd3d4 (diff)
downloadgolang-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.c3
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: