Commit 1393eb76 by Ian Lance Taylor

compiler: Report errors for malformed builtin calls.

    
    Errors reported from malformed builtin calls are handled in a later
    pass than the one in which they are detected.  If a malformed builtin
    call is lowered into an error expression too early, these errors will
    never be reported.
    
    Fixes golang/go#11561.
    
    Reviewed-on: https://go-review.googlesource.com/12778

From-SVN: r226459
parent 1fc642f1
bc4dda16f8686ab6e7335adfdfd2c6cc81cb2eb5 2bf7c643a1d2f8503070c8e6cb87852026e32400
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.
...@@ -8499,7 +8499,8 @@ Call_expression::do_lower(Gogo* gogo, Named_object* function, ...@@ -8499,7 +8499,8 @@ Call_expression::do_lower(Gogo* gogo, Named_object* function,
{ {
if (!this->fn_->type()->is_error()) if (!this->fn_->type()->is_error())
this->report_error(_("expected function")); this->report_error(_("expected function"));
return Expression::make_error(loc); this->set_is_error();
return this;
} }
// Handle an argument which is a call to a function which returns // Handle an argument which is a call to a function which returns
......
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