re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type)
authorPaolo Carlini <paolo.carlini@oracle.com>
Tue, 15 May 2012 10:00:19 +0000 (10:00 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Tue, 15 May 2012 10:00:19 +0000 (10:00 +0000)
commit5ac4e73a1dc07f019feee9eceb39f0937ba25b8c
tree9983ba44c7753e2b84264a4b942386269047c4cb
parent23adb371935682f1883c9afbff4086d73c8deb97
re PR libstdc++/53339 (unordered_map::iterator requires Value to be complete type)

2012-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/53339
* include/bits/hashtable_policy.h (__detail::_Identity,
__detail::_Select1st): Add.
(_Map_base, _Hashtable_base): Use the latter, adjust parameters.
* include/bits/hashtable.h (_Hashtable::__key_extract): Adjust.
* include/bits/unordered_set.h (__uset_hashtable, __umset_hashtable):
Likewise.
* include/bits/unordered_map.h (__umap_hashtable, __ummap_hashtable):
Likewise.
* include/bits/stl_function.h (_Identity, _Select1st, _Select2nd)
Unconditionally derive from unary_function.
* include/ext/functional (identity, select1st, select2nd): Remove
#ifdef __GXX_EXPERIMENTAL_CXX0X__ bits.
* testsuite/23_containers/unordered_map/requirements/53339.cc: New.
* testsuite/23_containers/unordered_multimap/requirements/
53339.cc: Likewise.

From-SVN: r187515
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/hashtable.h
libstdc++-v3/include/bits/hashtable_policy.h
libstdc++-v3/include/bits/stl_function.h
libstdc++-v3/include/bits/unordered_map.h
libstdc++-v3/include/bits/unordered_set.h
libstdc++-v3/include/ext/functional
libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
libstdc++-v3/testsuite/23_containers/unordered_map/requirements/53339.cc [new file with mode: 0644]
libstdc++-v3/testsuite/23_containers/unordered_multimap/requirements/53339.cc [new file with mode: 0644]