Commit 033e96a2 by Ian Lance Taylor

compiler: add explicit convert in Type_guard_expression::do_get_backend

    
    The current recipe in Type_guard_expression for creating a Bexpression
    performs a type conversion at the Type level, but doesn't invoke
    Backend::convert_expression to capture the conversion for the back
    end. Add code to create a BE type conversion operation.
    
    Reviewed-on: https://go-review.googlesource.com/50373

From-SVN: r250400
parent 2953b72f
3d9ff9bc339942922f1be3bef07c6fe2978ad81a 6572f7e35f962bdb8a7c174920dbb70350b96874
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -14307,7 +14307,10 @@ Type_guard_expression::do_get_backend(Translate_context* context) ...@@ -14307,7 +14307,10 @@ Type_guard_expression::do_get_backend(Translate_context* context)
Expression::convert_for_assignment(context->gogo(), this->type_, Expression::convert_for_assignment(context->gogo(), this->type_,
this->expr_, this->location()); this->expr_, this->location());
return conversion->get_backend(context); Gogo* gogo = context->gogo();
Btype* bt = this->type_->get_backend(gogo);
Bexpression* bexpr = conversion->get_backend(context);
return gogo->backend()->convert_expression(bt, bexpr, this->location());
} }
// Dump ast representation for a type guard expression. // Dump ast representation for a type guard expression.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment