]> gcc.gnu.org Git - gcc.git/commitdiff
Don't crash on array type with erroneous length expression.
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 22 Dec 2010 16:47:53 +0000 (16:47 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 22 Dec 2010 16:47:53 +0000 (16:47 +0000)
From-SVN: r168176

gcc/go/gofrontend/types.cc

index c0914cac78e520f0c358b600832d9b32b5137362..7a9bfc74028403a8871f6219472afe569cd5e335 100644 (file)
@@ -4359,8 +4359,12 @@ Array_type::get_length_tree(Gogo* gogo)
          // expression.  FIXME: This won't work in general.
          Translate_context context(gogo, NULL, NULL, NULL_TREE);
          tree len = this->length_->get_tree(&context);
-         len = convert_to_integer(integer_type_node, len);
-         this->length_tree_ = save_expr(len);
+         if (len != error_mark_node)
+           {
+             len = convert_to_integer(integer_type_node, len);
+             len = save_expr(len);
+           }
+         this->length_tree_ = len;
        }
     }
   return this->length_tree_;
This page took 0.065529 seconds and 5 git commands to generate.