GCC modified for the FreeChainXenon project
Find a file
François Dumont a188284c61 re PR libstdc++/51608 ([C++11] Unordered containers end(size_type) isn't constant time)
2011-12-29  François Dumont <fdumont@gcc.gnu.org>

	PR libstdc++/51608
	* include/bits/hashtable_policy.h (_Equal_helper<>): New, change the
	way the _Equal functor is used depending on whether hash code is
	cached or not.
	(_Ebo_helper<>): New helper type to introduce EBO when possible.
	(_Hash_code_base): Use _Ebo_helper to limit memory footprint. Move
	_Equal functor management...
	(_Hashtable_base): ...here, new, use _Equal_helper.
	(_Local_iterator_base<>, _Locale_iterator<>, _Locale_const_iterator<>):
	New, use _Hash_code_base, implementation of...
	* include/bits/hashtable.h (_Hashtable<>::local_iterator,
	_Hashtable<>::const_local_iterator): ...those. Add static assertions
	checking that some functors are empty depending on whether hash code
	is cache or not.
	(_Hashtable<>::_M_bucket_index): New overloads using current bucket
	count, use through out the _Hastable<> implementation.
	* include/bits/unordered_set.h (__unordered_set<>,
	__unordered_multiset<>): Cache hash code iff hash functor is not
	empty and not final.
	* include/bits/unordered_map.h (__unordered_map<>,
	__unordered_multimap<>): Likewise.
	* include/debug/unordered_map
	(unordered_map<>::_S_to_local, unordered_multimap<>::_S_to_local):
	Adapt to match new local iterator implementation.
	* include/debug/unordered_set (unordered_set<>::_S_to_local,
	unordered_multiset<>::_S_to_local): Likewise.
	* include/profile/unordered_map (unordered_map<>::_M_profile_destruct,
	unordered_multimap<>::_M_profile_destruct): Enhance thanks to usage of
	local iterators.
	* include/profile/unordered_set (unordered_set<>::_M_profile_destruct,
	unordered_multiset<>::_M_profile_destruct): Likewise.
	* testsuite_files/23_containers/unordered_set/instantiation_neg.cc:
	Fix error line.
	* testsuite_files/23_containers/unordered_set/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_multiset/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_map/final_hash.cc: New.
	* testsuite_files/23_containers/unordered_multimap/final_hash.cc: New.

From-SVN: r182727
2011-12-29 17:58:51 +00:00
boehm-gc Additional fixes for FreeBSD-10 build: 2011-11-21 20:22:35 +01:00
config warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call. 2011-12-20 16:54:12 +00:00
contrib . 2011-11-29 16:36:43 -05:00
fixincludes warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call. 2011-12-20 16:54:12 +00:00
gcc Fix 51702 testsuite failures 2011-12-29 17:45:11 +00:00
gnattools Makefile.in (LOOSE_WARN): Delete. 2011-10-12 22:41:57 +00:00
include Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
INSTALL
intl Fix unportable shell quoting. 2010-09-27 20:19:41 +00:00
libada Fix minor issues 2011-11-19 16:24:22 +00:00
libcpp gcc: 2011-12-20 20:44:13 +00:00
libdecnumber warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call. 2011-12-20 16:54:12 +00:00
libffi re PR libffi/50051 (MIPS libffi does not compile for mips64octeon-linux-gnu) 2011-12-07 14:59:06 -08:00
libgcc * config/i386/morestack.S: Simplify CFI opcodes throughout. 2011-12-22 00:09:39 +00:00
libgfortran PR 51646 Use POSIX mode flags in open() argument. 2011-12-22 22:44:32 +02:00
libgo libgo: Use -std=gnu99 on Solaris 10. 2011-12-22 20:39:29 +00:00
libgomp re PR libgomp/51376 (libgomp taskwait failure) 2011-12-09 12:51:43 +10:30
libiberty warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call. 2011-12-20 16:54:12 +00:00
libitm libitm: Don't enforce privatization safety if already in serial mode. 2011-12-24 01:42:48 +00:00
libjava re PR libgcj/49193 (__sync_xxxx builtins aren't used in sysdep/*/locks.h) 2011-12-27 10:40:23 +01:00
libmudflap Additional fixes for FreeBSD-10 build: 2011-11-21 20:22:35 +01:00
libobjc Additional fixes for FreeBSD-10 build: 2011-11-21 20:22:35 +01:00
libquadmath Additional fixes for FreeBSD-10 build: 2011-11-21 20:22:35 +01:00
libssp Additional fixes for FreeBSD-10 build: 2011-11-21 20:22:35 +01:00
libstdc++-v3 re PR libstdc++/51608 ([C++11] Unordered containers end(size_type) isn't constant time) 2011-12-29 17:58:51 +00:00
lto-plugin warnings.m4 (ACX_PROG_CC_WARNING_OPTS): Avoid leading dash in expr call. 2011-12-20 16:54:12 +00:00
maintainer-scripts update_web_docs_svn: Make $DOCSDIR group writable after creating it. 2011-11-21 01:16:24 +00:00
zlib Additional fixes for FreeBSD-10 build: 2011-11-21 20:22:35 +01:00
ABOUT-NLS
ChangeLog * MAINTAINERS (Write After Approval): Add myself. 2011-12-28 21:02:32 +00:00
ChangeLog.tree-ssa
compile
config-ml.in MAINTAINERS (crx port, [...]): Remove. 2011-03-22 19:58:18 +00:00
config.guess oops - omitted from previous delta. 2011-06-06 10:34:35 +00:00
config.rpath Remove freebsd1 from libtool.m4 macros and config.rpath. 2011-02-13 11:45:53 +00:00
config.sub * config.sub: Update to version 2011-10-29 (added rl78) 2011-11-01 20:56:32 -04:00
configure configure: Regenerate. 2011-12-18 09:58:37 +00:00
configure.ac . 2011-11-29 16:36:43 -05:00
COPYING
COPYING.LIB
COPYING.RUNTIME
COPYING3
COPYING3.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4 Additional fixes for FreeBSD-10 build: 2011-11-21 20:22:35 +01:00
ltgcc.m4
ltmain.sh backport: ltmain.sh (relink): Use absolute path when hardcoding with -L. 2011-01-13 18:51:10 +00:00
ltoptions.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
ltsugar.m4
ltversion.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
lt~obsolete.m4 Sync from git Libtool and regenerate. 2009-12-05 17:18:53 +00:00
MAINTAINERS * MAINTAINERS (Write After Approval): Add myself. 2011-12-28 21:02:32 +00:00
Makefile.def configure.ac: Add tool checks for READELF and READELF_FOR_TARGET. 2011-11-09 13:57:26 -05:00
Makefile.in configure.ac: Add tool checks for READELF and READELF_FOR_TARGET. 2011-11-09 13:57:26 -05:00
Makefile.tpl configure.ac: Add tool checks for READELF and READELF_FOR_TARGET. 2011-11-09 13:57:26 -05:00
missing
mkdep
mkinstalldirs
move-if-change Import move-if-change script from gnulib. 2011-02-12 15:48:30 +00:00
README
symlink-tree
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.