aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2011-01-19 06:04:00 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2011-01-19 06:04:00 +0000
commit9081b67b9c1d4ed828b03fa2b63861287108ff33 (patch)
tree70eebdb250cef4bbfacfa7e9f55ed94a99e2a0bb
parent8ed8ea7900b912c5a4044e76688239df38d3fef2 (diff)
downloadgcc-9081b67b9c1d4ed828b03fa2b63861287108ff33.zip
gcc-9081b67b9c1d4ed828b03fa2b63861287108ff33.tar.gz
gcc-9081b67b9c1d4ed828b03fa2b63861287108ff33.tar.bz2
Avoid crash with extra struct initializers with abstract types.
From-SVN: r168984
-rw-r--r--gcc/go/gofrontend/expressions.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc
index a11e3d6..819fb61 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -10609,6 +10609,10 @@ Struct_construction_expression::do_determine_type(const Type_context*)
(*pv)->determine_type(&subcontext);
}
}
+ // Extra values are an error we will report elsewhere; we still want
+ // to determine the type to avoid knockon errors.
+ for (; pv != this->vals_->end(); ++pv)
+ (*pv)->determine_type_no_context();
}
// Check types.