From 428f5f5f35c00656af3ea45664b63b25fa266b9d Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Wed, 22 Dec 2010 01:28:29 +0000 Subject: [PATCH] Don't crash receiving multiple results from void function. From-SVN: r168157 --- gcc/go/gofrontend/expressions.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 10aeddedc20..525ede2e760 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -8816,6 +8816,12 @@ Call_result_expression::do_type() if (fntype == NULL) return Type::make_error_type(); const Typed_identifier_list* results = fntype->results(); + if (results == NULL) + { + this->report_error(_("number of results does not match " + "number of values")); + return Type::make_error_type(); + } Typed_identifier_list::const_iterator pr = results->begin(); for (unsigned int i = 0; i < this->index_; ++i) {