public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/51608] New: [4.7 Regression][C++11] Unordered containers end(size_type) isn't constant time
@ 2011-12-18 10:09 paolo.carlini at oracle dot com
2011-12-18 10:21 ` [Bug libstdc++/51608] " paolo.carlini at oracle dot com
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-18 10:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51608
Bug #: 51608
Summary: [4.7 Regression][C++11] Unordered containers
end(size_type) isn't constant time
Classification: Unclassified
Product: gcc
Version: 4.7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: paolo.carlini@oracle.com
An internal reminder. The issue must be fixed in time for the release.
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libstdc++/51608] [4.7 Regression][C++11] Unordered containers end(size_type) isn't constant time
2011-12-18 10:09 [Bug libstdc++/51608] New: [4.7 Regression][C++11] Unordered containers end(size_type) isn't constant time paolo.carlini at oracle dot com
@ 2011-12-18 10:21 ` paolo.carlini at oracle dot com
2011-12-29 18:29 ` fdumont at gcc dot gnu.org
2011-12-29 22:00 ` paolo.carlini at oracle dot com
2 siblings, 0 replies; 4+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-18 10:21 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51608
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2011-12-18
CC| |fdumont at gcc dot gnu.org
Target Milestone|--- |4.7.0
Ever Confirmed|0 |1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libstdc++/51608] [4.7 Regression][C++11] Unordered containers end(size_type) isn't constant time
2011-12-18 10:09 [Bug libstdc++/51608] New: [4.7 Regression][C++11] Unordered containers end(size_type) isn't constant time paolo.carlini at oracle dot com
2011-12-18 10:21 ` [Bug libstdc++/51608] " paolo.carlini at oracle dot com
@ 2011-12-29 18:29 ` fdumont at gcc dot gnu.org
2011-12-29 22:00 ` paolo.carlini at oracle dot com
2 siblings, 0 replies; 4+ messages in thread
From: fdumont at gcc dot gnu.org @ 2011-12-29 18:29 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51608
--- Comment #1 from François Dumont <fdumont at gcc dot gnu.org> 2011-12-29 17:58:57 UTC ---
Author: fdumont
Date: Thu Dec 29 17:58:51 2011
New Revision: 182727
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182727
Log:
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.
Added:
trunk/libstdc++-v3/testsuite/23_containers/unordered_map/final_hash.cc
trunk/libstdc++-v3/testsuite/23_containers/unordered_multimap/final_hash.cc
trunk/libstdc++-v3/testsuite/23_containers/unordered_multiset/final_hash.cc
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/final_hash.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/bits/hashtable.h
trunk/libstdc++-v3/include/bits/hashtable_policy.h
trunk/libstdc++-v3/include/bits/unordered_map.h
trunk/libstdc++-v3/include/bits/unordered_set.h
trunk/libstdc++-v3/include/debug/unordered_map
trunk/libstdc++-v3/include/debug/unordered_set
trunk/libstdc++-v3/include/profile/unordered_map
trunk/libstdc++-v3/include/profile/unordered_set
trunk/libstdc++-v3/testsuite/23_containers/unordered_set/instantiation_neg.cc
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Bug libstdc++/51608] [4.7 Regression][C++11] Unordered containers end(size_type) isn't constant time
2011-12-18 10:09 [Bug libstdc++/51608] New: [4.7 Regression][C++11] Unordered containers end(size_type) isn't constant time paolo.carlini at oracle dot com
2011-12-18 10:21 ` [Bug libstdc++/51608] " paolo.carlini at oracle dot com
2011-12-29 18:29 ` fdumont at gcc dot gnu.org
@ 2011-12-29 22:00 ` paolo.carlini at oracle dot com
2 siblings, 0 replies; 4+ messages in thread
From: paolo.carlini at oracle dot com @ 2011-12-29 22:00 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51608
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-12-29 21:45:42 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-12-29 21:45 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-18 10:09 [Bug libstdc++/51608] New: [4.7 Regression][C++11] Unordered containers end(size_type) isn't constant time paolo.carlini at oracle dot com
2011-12-18 10:21 ` [Bug libstdc++/51608] " paolo.carlini at oracle dot com
2011-12-29 18:29 ` fdumont at gcc dot gnu.org
2011-12-29 22:00 ` paolo.carlini at oracle dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).