aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle/trans.rs
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-02-14 17:58:32 -0800
committerGraydon Hoare <[email protected]>2011-02-14 17:58:32 -0800
commit15a01f5c3691a152793d8933a7be9d16a0fc7030 (patch)
treeef18ede583e4aae92360e5e2dc033f6c9ffc865f /src/comp/middle/trans.rs
parentMove all non-decl/non-expr stmts to exprs. (diff)
downloadrust-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.rs9
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();