diff options
| author | Graydon Hoare <[email protected]> | 2011-04-13 15:21:54 -0700 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-04-13 15:21:54 -0700 |
| commit | afeb3a417c93a0a892e088466191c9eb6abc6231 (patch) | |
| tree | 31a458e0ab3f34f51128374b012768053abaa6e0 /src/comp | |
| parent | Add generic-temporary.rs minimal test showing cause of lib-deque.rs failure o... (diff) | |
| download | rust-afeb3a417c93a0a892e088466191c9eb6abc6231.tar.xz rust-afeb3a417c93a0a892e088466191c9eb6abc6231.zip | |
Fix temporary-spilling logic in trans_args, uncomment most of lib-deque.rs (which now passes on stage0).
Diffstat (limited to 'src/comp')
| -rw-r--r-- | src/comp/middle/trans.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 99ac225f..6fdc84f3 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -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; |