Commit 3a24b265 by Ian Lance Taylor

compiler: Tweak untyped nil error message.

From-SVN: r205941
parent 1635eab3
...@@ -7310,7 +7310,11 @@ Builtin_call_expression::do_lower(Gogo* gogo, Named_object* function, ...@@ -7310,7 +7310,11 @@ Builtin_call_expression::do_lower(Gogo* gogo, Named_object* function,
Type* slice_type = args->front()->type(); Type* slice_type = args->front()->type();
if (!slice_type->is_slice_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(); this->set_is_error();
return this; return this;
} }
...@@ -8008,7 +8012,10 @@ Builtin_call_expression::do_type() ...@@ -8008,7 +8012,10 @@ Builtin_call_expression::do_type()
const Expression_list* args = this->args(); const Expression_list* args = this->args();
if (args == NULL || args->empty()) if (args == NULL || args->empty())
return Type::make_error_type(); 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: case BUILTIN_REAL:
......
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