Fix concept checks usage

2016-12-15 Thread François Dumont
Hi Here is a fix in the usage of a concept check. There are also many testsuite failures when using concept checks but this one forbids the library from being built. I know that concept checks are not really maintained so maybe the fix is to simply remove those checks. * include/ext/ran

Re: New hashtable power 2 rehash policy

2016-05-14 Thread François Dumont
Le 28/04/2016 12:22, Jonathan Wakely a écrit : On 23/04/16 10:27 +0200, François Dumont wrote: Hi Here is a patch to introduce a new power of 2 based rehash policy. It enhances performance as it avoids modulo float operations. I have updated performance benches and here is the result

Re: New hashtable power 2 rehash policy

2016-05-17 Thread François Dumont
On 14/05/2016 19:06, Daniel Krügler wrote: 2016-05-14 18:13 GMT+02:00 François Dumont : New patch attached, tested under linux x86_64. François 1) The function __clp2 is declared using _GLIBCXX14_CONSTEXPR, which means that it is an inline function if and *only* if _GLIBCXX14_CONSTEXPR

PR 71181 Avoid rehash after reserve

2016-05-22 Thread François Dumont
Hi To fix 71181 problem I propose to change how we deal with reserve called with pivot values that is to say prime numbers. Now _M_next_bkt always return a value higher than the input value. This way when reverse(97) is called we end up with 199 buckets and so enough space to store 97 val

Debug iterator cleanup

2016-05-22 Thread François Dumont
Hi I just want to make sure that you agree that I can remove the @todo by implementing operator-> this way. * include/debug/safe_iterator.h (_Safe_iterator<>::operator->()): Implement using underlying iterator operator ->. * include/debug/safe_local_iterator.h (_Safe_lo

Re: Add irreflexive comparison debug check

2015-08-21 Thread François Dumont
On 01/08/2015 02:25, Jonathan Wakely wrote: > On 31 July 2015 at 20:49, François Dumont wrote: >> On 30/07/2015 12:30, Jonathan Wakely wrote: >>> On 29/07/15 22:08 +0200, François Dumont wrote: >>>>Standard algos signatures are such that there is no guaran

Re: Elimitate duplication of get_catalogs in different abi

2015-08-21 Thread François Dumont
On 05/08/2015 22:57, Jonathan Wakely wrote: > On 30/07/15 21:57 +0200, François Dumont wrote: >> It seems that this patch results in unresolved symbols. >> >> I am quite sure that the code is right but build system should be >> adapted. >> >> I noticed that *

debug mode symbols cleanup

2015-09-05 Thread François Dumont
Hi I wanted to enhance line wrapping during rendering of debug messages and ended up with this patch. I clean up _Error_formatter of all useless symbols, only _M_message and _M_error need to be exposed. Additional I got rid of the ugly mutable fields of _Error_formatter. _Error_formatter

Re: Elimitate duplication of get_catalogs in different abi

2015-09-05 Thread François Dumont
On 22/08/2015 14:24, Daniel Krügler wrote: > 2015-08-21 23:11 GMT+02:00 François Dumont : >> I think I found a better way to handle this problem. It is c++locale.cc >> that needs to be built with --fimplicit-templates. I even think that the >> *_cow.cc file do not need this

Re: [patch] Enable lightweight checks with _GLIBCXX_ASSERTIONS.

2015-09-08 Thread François Dumont
On 07/09/2015 20:27, Jonathan Wakely wrote: > This patch adds the "debug mode lite" we've been talking about, by > changing __glibcxx_assert to be activated by _GLIBCXX_ASSERTIONS > instead of _GLIBCXX_DEBUG (and making the latter imply the former). > > _GLIBCXX_ASSERTIONS is already used in Parall

Re: debug mode symbols cleanup

2015-09-08 Thread François Dumont
On 07/09/2015 13:03, Jonathan Wakely wrote: > On 05/09/15 22:53 +0200, François Dumont wrote: >>I remember Paolo saying once that we were not guarantiing any abi >> compatibility for debug mode. I haven't found any section for >> unversioned symbols in gnu.ver so I s

New power of 2 hash policy

2015-09-10 Thread François Dumont
Hi Here is a patch to offer an alternative hash policy. This one is using power of 2 number of buckets allowing a faster modulo operation. This is obvious when running the performance test that I have adapted to use this alternative policy. Something between current implementation and the tr1

Re: New power of 2 hash policy

2015-09-13 Thread François Dumont
On 11/09/2015 15:23, Jonathan Wakely wrote: > On 11/09/15 14:18 +0100, Jonathan Wakely wrote: >> On 11/09/15 15:11 +0200, Michael Matz wrote: >>> Hi, >>> >>> On Thu, 10 Sep 2015, François Dumont wrote: >>> >>>>Here is a patch to offer an

Re: debug mode symbols cleanup

2015-09-14 Thread François Dumont
On 08/09/2015 22:47, François Dumont wrote: > On 07/09/2015 13:03, Jonathan Wakely wrote: >> On 05/09/15 22:53 +0200, François Dumont wrote: >>>I remember Paolo saying once that we were not guarantiing any abi >>> compatibility for debug mode. I haven't found

vector lightweight debug mode

2015-09-14 Thread François Dumont
Hi Here is what I had in mind when talking about moving debug checks to the lightweight debug checks. Sometimes the checks have been simply moved resulting in a simpler debug vector implementation (front, back...). Sometimes I copy the checks in a simpler form and kept the debug one too t

Add missing symbols for versioned namespace

2016-11-03 Thread François Dumont
Hi I might not be the right one to propose this patch as I am not sure that I fully understand gnu-versioned-namespace.ver organization. But with it following test failures when using versioned namespace vanish: FAIL: 20_util/allocator/overaligned.cc (test for excess errors) FAIL: ext/bit

Review debug message generation

2016-11-09 Thread François Dumont
08/11/2016 22:35, fdumont at gcc dot gnu.org wrote: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77459 --- Comment #8 from François Dumont --- Ok, at least it confirms what I thought about builtins. So the problem is rather a buggy target. Even if so I'll try to find an alternative approa

Re: Default associative containers constructors/destructor/assignment

2016-11-14 Thread François Dumont
Any feedback regarding this patch ? François On 02/11/2016 22:37, François Dumont wrote: Hi Here is an updated proposal, I realized that the newly introduced _M_move_data can be also used in the swap implementation. Let me know if you prefer without it or not. François On 28/10

Re: Default associative containers constructors/destructor/assignment

2016-11-20 Thread François Dumont
On 17/11/2016 18:52, Jonathan Wakely wrote: On 28/10/16 21:42 +0200, François Dumont wrote: + template +struct _Rb_tree_key_compare +{ + _Key_compare_M_key_compare; + + _Rb_tree_key_compare() + _GLIBCXX_NOEXCEPT_IF( + is_nothrow_default_constructible

locales fixes

2014-12-08 Thread François Dumont
owing previous values on my system. I even wonder if it has anything to do with glibc version, it rather depends on the installed locale info, no ? 2014-12-08 François Dumont * testsuite/22_locale/numpunct/members/char/3.cc: Check numpunct returned values are consistent with how nu

Re: locales fixes

2014-12-10 Thread François Dumont
On 10/12/2014 00:24, Jonathan Wakely wrote: I still say the change to "if __GLIBC__ > 2 || __GLIBC_MINOR__ >= 20" is simply wrong. It works for me with 2.18, but if it doesn't work with 2.19 on Debian then why should it work any better with 2.20? Yes, it was indeed a wild guess because I di

Re: [patch] New std::string implementation

2014-12-19 Thread François Dumont
Hello Great news. However we need the following to make debug/profile modes happy. Shouldn't we use _GLIBCXX_ABI_TAG_CXX11 to tag the __cxx11 namespace ? 2014-12-20 François Dumont * include/bits/c++config: inline __cxx11 namespace within namespace __cxx1998.

Tests fixes and debug vector pendantic capacity management change

2014-12-20 Thread François Dumont
with constexpr. Do we keep them this way ? 2014-12-20 François Dumont * include/debug/vector (std::__debug::vector<>::clear()): Do not reset guaranteed capacity. * testsuite/23_containers/vector/bool/allocator/swap.cc: Move propagating_allocator equality and inequality o

Enhance print type in debug mode

2014-12-20 Thread François Dumont
fff1ee0ef00 { type = std::__debug::unordered_map, std::equal_to, std::allocator > >; } I just want to make sure it is safe and especially portable to use __cxa_demangle and that it is ok to do this now. 2014-12-20 François Dumont * include/debug/formatter.h (_Error_formatter:

Re: Tests fixes and debug vector pendantic capacity management change

2014-12-20 Thread François Dumont
On 20/12/2014 19:09, Jonathan Wakely wrote: There are also 2 tests that XPASS: XPASS: experimental/string_view/element_access/char/2.cc execution test XPASS: experimental/string_view/element_access/wchar_t/2.cc execution test Debug assertions has been commented about because not compatib

Re: Optimize hashtable allocator

2012-10-31 Thread François Dumont
eIterator and Tr1HashtableIterator printers? Yes, I think the same code could deal both type of iterators. 2012-09-29 François Dumont 2012-10 :) + + template + _Before_begin(_Alloc __a) + : _NodeAlloc(__a) + { } Can this use a "universal reference" (

Re: Optimize hashtable allocator

2012-11-01 Thread François Dumont
Attached patch applied. 2012-11-01 François Dumont * include/bits/hashtable_policy.h (__details::_Before_begin<>): New, combine a base node instance and an allocator. * include/bits/hashtable.h (_Hashtable<>::_M_node_allocator): Remove. (_Hashtable<>::_M_bef

Re: exception safety validation

2012-11-03 Thread François Dumont
On 09/28/2012 10:14 PM, François Dumont wrote: Hi I enhance scope of the small exception safety test framework used to validate different levels of exception safety through the containers operations. I have added calls to C++ methods emplace/emplace_front/emplace_back/emplace_hint in C

Re: exception safety validation

2012-11-03 Thread François Dumont
On 11/03/2012 03:12 PM, Jonathan Wakely wrote: On 3 November 2012 14:11, Jonathan Wakely wrote: On 3 November 2012 13:53, François Dumont wrote: Here is an updated proposal using default implementations as much as possible. Please check the indentation of the "struct emplace_

Re: exception safety validation

2012-11-05 Thread François Dumont
I apply the attached patch. 2012-10-05 François Dumont * include/ext/throw_allocator.h (__throw_value_base): Add move semantic, not throwing. (__throw_value_limit): Likewise. (__throw_value_random): Likewise. * testsuite/util/exception/safety.h: Add validation of C++11

Re: [Bug libstdc++/54075] [4.7.1] unordered_map insert still slower than 4.6.2

2012-11-07 Thread François Dumont
Here is the patch to fix the redundant rehash/reserve issue. 2012-11-07 François Dumont PR libstdc++/54075 * include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash policy state if no rehash. * testsuite/23_containers/unordered_set/modifiers/reserve.cc (test02

Re: [Bug libstdc++/54075] [4.7.1] unordered_map insert still slower than 4.6.2

2012-11-08 Thread François Dumont
Attached patch applied to trunk and 4.7 branch. 2012-11-08 François Dumont PR libstdc++/54075 * include/bits/hashtable.h (_Hashtable<>::rehash): Reset hash policy state if no rehash. * testsuite/23_containers/unordered_set/modifiers/reserve.cc (test02): New. Fr

Re: [Bug libstdc++/54075] [4.7.1] unordered_map insert still slower than 4.6.2

2012-11-13 Thread François Dumont
tions, in the last case I call _M_next_bkt explicitly. 2012-11-13 François Dumont * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove automatic shrink. (_Prime_rehash_policy::_M_bkt_for_elements): Do not call _M_next_bkt anymore. (_Prime_rehash_policy::_M_nex

Re: [Bug libstdc++/54075] [4.7.1] unordered_map insert still slower than 4.6.2

2012-11-14 Thread François Dumont
On 11/13/2012 11:53 PM, Paolo Carlini wrote: Regarding performance, I have done a small evolution of the 54075.cc test proposed last time. It is now checking performance with and without cache of hash code. Result is: 54075.cc std::unordered_set 30 Foo insertions witho

Re: [Bug libstdc++/54075] [4.7.1] unordered_map insert still slower than 4.6.2

2012-11-16 Thread François Dumont
Attached patch applied. 2012-11-16 François Dumont * include/bits/hashtable_policy.h (_Prime_rehash_policy): Remove automatic shrink. (_Prime_rehash_policy::_M_bkt_for_elements): Do not call _M_next_bkt anymore. (_Prime_rehash_policy::_M_next_bkt): Move usage of

Re: Profile mode (was Re: Add std::unordered_* C++11 allocator support)

2013-04-25 Thread François Dumont
On 04/25/2013 11:36 AM, Paolo Carlini wrote: On 04/25/2013 11:16 AM, Jonathan Wakely wrote: On 25 April 2013 09:52, Paolo Carlini wrote: Hi, could you please take care of the profile-mode bits too? Let's try to keep the 3 modes in sync, I noticed only by chance. Does **anyone** use profile

insert move iterator patch

2013-04-25 Thread François Dumont
Hi Here is a patch to use move semantic when inserting a move_iterator range into the unordered containers. 2013-04-25 François Dumont * include/bits/hashtable_policy.h (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantic. * testsuite/23_containers/u

unordered profile mode patch

2013-05-06 Thread François Dumont
unordered containers allowed to benefit from it. There is no gate between iterator and local_iterator. Has a size_type bucket(const_iterator) signature been discussed ? Tested on x86_64 linux profile mode. 2013-05-07 François Dumont * include/profile/unordered_base.h: New.

Re: unordered profile mode patch

2013-05-07 Thread François Dumont
Attached patch applied. As requested, methods are not inline anymore. 2013-05-07 François Dumont * include/profile/unordered_base.h: New. * include/Makefile.am: Add new profile header. * include/Makefile.in: Regenerate. * include/profile/impl/profiler.h

Re: Add std::unordered_* C++11 allocator support

2013-05-14 Thread François Dumont
Indeed, here is the patch to fix it. Also fix rendering of std::tr1 unordered containers. 2013-05-15 François Dumont * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix rendering of std::tr1 unordered containers iterator. (StdHashtableIterator): New, render std

Unordered container insertion hints

2013-05-15 Thread François Dumont
ge of hints in the std::unordered_* Doxygen comments. 2013-05-20 François Dumont * include/bits/hashtable_policy.h (_Insert_base): Consider hint in insert methods. * include/bits/hashtable.h: Likewise. * testsuite/23_containers/unordered_multimap/insert/hint.cc: New. * do

Re: Unordered container insertion hints

2013-05-23 Thread François Dumont
Some feedback regarding this patch ? Thanks On 05/15/2013 09:49 PM, François Dumont wrote: Hi Here is a patch to consider the hint that users can give to enhancement insertion performances. As you can see I only use it for unordered_multi* containers to potentially avoid research

Re: Unordered container insertion hints

2013-06-06 Thread François Dumont
On 05/24/2013 01:00 AM, Paolo Carlini wrote: On 05/23/2013 10:01 PM, François Dumont wrote: Some feedback regarding this patch ? Two quick ones: what if the hint is wrong? I suppose the insertion succeeds anyway, it's only a little waste of time, right? Right. Is it possible tha

Re: Unordered container insertion hints

2013-06-12 Thread François Dumont
Hi Any news regarding this patch ? Thanks François On 06/06/2013 10:33 PM, François Dumont wrote: On 05/24/2013 01:00 AM, Paolo Carlini wrote: On 05/23/2013 10:01 PM, François Dumont wrote: Some feedback regarding this patch ? Two quick ones: what if the hint is wrong? I suppose the

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
her thread. 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 PR libstdc++/62313 * include/debug/safe_base.h (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration. (_Safe

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 it is

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 move

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

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 PR libstdc++/29988 * include

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 of

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 M

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
or 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

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

Re: Unordered container insertion hints

2013-06-19 Thread François Dumont
hint. François On 06/12/2013 10:12 PM, François Dumont wrote: Hi Any news regarding this patch ? Thanks François On 06/06/2013 10:33 PM, François Dumont wrote: On 05/24/2013 01:00 AM, Paolo Carlini wrote: On 05/23/2013 10:01 PM, François Dumont wrote: Some feedback regarding this patch

Re: Unordered container insertion hints

2013-06-29 Thread François Dumont
Patch applied, I also needed to update some dg-error line numbers, it was not part of the original patch. The only remaining thing will be to update the doxygen links on the unordered containers to point to the new hint doc. 2013-06-29 François Dumont * include/bits

unordered containers: reuse nodes on assignment

2013-06-30 Thread François Dumont
parameter on the friend declaration that I finally removed on the definition. But gcc didn't complained and use it as a valid friend declaration, should it be reported as a gcc bug ? 2013-07-01 François Dumont * include/bits/hashtable_policy.h (_ReuseOrAllocNode): Use forward pa

Re: unordered containers: reuse nodes on assignment

2013-07-01 Thread François Dumont
This is it indeed, I am surprised this problem is so old, a Standard issue perhaps ? If not I might add it to my todo list. François On 06/30/2013 09:43 PM, Paolo Carlini wrote: .. looks like PR39269, but please double check. Paolo.

Re: unordered containers: reuse nodes on assignment

2013-07-04 Thread François Dumont
On 07/01/2013 11:35 PM, Paolo Carlini wrote: On 07/01/2013 09:35 PM, François Dumont wrote: This is it indeed, I am surprised this problem is so old, a Standard issue perhaps ? If not I might add it to my todo list. Yesterday I had a look and I think it's just a bug, I found in Bugzi

Re: unordered containers: reuse nodes on assignment

2013-07-05 Thread François Dumont
Patch applied. I also found the number of template parameters painful. Isolating a part of the _Hashtable in a base class is a good idea and seems to be the solution indeed, I will have a try. François On 07/05/2013 12:28 AM, Jonathan Wakely wrote: On 4 July 2013 21:54, François Dumont

Re: PR 57779 New debug check

2013-07-31 Thread François Dumont
, François Dumont wrote: On 07/24/2013 10:49 AM, Paolo Carlini wrote: Hi, I didn't follow the finest details of this (Jonathan will be able to provide better comments) but it's not immediately obvious to me what happens of the -1 + 1 trick when begin() == end(). In my opinion, we should

Re: PR 57779 New debug check

2013-08-01 Thread François Dumont
-08-01 François Dumont PR libstdc++/57779 * include/debug/formatter.h (_Debug_msg_id): Add __msg_insert_itself_range entry. * include/debug/functions.h (_Insert_range_from_self_is_safe<>): New, indicate container types supporting self range insertion in GNU im

Re: Limit template parameters in hashtable

2013-08-06 Thread François Dumont
Ok then attached patch applied. 2013-08-06 François Dumont * include/bits/hashtable_policy.h (_Hashtable_alloc): New. (_ReuseOrAllocNode, _AllocNode): Adapt to use latter rather than _Hashtable. (_Before_begin<>): Remove. * include/bits/hashtable.h (_Hashtable): I

Fix vector C++11 allocator bug

2013-03-07 Thread François Dumont
ed to check that personality hasn't been exchanged. Additional, making the vector tests more functional revealed a bug in vector implementation. 2013-03-08 François Dumont * include/bits/vector.tcc (vector<>operator=(const vector<>&): Reset pointers afte

Re: Fix vector C++11 allocator bug

2013-03-08 Thread François Dumont
is is indeed better so I applied the patch as you proposed. 2013-03-08 François Dumont * include/bits/vector.tcc (vector<>operator=(const vector<>&): Reset pointers after deallocation when memory can be reused. * testsuite/23_containers/vector/allocator/minimal.cc: I

Re: Fix vector C++11 allocator bug

2013-03-09 Thread François Dumont
On 03/08/2013 10:26 PM, Jonathan Wakely wrote: On 8 March 2013 20:16, François Dumont wrote: This is indeed better so I applied the patch as you proposed. Thanks, can you also make the same changes to the 4.7 branch? If not I can do so. Attached patch tested under Linux x86_64 and applied to

Re: functional and type_traits cleanup

2013-04-05 Thread François Dumont
On 04/05/2013 12:20 AM, Jonathan Wakely wrote: On 4 April 2013 21:16, François Dumont wrote: I think this is mostly very good, thanks for cleaning it up. The indentiation of the closing brace for __is_assignable_helper looks wrong. Is there a reason that __is_assignable_helper::__test uses a

Re: functional and type_traits cleanup

2013-04-07 Thread François Dumont
numbers at that time. 2013-04-07 François Dumont * include/std/functional (_Derives_from_unary_function): Remove. (_Derives_from_binary_function): Remove. * include/std/type_traits (__sfinae_types): Remove. (__is_assignable_helper): Adapt. (__is_convertible

Fwd: Fix std::pair std::is_copy_assignable behavior

2013-04-13 Thread François Dumont
announced it is requiring a compiler patch to extend DR 1402 resolution to all defaulted methods. 2013-04-12 François Dumont * call.c (joust): Extend DR 1402 to all defaulted methods. This modification is mandatory so that pair& operator=(const pair&) can be defaulted whereas lea

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-14 Thread François Dumont
On 04/14/2013 03:33 AM, Gabriel Dos Reis wrote: Does DR 1402 resolution generalization need a Standard committee validation first ? I cannot see why we would want otherwise :-) -- Gaby I rather wonder if gcc only accept modifications that has been validated by the Standard committee first or

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-17 Thread François Dumont
and potentially used instead. 2013-04-17 François Dumont * include/bits/stl_pair.h (operator=(const pair&)): Add noexcept qualification. (operator=(pair&&)): Use default implementation. (template<> operator=(const pair&)): Add noexcept qualification. Enable

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-17 Thread François Dumont
On 04/17/2013 09:18 PM, Paolo Carlini wrote: On 4/17/13 8:10 PM, François Dumont wrote: Hi Here is an other proposal to fix std::is_copy_assignable>. Sorry, I'm still missing something very, very basic: which behavior is conforming, the current one or what we would get instead

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-17 Thread François Dumont
On 04/17/2013 10:02 PM, Paolo Carlini wrote: Hi, On 4/17/13 8:43 PM, François Dumont wrote: On 04/17/2013 09:18 PM, Paolo Carlini wrote: On 4/17/13 8:10 PM, François Dumont wrote: Hi Here is an other proposal to fix std::is_copy_assignable>. Sorry, I'm still missing someth

Re: Fix std::pair std::is_copy_assignable behavior

2013-04-19 Thread François Dumont
On 04/17/2013 10:02 PM, Paolo Carlini wrote: Hi, On 4/17/13 8:43 PM, François Dumont wrote: On 04/17/2013 09:18 PM, Paolo Carlini wrote: On 4/17/13 8:10 PM, François Dumont wrote: Hi Here is an other proposal to fix std::is_copy_assignable>. Sorry, I'm still missing someth

Re: Add std::unordered_* C++11 allocator support

2013-04-22 Thread François Dumont
On 04/21/2013 10:36 PM, Jonathan Wakely wrote: On 21 April 2013 21:08, François Dumont wrote: Hi Here is another proposal with: - No attempt to remove const key - No attempt to use assignment operator - noexcept move constructor; I slightly modify a static assertion so that it checks that

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 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 a

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

experimental testsuite patch

2014-01-15 Thread François Dumont
the assertion or remove the constexpr (maybe only in debug mode ?) ? 2014-01-15 François Dumont * scripts/create_testsuite_files: Add testsuite/experimental in the list of folders to introspect for tests. * testsuite/experimental/string_view/element_access/wchar_t/2.cc: Merg

Tree containers profile mode fix

2014-01-15 Thread François Dumont
t some explicit instantiations failed then in the tests. Is it a gcc limitation or a Standard requirement to refuse explicit instantiation of a template alias ? If It could be interpreted as an explicit instantiation of the underlying type it would be really useful. 2014-01-15 François Dumont

Re: experimental testsuite patch

2014-01-19 Thread François Dumont
So here is another patch proposal with the faulty debug assertion commented for the moment. 2014-01-20 François Dumont * scripts/create_testsuite_files: Add testsuite/experimental in the list of folders to introspect for tests. * include/experimental/string_view

Re: [patch] fix libstdc++/56267 - local iterator requirements

2014-01-20 Thread François Dumont
On 01/20/2014 04:53 PM, Jonathan Wakely wrote: On 17 January 2014 15:11, Jonathan Wakely wrote: The issue in PR 56267 is that unordered_xxx::local_iterator sometimes inherits from the user-defined hash function (via _Hash_code_base, which inherits from the hash function to use the EBO), and loca

profile mode fix

2014-01-26 Thread François Dumont
Hi This is a patch to fix PR 55033 in profile mode. Like in debug mode it was missing noexcept qualifier on move constructor. 2014-01-26 François Dumont PR libstdc++/55083 * include/profile/unordered_base.h (_Unordered_profile()): Add noexcept qualifier

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

Re: profile mode fix

2014-01-29 Thread François Dumont
even if they are, not a big deal, no ? Tested under Linux x86_64 normal and profile mode. 2014-01-29 François Dumont PR libstdc++/55083 * testsuite/23_containers/unordered_multimap/55043.cc: Add dg-require-normal-mode because not supported in profile mode. * testsuite

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 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-mode-unsupported or

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 revertin

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: [patch] libstdc++/29988 Rb_Tree reuse allocated nodes

2014-07-30 Thread François Dumont
Hi Now that patch on testsuite allocator is in I would like to reactivate this one. Here it is again. See previous answer below regarding modification of _M_begin/_M_cbegin. 2014-07-30 François Dumont PR libstdc++/29988 * include/bits/stl_tree.h

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 * scripts/create_testsuite_files: Add testsuite/experimental in the list of folders to search for tests. * include/experimental/string_view (basic_string_view<>::op

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 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call

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 that is

<    2   3   4   5   6   7   8   9   10   11   >