2009-11-19 Paolo Carlini <paolo.carlini@oracle.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Nov 2009 16:55:25 +0000 (16:55 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 19 Nov 2009 16:55:25 +0000 (16:55 +0000)
commit95757e522e315b154d47243830255df1f9ad33e2
treec2be9169ddada0db0f1c418fab39fb8d3c3ea0a6
parent8315acb36b768242b966d87fd9fa3f5130debeda
2009-11-19  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/41622
* include/bits/functional_hash.h: Implement inline the various
std::hash specializations, using, when appropriate, pass by
const ref too, per DR 1245.
* include/tr1_impl/functional_hash.h: Remove, move its contents...
* include/tr1/functional_hash.h: ... here.
* include/std/functional: Tweak includes.
* src/hash_c++0x: Rename to...
* src/compatibility-c++0x.cc: ... this, implementing compatibility
std::hash<>::operator() specializations.
* src/hash.cc: Do not mark specializations as throw().
* src/Makefile.am: Adjust.
* include/Makefile.am: Likewise.
* src/Makefile.in: Regenerate.
* include/Makefile.in: Likewise.
* testsuite/util/testsuite_api.h: Define a dummy hash for
NonDefaultConstructible.
* testsuite/23_containers/unordered_map/requirements/
explicit_instantiation/2.cc: Use it.
* testsuite/23_containers/unordered_multimap/requirements/
explicit_instantiation/2.cc: Likewise.
* testsuite/23_containers/unordered_set/requirements/
explicit_instantiation/2.cc: Likewise.
* testsuite/23_containers/unordered_multiset/requirements/
explicit_instantiation/2.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154335 138bc75d-0d04-0410-961f-82ee72b054a4
16 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/Makefile.am
libstdc++-v3/include/Makefile.in
libstdc++-v3/include/bits/functional_hash.h
libstdc++-v3/include/std/functional
libstdc++-v3/include/tr1/functional_hash.h
libstdc++-v3/include/tr1_impl/functional_hash.h [deleted file]
libstdc++-v3/src/Makefile.am
libstdc++-v3/src/Makefile.in
libstdc++-v3/src/compatibility-c++0x.cc [moved from libstdc++-v3/src/hash_c++0x.cc with 63% similarity]
libstdc++-v3/src/hash.cc
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/2.cc
libstdc++-v3/testsuite/util/testsuite_api.h