aboutsummaryrefslogtreecommitdiff
path: root/gcc/rust/backend/rust-compile-expr.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/rust/backend/rust-compile-expr.h')
-rw-r--r--gcc/rust/backend/rust-compile-expr.h30
1 files changed, 10 insertions, 20 deletions
diff --git a/gcc/rust/backend/rust-compile-expr.h b/gcc/rust/backend/rust-compile-expr.h
index 3cc51d4..8aeb703 100644
--- a/gcc/rust/backend/rust-compile-expr.h
+++ b/gcc/rust/backend/rust-compile-expr.h
@@ -169,7 +169,6 @@ public:
void visit (HIR::AssignmentExpr &expr) override
{
- fncontext fn = ctx->peek_fn ();
auto lvalue = CompileExpr::Compile (expr.get_lhs (), ctx);
auto rvalue = CompileExpr::Compile (expr.get_rhs (), ctx);
@@ -191,7 +190,7 @@ public:
expr.get_rhs ()->get_locus ());
tree assignment
- = ctx->get_backend ()->assignment_statement (fn.fndecl, lvalue, rvalue,
+ = ctx->get_backend ()->assignment_statement (lvalue, rvalue,
expr.get_locus ());
ctx->add_statement (assignment);
@@ -594,9 +593,7 @@ public:
= CompileBlock::compile (expr.get_loop_block ().get (), ctx, nullptr);
tree loop_expr
= ctx->get_backend ()->loop_expression (code_block, expr.get_locus ());
- tree loop_stmt
- = ctx->get_backend ()->expression_statement (fnctx.fndecl, loop_expr);
- ctx->add_statement (loop_stmt);
+ ctx->add_statement (loop_expr);
if (tmp != NULL)
{
@@ -645,9 +642,7 @@ public:
= CompileExpr::Compile (expr.get_predicate_expr ().get (), ctx);
tree exit_expr
= ctx->get_backend ()->exit_expression (condition, expr.get_locus ());
- tree break_stmt
- = ctx->get_backend ()->expression_statement (fnctx.fndecl, exit_expr);
- ctx->add_statement (break_stmt);
+ ctx->add_statement (exit_expr);
tree code_block_stmt
= CompileBlock::compile (expr.get_loop_block ().get (), ctx, nullptr);
@@ -659,14 +654,11 @@ public:
tree loop_expr
= ctx->get_backend ()->loop_expression (loop_block, expr.get_locus ());
- tree loop_stmt
- = ctx->get_backend ()->expression_statement (fnctx.fndecl, loop_expr);
- ctx->add_statement (loop_stmt);
+ ctx->add_statement (loop_expr);
}
void visit (HIR::BreakExpr &expr) override
{
- fncontext fnctx = ctx->peek_fn ();
if (expr.has_break_expr ())
{
tree compiled_expr
@@ -676,8 +668,10 @@ public:
tree result_reference = ctx->get_backend ()->var_expression (
loop_result_holder, expr.get_expr ()->get_locus ());
- tree assignment = ctx->get_backend ()->assignment_statement (
- fnctx.fndecl, result_reference, compiled_expr, expr.get_locus ());
+ tree assignment
+ = ctx->get_backend ()->assignment_statement (result_reference,
+ compiled_expr,
+ expr.get_locus ());
ctx->add_statement (assignment);
}
@@ -721,9 +715,7 @@ public:
tree exit_expr = ctx->get_backend ()->exit_expression (
ctx->get_backend ()->boolean_constant_expression (true),
expr.get_locus ());
- tree break_stmt
- = ctx->get_backend ()->expression_statement (fnctx.fndecl, exit_expr);
- ctx->add_statement (break_stmt);
+ ctx->add_statement (exit_expr);
}
}
@@ -761,9 +753,7 @@ public:
}
}
- tree goto_label
- = ctx->get_backend ()->goto_statement (label, expr.get_locus ());
- ctx->add_statement (goto_label);
+ translated = ctx->get_backend ()->goto_statement (label, expr.get_locus ());
}
void visit (HIR::BorrowExpr &expr) override;