compiler: emit underlying constant in array_type length export
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 6 Mar 2019 20:40:32 +0000 (20:40 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 6 Mar 2019 20:40:32 +0000 (20:40 +0000)
commit1c98301f2b8b5f1bd7a411b1bbb66cc5694688bf
tree1881b8081cd0813196d30ec6ed6b1ec429981903
parent2de5d0ea90d2e64ff3d345b17228043e08a5d1ac
compiler: emit underlying constant in array_type length export

    In Array_type::do_export, when emitting a concrete array length,
    evaluate the length expression to an integer constant and emit that
    constant, instead of calling the more general method for emitting
    expressions. This is to avoid the possibility that we will need
    to emit a conversion, which could confuse the gccgoimporter.

    Fixes golang/go#30628.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165741

From-SVN: r269443
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/types.cc