testsuite allocators patch

2014-06-20 Thread François Dumont
. Doing so I realized that move_assign_neg.cc tests were not accurate enough as they needed a non move propagating allocator and the uneq_allocator were not explicitly non propagating. 2014-06-21 François Dumont fdum...@gcc.gnu.org * testsuite/util/testsuite_allocator.h

Re: testsuite allocators patch

2014-06-26 Thread François Dumont
On 26/06/2014 12:33, Jonathan Wakely wrote: The _GLIBCXX_USE_NOEXCEPT macro expands to nothing in C++03 mode, so you might as well omit it in the #else branch. OK for trunk if you make the tracker_allocator comment correct. Thanks! Committed with: // An allocator facade that intercepts

Re: testsuite allocators patch

2014-06-27 Thread François Dumont
On 27/06/2014 21:48, Paolo Carlini wrote: Hi, On 06/27/2014 07:33 PM, Jonathan Wakely wrote: I didn't see an obvious fix (I'm not sure if the templated constructor can deduce its argument since the change) but have been out all day and not had a chance to look into it. Ok, thanks. I'm

Re: [patch] Simplify allocator use

2014-06-27 Thread François Dumont
On 26/06/2014 13:31, Jonathan Wakely wrote: On 25/06/14 21:56 +0100, Jonathan Wakely wrote: The other adds an RAII type to help manage pointers obtained from allocators. The new type means I can remove several ugly try-catch blocks that are all very similar in structure and have been bothering

Re: testsuite allocators patch

2014-07-23 Thread François Dumont
On 27/06/2014 21:48, Paolo Carlini wrote: Hi, On 06/27/2014 07:33 PM, Jonathan Wakely wrote: I didn't see an obvious fix (I'm not sure if the templated constructor can deduce its argument since the change) but have been out all day and not had a chance to look into it. Ok, thanks. I'm

Re: testsuite allocators patch

2014-07-24 Thread François Dumont
On 24/07/2014 10:55, Jonathan Wakely wrote: On 23/07/14 22:33 +0200, François Dumont wrote: I have a small question regarding some code next to the one I am modifying in this patch. I can see lines like: propagating_allocator() noexcept = default; When using a default

Re: [patch] No allocation for empty unordered containers

2014-07-25 Thread François Dumont
Hi I think I never get feedback regarding this patch proposal. Note that if accepted the doc will have to be updated regarding the default hint value. Thanks On 03/06/2014 22:44, François Dumont wrote: Hi Thanks to the single bucket introduced to make move semantic noexcept we

Re: [Bug libstdc++/61107] stl_algo.h: std::__inplace_stable_partition() doesn't process the whole data range

2014-11-10 Thread François Dumont
better ? If it is the whole usage of random numbers that you don't like I will simply get rid of the new tests files. François On 10/11/2014 22:45, Jonathan Wakely wrote: On 10/11/14 21:50 +0100, François Dumont wrote: Any news about this one ? Here is another version with additional random

Re: [Bug libstdc++/61107] stl_algo.h: std::__inplace_stable_partition() doesn't process the whole data range

2014-11-10 Thread François Dumont
, Jonathan Wakely wrote: On 10/11/14 23:14 +0100, François Dumont wrote: I introduced the random tests after Christopher Jefferson request to have more intensive tests on those algos. Is it the whole stuff of tests using random numbers that you don't like or just the usage of mt19937 ? The use

PR 13631 Problems in messages

2014-11-23 Thread François Dumont
Hello As we are at doing some evolution in the ABI I would like to take the opportunity to merge branch libstdcxx_so_7-2. The first fix was about a messages facet issue. So here is the version for the trunk which is the one from the branch plus management of the charset part. This way

Re: PR 13631 Problems in messages

2014-11-24 Thread François Dumont
On 24/11/2014 01:23, Jonathan Wakely wrote: On 24/11/14 00:13 +0100, François Dumont wrote: Hello As we are at doing some evolution in the ABI I would like to take the opportunity to merge branch libstdcxx_so_7-2. The first fix was I don't think we want to merge everything, but it's

Re: PR 13631 Problems in messages

2014-11-27 Thread François Dumont
locales installed. There are some failures but not coming from this patch, will surely be the subject of another mail. 2014-11-28 François Dumont fdum...@gcc.gnu.org DR libstdc++/13631 * include/bits/codecvt.h (__get_c_locale): New. * config/locale/gnu/messages_member.h

Re: [Bug libstdc++/62313] Data race in debug iterators

2014-09-25 Thread François Dumont
Apart from those minor adjustments I think this looks good, but I'd like to know that it has been tested with -fsanitize=thread, even if only lightly tested. Hi Dmitry, who reported the bug, confirmed the fix. Can I go ahead and commit ? François

Add myself as libstdc++ special modes maintainer

2014-09-29 Thread François Dumont
I added myself as libstdc++ special modes maintainer. Special modes are debug, profile and parallel modes. Thanks for your trust. François

Re: [Bug libstdc++/62313] Data race in debug iterators

2014-09-30 Thread François Dumont
I forgot to check pretty printer tests indeed, I will. François On 30/09/2014 17:32, Jonathan Wakely wrote: On 26/09/14 11:05 +0100, Jonathan Wakely wrote: On 26/09/14 00:00 +0200, François Dumont wrote: Apart from those minor adjustments I think this looks good, but I'd like to know

Re: [Bug libstdc++/62313] Data race in debug iterators

2014-09-30 Thread François Dumont
on debug iterators ? François On 30/09/2014 17:32, Jonathan Wakely wrote: On 26/09/14 11:05 +0100, Jonathan Wakely wrote: On 26/09/14 00:00 +0200, François Dumont wrote: Apart from those minor adjustments I think this looks good, but I'd like to know that it has been tested with -fsanitize

Re: Profile mode maintenance patch

2014-10-04 Thread François Dumont
On 23/09/2014 13:27, Jonathan Wakely wrote: Yes, OK for trunk - thanks very much. Hi There was in fact one last test failing, ext/profile/mh.cc, a profile mode specific test. It must have been failing for quite a while since malloc hooks has been deprecated. It is normally testing the

[Bug libstdc++/63456] unordered_map incorrectly frees _M_single_bucket. Patch Included

2014-10-05 Thread François Dumont
Hi I just committed this trivial bug fix. Shall I go ahead and apply it to 4.9 branch too ? 2014-10-05 François Dumont fdum...@gcc.gnu.org PR libstdc++/63456 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test the parameter. * testsuite

Re: [Bug libstdc++/63456] unordered_map incorrectly frees _M_single_bucket. Patch Included

2014-10-05 Thread François Dumont
On 05/10/2014 21:37, Paolo Carlini wrote: Hi, On 10/05/2014 08:50 PM, François Dumont wrote: +#include testsuite_hooks.h Seems redundant. Thanks! Paolo. Yes it is and in fact I had remove it before the real commit, I should have update the patch. François

Re: sort_heap complexity guarantee

2014-10-06 Thread François Dumont
On 05/10/2014 22:54, Marc Glisse wrote: On Sun, 5 Oct 2014, François Dumont wrote: I took a look at PR 61217 regarding pop_heap complexity guarantee. Looks like we have no test to check complexity of our algos so I start writing some starting with the heap operations. I found no issue

Re: sort_heap complexity guarantee

2014-10-07 Thread François Dumont
On 06/10/2014 23:05, Daniel Krügler wrote: 2014-10-06 23:00 GMT+02:00 François Dumont frs.dum...@gmail.com: On 05/10/2014 22:54, Marc Glisse wrote: On Sun, 5 Oct 2014, François Dumont wrote: I took a look at PR 61217 regarding pop_heap complexity guarantee. Looks like we have no test

[Bug libstdc++/63500] [4.9/5 Regression] bug in debug version of std::make_move_iterator?

2014-10-14 Thread François Dumont
Hi Here is a proposal to fix the issue with iterators which do not expose lvalue references when dereferenced. I simply chose to detect such an issue in c++11 mode thanks to the is_lvalue_reference meta function. 2014-10-15 François Dumont fdum...@gcc.gnu.org PR libstdc++/63500

Re: [Bug libstdc++/63500] [4.9/5 Regression] bug in debug version of std::make_move_iterator?

2014-10-15 Thread François Dumont
to detect invalid usages even in this context. 2014-10-16 François Dumont fdum...@gcc.gnu.org PR libstdc++/63500 * include/debug/functions.h (__foreign_iterator_aux2): Do not check for foreign iterators if input iterators returns rvalue reference. * testsuite/23_containers/vector

[Bug libstdc++/61107] stl_algo.h: std::__inplace_stable_partition() doesn't process the whole data range

2014-10-17 Thread François Dumont
on new operator. I wonder if some test using it really have the expected behavior. I also tests other algos that try to use a buffer and didn't found any issue. Those algos however can't be simplified like stable_partition. 2014-10-16 François Dumont fdum...@gcc.gnu.org PR libstdc++/61107

Re: debug container patch

2014-05-02 Thread François Dumont
Hi Jonathan I just wanted to make sure that you are aware that I preferred to wait for another validation of the small modification I have done. François On 28/04/2014 23:07, François Dumont wrote: On 27/04/2014 15:39, Jonathan Wakely wrote: On 17/04/14 22:43 +0200, François Dumont

Re: profile mode maintenance patch

2014-05-12 Thread François Dumont
On 12/05/2014 22:42, Paolo Carlini wrote: Hi, On 05/12/2014 10:14 PM, François Dumont wrote: Regarding Makefile.in I miss last time. I moved to a new system lately, a Ubuntu based one, and still need to find out what version of automake/autoreconf I need to install. For the moment I have

[patch] libstdc++/61143 make unordered containers usable after move

2014-05-15 Thread François Dumont
operations noexcept qualified. With this evolution we could even make the default constructor noexcept but I don't think it has any interest. 2014-05-15 François Dumont fdum...@gcc.gnu.org PR libstdc++/61143 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a usable

Re: [patch] libstdc++/61143 make unordered containers usable after move

2014-05-19 Thread François Dumont
On 15/05/2014 22:52, Jonathan Wakely wrote: On 15/05/14 22:20 +0200, François Dumont wrote: Hi Here is a proposal to fix PR 61143. As explained in the PR I finally prefer to leave the container in a valid state that is to say with a non zero number of bucket, that is to say 1, after

Re: [patch] libstdc++/61143 make unordered containers usable after move

2014-05-20 Thread François Dumont
On 20/05/2014 21:36, Jonathan Wakely wrote: OK. My sketch above avoided calling _M_moved_from() more than once per object, but the compiler should be able to optimise your version to avoid multiple calls anyway. Here is the new patch limited to what I really want to commit this time. Great.

libstdc++ automake version

2014-05-23 Thread François Dumont
On 12/05/2014 22:42, Paolo Carlini wrote: Hi, On 05/12/2014 10:14 PM, François Dumont wrote: Regarding Makefile.in I miss last time. I moved to a new system lately, a Ubuntu based one, and still need to find out what version of automake/autoreconf I need to install. For the moment I have

Re: profile mode maintenance patch

2014-05-24 Thread François Dumont
On 24/05/2014 13:33, Jonathan Wakely wrote: On 12/05/14 22:14 +0200, François Dumont wrote: Hi Here is a maintenance patch for profile mode. It does: - Use inheritance to limit duplication of code in constructors to register for the different profiling mode diagnostics data structure

[patch] No allocation for empty unordered containers

2014-06-03 Thread François Dumont
with the hint which wouldn't match the Standard so no noexcept qualification at the moment. Tested under Linux x86_64.normal debug and profile modes. 2014-06-03 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable.h: Make use of the internal single bucket to limit allocation as long

Re: [patch] libstdc++/29988 Rb_Tree reuse allocated nodes

2014-06-11 Thread François Dumont
For the testsuite allocator I though that for an internal allocator used in our tests it was ok. But alright, I will make it better and compatible with SimpleAllocator. On 11/06/2014 14:02, Jonathan Wakely wrote: Index: include/bits/stl_tree.h

Re: profile mode fix

2014-01-27 Thread François Dumont
. François On 01/26/2014 11:38 AM, Jonathan Wakely wrote: On 26 January 2014 09:43, François Dumont wrote: Hi This is a patch to fix PR 55033 in profile mode. Like in debug mode it was missing noexcept qualifier on move constructor. But don't those functions allocate memory? So they can throw

Re: profile mode fix

2014-01-30 Thread François Dumont
On 01/29/2014 09:18 PM, Jonathan Wakely wrote: On 29 January 2014 20:06, François Dumont frs.dum...@gmail.com wrote: Here is the patch that simply consider 55083 as not supported except in normal mode. This is a temporary workaround for 4.9 release so I prefer not to introduce a dg-profile

Missing experimental patch bit

2014-03-14 Thread François Dumont
Hi I just realized that when I committed this: 2014-01-20 François Dumont fdum...@gcc.gnu.org * scripts/create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests. * include/experimental/string_view (basic_string_view

Fix _Hashtable extension

2014-03-21 Thread François Dumont
safe patch so I would propose it for current trunk but at the same time it only impacts a Standard extension and it hasn't been reported by anyone so just tell me when to apply it. 2014-03-21 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix

Re: Fix _Hashtable extension

2014-03-23 Thread François Dumont
On 21/03/2014 23:59, Jonathan Wakely wrote: On 21/03/14 22:39 +0100, François Dumont wrote: Hi Here is a patch to fix _Hashtable Standard extension type which is almost unusable at the moment if instantiated with anything else that the types used for the std unordered containers

Re: sort_heap complexity guarantee

2014-10-22 Thread François Dumont
Then I think we need this patch which also fix other issues. 2014-10-22 François Dumont fdum...@gcc.gnu.org * testsuite/25_algorithms/make_heap/complexity.cc: Add missing test variable. * testsuite/25_algorithms/sort_heap/complexity.cc: Likewise and use log2. * testsuite

Re: [Bug libstdc++/63698] [5 Regression] std::set leaks nodes on assignment

2014-11-04 Thread François Dumont
Hi Here is more or less the patch proposed on the ticket with the test case also provided in the ticket. 2014-11-04 François Dumont fdum...@gcc.gnu.org Jonathan Wakely jwak...@redhat.com PR libstdc++/63698 * include/bits/stl_tree.h (_Reuse_or_alloc_node): Simplify

Re: [Bug libstdc++/61107] stl_algo.h: std::__inplace_stable_partition() doesn't process the whole data range

2014-11-10 Thread François Dumont
/1.cc: Likewise. * testsuite/25_algorithms/stable_sort/4.cc: New. * testsuite/25_algorithms/inplace_merge/2.cc: New. * testsuite/25_algorithms/stable_partition/2.cc: New. Ok to commit ? François On 17/10/2014 22:46, François Dumont wrote: Hi As proposed in the bug report I just

Re: [patch] No allocation for empty unordered containers

2014-08-30 Thread François Dumont
document it ourself next to the code rather than in a distinct file. François On 14/08/2014 21:22, François Dumont wrote: On 13/08/2014 11:50, Jonathan Wakely wrote: Yes you can, it's conforming to replace a (non-virtual) member function with default arguments by two or more member functions

Re: [patch] No allocation for empty unordered containers

2014-09-09 Thread François Dumont
On 09/09/2014 19:29, Jonathan Wakely wrote: On 14/08/14 21:22 +0200, François Dumont wrote: I am preparing a patch for profile mode so I will submit modification for this mode with this big patch. btw, François, for profile mode I think we should just do something like this patch. I feel

[Bug libstdc++/62313] Data race in debug iterators

2014-09-10 Thread François Dumont
. Do you see any way to check for this problem in the testsuite ? Is there a thread sanitizer we could use ? 2014-09-10 François Dumont fdum...@gcc.gnu.org PR libstdc++/62313 * include/debug/safe_base.h (_Safe_iterator_base(const _Safe_iterator_base)): Delete declaration

Re: [patch] libstdc++/29988 Rb_Tree reuse allocated nodes

2014-09-19 Thread François Dumont
Still no feedback regarding this proposal ? On 19/08/2014 22:14, François Dumont wrote: Any news regarding this proposal ? Thanks François On 30/07/2014 23:39, François Dumont wrote: Hi Now that patch on testsuite allocator is in I would like to reactivate this one. Here

Profile mode maintenance patch

2014-09-21 Thread François Dumont
Hi Here is the promise major patch for the profile mode. Here are the most important modifications. Now instance of profiling structs are kept as pointers in the containers themselves. It has an impact on the container ABI but it greatly enhance performances as we do not need to

Re: [patch] libstdc++/29988 Rb_Tree reuse allocated nodes

2014-09-22 Thread François Dumont
On 11/06/2014 14:02, Jonathan Wakely wrote: @@ -514,11 +651,11 @@ { return this-_M_impl._M_header._M_right; } _Link_type - _M_begin() _GLIBCXX_NOEXCEPT + _M_begin() const _GLIBCXX_NOEXCEPT { return static_cast_Link_type(this-_M_impl._M_header._M_parent); } What's

Re: [patch] libstdc++/29988 Rb_Tree reuse allocated nodes

2014-09-23 Thread François Dumont
On 23/09/2014 13:22, Jonathan Wakely wrote: On 22/09/14 23:51 +0200, François Dumont wrote: New patch in a couple of day then. OK, thanks. It was faster than I though, here is the fixed patch tested under Linux x86_64. 2014-09-23 François Dumont fdum...@gcc.gnu.org PR libstdc

Re: [Bug libstdc++/62313] Data race in debug iterators

2014-09-23 Thread François Dumont
On 22/09/2014 00:04, Jonathan Wakely wrote: On 10/09/14 22:55 +0200, François Dumont wrote: Hi Here is a proposal to fix this data race issue. I finally generalized bitset approach to fix it by inheriting from the normal iterator first and then the _Safe_iterator_base type. None

Re: Profile mode maintenance patch

2014-09-23 Thread François Dumont
On 23/09/2014 13:27, Jonathan Wakely wrote: On 21/09/14 23:29 +0200, François Dumont wrote: With all those modifications I have been able to run all testsuite in profile mode with success. I've looked over the patch and it looks fine. I don't know the details of the Profile Mode, so

[v3] Fix management of non empty hash functor

2012-12-13 Thread François Dumont
-12-14 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable_policy.h (_Local_iterator_base): Use _Hashtable_ebo_helper to embed necessary functors into the local_iterator. Pass information about functors involved in hash code by copy. * include/bits/hashtable.h

Re: [v3] Fix management of non empty hash functor

2013-01-10 Thread François Dumont
changing typedef in using so I prefer to stick to this approach in this file, even if there are still some typedef left. Tested under linux x86_64 normal and debug modes. 2013-01-10 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable_policy.h (_Local_iterator_base): Use

Re: [v3] Fix management of non empty hash functor

2013-01-28 Thread François Dumont
Attached patch applied. 2013-01-28 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable_policy.h (_Local_iterator_base): Use _Hashtable_ebo_helper to embed functors into the local_iterator when necessary. Pass information about functors involved in hash code by copy

Fwd: Re: Export _Prime_rehash_policy symbols

2013-02-01 Thread François Dumont
Test successful so attached patch applied. 2013-02-01 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt) (_Prime_rehash_policy::_M_need_rehash): Move definition... * src/c++11/hashtable_c++0x.cc: ... here. * src/shared

hasher speed traits

2013-02-02 Thread François Dumont
François Dumont fdum...@gcc.gnu.org * include/bits/functional_hash.h (std::__is_fast_hash): New. * include/bits/basic_string.h: Specialize previous to mark std::hash for string types as slow. * include/bits/hashtable.h (__cache_default): Replace is_integral with __is_fast_hash

Re: [PATCH, PR] Crash of Bessel functions at x==0!

2013-02-09 Thread François Dumont
Attached patch applied then. 2013-02-09 François Dumont fdum...@gcc.gnu.org * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code simplification. On 02/08/2013 08:46 PM, Paolo Carlini wrote: On 02/08/2013 07:08 PM, François Dumont wrote: Just a small remark

Re: unordered containers doc

2013-02-11 Thread François Dumont
That's crystal clear. I think I can recognize one or two words from my original proposal like 'The' or 'in' :-) François On 02/11/2013 01:24 AM, Jonathan Wakely wrote: On 7 February 2013 21:01, François Dumont wrote: Thanks for taking care of it. Here is another version, I think clearer

Re: [patch] fix libstdc++/56278

2013-02-13 Thread François Dumont
Committed then. 2013-02-13 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable_policy.h (_Hash_code_base): Restore default constructor protected. * include/bits/hashtable.h: static assert that _Hash_code_base has a default constructor available through inheritance

std::pair copy and move constructor

2013-02-15 Thread François Dumont
Hi I had a problem with the result of std::is_copy_assignablestd::pairconst int, int::type which used to be true_type. So here is a patch to fix that. 2013-02-15 François Dumont fdum...@gcc.gnu.org * include/bits/stl_pair.h (pair): Use default implementation for copy and move

Re: [v3] PR libstdc++/50529

2011-10-01 Thread François Dumont
On 09/29/2011 10:59 PM, Paolo Carlini wrote: Ok to commit ? Ok. These patches are going also to 4_6-branch. Paolo Attached patch applied, thanks Paolo for applying it to 4.6 branch. 2011-10-01 François Dumont fdum...@gcc.gnu.org * include/debug/vector (vector::erase(iterator

Re: [v3] fix libstdc++/52476

2012-04-09 Thread François Dumont
Attached patch applied to 4_7-branch. 2012-04-09 François Dumont fdum...@gcc.gnu.org PR libstdc++/52476 * include/bits/hashtable.h (_Hashtable::_M_rehash_aux): Add. (_Hashtable::_M_rehash): Use the latter. * testsuite/23_containers/unordered_multimap/insert

Re: PR 53115

2012-05-01 Thread François Dumont
progress on this subject in the future. However I will have a try with Valgrind. I can only add comment in bugzilla so I let you set this issue as resolved. François I will have a run with Valgrind 2012-05-01 François Dumont fdum...@gcc.gnu.org PR libstdc++/53115 * include

Re: PR 53115

2012-05-02 Thread François Dumont
On 05/02/2012 06:23 PM, H.J. Lu wrote: On Tue, May 1, 2012 at 1:23 PM, François Dumontfrs.dum...@gmail.com wrote: unordered_multilmap test added, attached patch applied to 4.7 branch and trunk. This bug was not so difficult to fix. It would even have been quite easy to detect with a good test

Re: [v3] fix libstdc++/53263

2012-05-11 Thread François Dumont
Attached patch applied to trunk. 2012-05-11 François Dumont fdum...@gcc.gnu.org PR libstdc++/53263 * include/debug/safe_iterator.h (__gnu_debug::__base): Move... * include/debug/functions.h: ... Here. Add debug function overloads to perform checks on normal iterators when

Re: PR 54075 Fix hashtable::reserve

2012-07-25 Thread François Dumont
Attached patch applied to trunk. I am building 4.7 branch to also apply the patch to this branch. 2012-07-25 François Dumont fdum...@gcc.gnu.org PR libstdc++/54075 * include/bits/hashtable.h (_Hashtable::_Hashtable(_InputIterator, _InputIterator, size_type

Re: PR 54075 Fix hashtable::reserve

2012-07-26 Thread François Dumont
Attached patch applied on 4.7 branch. Tested under Linux x86_64. I will fix this small english issue in trunk ChangeLog. François On 07/26/2012 11:11 AM, Jonathan Wakely wrote: On 25 July 2012 21:29, François Dumont wrote: (_Hashtable::rehash): Likewise. Set _M_prev_resize to 0

Re: PR 54075 Restore 4.6 growth factor

2012-07-29 Thread François Dumont
Patch applied. I usually CC to gcc-patches when I signal that it has been applied. Should I send it all my patch proposals ? François On 07/28/2012 11:18 PM, Jonathan Wakely wrote: Please remember to CC gcc-patches too. On 28 July 2012 21:49, François Dumont wrote: Hi Here

Remove redundant comparison in debug mode

2012-08-01 Thread François Dumont
Verifying number of comparisons invoked in different algos and different modes I remarked this small performance issue. 2012-08-01 François Dumont fdum...@gcc.gnu.org * include/debug/functions.h (__check_partition_lower_aux): Remove redundant comparison with pivot value

Re: Value type of map need not be default copyable

2012-08-08 Thread François Dumont
On 08/08/2012 09:34 AM, Marc Glisse wrote: On Tue, 7 Aug 2012, Richard Smith wrote: I've attached a patch for unordered_map which solves the rvalue reference problem. For efficiency, I've created a new _M_emplace_bucket method rather than call emplace directly. I've verified all libstdc++

Re: Value type of map need not be default copyable

2012-08-08 Thread François Dumont
On 08/08/2012 03:39 PM, Paolo Carlini wrote: On 08/08/2012 03:15 PM, François Dumont wrote: I have also introduce a special std::pair constructor for container usage so that we do not have to include the whole tuple stuff just for associative container implementations. To be clear: sorry

Re: Value type of map need not be default copyable

2012-08-09 Thread François Dumont
On 08/09/2012 10:35 AM, Paolo Carlini wrote: Hi, On 08/09/2012 09:14 AM, Marc Glisse wrote: On Wed, 8 Aug 2012, François Dumont wrote: On 08/08/2012 03:39 PM, Paolo Carlini wrote: On 08/08/2012 03:15 PM, François Dumont wrote: I have also introduce a special std::pair constructor

Re: Value type of map need not be default copyable

2012-08-11 Thread François Dumont
this header less dependent on tuple, should I do so ? 2012-08-09 François Dumont fdum...@gcc.gnu.org Ollie Wild a...@google.com * include/bits/hashtable.h (_Hashtable_M_insert_multi_node(hash_code, node_type*)): New. (_Hashtable_M_insert(_Args, false_type)): Use latter

Re: Value type of map need not be default copyable

2012-08-12 Thread François Dumont
On 08/11/2012 03:47 PM, Marc Glisse wrote: On Sat, 11 Aug 2012, François Dumont wrote: Your remark on using std::move rather than std::forward Marc made sens but didn't work. I don't understand why but the new test is showing that std::forward works. If anyone can explain why std::move

Re: Value type of map need not be default copyable

2012-08-13 Thread François Dumont
On 08/13/2012 02:10 PM, Paolo Carlini wrote: On 08/12/2012 10:00 PM, François Dumont wrote: Ok for trunk ? Ok, thanks! Paolo. PS: you may want to remove the trailing blank line of testsuite_counter_type.h Attached patch applied. 2012-08-13 François Dumont fdum...@gcc.gnu.org

[v3] libstdc++/54296

2012-08-28 Thread François Dumont
implementation but finally preferred not to do so because it would imply re-computing hash code and add useless checks. 2012-08-28 François Dumont fdum...@gcc.gnu.org PR libstdc++/54296 * include/bits/hashtable.h (_M_erase(size_type, __node_base*, __node_type*)): New. (erase

Re: [v3] libstdc++/54296

2012-09-05 Thread François Dumont
On 09/05/2012 11:58 AM, Paolo Carlini wrote: Hi, On 09/04/2012 10:08 PM, François Dumont wrote: Hi I managed to do the test with Valgrind and so confirm the fix with the attached patch (unmodified since last proposal). Patch is Ok, thanks for your patience and thanks again for all your

Re: safe unordered local iterators

2011-07-21 Thread François Dumont
Attached patch applied: 2011-07-21 François Dumont francois.cppd...@free.fr * include/debug/safe_unordered_sequence.h, safe_unordered_sequence.tcc: Rename respectively in... * include/debug/safe_unordered_container.h, safe_unordered_container.tcc: ...those

Re: hash policy patch

2011-07-24 Thread François Dumont
On 07/24/2011 01:31 AM, Paolo Carlini wrote: On 07/23/2011 10:31 PM, François Dumont wrote: Hi While working on DR 41975 I realized a small issue in current rehash implementation that sometimes lead to load_factor being greater than max_load_factor. Here is a patch to fix that: Ok, good

Re: Fix stable_sort to work on iterators returning rvalue

2012-05-29 Thread François Dumont
Attached patch applied then. 2012-05-29 François Dumont fdum...@gcc.gnu.org * include/bits/stl_tempbuf.h (__uninitialized_construct_buf) (__uninitialized_construct_buf_dispatch::__ucr): Fix to work with iterator returning rvalue. * testsuite/25_algorithms/stable_sort/3.cc: New

Re: Enhance performance test

2011-11-06 Thread François Dumont
Attached patch applied. 2011-11-06 François Dumont fdum...@gcc.gnu.org * testsuite/performance/23_containers/insert_erase/41975.cc: Add tests to check performance with or without cache of hash code and with string type that has a costlier hash functor than int type

Fwd: Re: hashtable cleanup + new testsuite files

2011-11-28 Thread François Dumont
, François Dumont wrote: 2011-11-28 François Dumontfdum...@gcc.gnu.org * include/bits/hashtable.h (_Hashtable::_M_rehash): Remove code useless now that the hashtable implementation put the hash code in cache if the hash functor throws. * testsuite

Re: libstdc++.exp patch

2011-04-22 Thread François Dumont
Attached patch applied. 2011-04-21 François Dumont francois.cppd...@free.fr * testsuite/lib/libstdc++.exp (check_v3_target_time): Discard unused compilation result thanks to /dev/null. * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode

Re: pb_ds debug mode patch

2011-05-11 Thread François Dumont
Attached patch applied. 2011-05-11 François Dumont francois.cppd...@free.fr * include/ext/pb_ds/detail/resize_policy/ hash_load_check_resize_trigger_imp.hpp (assert_valid): Replace _GLIBCXX_DEBUG_ASSERT calls with PB_DS_DEBUG_VERIFY. * include/ext/pb_ds/detail

Re: hashtable exception safety patch

2011-09-14 Thread François Dumont
. Thanks for your patience. Paolo Attached patch applied. 2011-09-14 François Dumont fdum...@gcc.gnu.org Paolo Carlini paolo.carl...@oracle.com * include/bits/hashtable.h (_Hashtable::_M_rehash): Take and restore hash policy _M_prev_resize on exception

Re: hash policy patch

2011-09-17 Thread François Dumont
of buckets... I should find the time to check C++11 about this. I'll let you know my opinion ASAP. Attached patch applied. 2011-09-17 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable.h (_Hashtable::__rehash_policy(const _RehashPolicy)): Commit the modification

Re: debug safe iterator patch

2012-02-06 Thread François Dumont
Attached patch applied 2012-02-06 François Dumont fdum...@gcc.gnu.org * include/debug/safe_iterator.h (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive creation of a _Safe_iterator instance to do the check. François On 02/05/2012 06:30 PM, Paolo Carlini

Re: [so_7-2] DR 13631 patch

2012-03-01 Thread François Dumont
Here is what I have finally commited to libstdcxx_so_7-2 branch. 2012-03-01 François Dumont fdum...@gcc.gnu.org DR libstdc++/13631 * config/locale/gnu/messages_member.h, messages_member.cc: Prefer dgettext usage to gettext to allow usage of several catalogs

Re: [v3] fix libstdc++/52476

2012-03-16 Thread François Dumont
Attached patch applied. 2012-03-16 François Dumont fdum...@gcc.gnu.org PR libstdc++/52476 * include/bits/hashtable.h (_Hashtable::_M_rehash_aux): Add. (_Hashtable::_M_rehash): Use the latter. * testsuite/23_containers/unordered_multimap/insert/52476.cc: New

Re: PR 51386

2011-12-07 Thread François Dumont
Attached patch applied: 2011-12-07 François Dumont fdum...@gcc.gnu.org PR libstdc++/51386 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt): Fix computation of _M_prev_resize so that hashtable do not keep on being rehashed when

Re: unordered containers emplace

2011-12-09 Thread François Dumont
Attached patch applied. 2011-12-09 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable.h (_Hashtable::emplace, _Hashtable::emplace_hint): Add. * include/debug/unordered_set (unordered_set::emplace, unordered_set::emplace_hint, unordered_multiset

Re: profile mode patch

2011-12-10 Thread François Dumont
Attached patch applied. 2011-12-12 François Dumont fdum...@gcc.gnu.org * include/profile/unordered_set: Minor formatting changes. (unordered_set::_M_profile_destruct, unordered_multiset::_M_profile_destruct): Fix implementation to not rely on normal

Re: RE :Re: RE :Re: hashtable local iterator

2012-01-03 Thread François Dumont
Attached patch applied. 2012-01-03 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable_policy.h (_Ebo_helper): Rename to the more specific _Hashtable_ebo_helper. Hide this implementation detail thanks to private inheritance. I was about to roll

Re: [PATCH] hashtable insert enhancement

2012-01-13 Thread François Dumont
Attached patch applied. 2012-01-13 François Dumont fdum...@gcc.gnu.org * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as base class of ... (_Hash_nodeValue, true, _Hash_nodeValue, false): ... those. * include/bits/hashtable.h (_Hashtable

Re: libstdc++/51866 too, sorry

2012-01-18 Thread François Dumont
Attached patch applied. 2012-01-18 François Dumont fdum...@gcc.gnu.org Roman Kononov ro...@binarylife.net PR libstdc++/51866 * include/bits/hashtable.h (_Hashtable::_M_insert(_Arg, false_type)): Do not keep a reference to a potentially moved instance

Re: PR 58148 patch

2013-08-29 Thread François Dumont
Indeed, I check the Standard about const_pointer, so here is another attempt. Tested under Linux x86_64. 2013-08-29 François Dumont fdum...@gcc.gnu.org PR libstdc++/58148 * include/debug/functions.h (__foreign_iterator_aux4): Use sequence const_pointer as common type to compare

Re: PR 58191 patch

2013-08-30 Thread François Dumont
Hi I finally generalized this method to other debug functions, it is more consistent and clean the implementation of the debug checks. For 4.8 branch I will limit it to just what need to be really fixed. 2013-08-30 François Dumont fdum...@gcc.gnu.org PR libstdc++/58191

Re: PR 58148 patch

2013-08-30 Thread François Dumont
Yes, this was cleaner, tested and committed this way. 2013-08-30 François Dumont fdum...@gcc.gnu.org PR libstdc++/58148 * include/debug/functions.h (__foreign_iterator_aux4): Use sequence const_pointer as common type to compare pointers. Add a fallback overload in case

Re: Remove algo logic duplication Round 3

2013-09-28 Thread François Dumont
. 2013-09-28 François Dumont fdum...@gcc.gnu.org * include/bits/stl_algo.h (remove_copy, remove_copy_if): Declare inline. (rotate_copy, stable_partition, partial_sort_copy): Likewise. (lower_bound, upper_bound, equal_range, inplace_merge): Likewise. (includes, next_permutation

Debug functions review

2013-10-22 Thread François Dumont
Hi Here is a patch to clean up a little some debug functions. I got rid of the __check_singular_aux, simply playing with __check_singular overloads was enough. I also added the missing __check_dereferenceable for safe local iterators. 2013-10-22 François Dumont fdum...@gcc.gnu.org

Re: Debug functions review

2013-10-23 Thread François Dumont
On 10/23/2013 12:37 AM, Paolo Carlini wrote: Hi, François Dumont frs.dum...@gmail.com ha scritto: Hi Here is a patch to clean up a little some debug functions. I got rid of the __check_singular_aux, simply playing with __check_singular overloads was enough. I also added the missing

  1   2   3   4   5   6   7   8   9   10   >