Skip to content

Commit

Permalink
Re-enabling some tests.
Browse files Browse the repository at this point in the history
  • Loading branch information
Eric Holk authored and graydon committed Jun 28, 2011
1 parent f6f8a06 commit 866ee6e
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 15 deletions.
2 changes: 1 addition & 1 deletion src/comp/back/upcall.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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()),
Expand Down
2 changes: 1 addition & 1 deletion src/comp/middle/trans.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions src/rt/rust_upcall.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -355,11 +355,11 @@ upcall_new_str(rust_task *task, char const *s, size_t fill) {
}

extern "C" CDECL rust_str *
upcall_dup_str(rust_task *task, rust_str *str) {
upcall_dup_str(rust_task *task, rust_task *target, rust_str *str) {
LOG_UPCALL_ENTRY(task);
scoped_lock with(task->kernel->scheduler_lock);

return make_str(task, (char const *)str->data, str->fill);
return make_str(target, (char const *)str->data, str->fill);
}

extern "C" CDECL rust_vec *
Expand Down
7 changes: 1 addition & 6 deletions src/test/run-pass/child-outlives-parent.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,5 @@



// xfail-stage0
// xfail-stage1
// xfail-stage2
// Reported as issue #126, child leaks the string.
fn child2(str s) { }

fn main() { auto x = spawn child2("hi"); }
fn main() { auto x = spawn child2("hi"); }
2 changes: 0 additions & 2 deletions src/test/run-pass/spawn-types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
*/

// xfail-stage0
// xfail-stage1
// xfail-stage2

use std;

Expand Down
4 changes: 1 addition & 3 deletions src/test/run-pass/task-life-0.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
// xfail-stage0
// xfail-stage1
// xfail-stage2
fn main() -> () {
spawn child("Hello");
}

fn child(str s) {

}
}

0 comments on commit 866ee6e

Please sign in to comment.