compiler: don't incorrectly evaluate range variable
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 2 Feb 2018 13:44:41 +0000 (13:44 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 2 Feb 2018 13:44:41 +0000 (13:44 +0000)
commit31766e6833851fc0eeec9eabaa800a8edaa53c60
tree5f72113b0c35cb7b1853573e3576880530b3dca3
parenteece7fe533e3741706d960d7cf0bae7fd0fc2755
compiler: don't incorrectly evaluate range variable

    The language spec says that in `for i = range x`, in which there is no
    second iteration variable, if len(x) is constant, then x is not
    evaluated.  This only matters when x is an expression that panics but
    whose type is an array type; in such a case, we should not evaluate x,
    since len of any array type is a constant.

    Fixes golang/go#22313

    Reviewed-on: https://go-review.googlesource.com/91555

From-SVN: r257330
gcc/go/gofrontend/MERGE
gcc/go/gofrontend/statements.cc