compiler: handle abstract type in builtin numeric const value

Builtin_call_expression::do_numeric_constant_value can be called by
    Array_type::verify_length before the determine types pass, so accept
    an abstract type.
    
    Test case is https://golang.org/cl/147537.
    
    Fixes golang/go#28601
    
    Reviewed-on: https://go-review.googlesource.com/c/147442

From-SVN: r265820
This commit is contained in:
Ian Lance Taylor 2018-11-05 21:02:07 +00:00
parent b40a67df7c
commit 7bbdffa22b
2 changed files with 2 additions and 2 deletions

View File

@ -1,4 +1,4 @@
df841cce9fd271a25269e3514c2e9b61deaf2c4c
5fcfe352ad91945a4f4d0dcfb6309df9bd072c7d
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View File

@ -8294,7 +8294,7 @@ Builtin_call_expression::do_numeric_constant_value(Numeric_constant* nc) const
if (arg_type->is_error())
return false;
if (arg_type->is_abstract())
return false;
arg_type = arg_type->make_non_abstract_type();
if (this->seen_)
return false;