Still no chance to get feedback from TC ? Maybe I can commit the below
then ?
AFAICS on gcc mailing list several gcc releases were done recently, too
late.
On 14/09/2023 06:46, François Dumont wrote:
Author: TC
Date: Wed Sep 6 19:31:55 2023 +0200
libstdc++: Force
Thanks for the link, based on it I removed some of the nullptr usages
keeping only assignments.
François
On 26/06/2024 23:41, Jonathan Wakely wrote:
On Wed, 26 Jun 2024 at 21:39, François Dumont wrote:
Hi
Here is my proposal to add support for fancy allocator pointer.
The only place where
On 27/06/2024 22:30, Jonathan Wakely wrote:
On Thu, 27 Jun 2024 at 20:25, François Dumont wrote:
Thanks for the link, based on it I removed some of the nullptr usages
keeping only assignments.
That's not necessary. A nullable pointer type is equality comparable
with nullptr_t, and nu
On 13/05/2024 10:34, Jonathan Wakely wrote:
On Mon, 13 May 2024, 07:30 Iain Sandoe, wrote:
> On 13 May 2024, at 06:06, François Dumont
wrote:
>
>
> On 07/05/2024 18:15, Iain Sandoe wrote:
>> Hi François
>>
>>> On 4 Ma
Ping ?
On 13/05/2024 06:33, François Dumont wrote:
libstdc++: [_Hashtable] Fix some implementation inconsistencies
Get rid of the different usages of the mutable keyword except in
_Prime_rehash_policy where it is preserved for abi compatibility
reason.
Fix comment to explain
As explained in this email:
https://gcc.gnu.org/pipermail/libstdc++/2024-April/058552.html
I experimented -Wfree-nonheap-object because of my enhancements on algos.
So here is a patch to extend the usage of the _Guard type to other parts
of vector.
libstdc++: Use RAII to replace try/catc
On 23/05/2024 15:31, Jonathan Wakely wrote:
On 23/05/24 06:55 +0200, François Dumont wrote:
As explained in this email:
https://gcc.gnu.org/pipermail/libstdc++/2024-April/058552.html
I experimented -Wfree-nonheap-object because of my enhancements on
algos.
So here is a patch to extend the
On 24/05/2024 16:17, Jonathan Wakely wrote:
On Thu, 23 May 2024 at 18:38, François Dumont wrote:
On 23/05/2024 15:31, Jonathan Wakely wrote:
On 23/05/24 06:55 +0200, François Dumont wrote:
As explained in this email:
https://gcc.gnu.org/pipermail/libstdc++/2024-April/058552.html
I
/2024 16:17, Jonathan Wakely wrote:
On Thu, 23 May 2024 at 18:38, François Dumont wrote:
On 23/05/2024 15:31, Jonathan Wakely wrote:
On 23/05/24 06:55 +0200, François Dumont wrote:
As explained in this email:
https://gcc.gnu.org/pipermail/libstdc++/2024-April/058552.html
I experimented -
In C++98 this test fails with:
Excess errors:
/home/fdumont/dev/gcc/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_algobase.h:452:
warning: 'void* __builtin_memcpy(void*, const void*, long unsigned int)'
writing between 2 and 9223372036854775806 bytes into a region of size 0
overflows
/2024 22:18, Sam James wrote:
François Dumont writes:
In C++98 this test fails with:
For this, and your other -Wfree-nonheap-object patches, could you see if
it helps with any of the bugs reported for both -Wstringop-overflow and
-Wfree-nonheap-object in libstdc++? There's a bunch of (possi
.
Tested under Linux x86_64.
Ok to commit ?
François
On 28/05/2024 12:30, Jonathan Wakely wrote:
On Mon, 27 May 2024 at 05:37, François Dumont wrote:
Here is a new version working also in C++98.
Can we use a different solution that doesn't involve an explicit
template argument list for
in mind do not hesitate
to tell me.
François
On 28/05/2024 12:28, Jonathan Wakely wrote:
On 27/05/24 22:07 +0200, François Dumont wrote:
In C++98 this test fails with:
Excess errors:
/home/fdumont/dev/gcc/build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/stl_algobase.h:452:
warn
k to commit ?
François
On 30/05/2024 13:07, Jonathan Wakely wrote:
On Thu, 30 May 2024 at 06:11, François Dumont wrote:
Looks like this new version works the same to fix the warning without
the issues reported here.
All 23_containers/vector tests run in C++98/14/20 so far.
Ok to commit once I'
On 03/06/2024 18:20, Jonathan Wakely wrote:
On Mon, 3 Jun 2024 at 05:56, François Dumont wrote:
I hadn't try to make my patch as limited as possible to fix the problem,
indeed.
libstdc++: Fix -Wstringop-overflow warning coming from std::vector
[PR109849]
libstdc++-v3/Chan
No chance ?
On 22/05/2024 06:50, François Dumont wrote:
Ping ?
On 13/05/2024 06:33, François Dumont wrote:
libstdc++: [_Hashtable] Fix some implementation inconsistencies
Get rid of the different usages of the mutable keyword except in
_Prime_rehash_policy where it is preserved for
Hi
libstdc++: [_Hashtable] Optimize destructor
Hashtable destructor do not need to call clear() method that in addition to
destroying all nodes also reset all buckets to nullptr.
libstdc++-v3/ChangeLog:
* include/bits/hashtable.h (~_Hashtable()): Replace clear call with
a _M_deallocate
Hi
Following your recent change here:
https://gcc.gnu.org/pipermail/libstdc++/2024-June/058998.html
I think we also need to fix the memset at bucket allocation level.
I did it trying also to be more fancy pointer friendly by running
__uninitialized_default_n_a on the allocator returned pointe
pointers.
(_Hashtable_alloc::_M_deallocate_buckets): Add destroy of
buckets.
Tested under Linux x64, ok to commit ?
François
On 13/06/2024 20:58, Jonathan Wakely wrote:
On Thu, 13 Jun 2024 at 19:57, Jonathan Wakely wrote:
On Thu, 13 Jun 2024 at 18:40, François Dumont wrote:
Hi
Hi
Still no time ?
Thanks
On 06/06/2024 19:02, François Dumont wrote:
No chance ?
On 22/05/2024 06:50, François Dumont wrote:
Ping ?
On 13/05/2024 06:33, François Dumont wrote:
libstdc++: [_Hashtable] Fix some implementation inconsistencies
Get rid of the different usages of the
Hi
Here is my proposal to add support for fancy allocator pointer.
The only place where we still have C pointers is at the
iterator::pointer level but it's consistent with std::list
implementation and also logical considering that we do not get
value_type pointers from the allocator.
I also
Committed as trivial.
Fix a compilation error that is not expected by the tests preserving
the expected ones.
The 'test' variable declaration is missing since commit
a9260b7eb688df43a724e25421ba40f35a89fee9 that removed the test global
variable in testsuite files.
libstdc++-v3/ChangeLog:
*
Wed, 31 Jul 2024 at 21:59, Jonathan Wakely wrote:
On Wed, 31 Jul 2024 at 21:44, François Dumont wrote:
Committed as trivial.
Fix a compilation error that is not expected by the tests preserving
the expected ones.
The 'test' variable declaration is missing si
(test01):
Remove test variable
and use 'no match' dg-error patter.
* testsuite/23_containers/set/operators/1_neg.cc (test01):
Likewise.
Comitted with you as author.
François
On 01/08/2024 09:26, Jonathan Wakely wrote:
On Thu, 1 Aug 2024 at 06:09, François Dum
Hi
Here is a proposal to add fancy pointer support in std::_Rb_tree container.
As you'll see there are still several usages of
pointer_traits<>::pointer_to. The ones in _M_header_ptr() are
unavoidable. The ones to extract a node or to return a node to the
allocator are more questionable. Are
Here is the list of patches to restore gnu versioned namespace mode.
1/3: Bump gnu version namespace
This is important to be done first so that once build of gnu versioned
namespace is fixed there is no chance to have another build of '__8'
version with a different abi than last successful '__
libstdc++: Bump gnu versioned namespace to __9
libstdc++-v3/ChangeLog:
* acinclude.m4 (libtool_VERSION): Bump to 9:0:0.
* config/abi/pre/gnu-versioned-namespace.ver (GLIBCXX_8.0):
Replace by GLIBCXX_9.0.
Adapt all references to __8 namespace.
* c
libstdc++: Review configuration options to control abi
--disable-libstdcxx-dual-abi default to 'new' abi mode.
--with-default-libstdcxx-abi consider the requested abi mode regardless
of --disable-libstdcxx-dual-abi usage.
libstdc++-v3/ChangeLog
* acinclude.m4 (G
libstdc++: [_GLIBCXX_INLINE_VERSION] Use cxx11 abi [PR83077]
Use cxx11 abi when activating versioned namespace mode. To do so
support a new
configuration mode where !_GLIBCXX_USE_DUAL_ABI and
_GLIBCXX_USE_CXX11_ABI.
The main change is that std::__cow_string is now defined when
libstdc++: [_Hashtable] Fix some implementation inconsistencies
Get rid of the different usages of the mutable keyword except in
_Prime_rehash_policy where it is preserved for abi compatibility
reason.
Fix comment to explain that we need the computation of bucket index
noexcep
On 07/05/2024 18:15, Iain Sandoe wrote:
Hi François
On 4 May 2024, at 22:11, François Dumont wrote:
Here is the list of patches to restore gnu versioned namespace mode.
1/3: Bump gnu version namespace
This is important to be done first so that once build of gnu versioned
namespace is
Indeed, I check the Standard about const_pointer, so here is another
attempt.
Tested under Linux x86_64.
2013-08-29 François Dumont
PR libstdc++/58148
* include/debug/functions.h (__foreign_iterator_aux4): Use
sequence const_pointer as common type to compare pointers. Add a
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
PR libstdc++/58191
* include/debug/macros.h
Yes, this was cleaner, tested and committed this way.
2013-08-30 François Dumont
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 pointers cannot be cast to
next time.
2013-09-28 François Dumont
* 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, prev_p
Attached patch applied.
2012-10-16 François Dumont
* include/debug/formatter.h (_Debug_msg_id): Add
__msg_bucket_index_oob.
* include/debug/macros.h (__glibcxx_check_bucket_index): New.
* include/debug/unordered_set (unordered_set<>::begin(size_type)):
Add check on
On 10/18/2012 11:12 AM, Paolo Carlini wrote:
On 10/17/2012 10:05 PM, François Dumont wrote:
Ok to commit ?
Ok, thanks.
Paolo.
Attached patch applied.
2012-10-18 François Dumont
* include/debug/formatter.h (_Debug_msg_id): Add
__msg_valid_load_factor.
* include/debug
On 10/21/2012 11:47 AM, Paolo Carlini wrote:
On 10/20/2012 11:07 PM, François Dumont wrote:
I have also put a fix in profile/map.h even if it is unrelated to
this evolution. Should I commit it outside this patch ?
Yes please!
Thanks,
Paolo.
Attached patch applied.
2012-10-21
Attached patch applied.
2012-10-22 François Dumont
* include/bits/unordered_set.h (unordered_set<>): Prefer
aggregation to inheritance with _Hashtable.
(unordered_multiset<>): Likewise.
* include/debug/unordered_set (operator==): Adapt.
* include/profile/u
On 10/26/2012 10:41 AM, Paolo Carlini wrote:
On 10/25/2012 10:15 PM, François Dumont wrote:
Here is the patch to apply the same modification applied to
unordered_set and unordered_multiset. It also use default
implementation for unordered_set/unordered_multiset copy/move
constructor
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
* include/debug
On 10/23/2013 12:37 AM, Paolo Carlini wrote:
Hi,
"François Dumont" 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 t
On 10/24/2013 12:12 AM, Paolo Carlini wrote:
On 10/23/2013 11:22 PM, François Dumont wrote:
You are right, I am preparing a test case. However you have to know
that __check_dereferenceable is simply not used for the moment. It is
only because I have started using it for a debug mode evolution
patch also fix those
issues in the debug mode for the vector container. Fixes for other
containers in debug mode will come later.
2013-12-27 François Dumont
* include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
*this allocator instance when building temporary
looks good enough to me. If you want me to add some I will when back
from vacation. I am mostly submitting this patch to show you that I
worked on it and you do not need to do it yourself.
2013-12-27 François Dumont
* include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<
at for example at my new
tests which feature:
// { dg-options "-std=gnu++11" }
// { dg-options "-std=gnu++11 -DSIMULATOR_TEST" { target simulator } }
Which enables the macro SIMULATOR_TEST on simulators, where I do much
less testing (else the tester takes too long.
On 2
I saw on another thread that 4.9 release was getting closer. Applying
this patch sounds like a good idear for this release.
Any feedback ?
On 12/27/2013 07:27 PM, François Dumont wrote:
Hi
Here is a patch to fix an issue in normal mode during the move
assignment. The destination vector
clang feedback would be appreciated.
2014-01-10 François Dumont
* include/bits/hashtable_policy.h: Fix some long lines.
* include/bits/hashtable.h (__hash_code_base_access): Define and
use it to check its _M_bucket_index noexcept qualification. Use
also in pla
On 01/08/2014 02:34 PM, Paolo Carlini wrote:
Hi,
On 12/27/2013 07:30 PM, François Dumont wrote:
Note that this patch contains also a cleanup of a useless template
parameter _Is_pod_comparator on _Rb_tree_impl.
The useless parameter is a remnant of an attempt at exploiting the EBO
for
On 01/09/2014 11:49 PM, Jonathan Wakely wrote:
On 9 January 2014 21:55, François Dumont wrote:
All unordered_* tests run under Linux x86_64.
Please make sure you run the entire testsuite, not just the parts that
seem relevant.
Done and no failure, ok to commit ?
François
On 12/22/2013 09:55 PM, François Dumont wrote:
On 12/22/2013 12:51 PM, Jonathan Wakely wrote:
On 21 December 2013 08:51, François Dumont wrote:
Any feedback for this proposal ?
It looks good but I don't have time to review it fully yet, please be
patient.
I'm more concerned
Hi
This is the patch to get rid of the duplication of the get_catalogs
functions in the .so.
I used c++locale_internal.h that seems to be there for this kind of
purpose.
* config/locale/gnu/messages_members.cc (Catalog_info, Catalogs):
Move...
* config/locale/gnu/c++locale_in
Hi
Here is a patch to add irreflexive debug check.
Standard algos signatures are such that there is no guaranty that
the operator < or predicate to compare the iterator value type will
exist. So I had to check if the call is valid using C++11 features
declval and decltype.
* include/
welcome.
François
On 27/07/2015 22:30, François Dumont wrote:
> Hi
>
> This is the patch to get rid of the duplication of the get_catalogs
> functions in the .so.
>
> I used c++locale_internal.h that seems to be there for this kind of
> purpose.
>
&
On 30/07/2015 12:30, Jonathan Wakely wrote:
> On 29/07/15 22:08 +0200, François Dumont wrote:
>> Hi
>>
>>Here is a patch to add irreflexive debug check.
>
> Awesome!
>
> You can add PR libstdc++/60519 to the changelog.
Sure.
>
>
>>Standa
On 14/09/2015 21:50, Jonathan Wakely wrote:
> On 14/09/15 20:27 +0200, François Dumont wrote:
>> Hi
>>
>>Here is what I had in mind when talking about moving debug checks to
>> the lightweight debug checks.
>
> Ah yes, I hadn't thought about removing
On 15/09/2015 23:57, Jonathan Wakely wrote:
> On 14/09/15 20:26 +0200, François Dumont wrote:
>> 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:
>>>>>
On 16/09/2015 22:29, Jonathan Wakely wrote:
>
>>>
constexpr bool __move_storage =
_Alloc_traits::_S_propagate_on_move_assign()
|| _Alloc_traits::_S_always_equal();
@@ -778,7 +779,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CONTAINER
*/
refer
On 05/09/2015 23:02, François Dumont wrote:
> 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-templ
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
On 25/09/2015 15:28, Jonathan Wakely wrote:
> @@ -501,6 +503,129 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>> mutable std::size_t_M_next_resize;
>> };
>>
>> + /// Range hashing function considering that second args is a power
>> of 2.
>
> Does this mean "assuming" not "considering"?
I assume
On 25/09/2015 17:58, Jonathan Wakely wrote:
> On 25/09/15 16:10 +0100, Jonathan Wakely wrote:
>> On 25/09/15 16:08 +0100, Jonathan Wakely wrote:
>>> On 23/09/15 21:28 +0200, François Dumont wrote:
>>>> On 05/09/2015 23:02, François Dumont wrote:
>>>>&
François
On 19/09/2015 11:47, Jonathan Wakely wrote:
> On 19 September 2015 at 10:12, Jonathan Wakely wrote:
>> On 19 September 2015 at 08:31, François Dumont wrote:
>>> On 16/09/2015 22:29, Jonathan Wakely wrote:
>>>> No, because it is undefined to compare iterat
On 07/10/2015 22:09, Jonathan Wakely wrote:
> On 07/10/15 21:38 +0200, François Dumont wrote:
>> Hi
>>
>>I completed vector assertion mode. Here is the result of the new
>> test you will find in the attached patch.
>>
>> With debug mode:
>> /home/f
Is this one ok ?
François
On 28/09/2015 21:16, François Dumont wrote:
> On 25/09/2015 15:28, Jonathan Wakely wrote:
>> @@ -501,6 +503,129 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>>> mutable std::size_t_M_next_resize;
>>> };
>>>
>>> + /// R
Hi
I just committed this trivial cleanup.
2015-11-09 François Dumont
* include/bits/stl_algo.h
(partial_sort_copy): Instantiate std::iterator_traits only if concept
checks.
(lower_bound): Likewise.
(upper_bound): Likewise.
(equal_range): Likewise
On 12/10/2015 21:42, François Dumont wrote:
> On 07/10/2015 22:09, Jonathan Wakely wrote:
>> On 07/10/15 21:38 +0200, François Dumont wrote:
>>> Hi
>>>
>>>I completed vector assertion mode. Here is the result of the new
>>> test you will find i
On 16/11/2015 11:29, Jonathan Wakely wrote:
> On 15/11/15 22:12 +0100, François Dumont wrote:
>> Here is a last version I think.
>>
>>I completed the debug light mode by adding some check on iterator
>> ranges.
>>
>>Even if check are ligh
Hi
I always wanted to fix those operators implementation so that it
just use underlying iterator -> operator like for the other operators.
And I also notice the @todo on it today so maybe it is still time to fix
those.
* include/debug/safe_iterator.h
(_Safe_iterator<>::operator->()):
Thanks for the explanation, it is much clearer.
So here is a the more limited patch.
Tested under Linux x86_64.
Ok to commit ?
François
On 18/11/2015 13:27, Jonathan Wakely wrote:
> On 17/11/15 20:49 +0100, François Dumont wrote:
>> On 16/11/2015 11:29, Jonathan Wakely wrote:
>
When I use std::is_permutation in hashtable_policy.h I included
stl_algo.h which is a large header. No other header in include/bits does
this, I would prefer not being the first to do such a thing.
As it is a recent change I prefer to submit this patch now.
Git commit message:
libstdc++ H
Hi
Isn't it something to fix before gcc 10 release ?
François
On 12/27/19 11:57 AM, François Dumont wrote:
Here is the patch to extend DR 526 to forward_list and list remove_if
and unique.
As the adopted pattern is simpler I also applied it to the remove
methods.
PR li
After the fix of PR 91910 I tried to consider other possible race
condition and I think we still have a problem.
Like stated in the PR when a container is destroyed all associated
iterators are made singular. If at the same time another thread try to
access this iterator the _M_singular check
I started to work on ranges::equal to find out if what I am trying to do
is totally silly.
With this patch ranges::equal is in pare with std::equal specializations
that is to say that it correctly deals with Debug mode or std::deque
iterators.
Once below patch is in:
https://gcc.gnu.org/ml/
I started to work on ranges::equal to find out if what I am trying to do
is totally silly.
With this patch ranges::equal is in pare with std::equal specializations
that is to say that it correctly deals with Debug mode or std::deque
iterators.
Once below patch is in:
https://gcc.gnu.org/ml/
On 3/6/20 11:12 AM, Jonathan Wakely wrote:
On 06/03/20 10:09 +, Jonathan Wakely wrote:
On 06/03/20 07:06 +0100, François Dumont wrote:
I started to work on ranges::equal to find out if what I am trying
to do is totally silly.
With this patch ranges::equal is in pare with std::equal
Ping ?
On 9/9/19 8:34 PM, François Dumont wrote:
Hi
This patch improves stl_algobase.h
copy/copy_backward/fill/fill_n/equal implementations. The improvements
are:
- activation of algo specialization for __gnu_debug::_Safe_iterator
(w/o _GLIBCXX_DEBUG mode)
- activation of algo
27;t need Debug mode.
OK to commit ?
François
On 9/20/19 7:08 AM, François Dumont wrote:
I already realized that previous patch will be too controversial to be
accepted.
In this new version I just implement a real memmove in __memmove so
that in copy_backward there is no need for a sho
On 9/26/19 3:20 PM, Jonathan Wakely wrote:
Fix data race when _Safe_iterator_base::_M_detach() runs concurrently
with
the _Safe_container_base destructor.
PR libstdc++/91910
* src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer
atomically and lock the mutex before ac
On 9/27/19 2:11 PM, Jonathan Wakely wrote:
On 19/09/19 22:27 +0200, François Dumont wrote:
Hi
I start working on making recently added constexpr tests to work
in Debug mode.
The attached patch seems to be necessary for that, right?
On my side I had done this, almost the same.
For
On 9/27/19 2:28 PM, Jonathan Wakely wrote:
On 09/09/19 20:34 +0200, François Dumont wrote:
Hi
This patch improves stl_algobase.h
copy/copy_backward/fill/fill_n/equal implementations. The
improvements are:
- activation of algo specialization for __gnu_debug::_Safe_iterator
(w/o
Safe_iterator<>&)): Likewise.
(__equal_aux(const _Safe_iterator<>&,
const _Safe_iterator<>&, const _Safe_iterator<>&)): Likewise.
François
On 9/27/19 6:45 PM, Jonathan Wakely wrote:
On 27/09/19 18:24 +0200, François Dumont wrote:
On 9/27/19 2:1
On 9/30/19 11:03 AM, Jonathan Wakely wrote:
On 28/09/19 23:12 +0200, François Dumont wrote:
Here is what I just commited.
Thanks. In my branch I had a lot more _GLIBCXX20_CONSTEXPR additions
in the debug mode headers. Is it not needed on __check_singular,
__foreign_iterator etc. ?
Yes, I
This is a missing part of C++20 P1023 for __debug::array.
Implement C++20 p1023 - constexpr comparison operators for
__debug::array.
* include/debug/array: Add C++20 constexpr to comparison operators.
* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adapt
dg-err
On 9/27/19 1:24 PM, Jonathan Wakely wrote:
On 20/09/19 07:08 +0200, François Dumont wrote:
I already realized that previous patch will be too controversial to
be accepted.
In this new version I just implement a real memmove in __memmove so
A real memmove doesn't just work backward
Hi
We are missing obvious debug checks in std::copy_n. Moreover I'll
need them when I'll remove the Debug layer in a coming patch.
Tested under Linux x86_64.
* include/bits/stl_algo.h (copy_n): Add
__glibcxx_requires_can_increment
debug checks.
* testsuite/25_algorithms
Hi
May I add this convenient function ? I'll also use it in coming
patches.
Note that I removed a template parameter in __is_random_access_iter
in C++11.
* include/bits/stl_iterator_base_types.h (__iterator_category_t):
Define
for C++11.
(__is_random_access_iter): Ada
On 9/27/19 1:00 PM, Jonathan Wakely wrote:
On 19/07/19 23:37 +0200, François Dumont wrote:
It sounds reasonable to overload std::copy_n for istreambuf_iterator.
I wonder whether it's worth doing:
#if __cplusplus >= 201703L
if constexpr (is_same_v<_OutputIterator, _CharT*>
I eventually committed the attach patch.
The usage of __dp_sign_max_size will come later.
François
On 9/27/19 1:45 PM, Jonathan Wakely wrote:
On 16/09/19 22:31 +0200, François Dumont wrote:
Here is the patch to improve _Safe_iterator<>::_M_get_distance_to
implementation.
I introd
Hi
Following what has been done for std::copy_n I think we could
simplify the __copy_move_a2 overload to also use sgetn. Code is simpler
and we avoid a friend declaration.
Tested under Linux x86_64.
* include/std/streambuf (__copy_move_a2): Remove friend declaration.
* inclu
check if I can find a way to confirm that
a given overload is indeed being called.
So here is this patch again.
François
On 9/27/19 11:14 PM, François Dumont wrote:
On 9/27/19 2:28 PM, Jonathan Wakely wrote:
On 09/09/19 20:34 +0200, François Dumont wrote:
Hi
This patch improves stl_algoba
On 10/9/19 10:18 PM, Christophe Lyon wrote:
On Fri, 4 Oct 2019 at 07:01, François Dumont <mailto:frs.dum...@gmail.com>> wrote:
On 9/27/19 1:00 PM, Jonathan Wakely wrote:
> On 19/07/19 23:37 +0200, François Dumont wrote:
>> It sounds reasonable to overlo
te:
On Fri, 4 Oct 2019 at 07:01, François Dumont <mailto:frs.dum...@gmail.com>> wrote:
On 9/27/19 1:00 PM, Jonathan Wakely wrote:
> On 19/07/19 23:37 +0200, François Dumont wrote:
>> It sounds reasonable to overload std::copy_n for
istreambuf_iterator.
The same way I proposed to review std::copy overload for
istreambuf_iterator we can implement std::advance using pubseekoff.
It is both a cleaner implementation and avoids yet another friend
declaration.
* include/std/streambuf
(advance(istreambuf_iterator<>&, _Distance)): Remove fri
std::advance algo.
François
On 10/14/19 10:12 PM, François Dumont wrote:
The same way I proposed to review std::copy overload for
istreambuf_iterator we can implement std::advance using pubseekoff.
It is both a cleaner implementation and avoids yet another friend
declaration.
* include
Hi
I completed this overload before noticing that the Standard do not
expect anything when 'advancing' an output iterator.
But as I've done it consistenly with the istreambuf_iterator here
it is with samples about how to use it.
Let me know if acceptable.
François
diff --git a
* src/c++11/debug.cc (print_field): Replace constness_names
entry with . Replace state_names entry
with
.
Committed as trivial.
François
Index: src/c++11/debug.cc
===
--- src/c++11/debug.cc (révision 277048)
+++ sr
_neg.cc: New.
* testsuite/25_algorithms/move/constexpr.cc: New.
* testsuite/25_algorithms/move/constexpr_neg.cc: New.
François
On 10/10/19 10:03 PM, Jonathan Wakely wrote:
On 01/10/19 22:05 +0200, François Dumont wrote:
On 9/27/19 1:24 PM, Jonathan Wakely wrote:
On 20/09/19 07:08 +0200, François Dum
This is the begining of a patch series for _Hashtable
Initial patch to clarify code. I was tired to see true/false or
true_type/false_type without knowing what was true/false.
I also made code more consistent by chosing to specialize methods
through usage of __unique_keys_t/__multi_keys_t rat
This patch simplifies a number of implementations.
It tries as much as possible to avoid computing hash code. This is
especially true for the erase implementation in case of multi keys.
* include/bits/hashtable_policy.h (_Map_base<>::at): Use
_Hashtable<>::find.
(_Hashtable_base<>::_E
101 - 200 of 1037 matches
Mail list logo