diff options
Diffstat (limited to 'gcc/go/gofrontend/statements.cc')
-rw-r--r-- | gcc/go/gofrontend/statements.cc | 14 |
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* |