OSDN Git Service

Check for error type when getting type of binary expression.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jan 2011 16:03:55 +0000 (16:03 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 19 Jan 2011 16:03:55 +0000 (16:03 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@169002 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/go/gofrontend/expressions.cc

index 819fb61..5afe163 100644 (file)
@@ -5396,7 +5396,11 @@ Binary_expression::do_type()
       {
        Type* left_type = this->left_->type();
        Type* right_type = this->right_->type();
-       if (!left_type->is_abstract() && left_type->named_type() != NULL)
+       if (left_type->is_error_type())
+         return left_type;
+       else if (right_type->is_error_type())
+         return right_type;
+       else if (!left_type->is_abstract() && left_type->named_type() != NULL)
          return left_type;
        else if (!right_type->is_abstract() && right_type->named_type() != NULL)
          return right_type;