compiler: Avoid some compiler crashes on invalid code.
[gcc.git] / gcc / go / gofrontend / expressions.cc
index abcd5933fb4c0241ddb490240a6eef50b4522e2b..39a162b93be627417cdb20e12d41934f9198969f 100644 (file)
@@ -13878,7 +13878,7 @@ tree
 Heap_composite_expression::do_get_tree(Translate_context* context)
 {
   tree expr_tree = this->expr_->get_tree(context);
-  if (expr_tree == error_mark_node)
+  if (expr_tree == error_mark_node || TREE_TYPE(expr_tree) == error_mark_node)
     return error_mark_node;
   tree expr_size = TYPE_SIZE_UNIT(TREE_TYPE(expr_tree));
   go_assert(TREE_CODE(expr_size) == INTEGER_CST);