diff options
| author | Graydon Hoare <[email protected]> | 2011-02-14 17:58:32 -0800 |
|---|---|---|
| committer | Graydon Hoare <[email protected]> | 2011-02-14 17:58:32 -0800 |
| commit | 15a01f5c3691a152793d8933a7be9d16a0fc7030 (patch) | |
| tree | ef18ede583e4aae92360e5e2dc033f6c9ffc865f /src/comp/middle/trans.rs | |
| parent | Move all non-decl/non-expr stmts to exprs. (diff) | |
| download | rust-15a01f5c3691a152793d8933a7be9d16a0fc7030.tar.xz rust-15a01f5c3691a152793d8933a7be9d16a0fc7030.zip | |
Add basic front-end support for expr_put.
Diffstat (limited to 'src/comp/middle/trans.rs')
| -rw-r--r-- | src/comp/middle/trans.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index e140ddcc..c8f21dff 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -3122,6 +3122,10 @@ fn trans_expr(@block_ctxt cx, @ast.expr e) -> result { ret trans_ret(cx, e); } + case (ast.expr_ret(?e)) { + ret trans_put(cx, e); + } + case (ast.expr_be(?e)) { ret trans_be(cx, e); } @@ -3199,6 +3203,11 @@ fn trans_fail(@block_ctxt cx, common.span sp, str fail_str) -> result { ret trans_upcall(cx, "upcall_fail", args); } +fn trans_put(@block_ctxt cx, &option.t[@ast.expr] e) -> result { + cx.fcx.ccx.sess.unimpl("put expr"); + fail; +} + fn trans_ret(@block_ctxt cx, &option.t[@ast.expr] e) -> result { auto bcx = cx; auto val = C_nil(); |