Commit 4e90195a by Ian Lance Taylor

Error for return with no values when result parameters are not named.

From-SVN: r171576
parent 7e3b6543
......@@ -2581,10 +2581,20 @@ Return_statement::do_determine_types()
void
Return_statement::do_check_types(Gogo*)
{
const Typed_identifier_list* results = this->results_;
if (this->vals_ == NULL)
return;
{
if (results != NULL
&& !results->empty()
&& results->front().name().empty())
{
// The result parameters are not named, which means that we
// need to supply values for them.
this->report_error(_("not enough arguments to return"));
}
return;
}
const Typed_identifier_list* results = this->results_;
if (results == NULL)
{
this->report_error(_("return with value in function "
......@@ -2621,7 +2631,7 @@ Return_statement::do_check_types(Gogo*)
}
if (pt != results->end())
this->report_error(_("not enough values in return statement"));
this->report_error(_("not enough arguments to return"));
}
// Build a RETURN_EXPR tree.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment