GCC modified for the FreeChainXenon project
Find a file
Ian Lance Taylor 10172a64ce compiler, runtime, reflect: generate hash functions only for map keys
Right now we generate hash functions for all types, just in case they
    are used as map keys. That's a lot of wasted effort and binary size
    for types which will never be used as a map key. Instead, generate
    hash functions only for types that we know are map keys.
    
    Just doing that is a bit too simple, since maps with an interface type
    as a key might have to hash any concrete key type that implements that
    interface. So for that case, implement hashing of such types at
    runtime (instead of with generated code). It will be slower, but only
    for maps with interface types as keys, and maybe only a bit slower as
    the aeshash time probably dominates the dispatch time.
    
    Reorg where we keep the equals and hash functions. Move the hash function
    from the key type to the map type, saving a field in every non-map type.
    That leaves only one function in the alg structure, so get rid of that and
    just keep the equal function in the type descriptor itself.
    
    While we're here, reorganize the rtype struct to more closely match
    the gc version.
    
    This is the gofrontend version of https://golang.org/cl/191198.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/212843

From-SVN: r279848
2020-01-02 21:55:32 +00:00
config [ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts 2019-09-10 09:37:00 +02:00
contrib update-copyright.py: Add Mentor Graphics Corporation and Yoshinori Sato as external authors. 2020-01-01 12:26:53 +01:00
fixincludes re PR libgomp/93066 (libgomp/target.c:525:46: error: expected expression before ')' token) 2019-12-30 20:33:17 +00:00
gcc compiler, runtime, reflect: generate hash functions only for map keys 2020-01-02 21:55:32 +00:00
gnattools PR81878: fix --disable-bootstrap --enable-languages=ada 2018-11-20 00:07:47 +00:00
gotools libgo: update to Go 1.13beta1 release 2019-09-06 18:12:46 +00:00
include Update copyright years. 2020-01-01 12:51:42 +01:00
INSTALL
intl iconv.m4 (AM_ICONV_LINK): Don't overwrite CPPFLAGS. 2018-11-07 15:41:21 -07:00
libada Update copyright years. 2020-01-01 12:51:42 +01:00
libatomic Update copyright years. 2020-01-01 12:51:42 +01:00
libbacktrace Update copyright years. 2020-01-01 12:51:42 +01:00
libcc1 Update copyright years. 2020-01-01 12:51:42 +01:00
libcpp Update copyright years. 2020-01-01 12:51:42 +01:00
libdecnumber Update copyright years. 2020-01-01 12:51:42 +01:00
libffi Regenerate configure' scripts for uclinuxfdpiceabi' libtool.m4 update 2019-09-27 21:24:42 +00:00
libgcc Update copyright years. 2020-01-01 12:51:42 +01:00
libgfortran PR 90374 d0.d, e0.d, es0.d, en0.d, g0.d and ew.d edit descriptors. 2020-01-02 00:57:31 +00:00
libgo compiler, runtime, reflect: generate hash functions only for map keys 2020-01-02 21:55:32 +00:00
libgomp Update copyright years. 2020-01-01 12:51:42 +01:00
libhsail-rt Update copyright years. 2020-01-01 12:51:42 +01:00
libiberty Update copyright years. 2020-01-01 12:51:42 +01:00
libitm Update copyright years. 2020-01-01 12:51:42 +01:00
libobjc Fix windows libobjc build (PR libobjc/93099) 2020-01-01 14:16:35 -08:00
liboffloadmic Add OpenACC 2.6 `acc_get_property' support 2019-12-22 19:54:09 +00:00
libphobos Update copyright years. 2020-01-01 12:51:42 +01:00
libquadmath Update copyright years. 2020-01-01 12:51:42 +01:00
libsanitizer re PR sanitizer/92154 (new glibc breaks arm bootstrap due to libsanitizer) 2019-11-26 10:08:31 +01:00
libssp Update copyright years. 2020-01-01 12:51:42 +01:00
libstdc++-v3 baseline_symbols.txt: Update. 2020-01-01 19:19:51 +00:00
libvtv Update copyright years. 2020-01-01 12:51:42 +01:00
lto-plugin Update copyright years. 2020-01-01 12:51:42 +01:00
maintainer-scripts Switch gcc ftp URL's to https 2019-11-20 22:24:48 +02:00
zlib Regenerate configure' scripts for uclinuxfdpiceabi' libtool.m4 update 2019-09-27 21:24:42 +00:00
.dir-locals.el
.gitattributes * .gitattributes: Also check ChangeLog whitespace. 2019-10-21 23:12:04 -04:00
.gitignore Add .clangd and compile_commands.json to .gitignore. 2019-08-28 19:33:28 +00:00
ABOUT-NLS
ar-lib Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
ChangeLog Add myself to MAINTAINERS 2020-01-02 16:09:57 +00:00
ChangeLog.jit
ChangeLog.tree-ssa
compile
config-ml.in MSP430: Add -fno-exceptions multilib 2019-12-11 19:19:50 +00:00
config.guess Update config.sub and config.guess. 2019-09-09 11:14:32 +02:00
config.rpath
config.sub Update config.sub and config.guess. 2019-09-09 11:14:32 +02:00
configure configure.ac: Factor out common cases for compare_exclusions. 2019-12-11 20:59:35 +00:00
configure.ac configure.ac: Factor out common cases for compare_exclusions. 2019-12-11 20:59:35 +00:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4 [ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle arm*-*-uclinuxfdpiceabi in configure scripts 2019-09-10 09:37:00 +02:00
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
MAINTAINERS Add myself to MAINTAINERS 2020-01-02 16:09:57 +00:00
Makefile.def Sync top-level change from gdb 2019-06-15 21:32:03 +00:00
Makefile.in Makefile.tpl (HOST_EXPORTS): Add CXX_FOR_BUILD. 2019-08-23 15:37:22 -06:00
Makefile.tpl Makefile.tpl (HOST_EXPORTS): Add CXX_FOR_BUILD. 2019-08-23 15:37:22 -06:00
missing
mkdep
mkinstalldirs
move-if-change
multilib.am Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
README
symlink-tree
test-driver Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.