gcc/libgo
Ian Lance Taylor f5eb9a8ec6 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
2015-11-07 01:24:57 +00:00
..
config
go re PR go/66138 (json decoder Decode function fails for some structure return values) 2015-11-07 01:24:57 +00:00
runtime libgo: Solaris portability fixes. 2015-11-06 19:15:45 +00:00
testsuite gotest: fix handling of --goarch option 2015-11-04 01:52:40 +00:00
aclocal.m4 libgo: don't provide ustat on arm64 GNU/Linux 2015-09-15 03:43:01 +00:00
config.h.in libgo: Use __USING_SJLJ_EXCEPTIONS__ rather than configure test. 2015-05-16 00:17:46 +00:00
configure libgo: Bump version number. 2015-11-02 23:30:21 +00:00
configure.ac libgo: Bump version number. 2015-11-02 23:30:21 +00:00
godeps.sh
LICENSE
Makefile.am libgo: Solaris portability fixes. 2015-11-06 19:15:45 +00:00
Makefile.in libgo: Solaris portability fixes. 2015-11-06 19:15:45 +00:00
MERGE libgo: Update from Go 1.5 to Go 1.5.1. 2015-10-31 15:23:52 +00:00
merge.sh runtime: Remove now unnecessary pad field from ParFor. 2015-10-31 00:59:47 +00:00
mksysinfo.sh mksysinfo.sh: Make sure that CLONE_NEWUSER is defined. 2015-11-03 15:07:47 +00:00
mvifdiff.sh
PATENTS
README libgo/README: Minor updates. 2015-03-13 18:53:13 +00:00
README.gcc
VERSION libgo: Update from Go 1.5 to Go 1.5.1. 2015-10-31 15:23:52 +00:00

See ../README.

This is the runtime support library for the Go programming language.
This library is intended for use with the Go frontend.

This library should not be stripped when it is installed.  Go code
relies on being able to look up file/line information, which comes
from the debugging info using the libbacktrace library.

The library has only been tested on GNU/Linux using glibc, and on
Solaris.  It should not be difficult to port to other operating
systems.

Directories:

go
  A copy of the Go library from http://golang.org/, with several
  changes for gccgo.

runtime
  Runtime functions, written in C, which are called directly by the
  compiler or by the library.

Contributing
============

To contribute patches to the files in this directory, please see
http://golang.org/doc/gccgo_contribute.html .

The master copy of these files is hosted at
http://code.google.com/p/gofrontend .  Changes to these files require
signing a Google contributor license agreement.  If you are the
copyright holder, you will need to agree to the individual contributor
license agreement at
http://code.google.com/legal/individual-cla-v1.0.html.  This agreement
can be completed online.

If your organization is the copyright holder, the organization will
need to agree to the corporate contributor license agreement at
http://code.google.com/legal/corporate-cla-v1.0.html.

If the copyright holder for your code has already completed the
agreement in connection with another Google open source project, it
does not need to be completed again.