compiler: Tweak untyped nil error message.

From-SVN: r205941
This commit is contained in:
Ian Lance Taylor 2013-12-12 20:42:24 +00:00
parent 1635eab367
commit 3a24b26591
1 changed files with 9 additions and 2 deletions

View File

@ -7310,7 +7310,11 @@ Builtin_call_expression::do_lower(Gogo* gogo, Named_object* function,
Type* slice_type = args->front()->type();
if (!slice_type->is_slice_type())
{
error_at(args->front()->location(), "argument 1 must be a slice");
if (slice_type->is_nil_type())
error_at(args->front()->location(), "use of untyped nil");
else
error_at(args->front()->location(),
"argument 1 must be a slice");
this->set_is_error();
return this;
}
@ -8008,7 +8012,10 @@ Builtin_call_expression::do_type()
const Expression_list* args = this->args();
if (args == NULL || args->empty())
return Type::make_error_type();
return args->front()->type();
Type *ret = args->front()->type();
if (!ret->is_slice_type())
return Type::make_error_type();
return ret;
}
case BUILTIN_REAL: