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/back/upcall.rs2
-rw-r--r--src/comp/middle/trans.rs2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/comp/back/upcall.rs b/src/comp/back/upcall.rs
index 1ed0d4bbf9c..5fad90ce031 100644
--- a/src/comp/back/upcall.rs
+++ b/src/comp/back/upcall.rs
@@ -100,7 +100,7 @@ fn declare_upcalls(type_names tn, ModuleRef llmod) -> @upcalls {
              mark=d("mark", [T_ptr(T_i8())], T_int()),
              new_str=d("new_str", [T_ptr(T_i8()), T_size_t()],
                        T_ptr(T_str())),
-             dup_str=d("dup_str", [T_ptr(T_str())],
+             dup_str=d("dup_str", [T_taskptr(tn), T_ptr(T_str())],
                        T_ptr(T_str())),
              new_vec=d("new_vec", [T_size_t(), T_ptr(T_tydesc(tn))],
                        T_opaque_vec_ptr()),
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 428076e46ba..95488f76a20 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -6512,7 +6512,7 @@ fn deep_copy(&@block_ctxt bcx, ValueRef v, ty::t t, ValueRef target_task)
     else if(ty::type_is_str(tcx, t)) {
         ret rslt(bcx,
                 bcx.build.Call(bcx.fcx.lcx.ccx.upcalls.dup_str,
-                               [bcx.fcx.lltaskptr, v]));
+                               [bcx.fcx.lltaskptr, target_task, v]));
     }
     else if(ty::type_is_chan(tcx, t)) {
         // If this is a channel, we need to clone it.