re PR go/66138 (json decoder Decode function fails for some structure return values)
authorIan Lance Taylor <ian@gcc.gnu.org>
Sat, 7 Nov 2015 01:24:57 +0000 (01:24 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Sat, 7 Nov 2015 01:24:57 +0000 (01:24 +0000)
commitf5eb9a8ec6cff02f52d7a29d96ec6641d2a06de1
treefb4d9c89c2c9990d67757f795779aa52ee64305c
parent39f02a1f52f661a49aa82e878bba152a468f1021
re PR go/66138 (json decoder Decode function fails for some structure return values)

PR go/66138
    reflect, encoding/json, encoding/xml: fix unexported embedded structs

    Bring in three changes from the master Go repository.  These changes
    will be in Go 1.6, but they are appropriate for gccgo now because they
    resolve a long-standing discrepancy between how gc and gccgo handle the
    PkgPath field for embedded unexported struct fields.  The core issue is
    described at https://golang.org/cl/7247.  This has been reported against
    gccgo as https://gcc.gnu.org/PR66138.

    The three changes being brought over are:

    https://golang.org/cl/14010

    reflect: adjust access to unexported embedded structs

    This CL changes reflect to allow access to exported fields and
    methods in unexported embedded structs for gccgo and after gc
    has been adjusted to disallow access to embedded unexported structs.

    Adresses #12367, #7363, #11007, and #7247.

    https://golang.org/cl/14011

    encoding/json: check for exported fields in embedded structs

    Addresses issue #12367.

    https://golang.org/cl/14012

    encoding/xml: check for exported fields in embedded structs

    Addresses issue #12367.

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

From-SVN: r229907
gcc/go/gofrontend/MERGE
libgo/go/encoding/json/decode_test.go
libgo/go/encoding/json/encode.go
libgo/go/encoding/xml/marshal_test.go
libgo/go/encoding/xml/typeinfo.go
libgo/go/reflect/export_test.go
libgo/go/reflect/type.go
libgo/go/reflect/value.go