Fix temporary-spilling logic in trans_args, uncomment most of lib-deque.rs (which now passes on stage0).

This commit is contained in:
Graydon Hoare 2011-04-13 15:21:54 -07:00
parent 0910a7323c
commit afeb3a417c
2 changed files with 5 additions and 11 deletions

View file

@ -4403,7 +4403,11 @@ fn trans_args(@block_ctxt cx,
lv = trans_lval(bcx, e);
} else {
auto r = trans_expr(bcx, e);
lv = lval_val(r.bcx, r.val);
if (type_is_immediate(ty.expr_ty(e))) {
lv = lval_val(r.bcx, r.val);
} else {
lv = lval_mem(r.bcx, r.val);
}
}
bcx = lv.res.bcx;

View file

@ -210,29 +210,19 @@ fn main() {
test_simple();
log "*** end test simple";
/*
* FIXME: Causes "Invalid read of size 4" under valgrind.
log "*** test boxes";
test_boxes(@5, @72, @64, @175);
log "*** end test boxes";
*/
log "test parameterized: int";
let eqfn[int] eq1 = inteq;
test_parameterized[int](eq1, 5, 72, 64, 175);
/*
* FIXME: Appears to segfault after an upcall_grow_task
log "*** test parameterized: @int";
let eqfn[@int] eq2 = intboxeq;
test_parameterized[@int](eq2, @5, @72, @64, @175);
log "*** end test parameterized @int";
*/
log "test parameterized: taggy";
let eqfn[taggy] eq3 = taggyeq;
test_parameterized[taggy](eq3,