about summary refs log tree commit diff
path: root/src/comp
diff options
context:
space:
mode:
Diffstat (limited to 'src/comp')
-rw-r--r--src/comp/middle/trans_comm.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/comp/middle/trans_comm.rs b/src/comp/middle/trans_comm.rs
index 3ea1f588c95..aca28347cac 100644
--- a/src/comp/middle/trans_comm.rs
+++ b/src/comp/middle/trans_comm.rs
@@ -247,10 +247,11 @@ fn recv_val(&@block_ctxt cx, ValueRef to, &@ast::expr from, &ty::t unit_ty,
     bcx.build.Call(bcx.fcx.lcx.ccx.upcalls.recv,
                    ~[bcx.fcx.lltaskptr, lldataptr, llportptr]);
     auto data_load = load_if_immediate(bcx, to, unit_ty);
-    auto cp = copy_val(bcx, action, to, data_load, unit_ty);
-    bcx = cp.bcx;
-    // TODO: Any cleanup need to be done here?
-    ret rslt(bcx, to);
+    //auto cp = copy_val(bcx, action, to, data_load, unit_ty);
+    //bcx = cp.bcx;
+
+    add_clean_temp(cx, data_load, unit_ty);
+    ret rslt(bcx, data_load);
 }
 
 // Does a deep copy of a value. This is needed for passing arguments to child