]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
compiler: handle abstract type in builtin numeric const value
authorIan Lance Taylor <ian@gcc.gnu.org>
Mon, 5 Nov 2018 21:02:07 +0000 (21:02 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Mon, 5 Nov 2018 21:02:07 +0000 (21:02 +0000)
    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

gcc/go/gofrontend/MERGE
gcc/go/gofrontend/expressions.cc

index e455647f650a455959371fefed7535b62542664d..1cdb8a923830e016ff12191b3167ee56b8dc267e 100644 (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.
index e1feb66f66a7176a271e1f5117d78bbe70ce860a..75fa19b78f980c1c63f14f9e1f1e4893d6b470d1 100644 (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;