From: Ian Lance Taylor Date: Fri, 14 Dec 2012 15:02:02 +0000 (+0000) Subject: compiler: Better error message for invalid shift operations. X-Git-Tag: releases/gcc-4.8.0~1375 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d720b70f1ae1e6756cf17e7f042a2d3fa7eed977;p=thirdparty%2Fgcc.git compiler: Better error message for invalid shift operations. From-SVN: r194501 --- diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 9da9414c3a69..f10627295b84 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -5463,13 +5463,10 @@ Binary_expression::do_determine_type(const Type_context* context) // Give a useful error if that happened. if (tleft->is_abstract() && subcontext.type != NULL - && (this->left_->type()->integer_type() == NULL - || (subcontext.type->integer_type() == NULL - && subcontext.type->float_type() == NULL - && subcontext.type->complex_type() == NULL - && subcontext.type->interface_type() == NULL))) + && !subcontext.may_be_abstract + && subcontext.type->integer_type() == NULL) this->report_error(("invalid context-determined non-integer type " - "for shift operand")); + "for left operand of shift")); // The context for the right hand operand is the same as for the // left hand operand, except for a shift operator.