diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2017-07-20 19:53:54 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2017-07-20 19:53:54 +0000 |
commit | 033e96a263c4fb14e25b40141552a3602d89cace (patch) | |
tree | b96e4ead16411d6708a4ae393a9fc31ab1c07e9b /gcc | |
parent | 2953b72fdd6c7d812028a636dfadf1c0e89ca314 (diff) | |
download | gcc-033e96a263c4fb14e25b40141552a3602d89cace.zip gcc-033e96a263c4fb14e25b40141552a3602d89cace.tar.gz gcc-033e96a263c4fb14e25b40141552a3602d89cace.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/expressions.cc | 5 |
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index f6d7a00..5f624b4 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -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. diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 597f0a0..96a0731 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -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. |