On 28/09/2023 18:18, Jonathan Wakely wrote:
On Wed, 27 Sept 2023 at 05:44, François Dumont wrote:
Still no chance to get feedback from TC ? Maybe I can commit the below
then ?
I've heard back from Tim now. Please use "Tim Song
" as the author.
You can change the commit
Hi
Gentle reminder for this minor patch.
Thanks
On 23/09/2023 22:10, François Dumont wrote:
I'm eventually fixing those tests the same way we manage this problem
in libstdc++ testsuite.
testsuite: Add optional libstdc++ version namespace in expected
diagnostic
When libstdc
Now backport to gcc-11/12/13 branches.
On 29/09/2023 11:53, Jonathan Wakely wrote:
On Thu, 28 Sept 2023 at 18:25, François Dumont wrote:
On 28/09/2023 18:18, Jonathan Wakely wrote:
On Wed, 27 Sept 2023 at 05:44, François Dumont wrote:
Still no chance to get feedback from TC ? Maybe I can
Indeed ! Here is the right one.
On 03/10/2023 11:52, Jonathan Wakely wrote:
On Mon, 2 Oct 2023 at 18:07, François Dumont wrote:
Hi
Gentle reminder for this minor patch.
It looks like you attached the wrong patch.
Thanks
On 23/09/2023 22:10, François Dumont wrote:
I'm eventually f
Here is a patch to fix following test case in gcc:
gcc/testsuite/g++.dg/cpp23/ext-floating13.C
libstdc++: [_GLIBCXX_INLINE_VERSION] Add missing float symbols
libstdc++-v3/ChangeLog:
* config/abi/pre/gnu-versioned-namespace.ver: Add missing
symbols
for _Float{1
Remove.
* src/c++98/compatibility.cc [_GLIBCXX_USE_CXX11_ABI]: Skip
all definitions appart from
istream::ignore(streamsize).
Tested under Linux x64_86, ok to commit ?
François
On 17/08/2023 19:22, Jonathan Wakely wrote:
On Sun, 13 Aug 2023 at 14:27, François Dumont via
I've been told that previous patch generated with 'git diff -b' was not
applying properly so here is the same patch again with a simple 'git diff'.
On 07/10/2023 14:25, François Dumont wrote:
Hi
Here is a rebased version of this patch.
There are few test failures w
, at 05:41, François Dumont wrote:
Tests were successful, ok to commit ?
On 20/09/2023 19:51, François Dumont wrote:
libstdc++: [_GLIBCXX_INLINE_VERSION] Add handle_contract_violation symbol alias
libstdc++-v3/ChangeLog:
* src/experimental/contract.cc
[_GLIBCXX_INLI
On 09/10/2023 16:42, Iain Sandoe wrote:
Hi François,
On 7 Oct 2023, at 20:32, François Dumont wrote:
I've been told that previous patch generated with 'git diff -b' was not
applying properly so here is the same patch again with a simple 'git diff'.
Thanks, th
On 08/10/2023 15:59, Iain Sandoe wrote:
Hi François,
On 23 Sep 2023, at 21:10, François Dumont wrote:
I'm eventually fixing those tests the same way we manage this problem in
libstdc++ testsuite.
testsuite: Add optional libstdc++ version namespace in expected diagnostic
Hi Iain
On 11/10/2023 09:30, Iain Sandoe wrote:
Hi François,
On 11 Oct 2023, at 05:49, François Dumont wrote:
On 08/10/2023 15:59, Iain Sandoe wrote:
On 23 Sep 2023, at 21:10, François Dumont wrote:
I'm eventually fixing those tests the same way we manage this problem in
li
Now that abi breakage is fixed and hoping that Friday is review day :-)
Ping !
On 17/09/2023 22:41, François Dumont wrote:
libstdc++: [_Hashtable] Avoid redundant usage of rehash policy
Bypass usage of __detail::__distance_fwd and check for need to rehash
when assigning an initializer_list
libstdc++: [_Hashtable] Do not reuse untrusted cached hash code
On merge reuse merged node cached hash code only if we are on the same
type of
hash and this hash is stateless. Usage of function pointers or
std::function as
hash functor will prevent this optimization.
libstdc++-v3/ChangeLog
r<>, _Sequence>&)): New.
Ok to commit ?
On 02/07/2018 13:57, Jonathan Wakely wrote:
On 01/07/18 21:20 +0200, François Dumont wrote:
Here is a new proposal between yours and mine.
It is still adding a function to wrap what __niter_base unwrap, I
called it __nwrap_iter for th
Hi
I plan to commit attached patch to fix the __gnu_debug::string
undefined macro.
Is it ok the way I used some tests to now validate
__gnu_debug::string on check-debug ?
François
diff --git a/libstdc++-v3/include/debug/string b/libstdc++-v3/include/debug/string
index 4aadf4c..963b
This patch improves the assertion message generated in 2
__gnu_debug::string constructors giving the assertion context thanks to
the __FUNCTION__ macro.
Was:
/home/fdt/dev/gcc/build/x86_64-pc-linux-gnu/libstdc++-v3/include/debug/string:56:
const _CharT* __gnu_debug::__check_string(const _
Hi
Any chance to review this patch ?
François
On 06/06/2018 18:39, François Dumont wrote:
Hi
I review and rework this proposal. I noticed that the same idea to
limit buffer size within inplace_merge also apply to stable_sort.
I also change the decision when buffer is too
Ping.
On 08/06/2018 07:54, François Dumont wrote:
Gentle reminder.
On 27/05/2018 19:25, François Dumont wrote:
Still no chance to review it ?
I'd like this one to go in before submitting other algo related patches.
* include/bits/stl_algo.h
(__rotate(_Ite, _Ite,
Hi
It has already been noticed that there are 2 ebo helpers in the
lib. Here is a patch to use 1.
* include/bits/ebo_helper.h: New.
* include/Makefile.am: Add latter.
* include/Makefile.in: Regenerate.
* include/bits/hashtable_policy.h: Adapt.
* include/bits/shared_ptr
Committed with the advised changes.
Ok, I'll backport next week.
Thanks
On 19/10/2023 10:05, Jonathan Wakely wrote:
On Thursday, 19 October 2023, François Dumont
wrote:
> libstdc++: [_Hashtable] Do not reuse untrusted cached hash code
>
> On merge reuse merged node cached
Hi
Still no one to complete this review ?
Thanks
On 07/10/2023 21:32, François Dumont wrote:
I've been told that previous patch generated with 'git diff -b' was
not applying properly so here is the same patch again with a simple
'git diff'.
On 07/10/2023 14:25, F
libstdc++: [_Hashtable] Use RAII type to manage rehash functor state
Replace usage of __try/__catch with a RAII type to restore rehash
functor
state when needed.
libstdc++-v3/ChangeLog:
* include/bits/hashtable_policy.h (_RehashStateGuard): New.
(_Inser
On 26/10/2023 12:43, Jonathan Wakely wrote:
On 26/10/23 07:18 +0200, François Dumont wrote:
libstdc++: [_Hashtable] Use RAII type to manage rehash functor state
Replace usage of __try/__catch with a RAII type to restore rehash
functor
state when needed.
Generally I really like
This fixes handle_contract_violation under versioned namespace mode.
Tested under Linux x64 and confirmed to also fix Darwin build.
libstdc++: [_GLIBCXX_INLINE_VERSION] Provide handle_contract_violation
symbol
libstdc++-v3/ChangeLog:
* src/experimental/contract.cc
[_GLIBCXX_I
libstdc++: [_GLIBCXX_INLINE_VERSION] Add emul TLS symbols
libstdc++-v3/ChangeLog:
* config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS
symbols.
François
diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespa
On 30/10/2023 14:58, Jonathan Wakely wrote:
On Sun, 29 Oct 2023 at 21:25, François Dumont wrote:
libstdc++: [_GLIBCXX_INLINE_VERSION] Add emul TLS symbols
libstdc++-v3/ChangeLog:
* config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS
symbols.
Please put a comment
On 30/10/2023 14:45, Jonathan Wakely wrote:
On Sun, 29 Oct 2023 at 21:11, François Dumont wrote:
This fixes handle_contract_violation under versioned namespace mode.
Tested under Linux x64 and confirmed to also fix Darwin build.
libstdc++: [_GLIBCXX_INLINE_VERSION] Provide
Noticed looking for other occasion to replace __try/__catch with RAII
helper.
libstdc++: [_Hashtable] Add missing node destructor call
libstdc++-v3/ChangeLog:
* include/bits/hashtable_policy.h
(_Hashtable_alloc<>::_M_allocate_node): Add missing call to
node des
From what I understood from recent fix the unordered containers need to
be updated the same way.
I hope you'll appreciate the usage of rvalue forwarding. Containers node
values are moved as soon as _M_assign is called with a rvalue reference
to the source container.
Additionnaly this patch r
Hi
Here is my attempt to improve == operator.
There is a small optimization for the std::unordered_mutiXXX
containers but the main enhancement rely on some partial template
specialization of the _Equality type. I limit it to usage of unordered
containers with std::equal_to to be sure
On 1/10/20 11:01 PM, Jonathan Wakely wrote:
On 10/01/20 18:54 +0100, François Dumont wrote:
Hi
Here is my attempt to improve == operator.
There is a small optimization for the std::unordered_mutiXXX
containers but the main enhancement rely on some partial template
specialization of
On 1/13/20 10:53 PM, Jonathan Wakely wrote:
On 13/01/20 22:41 +0100, François Dumont wrote:
For the multi-keys we could still avoid redundant comparisons when
_Equal is just doing == on the key type. On unordered_multiset we
could just avoids the call to is_permuation and on the
On 1/15/20 10:52 PM, Jonathan Wakely wrote:
On 15/01/20 21:48 +, Jonathan Wakely wrote:
On 14/01/20 22:25 +0100, François Dumont wrote:
On 1/13/20 10:53 PM, Jonathan Wakely wrote:
On 13/01/20 22:41 +0100, François Dumont wrote:
For the multi-keys we could still avoid redundant
On 1/16/20 5:01 PM, Jonathan Wakely wrote:
On 16/01/20 13:25 +, Jonathan Wakely wrote:
On 16/01/20 07:42 +0100, François Dumont wrote:
On 1/15/20 10:52 PM, Jonathan Wakely wrote:
On 15/01/20 21:48 +, Jonathan Wakely wrote:
On 14/01/20 22:25 +0100, François Dumont wrote:
On 1/13/20
ot;. And this one is abi compatible !
François
On 5/20/19 7:39 AM, François Dumont wrote:
Hi
std::deque is supposed to be like a double-queue that you can attack
from front and back. But currrently its implementation makes it behave
differently when starting from a fresh deque. If push_back
On 1/17/20 11:01 AM, Jonathan Wakely wrote:
On 20/05/19 07:39 +0200, François Dumont wrote:
Hi
std::deque is supposed to be like a double-queue that you can
attack from front and back. But currrently its implementation makes
it behave differently when starting from a fresh deque. If
Hi
Is it me or the patch isn't an attachment ? It is far more
convenient to provide something easy to extract and apply locally.
On 2/4/20 3:07 AM, Patrick Palka wrote:
This patch implements the C++20 ranges overloads for the algorithms in
[algorithms]. Most of the algorithms were reimpl
By making __glibcxx_assert constexpr compatible we can get rid of a
FIXME in basic_string_view and so fix following XPASS in _GLIBCXX_DEBUG
modes.
XPASS: 21_strings/basic_string_view/element_access/char/2.cc execution test
XPASS: 21_strings/basic_string_view/element_access/wchar_t/2.cc
executi
I just notice that in a recent patch I forgot a std:: on a call to forward.
* include/bits/hashtable.h (_Hashtable<>(_Hashtable&&,
std::allocator_type&)):
Add missing std namespace qualification to forward call.
Ok to commit ?
François
diff --git a/libstdc++-v3/include/bits/hashtable.h b
On 2/4/20 3:07 AM, Patrick Palka wrote:
This patch implements the C++20 ranges overloads for the algorithms in
[algorithms]. Most of the algorithms were reimplemented, with each of their
implementations very closely following the existing implementation in
bits/stl_algo.h and bits/stl_algobase.h
counterparts which will then forward to C
functions.
On 2/13/20 8:00 PM, Jonathan Wakely wrote:
On 13/02/20 19:07 +0100, François Dumont wrote:
On 2/4/20 3:07 AM, Patrick Palka wrote:
This patch implements the C++20 ranges overloads for the algorithms in
[algorithms]. Most of the algorithms were
When applying:
2019-11-26 François Dumont
* include/debug/array (array<>::fill): Add C++20 constexpr.
(array<>::swap): Likewise.
I forgot to adapt some line numbers.
Committed as trivial.
François
diff --git a/libstdc++-v3/testsuite/23_containers/array/tup
After completing execution of all tests I had to fix implementation of
__check_singular to get only 1 return statement.
On 12/2/19 8:31 PM, François Dumont wrote:
Hi
Here is a patch to enhance constexpr support in _GLIBCXX_DEBUG. I
work on std::lower_bound/upper_bound to find out if
submit afterward.
Note that this patch is based after this one:
https://gcc.gnu.org/ml/libstdc++/2019-10/msg00072.html
François
On 9/25/19 6:44 AM, François Dumont wrote:
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
Following:
https://gcc.gnu.org/ml/libstdc++/2019-12/msg00028.html
I've done the same kind of work on std::lexicographical_compare algo.
I had to make the internal lexicographical_compare functions return int
rather than bool cause with bool you can't use a chunck based approach
unless you dou
Last patch of my series following this one:
https://gcc.gnu.org/ml/libstdc++/2019-12/msg00028.html
This time I work on std::copy_n/std::copy overloads for
istreambuf_iterator so that it works also for deque iterators and
transparently in _GLIBCXX_DEBUG mode.
* include/bits/stl_algo.h (_
This patch also require an update of the printers.py file.
Here is an updated version.
François
On 11/17/19 9:42 PM, François Dumont wrote:
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
I plan to commit this tomorrow.
Note that rather than just adding the missing
_GLIBCXX_[BEGIN,END]_VERSION_NAMESPACE I also move anonymous namespace
usage outside std namespace. Let me know if it was intentional.
* src/c++11/random.cc: Add _GLIBCXX_BEGIN_NAMESPACE_VERSION and
_GLIBCXX
On 12/11/19 12:16 PM, Jonathan Wakely wrote:
On 11/12/19 08:29 +0100, François Dumont wrote:
I plan to commit this tomorrow.
Note that rather than just adding the missing
_GLIBCXX_[BEGIN,END]_VERSION_NAMESPACE I also move anonymous
namespace usage outside std namespace. Let me know if it was
On 12/11/19 12:22 PM, Jonathan Wakely wrote:
On 11/12/19 11:16 +, Jonathan Wakely wrote:
On 11/12/19 08:29 +0100, François Dumont wrote:
I plan to commit this tomorrow.
Note that rather than just adding the missing
_GLIBCXX_[BEGIN,END]_VERSION_NAMESPACE I also move anonymous
namespace
On 12/11/19 9:44 PM, Jonathan Wakely wrote:
On 11/12/19 21:23 +0100, François Dumont wrote:
On 12/11/19 12:16 PM, Jonathan Wakely wrote:
On 11/12/19 08:29 +0100, François Dumont wrote:
I plan to commit this tomorrow.
Note that rather than just adding the missing
_GLIBCXX_[BEGIN,END
Here is a patch to fix prettyprinters.exp failures in normal and debug
modes.
In 80276.cc I replicate the #define with comment from other tests even
if it isn't true that cxx11 abi string isn't supported. It's just that
it doesn't appear as 'std::string', the aliasing doesn't work.
I still h
rt _M_offset.
(StdVectorPrinter.to_string): Likewise.
* testsuite/23_containers/vector/bool/allocator/swap.cc: Adapt.
* testsuite/23_containers/vector/bool/cons/noexcept_move_construct.cc:
Add check.
François
On 6/24/19 9:31 PM, François Dumont wrote:
Hi
Any feedback reg
15 PM, François Dumont wrote:
This patch also require an update of the printers.py file.
Here is an updated version.
François
On 11/17/19 9:42 PM, François Dumont wrote:
This is the begining of a patch series for _Hashtable
Initial patch to clarify code. I was tired to see true/false or
true
Because of this change printers.py has to be updated too.
François
On 11/17/19 10:15 PM, François Dumont wrote:
H1 used to be a reference to the user Hash, now _Hashtable and
unordered types agree on the same Hash type which is more intuitive.
I also chose to not support anymore a stateful
Comitted as trivial.
After this I only have 1 failure left specific to versioned namespace in
pretty printers tests.
* testsuite/23_containers/map/48101_neg.cc: Add versioned namespace
pattern to tested error message.
* testsuite/23_containers/multimap/48101_neg.cc: Likewise.
*
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 libstdc++/91620
* include/bits/forward_list.tcc (forward_list<>::remove): Collect nodes
to destroy in an intermediate forwa
This is the patch to extend PR 92124 to the associative containers.
As it is pretty simple I thought it could maybe go in now.
I also think that the existing 92124 tests are not really testing what
they should with the move assignment operators noexcept qualified, no ?
PR libstdc++/92124
On 1/6/20 4:17 PM, Jonathan Wakely wrote:
On 07/11/19 20:28 +0100, François Dumont wrote:
From what I understood from recent fix the unordered containers need
to be updated the same way.
I hope you'll appreciate the usage of rvalue forwarding. Containers
Yes, I think it makes sense.
Hi
This is what I started to do.
For now I haven't touch to __cpp_lib_null_iterators definition as
_Safe_local_iterator still need some work.
libstdc++: Implement N3644 on _Safe_iterator<> [PR114316]
Consider range of value-initialized iterators as valid and empty.
libstdc++-v3/ChangeLog:
With the patch, sorry.
On 14/03/2024 22:49, François Dumont wrote:
Hi
This is what I started to do.
For now I haven't touch to __cpp_lib_null_iterators definition as
_Safe_local_iterator still need some work.
libstdc++: Implement N3644 on _Safe_iterator<> [PR114316]
Consid
OK for trunk, thanks!
I think this is OK to backport to 13 too.
Maybe after this we can define the __cpp_lib_null_itetators macro for
debug mode?
After this fix of local_iterator I think we can indeed.
In fact the added 11316.cc was already passing for
unordered_set<>::local_iterator bu
/n3644.cc: New test case.
Ok to commit ?
François
On 17/03/2024 17:52, François Dumont wrote:
OK for trunk, thanks!
I think this is OK to backport to 13 too.
Maybe after this we can define the __cpp_lib_null_itetators macro for
debug mode?
After this fix of local_iterator I think
_containers/vector/debug/n3644.cc: New test case.
Ok to commit ?
OK, thanks.
François
On 17/03/2024 17:52, François Dumont wrote:
OK for trunk, thanks!
I think this is OK to backport to 13 too.
Maybe after this we can define the __cpp_lib_null_itetators macro for
debug mode?
After
wrote:
On Mon, 18 Mar 2024 at 21:38, François Dumont wrote:
Both committed now.
Just to confirm, those 2 last patches should be backported to gcc-13
branch, right ?
Yes please.
I might have a try to update version.h but if you want to do it before
don't hesitate.
You'll need to hav
:
* include/std/iterator (__cpp_lib_null_iterators): Define
regardless of
_GLIBCXX_DEBUG.
* include/std/version (__cpp_lib_null_iterators): Likewise.
François
On 20/03/2024 10:02, Jonathan Wakely wrote:
On Wed, 20 Mar 2024 at 05:59, François Dumont wrote:
Thanks to you
libstdc++: [_GLIBCXX_DEBUG] Fix std::__niter_base behavior
std::__niter_base is used in _GLIBCXX_DEBUG mode to remove _Safe_iterator<>
wrapper on random access iterators. But doing so it should also preserve
original
behavior to remove __normal_iterator wrapper.
libstdc++-v3/ChangeLog:
*
On 14/02/2024 20:44, Jonathan Wakely wrote:
On Wed, 14 Feb 2024 at 18:39, François Dumont
wrote:
libstdc++: [_GLIBCXX_DEBUG] Fix std::__niter_base behavior
std::__niter_base is used in _GLIBCXX_DEBUG mode to remove
_Safe_iterator<>
wrapper on random access iterator
On 15/02/2024 14:17, Jonathan Wakely wrote:
On Wed, 14 Feb 2024 at 21:48, François Dumont
wrote:
On 14/02/2024 20:44, Jonathan Wakely wrote:
On Wed, 14 Feb 2024 at 18:39, François Dumont
wrote:
libstdc++: [_GLIBCXX_DEBUG] Fix std::__niter_base behavior
Thanks for the link, tested and committed.
On 15/02/2024 19:40, Jonathan Wakely wrote:
On Thu, 15 Feb 2024 at 18:38, François Dumont
wrote:
On 15/02/2024 14:17, Jonathan Wakely wrote:
On Wed, 14 Feb 2024 at 21:48, François Dumont
wrote:
On 14/02/2024 20:44
rt instead.
François
On 19/02/2024 09:21, Jonathan Wakely wrote:
On Mon, 19 Feb 2024, 08:12 Jonathan Wakely, wrote:
On Mon, 19 Feb 2024, 07:08 Stephan Bergmann,
wrote:
On 2/17/24 15:14, François Dumont wrote:
> Thanks for the link, tested and committed.
wrote:
On Mon, 19 Feb 2024, 08:12 Jonathan Wakely, wrote:
On Mon, 19 Feb 2024, 07:08 Stephan Bergmann,
wrote:
On 2/17/24 15:14, François Dumont wrote:
> Thanks for the link, tested and committed.
I assume this is the cause for the below failure now,
For those using my patch to build in gnu-versioned-namespace mode it
would be preferable not to have any failures when running testsuite.
libstdc++: [_GLIBCXX_INLINE_VERSION] Adapt dg-error message
libstdc++-v3/ChangeLog:
* testsuite/20_util/function_objects/bind_back/11132
wrote:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112477
François Dumont changed:
What|Removed |Added
Assignee|unassigned at gcc dot gnu.org |fdumont at gcc dot
Hi
Looks like a great finding to me, this is indeed a useless check, thanks!
Have you any figures on the performance enhancement ? It might help to
get proper approval as gcc is currently in dev stage 4 that is to say
only bug fixes normally.
François
On 17/01/2024 09:11, Huanghui Nie wrote
1月18日(木) 4:04 François Dumont :
Hi
Looks like a great finding to me, this is indeed a useless check,
thanks!
Have you any figures on the performance enhancement ? It might
help to get proper approval as gcc is currently in dev stage 4
that is to say only bug fixe
/01/2024 11:10, Jonathan Wakely wrote:
On Mon, 29 Jan 2024 at 06:13, François Dumont wrote:
Hi
I'm trying to use _GLIBCXX_DEBUG_BACKTRACE to debug some crash in debug
mode.
So I buit library with --enable-libstdcxx-backtrace=yes
But when I build any test I have:
/usr/bin/ld: /tmp/cctvP
++/90276] PSTL tests fail in Debug Mode
Date: Wed, 31 Jan 2024 19:09:02 +0100
From: François Dumont
To: redi at gcc dot gnu.org ,
fdum...@gcc.gnu.org
Here is the reason of the
20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc FAIL.
Maybe it fixes some other tests too, I need
Here is a new version of this patch.
The previous one had some flaws that were unnoticed by testsuite tests,
only the performance tests were spotting it. So I'm adding checks on the
consistency of the unordered containers in this patch.
I also forget to signal that after this patch gnu versio
t now as I still hope that the patch to
move to cxx11 abi in gnu versioned namespace will be integrated so with
its implied version bump.
On Wed, 20 Dec 2023 at 06:10, François Dumont wrote:
Here is a new version of this patch.
The previous one had some flaws that were unnoticed by test
On 21/12/2023 23:07, Jonathan Wakely wrote:
On Thu, 23 Nov 2023 at 21:59, François Dumont wrote:
libstdc++: [_Hashtable] Fix some implementation inconsistencies
Get rid of the different usages of the mutable keyword. For
_Prime_rehash_policy methods are exported from the
.
Ok to commit ?
François
On 21/12/2023 23:17, Jonathan Wakely wrote:
On Thu, 23 Nov 2023 at 21:59, François Dumont wrote:
libstdc++: [_Hashtable] Avoid redundant usage of rehash policy
Bypass call to __detail::__distance_fwd and the check if rehash is
needed when
assigning a
Hi
While working on the patch to use the cxx11 abi in gnu version namespace
mode I got a small problem with this missing constructor. I'm not sure
that the main patch will be integrated in gcc 14 so I think it is better
if I propose this patch independently.
libstdc++: Add __cow_string c
On 07/01/2024 17:34, Jonathan Wakely wrote:
On Sun, 7 Jan 2024 at 12:57, François Dumont wrote:
Hi
While working on the patch to use the cxx11 abi in gnu version namespace
mode I got a small problem with this missing constructor. I'm not sure
that the main patch will be integrated in g
On 07/01/2024 21:53, Jonathan Wakely wrote:
On Sun, 7 Jan 2024 at 18:50, François Dumont wrote:
On 07/01/2024 17:34, Jonathan Wakely wrote:
On Sun, 7 Jan 2024 at 12:57, François Dumont wrote:
Hi
While working on the patch to use the cxx11 abi in gnu version namespace
mode I got a small
I think I still got no feedback about this cleanup proposal.
Here is a new version.
François
On 15/06/2023 07:07, François Dumont wrote:
I think we all agree that __gnu_cxx::__ops needed to be reimplemented,
here it is.
Note that I kept the usage of std::ref in , and .
libstdc
On 07/12/2023 14:41, Jonathan Wakely wrote:
On Wed, 6 Dec 2023 at 20:55, François Dumont wrote:
I think I still got no feedback about this cleanup proposal.
Can you remind me why we have all those different functions in
predefined_ops.h in the first place? I think it was to avoid having
two
On 07/11/2023 00:28, Jonathan Wakely wrote:
On Mon, 6 Nov 2023 at 21:39, François Dumont wrote:
Noticed looking for other occasion to replace __try/__catch with RAII
helper.
libstdc++: [_Hashtable] Add missing node destructor call
libstdc++-v3/ChangeLog
Another proposal to use RAII rather than __try/__catch block.
libstdc++: [_Hashtable] Use RAII type to guard node while constructing value
libstdc++-v3/ChangeLog:
* include/bits/hashtable_policy.h
(struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New.
(_ReuseAllocNode::
Following several remarks on a previous patch of _Hashtable I considered
clarifying its implementation.
libstdc++: [_Hashtable] Fix some implementation inconsistencies
Get rid of the different usages of the mutable keyword. For
_Prime_rehash_policy methods are exported from the libr
This is a series of patch to enhance _Hashtable insertion operations
that I'd like to see in gcc 14. I've already submitted something similar
a couple of months ago but it is quite a revisited version.
1/5 Is adding benches to show the impact of the different optimizations
2/5 Implementation i
libstdc++: [_Hashtable] Enhance/Add performance benches
diff --git a/libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc
b/libstdc++-v3/testsuite/performance/23_containers/insert/54075.cc
index f8fcce31609..f2d975ecdaf 100644
--- a/libstdc++-v3/testsuite/performance/23_containers/in
libstdc++: [_Hashtable] Fix some implementation inconsistencies
Get rid of the different usages of the mutable keyword. For
_Prime_rehash_policy methods are exported from the library, we need to
keep their const qualifier, so adapt implementation to update
previously
mutable
libstdc++: [_Hashtable] Avoid redundant usage of rehash policy
Bypass call to __detail::__distance_fwd and the check if rehash is
needed when
assigning an initializer_list to an unordered_multimap or
unordered_multiset.
libstdc++-v3/ChangeLog:
* include/bits/hasht
libstdc++: [_Hashtable] Prefer to insert after last node
When inserting an element into an empty bucket we currently insert
the new node
after the before-begin node so in first position. The drawback of
doing this is
that we are forced to update the bucket that was containing th
libstdc++: [_Hashtable] Extend the small size optimization
A number of methods were still not using the small size
optimization which
is to prefer an O(N) research to a hash computation as long as N is
small.
libstdc++-v3/ChangeLog:
* include/bits/hashtable.h: Mov
libstdc++: Remove std::constract_violation from versioned namespace
GCC expects this type to be in std namespace directly.
libstdc++-v3/ChangeLog:
* include/experimental/contract:
Remove _GLIBCXX_BEGIN_NAMESPACE_VERSION/_GLIBCXX_END_NAMESPACE_VERSION.
It does fix 29 g++.dg/contracts in
x27;m testing eventually, ok to commit if successful ?
François
On 20/09/2023 11:32, Jonathan Wakely wrote:
On Wed, 20 Sept 2023 at 05:51, François Dumont via Libstdc++
wrote:
libstdc++: Remove std::constract_violation from versioned namespace
Spelling mistake in contract_violation, and it'
Tests were successful, ok to commit ?
On 20/09/2023 19:51, François Dumont wrote:
libstdc++: [_GLIBCXX_INLINE_VERSION] Add handle_contract_violation
symbol alias
libstdc++-v3/ChangeLog:
* src/experimental/contract.cc
[_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide
I'm eventually fixing those tests the same way we manage this problem in
libstdc++ testsuite.
testsuite: Add optional libstdc++ version namespace in expected
diagnostic
When libstdc++ is build with
--enable-symvers=gnu-versioned-namespace diagnostics are
showing this namespace, c
1 - 100 of 1064 matches
Mail list logo