compiler: Issue channel type errors earlier.
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 17 Sep 2015 13:57:40 +0000 (13:57 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 17 Sep 2015 13:57:40 +0000 (13:57 +0000)
commita78eb72ac066743c8c11dbc1032a1909963719a3
tree9470bd83d6c0817a3a3dcf333b3163f36fc50d6a
parent4fb94ef9aa797bb3ccd23157aa8fd66ff8e80bc0
compiler: Issue channel type errors earlier.

    When asking for the type of a receive operation, the compiler would
    return an error type if the receive operator was being used on an
    invalid channel type and the error would be reported in a later pass.
    There are several ways that the type checking pass would not see
    the original node and fail to issue the error.  This patch modifies
    receive operations to give an error immediately once it is known that
    the channel type is invalid.

    Fixes golang/go#12323.

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

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