Commit b46e3849 by Ian Lance Taylor

compiler: avoid a couple of compiler crashes

    
    These came up while building 1.14beta1 while the code was still invalid.
    The policy is to not bother committing invalid test cases that cause
    compiler crashes.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/213537

From-SVN: r279956
parent b11b9e29
9163fa28b89222cd851c0d24bd6a1384d1379c55
d0a102eea2262e3fca89b1eb342fd03328c4aa16
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
......@@ -11766,10 +11766,17 @@ Call_expression::do_add_conversions()
Typed_identifier_list::const_iterator pp = fntype->parameters()->begin();
bool is_interface_method =
this->fn_->interface_field_reference_expression() != NULL;
size_t argcount = this->args_->size();
if (!is_interface_method && fntype->is_method())
{
// Skip the receiver argument, which cannot be interface.
pa++;
argcount--;
}
if (argcount != fntype->parameters()->size())
{
go_assert(saw_errors());
return;
}
for (; pa != this->args_->end(); ++pa, ++pp)
{
......@@ -11895,6 +11902,8 @@ Call_expression::is_erroneous_call()
Type*
Call_expression::do_type()
{
if (this->is_error_expression())
return Type::make_error_type();
if (this->type_ != NULL)
return this->type_;
......
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