aboutsummaryrefslogtreecommitdiff
path: root/src/boot/me/loop.ml
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-09-30 16:10:30 -0700
committerGraydon Hoare <[email protected]>2010-09-30 16:10:30 -0700
commit62c224ffe4845ed3a1f651d05ea0be84d5c870ea (patch)
tree4b5fdc0220f369b0cae5784c1d076fe502a78df0 /src/boot/me/loop.ml
parentInitial check-in of 99 Bottles Of Beer (diff)
downloadrust-62c224ffe4845ed3a1f651d05ea0be84d5c870ea.tar.xz
rust-62c224ffe4845ed3a1f651d05ea0be84d5c870ea.zip
Drop slots on block exits even when blocks have no statements. Part way to fixing bind leakage in rustc.
Diffstat (limited to 'src/boot/me/loop.ml')
-rw-r--r--src/boot/me/loop.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/boot/me/loop.ml b/src/boot/me/loop.ml
index 1fbb8223..b5548e2c 100644
--- a/src/boot/me/loop.ml
+++ b/src/boot/me/loop.ml
@@ -114,6 +114,8 @@ let loop_depth_visitor
let visit_block_pre b =
if Hashtbl.mem cx.ctxt_block_is_loop_body b.id
then push_loop ();
+ let fcx = Stack.top fcxs in
+ htab_put cx.ctxt_block_loop_depths b.id fcx.current_depth;
inner.Walk.visit_block_pre b
in