diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index d17b173a6ab48bbb9e81892edf370b09404f9f3a..1089c6da882045205c110737284ed44f042375c9 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -5536,6 +5536,9 @@ Binary_expression::do_determine_type(const Type_context* context) subcontext.type = tright; else subcontext.type = tleft; + + if (subcontext.type != NULL && !context->may_be_abstract) + subcontext.type = subcontext.type->make_non_abstract_type(); } this->left_->determine_type(&subcontext);