gcc/libgo
Ian Lance Taylor e0b195b58a reflect: canonicalize types returned by StructOf() and friends
Background: since gccgo does not currently merge identical types at link time,
    the reflect function canonicalize() exists to choose a canonical specimen
    for each set of identical types.
    In this way, user code has the guarantee that identical types
    will always compare as ==
    
    Change: arrange reflect functions MapOf(), SliceOf(), StructOf() etc.
    to call canonicalize() on the types they create, before storing the types
    in internal lookup caches and returning them.
    
    This fixes known cases where canonicalize() is needed but was missing.
    Supersedes https://golang.org/cl/112575 and mostly fixes issue 25284.
    
    Updates golang/go#25284
    
    Reviewed-on: https://go-review.googlesource.com/115577

From-SVN: r261216
2018-06-05 20:23:40 +00:00
..
config
go reflect: canonicalize types returned by StructOf() and friends 2018-06-05 20:23:40 +00:00
misc/cgo libgo: update to Go 1.10.2 release 2018-05-31 21:42:53 +00:00
runtime libgo: fix for unaligned read in go-unwind.c's read_encoded_value() 2018-05-04 14:29:05 +00:00
testsuite libgo: add support for the Nios II architecture 2018-05-02 22:28:46 +00:00
aclocal.m4 libgo: fixes for Solaris build 2016-12-13 18:03:45 +00:00
check-packages.txt libgo: update to Go 1.10.2 release 2018-05-31 21:42:53 +00:00
config.h.in libgo, syscall: fix ptrace implementation on MIPS 2017-06-21 21:42:41 +00:00
configure libgo: add support for the Nios II architecture 2018-05-02 22:28:46 +00:00
configure.ac libgo: add support for the Nios II architecture 2018-05-02 22:28:46 +00:00
goarch.sh libgo: add support for the Nios II architecture 2018-05-02 22:28:46 +00:00
godeps.sh libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
gotool-packages.txt libgo: refactor code to enumerate stdlib packages 2018-05-02 21:57:35 +00:00
libgo-packages.txt libgo: refactor code to enumerate stdlib packages 2018-05-02 21:57:35 +00:00
libgo.imp Big merge of changes to gofrontend repo that were postponed due to the 2017-05-10 17:26:09 +00:00
LICENSE
Makefile.am go/build, cmd/go: update to match recent changes to gc 2018-05-09 21:49:47 +00:00
Makefile.in go/build, cmd/go: update to match recent changes to gc 2018-05-09 21:49:47 +00:00
match.sh libgo: add support for the Nios II architecture 2018-05-02 22:28:46 +00:00
MERGE libgo: update to Go 1.10.2 release 2018-05-31 21:42:53 +00:00
merge.sh libgo: update to Go1.10beta1 2018-01-09 01:23:08 +00:00
mkrsysinfo.sh libgo: adapt Solaris 12 references 2017-11-14 14:26:04 +00:00
mkruntimeinc.sh libgo: refactor code to enumerate stdlib packages 2018-05-02 21:57:35 +00:00
mksigtab.sh libgo: don't use grep -q in mksigtab.sh 2017-11-22 00:27:29 +00:00
mksysinfo.sh libgo: add type/const references to sysinfo.c 2018-05-02 22:32:23 +00:00
mvifdiff.sh
PATENTS
README
README.gcc
sysinfo.c libgo: add type/const references to sysinfo.c 2018-05-02 22:32:23 +00:00
VERSION libgo: update to Go 1.10.2 release 2018-05-31 21:42:53 +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.