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
This commit is contained in:
parent
2953b72fdd
commit
033e96a263
@ -1,4 +1,4 @@
|
||||
3d9ff9bc339942922f1be3bef07c6fe2978ad81a
|
||||
6572f7e35f962bdb8a7c174920dbb70350b96874
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
@ -14307,7 +14307,10 @@ Type_guard_expression::do_get_backend(Translate_context* context)
|
||||
Expression::convert_for_assignment(context->gogo(), this->type_,
|
||||
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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user