compiler: Mark builtin calls with bad types as errors.

Fixes golang/go/#10285.

From-SVN: r221782
This commit is contained in:
Ian Lance Taylor 2015-03-31 00:10:46 +00:00
parent 00a0ea64ee
commit a7b09e17ad
1 changed files with 8 additions and 2 deletions

View File

@ -7959,7 +7959,10 @@ Builtin_call_expression::do_check_types(Gogo*)
Type* arg1_type = args->front()->type();
Type* arg2_type = args->back()->type();
if (arg1_type->is_error() || arg2_type->is_error())
break;
{
this->set_is_error();
break;
}
Type* e1;
if (arg1_type->is_slice_type())
@ -8001,7 +8004,10 @@ Builtin_call_expression::do_check_types(Gogo*)
}
if (args->front()->type()->is_error()
|| args->back()->type()->is_error())
break;
{
this->set_is_error();
break;
}
Array_type* at = args->front()->type()->array_type();
Type* e = at->element_type();