[PATCH] Restore enable_if lost during original import of pstl

2019-11-18 Thread Thomas Rodgers
* include/pstl/glue_numeric_defs.h: Restore enable_if lost during original import of pstl. * include/pstl/glue_numeric_impl.h: Likewise. --- libstdc++-v3/include/pstl/glue_numeric_defs.h | 2 +- libstdc++-v3/include/pstl/glue_numeric_impl.h | 2 +- 2 files changed, 2 ins

Re: [PATCH] Implement LWG 3062, Unnecessary decay_t in is_execution_policy_v

2019-05-21 Thread Thomas Rodgers
The revised attached patch has been ested x86_64-linux, committed to trunk. >From 5f8aeeb98477d6555d65a45d1d2aed84b26863c9 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Tue, 21 May 2019 12:02:35 -0700 Subject: [PATCH] LWG 3062 - Unnecessary decay_t in is_execution_policy_v * incl

[PATCH] [Patch] Rename PSTL macro's consistent with libstdc++ standards.

2019-05-22 Thread Thomas Rodgers
0001-Patch-Rename-PSTL-macro-s-consistent-with-libstdc-st.patch.bz2 Description: Compressed patch * include/bits/c++config: Rename all macros of the form __PSTL* to _PSTL*. * include/std/algorithm: Likewise. * include/std/execution: Likewise. * include/std/numeri

Re: RFC: [PATCH] Remove using-declarations that add std names to __gnu_cxx

2019-05-29 Thread Thomas Rodgers
Concur Ville Voutilainen writes: > On Wed, 29 May 2019 at 23:00, Jonathan Wakely wrote: >> Does anybody think we should keep __gnu_cxx::size_t, >> __gnu_cxx::input_iterator_tag, __gnu_cxx::vector, __gnu_cxx::pair etc. >> or should I go ahead and commit this? > > +1 go ahead.

[PATCH] Rename header guards to be consistent with upstream project's conventions.

2019-05-29 Thread Thomas Rodgers
/pstl_test_config.h: Likewise. >From bb1e91fadde1ef813959bfb1d44a98531c256f8c Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Thu, 23 May 2019 16:49:49 -0700 Subject: [PATCH] Rename PSTL header guards Rename header guards to be consistent with upstream project's conventions. * incl

[PATCH] Synchronize libstdc++ parallel algorithms with upstream project

2019-05-29 Thread Thomas Rodgers
* include/pstl/algorithm_fwd.h: Synchronize with upstream PSTL project. * include/pstl/algorithm_impl.h: Likewise. * include/pstl/execution_defs.h: Likewise. * include/pstl/execution_impl.h: Likewise. * include/pstl/glue_algorithm_impl.h: Likewise.

[PATCH] Clean up non-conforming names

2019-05-31 Thread Thomas Rodgers
* include/pstl/algorithm_impl.h (__parallel_set_union_op): Uglfiy copy_range1 and copy_range2 * include/pstl/parallel_backend_tbb.h (struct __binary_no_op): Rename parameter _T to _Tp. --- libstdc++-v3/include/pstl/algorithm_impl.h | 16 lib

Re: [PATCH] Clean up non-conforming names

2019-05-31 Thread Thomas Rodgers
Revising previous version of this patch to pick another missed uglification. >From 543d6be586ad8c29ef0ceefd55a249c715bd2480 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Fri, 31 May 2019 13:28:32 -0700 Subject: [PATCH] Clean up non-conforming names * include/pstl/algorithm_imp

Re: [PATCH] Clean up non-conforming names

2019-06-02 Thread Thomas Rodgers
Jonathan Wakely writes: > On 31/05/19 17:15 -0700, Thomas Rodgers wrote: >> >>Revising previous version of this patch to pick another missed >>uglification. > > OK for trunk, thanks. > > I also see this one: > > include/pstl/parallel_backend_tbb.h:__

[PATCH] Integrate non-TBB serial backend support

2019-06-04 Thread Thomas Rodgers
* include/bits/c++config: Adjust TBB detection logic to select serial PSTL backend if no TBB present. * testsuite/utils/pstl/test_utils.h: Remove check for __PSTL_USE_PAR_POLICIES --- libstdc++-v3/include/bits/c++config | 8 ++-- libstdc++-v3/testsuite/ut

Re: [PATCH] Integrate non-TBB serial backend support

2019-06-11 Thread Thomas Rodgers
Tested x86_64-linux, committed to trunk. Thomas Rodgers writes: > * include/bits/c++config: Adjust TBB detection logic to select serial > PSTL backend if no TBB present. > * testsuite/utils/pstl/test_utils.h: Remove check for > __PSTL_USE_PAR_POLICIES >

Re: [PATCH] Clean up non-conforming names

2019-06-11 Thread Thomas Rodgers
Tested x86_64-linux, committed to trunk. Thomas Rodgers writes: > Jonathan Wakely writes: > >> On 31/05/19 17:15 -0700, Thomas Rodgers wrote: >>> >>>Revising previous version of this patch to pick another missed >>>uglification. >> >&

Re: [PATCH] Rename header guards to be consistent with upstream project's conventions.

2019-06-11 Thread Thomas Rodgers
Tested x86_64-linux, committed to trunk. Jonathan Wakely writes: > On 29/05/19 15:30 -0700, Thomas Rodgers wrote: >> >> * include/pstl/glue_memory_impl.h: Rename all macros of the form >> _PSTL_(.*)_H to _PSTL_\U\1_H. >> * include/pstl/numeric_impl.h:

Re: [PATCH] Synchronize libstdc++ parallel algorithms with upstream project

2019-06-11 Thread Thomas Rodgers
Tested x86_64-linux, committed to trunk. Jonathan Wakely writes: > On 29/05/19 23:53 +0100, Jonathan Wakely wrote: >>On 29/05/19 15:32 -0700, Thomas Rodgers wrote: >>> * include/pstl/algorithm_fwd.h: Synchronize with >>> upstream PSTL project. >>>

[PATCH] Integration of parallel standard algorithms for c++17

2018-11-10 Thread Thomas Rodgers
pstl-integration.patch.bz2 Description: compressed patch

Re: [PATCH] Integration of parallel standard algorithms for c++17

2018-11-10 Thread Thomas Rodgers
This patch has been held up by licensing issues, specifically, awaiting upstream's plans to relicense the code from Apache 2.0 to the libc++ license - https://llvm.org/docs/DeveloperPolicy.html#license We expect the relicensing to conclude within the next few weeks. At that time I will be resub

Re: [PATCH] Enable use of #pragma omp simd reduction(inscan,...) even for GCC10+ in PSTL

2019-06-24 Thread Thomas Rodgers
Ok for trunk. > Can you push it into upstream PSTL? Yes. Thanks, Tom. Jakub Jelinek writes: > Hi! > > Now that GCC supports inclusive/exclusive scans (like ICC 19.0 so far in > simd constructs only), we can enable it in PSTL as well. > > Bootstrapped/regtested on x86_64-linux and i686-linux,

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-11 Thread Thomas Rodgers
Let's try this patch - 20190311-pstl-integration.patch.bz2 Description: pstl-integration-patch Jonathan Wakely writes: > On 31/01/19 21:08 -0800, Thomas Rodgers wrote: >>Update C++17 parallel algorithms to LLVM/MIT licensed upstream sources > > Some lines in bits/c++confi

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-20 Thread Thomas Rodgers
Jonathan Wakely writes: > On 11/03/19 21:24 -0700, Thomas Rodgers wrote: >>Let's try this patch - >> > > > The feature test macro should be 201603L (in and > ): > > +// Feature test macro for parallel algorithms > +# define __cpp_lib_parallel_algorit

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-20 Thread Thomas Rodgers
Ignore Thomas Rodgers writes: > Jonathan Wakely writes: > >> On 11/03/19 21:24 -0700, Thomas Rodgers wrote: >>>Let's try this patch - >>> >> >> >> The feature test macro should be 201603L (in and >> ): >&g

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-20 Thread Thomas Rodgers
See attached. 20190320-pstl-integration.patch.bz2 Description: revised pstl integration patch Jonathan Wakely writes: > On 11/03/19 21:24 -0700, Thomas Rodgers wrote: >>Let's try this patch - >> > > > The feature test macro should be 201603L (in and > )

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-20 Thread Thomas Rodgers
20190320-1-pstl-integration.patch.bz2 Description: Revised pstl integration patch This time with the changelog reflecting the updated files in include/std Thomas Rodgers writes: > See attached. > > Jonathan Wakely writes: > >> On 11/03/19 21:24 -0700, Thomas Rodgers wrote:

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-20 Thread Thomas Rodgers
20190320-2-pstl-integration.patch.bz2 Description: Revised pstl integration patch Fixed a failing test. Thomas Rodgers writes: > This time with the changelog reflecting the updated files in include/std > > Thomas Rodgers writes: > >> See attached. >> >> Jonathan

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-21 Thread Thomas Rodgers
20190321-pstl-integration.patch.bz2 Description: pstl integration patch Jonathan Wakely writes: > On 20/03/19 14:05 -0700, Thomas Rodgers wrote: > >> >>Fixed a failing test. > > Thanks. Apart from the changelog issue I mentioned on IRC, the only > other required

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-21 Thread Thomas Rodgers
Fixed up change log. 20190321-1-pstl-integration.patch.bz2 Description: pstl integration patch Thomas Rodgers writes: > Jonathan Wakely writes: > >> On 20/03/19 14:05 -0700, Thomas Rodgers wrote: >> >>> >>>Fixed a failing test. >> >> Thanks. A

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-03-27 Thread Thomas Rodgers
Jonathan Wakely writes: > On 27/03/19 15:51 +0100, Thomas Schwinge wrote: >>Hi! >> >>If that's of any help to document the version dependencies: > > Thanks for t his. > >>On Fri, 22 Mar 2019 00:04:30 +, Jonathan Wakely >>wrote: >>> I keep forgetting to add that docs for this stuff will be

[PATCH] Add PSTL internal namespace qualifications

2019-03-29 Thread Thomas Rodgers
This patch adds additional internal namespace qualifications to the pstl implementation. >From 35dba02035ebb5fd44ac0f06e25a81dfef05898f Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Thu, 28 Mar 2019 17:23:49 -0700 Subject: [PATCH] Add namespace qualification for pstl-internal symb

Re: [PATCH] Add PSTL internal namespace qualifications

2019-04-01 Thread Thomas Rodgers
Jonathan Wakely writes: > On 29/03/19 12:12 -0700, Thomas Rodgers wrote: >>Prevent ADL related weirdness. >> >> * include/pstl/algorithm_impl.h: Add namespace qualification. >> * include/pstl/execution_defs.h: Add namespace qualification. >> * i

Re: [PATCH] Add PSTL internal namespace qualifications

2019-04-01 Thread Thomas Rodgers
SERT() and makes everything consistent, with __PSTL_ASSERT expanding to __glibcxx_assert in libstdc++. Tom. Thomas Rodgers writes: > Jonathan Wakely writes: > >> On 29/03/19 12:12 -0700, Thomas Rodgers wrote: >>>Prevent ADL related weirdness. >>> >>> * include

Re: [PATCH] Add PSTL internal namespace qualifications

2019-04-05 Thread Thomas Rodgers
>From d95934a0f325e0934ada829378c3c0dfd6b3628c Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Fri, 5 Apr 2019 15:27:35 -0700 Subject: [PATCH] Replace direct PSTL uses of assert() with a macro This also replaces calls to __TBB_ASSERT so that there are two macro definitions provided b

Re: [PATCH] Add PSTL internal namespace qualifications

2019-04-09 Thread Thomas Rodgers
Committed to trunk. Thomas Rodgers writes: > This patch adds additional internal namespace qualifications to the pstl > implementation. > > From 35dba02035ebb5fd44ac0f06e25a81dfef05898f Mon Sep 17 00:00:00 2001 > From: Thomas Rodgers > Date: Thu, 28 Mar 2019 17:23:49 -0700

[PATCH] Replace direct PSTL uses of assert() with a macro

2019-04-09 Thread Thomas Rodgers
(). * include/pstl/parallel_backend_utils.h: Replace use of assert(). >From d95934a0f325e0934ada829378c3c0dfd6b3628c Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Fri, 5 Apr 2019 15:27:35 -0700 Subject: [PATCH] Replace direct PSTL uses of assert() with a macro This also repla

Re: [PATCH] Replace direct PSTL uses of assert() with a macro

2019-04-10 Thread Thomas Rodgers
Ok, lets try this again. > On 09/04/19 15:23 -0700, Thomas Rodgers wrote: >>This also replaces calls to __TBB_ASSERT so that there are two macro >>definitions provided by c++config - >> __PSTL_ASSERT(_Condition) >> __PSTL_ASSERT_MSG(_Condition, _Messag

Re: [PATCH] Replace direct PSTL uses of assert() with a macro

2019-04-11 Thread Thomas Rodgers
removed (patch version applied attached). Tested x86_64-linux, committed to trunk. Jonathan Wakely writes: > On 10/04/19 23:59 +0100, Jonathan Wakely wrote: >>On 10/04/19 15:57 -0700, Thomas Rodgers wrote: >>>Ok, lets try this again. >>> >>>>On 09/

[PATCH] Uglify identifiers missed in previous commit(s)

2019-04-11 Thread Thomas Rodgers
* include/pstl/algorithm_impl.h: Uglify identfiers. * include/pstl/numeric_impl.h: Uglify identfiers. * include/pstl/parallel_backend_tbb.h: Uglify identfiers. >From b75813e885c50e667a1474c1d0e1fc47ee893d6e Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Thu,

Re: [PATCH] Uglify identifiers missed in previous commit(s)

2019-04-12 Thread Thomas Rodgers
Tested x86_64-linux, committed to trunk. Jonathan Wakely writes: > On 11/04/19 21:15 -0700, Thomas Rodgers wrote: >> >> * include/pstl/algorithm_impl.h: Uglify identfiers. >> * include/pstl/numeric_impl.h: Uglify identfiers. >> * include/pstl/par

[PATCH] Improve implementation of parallel equal()

2019-04-16 Thread Thomas Rodgers
(std::equal): dispatch to "4 iterator" version of __internal::__pattern_equal(). >From 7a927774dfac3fef6d736cf29671c7d7df38aaed Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Tue, 16 Apr 2019 12:26:52 -0700 Subject: [PATCH] Improve implementation of parallel equal()

[PATCH] Delegate PSTL configuration to pstl/pstl_config.h

2019-04-18 Thread Thomas Rodgers
* include/bits/c++config: Remove explicit PSTL configuration macros and use definitions from . >From 198662c6e2ee6b1a6b363c2a515c05ef1ca949bd Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Thu, 18 Apr 2019 16:55:40 -0700 Subject: [PATCH] Delegate PSTL configuration

[PATCH] Cleanup algorithm implementations

2019-04-19 Thread Thomas Rodgers
rom ce0ae4e065692da6d0dcdb0f7ba5d2f3db4d3ec7 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Fri, 19 Apr 2019 11:16:44 -0700 Subject: [PATCH] Cleanup algorithm implementations * include/pstl/glue_algorithm_impl.h (stable_sort): Forward execution policy. (mismatch): Forward execution pol

Re: [PATCH] Improve implementation of parallel equal()

2019-04-20 Thread Thomas Rodgers
Jonathan Wakely writes: > On 16/04/19 12:39 -0700, Thomas Rodgers wrote: >> >> * include/pstl/algorithm_impl.h >> (__internal::__brick_equal): use "4 iterator" version of >> std::equal(). >> (__internal::__brick_equal): use

Re: [PATCH] Cleanup algorithm implementations

2019-04-20 Thread Thomas Rodgers
Jonathan Wakely writes: > On 19/04/19 11:59 -0700, Thomas Rodgers wrote: >> * include/pstl/glue_algorithm_impl.h (stable_sort): Forward >>execution policy. >> (mismatch): Forward execution policy. >> (equal): Qualify call to std::equal(). >

Re: [PATCH] Delegate PSTL configuration to pstl/pstl_config.h

2019-04-20 Thread Thomas Rodgers
Jonathan Wakely writes: > On 18/04/19 17:02 -0700, Thomas Rodgers wrote: >> >> * include/bits/c++config: Remove explicit PSTL configuration >> macros and use definitions from . > > OK for trunk, thanks. Tested x86_64-linux-gnu, committed to trunk.

[PATCH] Document PSTL linker flags

2019-04-23 Thread Thomas Rodgers
* doc/xml/manual/using.xml: Add PSTL linker flags to table 3.1. >From eabe72642bf51b813f454c54ae3cc4e873cf34be Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Tue, 23 Apr 2019 09:50:13 -0700 Subject: [PATCH] Document PSTL linker flags * doc/xml/manual/using.xml: Add PSTL lin

Re: [PATCH] Document PSTL linker flags

2019-04-23 Thread Thomas Rodgers
Jonathan Wakely writes: > On 23/04/19 09:54 -0700, Thomas Rodgers wrote: >> >> * doc/xml/manual/using.xml: Add PSTL linker flags to table 3.1. > > OK - thanks. Committed to trunk

[PATCH] Check TBB version in tbb-backed effective target check

2019-04-24 Thread Thomas Rodgers
* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend): Add check for Thread Building Blocks 2018 or later. >From bd3de7b67f184ed1387b63dc3bda1d12f7ebee04 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Wed, 24 Apr 2019 11:34:14 -0700 Subject: [PATCH] Check

[PATCH] Uglify names in pstl/execution_defs.h

2019-04-24 Thread Thomas Rodgers
Missed in prior uglification passes. * include/pstl/execution_defs.h: Uglfiy inline namespace. Uglify ExecPolicy and T template parameters. >From 07d15a71f60d9dec58882f9cfbf80e4b1ed043f3 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Wed, 24 Apr 2019 14

[PATCH] Implement LWG 3062, Unnecessary decay_t in is_execution_policy_v

2019-04-24 Thread Thomas Rodgers
should be remove_cvref_t * include/pstl/execution_defs.h (__enable_if_execution_policy): Use std::__remove_cv_ref_t when building with GCC >From cb7bd9a39acacbf81df0d03da8714fa463057cc5 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Wed, 24 Apr 2019 15:53:45 -0

Re: [PATCH] Implement LWG 3062, Unnecessary decay_t in is_execution_policy_v

2019-04-25 Thread Thomas Rodgers
Revised patch. >From 074685cf74b48604244c0c6f1d8cba63ff8915e5 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Wed, 24 Apr 2019 15:53:45 -0700 Subject: [PATCH] Implement LWG 3062, Unnecessary decay_t in is_execution_policy_v should be remove_cvref_t * include/pstl/execution_def

[PATCH] tbb-backend effective target should check ability to link TBB

2019-04-25 Thread Thomas Rodgers
PR libstdc++/90252 * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend): Changed v3_target_compile check from preprocess to executable. --- libstdc++-v3/testsuite/lib/libstdc++.exp | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/

[PATCH] Add myself to MAINTAINERS

2019-05-17 Thread Thomas Rodgers
diff --git a/ChangeLog b/ChangeLog index 8a6638497b8..4c8e3c91d55 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2019-05-17 Thomas Rodgers + + * MAINTAINERS (Write After Approval): Add myself. + 2019-05-16 Jun Ma * MAINTAINERS (Write After Approval): Add myself. diff --git a

Re: [PATCH] tbb-backend effective target should check ability to link TBB

2019-05-17 Thread Thomas Rodgers
I have it fixed locally, but yeah I have not yet committed it. Jonathan Wakely writes: > On 25/04/19 15:58 -0700, Thomas Rodgers wrote: >> >> PR libstdc++/90252 >> * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend): >> Changed v

Re: [PATCH] Check TBB version in tbb-backed effective target check

2019-05-20 Thread Thomas Rodgers
Tested x86_64-linux, committed to trunk. Thomas Rodgers writes: > * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend): > Add check for Thread Building Blocks 2018 or later. > > From bd3de7b67f184ed1387b63dc3bda1d12f7ebee04 Mon Sep 17 00:00:00 2001 &g

Re: [PATCH] tbb-backend effective target should check ability to link TBB

2019-05-20 Thread Thomas Rodgers
With the addition of "-ltbb" to the v3_target_compile flags (so as to, you know, actually try to link tbb). Tested x86_64-linux, committed to trunk. Thomas Rodgers writes: > PR libstdc++/90252 > * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-01-31 Thread Thomas Rodgers
Update C++17 parallel algorithms to LLVM/MIT licensed upstream sources * include/Makefile.am:update from upstream remove ${pstl_srcdir}/iterators.h add ${pstl_srcdir}/memory_impl.h * include/bits/c++config:update from upstream * include/pst

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-02-04 Thread Thomas Rodgers
I will take another stab at un-nit-ing the changlog. Jakub Jelinek writes: > On Thu, Jan 31, 2019 at 09:08:52PM -0800, Thomas Rodgers wrote: >> Update C++17 parallel algorithms to LLVM/MIT licensed upstream sources > > Just ChangeLog formatting nits below: >> >> *

Re: [PATCH] Integration of parallel standard algorithms for c++17

2019-02-07 Thread Thomas Rodgers
27;ll add them to the list for the next go. Jonathan Wakely writes: > On 31/01/19 21:08 -0800, Thomas Rodgers wrote: >>Update C++17 parallel algorithms to LLVM/MIT licensed upstream sources > > Some lines in bits/c++config.h need to be split before 80 columns > (with a backs

libstdc++: Minor codegen improvement for atomic wait spinloop

2022-07-05 Thread Thomas Rodgers via Gcc-patches
This patch merges the spin loops in the atomic wait implementation which is a minor codegen improvement. libstdc++-v3/ChangeLog: * include/bits/atomic_wait.h (__atomic_spin): Merge spin loops. 0001-libstdc-Minor-codegen-improvement-for-atomic-wait-sp.patch Description: Binary data

Re: libstdc++: Minor codegen improvement for atomic wait spinloop

2022-07-06 Thread Thomas Rodgers via Gcc-patches
Ok for trunk? backport? On Wed, Jul 6, 2022 at 1:56 PM Jonathan Wakely wrote: > On Wed, 6 Jul 2022 at 02:05, Thomas Rodgers via Libstdc++ > wrote: > > > > This patch merges the spin loops in the atomic wait implementation which > is > > a > > minor codegen

Re: libstdc++: Minor codegen improvement for atomic wait spinloop

2022-07-26 Thread Thomas Rodgers via Gcc-patches
This is now committed to trunk, backported to releases/gcc-12 and releases/gcc-11. Apologies for the delay, it's been a wild couple of weeks. Tom. On Thu, Jul 7, 2022 at 2:31 AM Jonathan Wakely wrote: > On Wed, 6 Jul 2022 at 22:42, Thomas Rodgers wrote: > > > > Ok

Re: [PATCH] libstdc++: Synchronize PSTL with upstream

2023-06-26 Thread Thomas Rodgers via Gcc-patches
On Wed, May 17, 2023 at 12:32 PM Jonathan Wakely wrote: > -template > - _OutputIterator > -__brick_generate_n(_OutputIterator __first, _Size __count, _Generator > __g, /* is_vector = */ std::true_type) noexcept > +template > > Missing uglification on Size. > > +_RandomAccessIterator > +__brick

[PATCH] libstdc++: Split up pstl/set.cc testcase

2023-07-03 Thread Thomas Rodgers via Gcc-patches
This testcase is causing some timeout issues. This patch splits the testcase up by individual set algorithm. From 857359b72f8886b6e90db3b596d04f08559d2b51 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Mon, 3 Jul 2023 15:04:45 -0700 Subject: [PATCH] libstdc++: Split up pstl/set.cc testcase

Re: [PATCH] libstdc++: Split up pstl/set.cc testcase

2023-07-05 Thread Thomas Rodgers via Gcc-patches
Comment added to each file. Tested x86_64-linux. Pushed to trunk. On Mon, Jul 3, 2023 at 4:16 PM Jonathan Wakely wrote: > On Mon, 3 Jul 2023 at 23:14, Thomas Rodgers via Libstdc++ > wrote: > > > > This testcase is causing some timeout issues. This patch splits the

Re: [PATCH] libstdc++: Add missing free functions for atomic_flag [PR103934]

2023-02-13 Thread Thomas Rodgers via Gcc-patches
at 18:25, Thomas Rodgers wrote: > > > > This patch did not get committed in a timely manner after it was OK'd. > In revisiting the patch some issues were found that have lead me to > resubmit for review - > > > > Specifically - > > > > The orig

Re: [PATCH] libstdc++: Add missing free functions for atomic_flag [PR103934]

2023-03-09 Thread Thomas Rodgers via Gcc-patches
The second patch has now been backported and pushed to releases/gcc-12 and releases/gcc-11. On Mon, Feb 13, 2023 at 6:06 PM Thomas Rodgers wrote: > Tested x86_64-pc-linux-gnu. Pushed to trunk. > > The first patch has also been backported and pushed to releases/gcc-12 and > rel

Re: [RFC] libstdc++: Do not use pthread_mutex_clocklock with ThreadSanitizer

2023-05-11 Thread Thomas Rodgers via Gcc-patches
On Thu, May 11, 2023 at 5:21 AM Mike Crowe via Libstdc++ < libstd...@gcc.gnu.org> wrote: > On Wednesday 10 May 2023 at 12:31:12 +0100, Jonathan Wakely wrote: > > On Wed, 10 May 2023 at 12:20, Jonathan Wakely via Libstdc++ < > > libstd...@gcc.gnu.org> wrote: > > > > > This patch would avoid TSan fa

Re: [PATCH v2] libstdc++: Do not use pthread_mutex_clocklock with ThreadSanitizer

2023-05-15 Thread Thomas Rodgers via Gcc-patches
On Thu, May 11, 2023 at 1:52 PM Jonathan Wakely wrote: > On Thu, 11 May 2023 at 13:42, Jonathan Wakely wrote: > >> >> >> On Thu, 11 May 2023 at 13:19, Mike Crowe wrote: >> >>> However, ... >>> >>> > > diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4 >>> > > index 89e7f5f5f45..

Re: [PATCH] libstdc++: Fix up parallel_backend_serial.h [PR97549]

2021-02-22 Thread Thomas Rodgers via Gcc-patches
- Original Message - > Hi! > > In GCC 10, parallel_backend.h just included parallel_backend_{serial,tbb}.h > and > did nothing beyond that, and parallel_backend_tbb.h provided directly > namespace __pstl { namespace __par_backend { ... } } > and defined everything in there, while parall

[PATCH] libstdc++: only pull in bits/align.h if C++11 or later

2020-09-11 Thread Thomas Rodgers via Gcc-patches
libstdc++-v3/ChangeLog: * include/std/memory: Move #include inside C++11 conditional includes. Tested x86_64-pc-linux-gnu, committed to master. --- libstdc++-v3/include/std/memory | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libstdc++-v3/include/std/memor

Re: [PATCH] libstdc++: Rebase include/pstl to current upstream

2020-09-21 Thread Thomas Rodgers via Gcc-patches
Thanks, I'll apply locally (and sync those changes to the patch I'm preparing for upstream). Jonathan Wakely writes: > On 21/09/20 08:19 -0700, Thomas Rodgers wrote: >> >> >>> On Sep 21, 2020, at 7:40 AM, Jonathan Wakely wrote: >>> >>> On 1

Re: [PATCH] libstdc++: Add C++2a synchronization support

2020-09-28 Thread Thomas Rodgers via Gcc-patches
Jonathan Wakely writes: > On 11/09/20 16:58 -0700, Thomas Rodgers wrote: >>From: Thomas Rodgers >> >>This patch supercedes both the Add C++2a synchronization support patch >>being replied to *and* the patch adding wait/notify_* to atomic_flag. >> >>Ad

Re: [PATCH] libstdc++: Implement C++20 features for

2020-10-09 Thread Thomas Rodgers via Gcc-patches
Jonathan Wakely writes: > On 07/10/20 18:15 -0700, Thomas Rodgers wrote: >>@@ -500,6 +576,40 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 >> } >> #endif >> >>+#if __cplusplus > 201703L && _GLIBCXX_USE_CXX11_ABI >>+ basic_istringstream(ios_b

Re: [PATCH] libstdc++: Reduce header dependencies from PSTL headers [PR92546]

2022-03-17 Thread Thomas Rodgers via Gcc-patches
Looks ok to me. I just am curious, does the change to src/c++17/fs_path.cc need to be part of this change (It's not obvious to me that it is related to the other changes in the patch). On Thu, Mar 17, 2022 at 12:01 PM Jonathan Wakely wrote: > Tested x86_64-linux. Tom, any objection? > > -- >8 --

Re: [PATCH] Strengthen memory memory order for atomic::wait/notify

2022-02-01 Thread Thomas Rodgers via Gcc-patches
Tested x86_64-pc-linux-gnu, committed to master. Backported to GCC-11. On Sun, Jan 16, 2022 at 12:31 PM Jonathan Wakely wrote: > > > On Sun, 16 Jan 2022 at 01:48, Thomas Rodgers via Libstdc++ < > libstd...@gcc.gnu.org> wrote: > >> This patch updates the memory orde

[PATCH] libstdc++: Fix deadlock in atomic wait [PR104442]

2022-02-08 Thread Thomas Rodgers via Gcc-patches
Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Tue, 8 Feb 2022 16:33:36 -0800 Subject: [PATCH] libstdc++: Fix deadlock in atomic wait [PR104442] This issue was observed as a deadloack in 29_atomics/atomic/wait_notify/100334.cc on vxworks. When a wait is "laundered" (e.g. type T* does no

Re: [PATCH] libstdc++: Fix deadlock in atomic wait [PR104442]

2022-02-09 Thread Thomas Rodgers via Gcc-patches
Excessively enthusiastic refactoring. I expect to rewrite most of this as part of the work I'm starting now for GCC13 stage1. On Wed, Feb 9, 2022 at 2:43 AM Jonathan Wakely wrote: > On Wed, 9 Feb 2022 at 00:57, Thomas Rodgers via Libstdc++ > wrote: > > > > This

Re: [PATCH] libstdc++: Fix deadlock in atomic wait [PR104442]

2022-02-09 Thread Thomas Rodgers via Gcc-patches
Updated patch. I reverted the memory order change (and will submit that as another patch) and fixed some spelling and grammar errors. On Wed, Feb 9, 2022 at 2:43 AM Jonathan Wakely wrote: > On Wed, 9 Feb 2022 at 00:57, Thomas Rodgers via Libstdc++ > wrote: > > > > This issue

[PATCH] libstdc++: Strengthen memory order for atomic::wait/notify

2022-02-09 Thread Thomas Rodgers via Gcc-patches
This patch changes the memory order used in the spin wait code to match that of libc++. From 92caa08b272520ec4a272b302b37d8fb47afb2ab Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Wed, 9 Feb 2022 09:26:00 -0800 Subject: [PATCH] libstdc++: Strengthen memory order for atomic::wait/notify

Re: [PATCH] libstdc++: Fix deadlock in atomic wait [PR104442]

2022-02-09 Thread Thomas Rodgers via Gcc-patches
Tested x86_64-pc-linux-gnu, committed to master, backported to gcc-11. On Wed, Feb 9, 2022 at 9:14 AM Jonathan Wakely wrote: > On Wed, 9 Feb 2022 at 17:10, Thomas Rodgers wrote: > > > > Updated patch. I reverted the memory order change (and will submit that > as another pat

Re: [PATCH] libstdc++: Strengthen memory order for atomic::wait/notify

2022-02-10 Thread Thomas Rodgers via Gcc-patches
Committed to trunk, backported to gcc-11. On Wed, Feb 9, 2022 at 12:37 PM Jonathan Wakely wrote: > On Wed, 9 Feb 2022 at 17:35, Thomas Rodgers via Libstdc++ > wrote: > > > > This patch changes the memory order used in the spin wait code to match > > that of libc++. >

[PATCH] libstdc++: Make atomic notify_one and notify_all non-const

2022-02-11 Thread Thomas Rodgers via Gcc-patches
to account for change in notify_one/notify_all signature. Tested x86_64-pc-linux-gnu. From 7ed6dfae5a0a7a9e56291d780e44f99d644847e0 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Thu, 10 Feb 2022 18:55:16 -0800 Subject: [PATCH] libstdc++: Make atomic notify_one and notify_all non-const

Re: libstdc++: Make atomic::wait() const [PR102994]

2021-11-23 Thread Thomas Rodgers via Gcc-patches
const qualification was also missing in the free functions for wait/wait_explicit/notify_one/notify_all. Revised patch attached. On Tue, Nov 9, 2021 at 11:40 AM Jonathan Wakely wrote: > On Tue, 9 Nov 2021 at 18:09, Thomas Rodgers wrote: > >> Revised patch attached. >> > &

Re: libstdc++: Make atomic::wait() const [PR102994]

2021-12-09 Thread Thomas Rodgers via Gcc-patches
Tested uild-x86_64-pc-linux-gnu, pushed to trunk and gcc-11. On Thu, Nov 25, 2021 at 1:24 PM Jonathan Wakely wrote: > On Wed, 24 Nov 2021 at 01:27, Thomas Rodgers wrote: > > > > const qualification was also missing in the free functions for > wait/wait_explicit/notify_one/n

Re: Patch ping (was Re: [PATCH] libstdc++: Clear padding bits in atomic compare_exchange)

2022-09-01 Thread Thomas Rodgers via Gcc-patches
than later. On Thu, Aug 25, 2022 at 3:11 AM Jakub Jelinek wrote: > On Tue, Jan 18, 2022 at 09:48:19PM +, Jonathan Wakely via Gcc-patches > wrote: > > On Tue, 2 Nov 2021 at 01:26, Thomas Rodgers wrote: > > > > > This should address Jonathan's feedb

Re: [committed] libstdc++: Add missing runtime exception to licence notice

2022-09-07 Thread Thomas Rodgers via Gcc-patches
Looks good to me. Tom. On Wed, Sep 7, 2022 at 12:27 PM Jonathan Wakely via Gcc-patches < gcc-patches@gcc.gnu.org> wrote: > Tested powerpc64le-linux, pushed to trunk. > > Backports to gcc-11 and gcc-12 needed too. > > -- >8 -- > > This file is missing the GCC Runtime Library Exception text in the

Re: Patch ping (was Re: [PATCH] libstdc++: Clear padding bits in atomic compare_exchange)

2022-09-07 Thread Thomas Rodgers via Gcc-patches
Looks good to me. Tom. On Wed, Sep 7, 2022 at 4:56 AM Jonathan Wakely wrote: > Here's a complete patch that combines the various incremental patches > that have been going around. I'm testing this now. > > Please take a look. >

Re: Patch ping (was Re: [PATCH] libstdc++: Clear padding bits in atomic compare_exchange)

2022-09-09 Thread Thomas Rodgers via Gcc-patches
s/__weak/__is_weak/g perhaps? On Fri, Sep 9, 2022 at 11:46 AM Iain Sandoe via Libstdc++ < libstd...@gcc.gnu.org> wrote: > > > > On 9 Sep 2022, at 19:36, Rainer Orth > wrote: > > > > >> Here's a complete patch that combines the various incremental patches > >> that have been going around. I'm te

Re: [PATCH] libstdc++: Make atomic notify_one and notify_all non-const

2022-04-22 Thread Thomas Rodgers via Gcc-patches
Committed to trunk, backported to releases/gcc-11. On Fri, Feb 11, 2022 at 12:22 PM Jonathan Wakely wrote: > On Fri, 11 Feb 2022 at 17:40, Thomas Rodgers via Libstdc++ > wrote: > > > > > > PR102994 "atomics: std::atomic::wait is not marked const" raises the

Re: [PATCH] libstdc++: Add c++2a

2020-11-02 Thread Thomas Rodgers via Gcc-patches
Testsed x86_64-pc-linux-gnu, committed to master. Jonathan Wakely writes: > On 02/11/20 08:10 -0800, Thomas Rodgers wrote: >>From: Thomas Rodgers >> >>IGNORE the previous patch. >> >>Changes implementation to use a private __mutex type as discussed o

Re: [PATCH] libstdc++: Define macro before it is first checked

2021-09-02 Thread Thomas Rodgers via Gcc-patches
Agreed. On Thu, Sep 2, 2021 at 10:58 AM Jonathan Wakely wrote: > Signed-off-by: Jonathan Wakely > > libstdc++-v3/ChangeLog: > > * include/bits/atomic_wait.h (_GLIBCXX_HAVE_PLATFORM_WAIT): > Define before first attempt to check it. > > Tested x86_64-linux and powerpc64-linux, not

Re: [PATCH] libstdc++: Clear padding bits in atomic compare_exchange

2021-09-23 Thread Thomas Rodgers via Gcc-patches
Agreed, I'll revise the patch to do so. On Thu, Sep 23, 2021 at 12:07 PM Jakub Jelinek wrote: > On Thu, Sep 23, 2021 at 11:08:37AM -0700, Thomas Rodgers wrote: > > From: Thomas Rodgers > > > > This change implements P0528 which requires that padding bits not > &g

Re: [PATCH] libstdc++: Clear padding bits in atomic compare_exchange

2021-09-29 Thread Thomas Rodgers via Gcc-patches
On Wed, Sep 29, 2021 at 5:14 AM Jonathan Wakely wrote: > On Mon, 27 Sept 2021 at 15:11, Thomas Rodgers > wrote: > > > > From: Thomas Rodgers > > > > Now with checks for __has_builtin(__builtin_clear_padding) > > > > This change implements

Re: [PATCH] libstdc++: Clear padding bits in atomic compare_exchange

2021-11-01 Thread Thomas Rodgers via Gcc-patches
This should address Jonathan's feedback and adds support for atomic_ref On Wed, Sep 29, 2021 at 5:14 AM Jonathan Wakely wrote: > On Mon, 27 Sept 2021 at 15:11, Thomas Rodgers > wrote: > > > > From: Thomas Rodgers > > > > Now with checks for __has_builtin(__

libstdc++: Make atomic::wait() const [PR102994]

2021-11-05 Thread Thomas Rodgers via Gcc-patches
From 360c094a0725bb0cc444115c0377db10e5e9ae1f Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Fri, 5 Nov 2021 14:30:24 -0700 Subject: [PATCH] libstdc++: Make atomic::wait() const [PR102994] This was an oversight in the original commit adding wait/notify to atomic. libstdc++-v3/ChangeLog

Re: libstdc++: Make atomic::wait() const [PR102994]

2021-11-09 Thread Thomas Rodgers via Gcc-patches
ease add something when you commit, it can be dumb and > simple, it just needs to verify that it can be called. > > > > > > > > On Fri, 5 Nov 2021 at 21:46, Thomas Rodgers via Libstdc++ < > > libstd...@gcc.gnu.org> wrote: > > > > > > > > >

Re: [PATCH] libstdc++: Fix Wrong param type in :atomic_ref<_Tp*>::wait [PR100889]

2021-06-08 Thread Thomas Rodgers via Gcc-patches
Tested x86_64-pc-linux-gnu, committed to master, backported to releases/gcc-11. On Tue, Jun 8, 2021 at 8:44 AM Jonathan Wakely wrote: > On Tue, 8 Jun 2021 at 01:29, Thomas Rodgers wrote: > >> This time without the repeatred [PR] in the subject line. >> >> Fixes libs

Re: [PATCH] [libstdc++] Remove unused hasher instance.

2021-06-08 Thread Thomas Rodgers via Gcc-patches
Tested x86_64-pc-linux-gnu, committed to master, backported to releases/gcc-11. On Fri, Jun 4, 2021 at 1:30 PM Jonathan Wakely wrote: > > > On Fri, 4 Jun 2021 at 20:54, Thomas Rodgers wrote: > >> This is a remnant of poorly executed refactoring. >> > > O

Re: [PATCH] libstdc++: Fix Wrong param type in :atomic_ref<_Tp*>::wait [PR100889]

2021-06-09 Thread Thomas Rodgers via Gcc-patches
Pretty sure I know this is, I'll work on a fix today. On Wed, Jun 9, 2021 at 7:30 AM Christophe Lyon wrote: > Hi, > > > On Wed, 9 Jun 2021 at 01:05, Thomas Rodgers via Gcc-patches > wrote: > > > > Tested x86_64-pc-linux-gnu, committed to master, backported to

Re: [RFA] choosing __platform_wait_t on targets without lock-free 64 atomics

2023-01-11 Thread Thomas Rodgers via Gcc-patches
I agree with this change. On Thu, Jan 5, 2023 at 4:22 PM Jonathan Wakely wrote: > How about this? > > I don't think we should worry about targets without atomic int, so don't > bother using types smaller than int. > > > -- >8 -- > > For non-futex targets the __platform_wait_t type is currently u

[PATCH] Add C++2a wait/notify_one/notify_all support to std::atomic<>

2020-03-12 Thread Thomas Rodgers via Gcc-patches
From f650ed07ed13c40624b72b7b4bebd967fa33f917 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Thu, 12 Mar 2020 17:50:09 -0700 Subject: [PATCH] Add C++2a wait/notify_one/notify_all support to std::atomic<> * include/Makefile.am (bits_headers): Add new header. * include/Mamef

Re: [PATCH] Add C++2a wait/notify_one/notify_all support to std::atomic<>

2020-03-17 Thread Thomas Rodgers via Gcc-patches
Updated patch attached, addresses some minor issues I found after sending the original version. >From 0c677da72a058e37d0ea1975dc70e53c4308963c Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Thu, 12 Mar 2020 17:50:09 -0700 Subject: [PATCH] Add C++2a wait/notify_one/notify_all support to

<    1   2   3   >