aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/statements.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/go/gofrontend/statements.cc')
-rw-r--r--gcc/go/gofrontend/statements.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/statements.cc b/gcc/go/gofrontend/statements.cc
index 854b329..da29a35d 100644
--- a/gcc/go/gofrontend/statements.cc
+++ b/gcc/go/gofrontend/statements.cc
@@ -1551,8 +1551,7 @@ class Expression_statement : public Statement
do_may_fall_through() const;
tree
- do_get_tree(Translate_context* context)
- { return this->expr_->get_tree(context); }
+ do_get_tree(Translate_context* context);
private:
Expression* expr_;
@@ -1589,6 +1588,17 @@ Expression_statement::do_may_fall_through() const
return true;
}
+// Convert to backend representation.
+
+tree
+Expression_statement::do_get_tree(Translate_context* context)
+{
+ tree expr_tree = this->expr_->get_tree(context);
+ Bexpression* bexpr = tree_to_expr(expr_tree);
+ Bstatement* ret = context->backend()->expression_statement(bexpr);
+ return statement_to_tree(ret);
+}
+
// Make an expression statement from an Expression.
Statement*