This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug libstdc++/41622] [DR 1245] [c++0x] std::hash<std::string>::operator() copies its argument



------- Comment #8 from paolo at gcc dot gnu dot org  2009-11-19 16:55 -------
Subject: Bug 41622

Author: paolo
Date: Thu Nov 19 16:55:25 2009
New Revision: 154335

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=154335
Log:
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.

Added:
    trunk/libstdc++-v3/src/compatibility-c++0x.cc
      - copied, changed from r154326, trunk/libstdc++-v3/src/hash_c++0x.cc
Removed:
    trunk/libstdc++-v3/include/tr1_impl/functional_hash.h
    trunk/libstdc++-v3/src/hash_c++0x.cc
Modified:
    trunk/libstdc++-v3/ChangeLog
    trunk/libstdc++-v3/include/Makefile.am
    trunk/libstdc++-v3/include/Makefile.in
    trunk/libstdc++-v3/include/bits/functional_hash.h
    trunk/libstdc++-v3/include/std/functional
    trunk/libstdc++-v3/include/tr1/functional_hash.h
    trunk/libstdc++-v3/src/Makefile.am
    trunk/libstdc++-v3/src/Makefile.in
    trunk/libstdc++-v3/src/hash.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/requirements/explicit_instantiation/2.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/explicit_instantiation/2.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/requirements/explicit_instantiation/2.cc
   
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/requirements/explicit_instantiation/2.cc
    trunk/libstdc++-v3/testsuite/util/testsuite_api.h


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41622


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]