http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54075
--- Comment #42 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-11-08 01:56:15 UTC --- On 11/08/2012 01:58 AM, Jonathan Wakely wrote: > On 7 November 2012 22:02, François Dumont wrote: >> Ok to commit ? If so, where ? > That patch is OK for trunk and 4.7, thanks. ... I was having a look at this code - patch per se is straightforward enough and can in any case go in now - and something is puzzling me a lot: we always compute things, in _M_next_bkt etc, in terms of __grown_n, thus __n * 2, until the final _M_rehash call. On the other hand, the old-old code for rehash didn't use _M_growth_factor in these computations, it just literally enforced the post-conditions of the Standard. Are we sure we aren't so to speak rehashing too much? For example, when the load factor is very low and doesn't count, it looks like a current rehash(n) accomplishes the same of an old rehash(n * 2)?!? Something seems wrong, can you double check that? In any case the comments before _M_next_bkt would need fixing. Thanks, Paolo.