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

2020-10-21 Thread Thomas Rodgers
> On Oct 21, 2020, at 10:34 AM, Jonathan Wakely wrote: > > On 21/10/20 09:53 -0700, Thomas Rodgers wrote: >> From: Thomas Rodgers >> >> libstdc++/Changelog: >> libstdc++-v3/doc/doxygen/user.cfg.in (INPUT): Add new header. >> libstdc++-v3/inc

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

2020-10-21 Thread Thomas Rodgers
From: Thomas Rodgers libstdc++/Changelog: libstdc++-v3/doc/doxygen/user.cfg.in (INPUT): Add new header. libstdc++-v3/include/Makefile.am (std_headers): Add new header. libstdc++-v3/include/Makefile.in: Regenerate. libstdc++-v3/include/precompiled/stdc++.h: Include

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

2020-10-15 Thread Thomas Rodgers
From: Thomas Rodgers This should address the cumulative comments (modulo the discussion going on on the reflector about specification issues/questions). libstdc++/Changelog: libstdc++-v3/doc/doxygen/user.cfg.in (INPUT): Add new header. libstdc++-v3/include/Makefile.am

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

2020-10-15 Thread Thomas Rodgers
From: Thomas Rodgers * Note: depends on a sufficiently C++20ified basic_stringbuf<>. libstdc++/Changelog: libstdc++-v3/include/Makefile.am (std_headers): Add new header. libstdc++-v3/include/Makefile.in: Regenerate. libstdc++-v3/include/std/streambuf (__

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

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

2020-10-07 Thread Thomas Rodgers
From: Thomas Rodgers New ctors and ::view() accessor for - * basic_stingbuf * basic_istringstream * basic_ostringstream * basic_stringstreamm New ::get_allocator() accessor for basic_stringbuf. libstdc++-v3/ChangeLog: * acinclude.m4 (glibcxx_SUBDIRS): Add src/c++20

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

2020-10-07 Thread Thomas Rodgers
From: Thomas Rodgers New ctors and ::view() accessor for - * basic_stingbuf * basic_istringstream * basic_ostringstream * basic_stringstreamm New ::get_allocator() accessor for basic_stringbuf. libstdc++-v3/ChangeLog: * acinclude.m4 (glibcxx_SUBDIRS): Add src/c++20

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

2020-10-07 Thread Thomas Rodgers
From: Thomas Rodgers New ctors and ::view() accessor for - * basic_stingbuf * basic_istringstream * basic_ostringstream * basic_stringstreamm New ::get_allocator() accessor for basic_stringbuf. libstdc++-v3/ChangeLog: * acinclude.m4 (glibcxx_SUBDIRS): Add src/c++20

[PATCH] t/trodgers/c2a_synchronization

2020-10-05 Thread Thomas Rodgers
From: Thomas Rodgers This *should* be the correct patch this time. Add support for - * atomic_flag::wait/notify_one/notify_all * atomic::wait/notify_one/notify_all * counting_semaphore * binary_semaphore * latch libstdc++-v3/ChangeLog: * include/Makefile.am (bits_headers

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

2020-10-02 Thread Thomas Rodgers
From: Thomas Rodgers Updated patch incorporating latest feedback (revised). Add support for - * atomic_flag::wait/notify_one/notify_all * atomic::wait/notify_one/notify_all * counting_semaphore * binary_semaphore * latch libstdc++-v3/ChangeLog: * include/Makefile.am

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

2020-10-01 Thread Thomas Rodgers
From: Thomas Rodgers Updated patch incorporating latest feedback. Add support for - * atomic_flag::wait/notify_one/notify_all * atomic::wait/notify_one/notify_all * counting_semaphore * binary_semaphore * latch libstdc++-v3/ChangeLog: * include/Makefile.am (bits_headers

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++: 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 15/09/20 20

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

2020-09-21 Thread Thomas Rodgers
> On Sep 21, 2020, at 7:40 AM, Jonathan Wakely wrote: > > On 15/09/20 20:35 -0700, Thomas Rodgers wrote: >> From: Thomas Rodgers >> >> From llvm-project/pstl @ 0b2e0e80d96 >> >> libstdc++-v3/ChangeLog: >> >> * include/pstl/al

Re: [PATCH] Fix overflow handling in std::align

2020-09-14 Thread Thomas Rodgers
> On Sep 14, 2020, at 7:30 AM, Ville Voutilainen via Libstdc++ > wrote: > > On Mon, 14 Sep 2020 at 15:49, Glen Fernandes wrote: >> >> On Mon, Sep 14, 2020 at 5:52 AM Ville Voutilainen wrote: >>> On Mon, 14 Sep 2020 at 12:51, Ville Voutilainen >>> wrote: On Mon, 14 Sep 2020 at 09:18,

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

2020-09-12 Thread Thomas Rodgers
From: Thomas Rodgers 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

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

2020-09-11 Thread Thomas Rodgers
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. Add support for - * atomic_flag::wait/notify_one/notify_all * atomic::wait/notify_one/notify_all * counting_semaphore

[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

[PATCH] Split std::align/assume_aligned to bits/align.h

2020-09-09 Thread Thomas Rodgers
We would like to be able to use these things without having to pull in the whole of . * include/Makefile.am (bits_headers): Add new header. * include/Makefile.in: Regenerate. * include/bits/align.h: New file. * include/std/memory (align): Move definition to

[PATCH] Add support for atomic_flag::wait/notify_one/notify_all

2020-09-08 Thread Thomas Rodgers
* include/bits/atomic_base.h (__atomic_flag::wait): Define. (__atomic_flag::notify_one): Likewise. (__atomic_flag::notify_all): Likewise. * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: New test. --- libstdc++-v3/include/bits/atomic_base.h | 23 +++

[PATCH] Add support for C++20 barriers

2020-09-07 Thread Thomas Rodgers
Re-sending Adds * include/Makefile.am (std_headers): Add new header. * include/Makefile.in: Regenerate. * include/bits/atomic_base.h (__atomic_base<_Itp>::_M_wait): Define. (__atomic_base<_Itp>::wait): Delegate to _M_wait. * include/std/barrier: New file.

[PATCH] Add C++2a synchronization support

2020-09-02 Thread Thomas Rodgers
Note - ignore previous version of this patch, didn't filter out Makefile.in Adds support for - atomic wait/notify_one/notify_all counting_semaphore binary_semaphore latch * include/Makefile.am (bits_headers): Add new header. * include/Makefile.in:

[PATCH] Add C++2a synchronization support

2020-09-02 Thread Thomas Rodgers
Adds support for - atomic wait/notify_one/notify_all counting_semaphore binary_semaphore latch * include/Makefile.am (bits_headers): Add new header. * include/Makefile.in: Regenerate. * include/bits/atomic_base.h (__atomic_base<_Itp>::wait):

[PATCH 3/4] Adjust wait logic to limit spurious eval of wait predicate.

2020-06-06 Thread Thomas Rodgers
* include/bits/atomic_wait.h (__waiters::_M_do_wait): adjust wakeup logic. --- libstdc++-v3/include/bits/atomic_wait.h | 16 +++- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/libstdc++-v3/include/bits/atomic_wait.h

[PATCH] Remove binary_semaphore implementation from stop_token

2020-06-06 Thread Thomas Rodgers
* include/std/stop_token: Remove local binary_semaphore implementation. (_Stop_state_t::_M_do_try_lock): Use __thread_yield() from bits/atomic_wait.h. --- libstdc++-v3/include/std/stop_token | 40 ++--- 1 file changed, 2 insertions(+), 38

[PATCH] Add C++2a synchronization support

2020-06-06 Thread Thomas Rodgers
Add support for - atomic wait/notify_one/notify_all counting_semaphore binary_semaphore latch * include/Makefile.am (bits_headers): Add new header. * include/Makefile.in: Regenerate. * include/bits/atomic_base.h (__atomic_base<_Itp>::wait):

[PATCH] Add support for C++20 barriers

2020-06-06 Thread Thomas Rodgers
* include/Makefile.am (std_headers): Add new header. * include/Makefile.in: Regenerate. * include/std/barrier: New file. * testsuite/30_thread/barrier/1.cc: New test. * testsuite/30_thread/barrier/2.cc: Likewise. *

[PATCH] Add C++2a synchronization support

2020-06-05 Thread Thomas Rodgers
Add support for - atomic wait/notify_one/notify_all counting_semaphore binary_semaphore latch * include/Makefile.am (bits_headers): Add new header. * include/Makefile.in: Regenerate. * include/bits/atomic_base.h (__atomic_base<_Itp>::wait):

Re: [PATCH] Adjust wait logic to limit spurious evalution of wait predicate.

2020-05-24 Thread Thomas Rodgers
And this time, with patch. wake_up_fix.patch Description: Binary data > On May 24, 2020, at 3:06 PM, Thomas Rodgers wrote: > > * include/bits/atomic_wait.h (__waiters::_M_do_wait): adjust wakeup > logic.

[PATCH] Remove binary_semaphore implementation from stop_token

2020-05-24 Thread Thomas Rodgers
* include/std/stop_token: Remove local binary_semaphore implementation. (_Stop_state_t::_M_do_try_lock): Use __thread_yield() from bits/atomic_wait.h. 0001-Remove-binary_semaphore-implementation-from-stop_tok.patch Description: Binary data

[PATCH] Adjust wait logic to limit spurious evalution of wait predicate.

2020-05-24 Thread Thomas Rodgers
* include/bits/atomic_wait.h (__waiters::_M_do_wait): adjust wakeup logic.

Re: [PATCH] Add support for C++20 barriers

2020-05-24 Thread Thomas Rodgers
> On May 24, 2020, at 11:11 AM, Jonathan Wakely wrote: > > On Sun, 24 May 2020 at 18:55, Florian Weimer wrote: >> >> * Thomas Rodgers: >> >>> + static __gthread_t >>> + _S_get_tid() noexcept >>> + { >>> +#

Re: [PATCH] Add support for C++20 barriers

2020-05-24 Thread Thomas Rodgers
This time with 100% more patch… 0001-Add-support-for-C-20-barriers_f.patch Description: Binary data > On May 23, 2020, at 3:58 PM, Thomas Rodgers wrote: > > This patch requires the patch for atomic::wait/notify to be applied first. > > This implementation is ba

[PATCH] Add support for C++20 barriers

2020-05-23 Thread Thomas Rodgers
This patch requires the patch for atomic::wait/notify to be applied first. This implementation is based on the libc++ implementation, but excludes the alternative “central barrier” implementation for now as there is no standard way to switch between the two. * include/Makefile.am

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

2020-05-11 Thread Thomas Rodgers via Gcc-patches
I *think* I have addressed everything in the attached patch. commit 24a989d2bf2158bdbe2511310d0583d0c6226f71 Author: Thomas Rodgers Date: Mon Apr 6 17:58:47 2020 -0700 Add C++2a synchronization support Add support for - atomic wait/notify_one/notify_all

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

2020-05-11 Thread Thomas Rodgers via Gcc-patches
Jonathan Wakely writes: > On 09/05/20 17:01 -0700, Thomas Rodgers via Libstdc++ wrote: >>+#include > > shouldn't be here (it adds runtime cost, as well as > compile-time). > Oversight, not removed after debugging it. > > Can't this just be __old instead

[PATCH] Add C++2a synchronization support

2020-05-09 Thread Thomas Rodgers via Gcc-patches
stsuite/30_thread/latch/1.cc: New test. * testsuite/30_thread/latch/2.cc: New test. * testsuite/30_thread/latch/3.cc: New test >From 436ab6fd5286a6467792263fbfbd603ba0f0c04d Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Mon, 6 Apr 2020 17:58:47 -0700 Sub

Re: [PATCH] Mark experimental::net::system_context ctor deleted

2020-04-23 Thread Thomas Rodgers via Gcc-patches
Tested x86_64_linux. Commited to master, backported to releases/gcc-9. Jonathan Wakely writes: > On 23/04/20 13:09 -0700, Thomas Rodgers via Libstdc++ wrote: >> >> * include/experimental/net/executor: Mark >> system_context::system_context() = default.

[PATCH] Mark experimental::net::system_context ctor deleted

2020-04-23 Thread Thomas Rodgers via Gcc-patches
* include/experimental/net/executor: Mark system_context::system_context() = default. * testsuite/experimental/net/executor/1.cc: Add new test for deleted system_context ::system_context(). --- libstdc++-v3/include/experimental/executor| 2 +-

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

2020-03-23 Thread Thomas Rodgers via Gcc-patches
Updated patch, fixes some whitespace issues along with ensuring that libstdc++-v3/include/Makefile.in is regenerated. >From 2f707faab97abde776bc7c6e06f7a7c471711962 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_

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

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

2020-03-15 Thread Thomas Rodgers
This patch adds support for wait/notify_one/notify_all to std::atomic<>. Support for the volatile overloads will be added in a subsequent patch. * include/Makefile.am (bits_headers): Add new header. * include/Mamefile.in: Regenerate. * include/bits/atomic_base.h

[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 binary_semaphore

2020-02-24 Thread Thomas Rodgers
Hopefully less borked than the previous one, adds futex support. - Original Message - From: "Thomas Rodgers" To: gcc-patches@gcc.gnu.org, libstd...@gcc.gnu.org Sent: Wednesday, February 19, 2020 7:18:36 PM Subject: Re: [PATCH] Add c++2a binary_semaphore Should address th

[PATCH] Add c++2a binary_semaphore

2020-02-17 Thread Thomas Rodgers
/semaphore/try_acquire.cc: New test. * testsuite/30_threads/semaphore/try_acquire_for.cc: New test. * testsuite/30_threads/semaphore/try_acquire_until.cc: New test. From 8ce4252605361ed33b389a91fb7e3aeec529d9ac Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Mon, 17 Feb 2020 19:58

Re: [PATCH] libstdc++: Fix conformance issues in (PR92895)

2020-01-29 Thread Thomas Rodgers
Looks good to me, ok for trunk. Thanks. Jonathan Wakely writes: > Fix synchronization issues in . Replace shared_ptr with > _Stop_state_ref and a reference count embedded in the shared state. > Replace std::mutex with spinlock using one bit of a std::atomic<> that > also tracks whether a stop

[PATCH] Suppress deprecation warnings in tbb effective target check

2020-01-23 Thread Thomas Rodgers
From cfd3c2e2a49dd3e29b42baa0f22feffd4b346231 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Thu, 23 Jan 2020 21:54:44 -0800 Subject: [PATCH] Suppress deprecation warnings in tbb effective target check TBB 2020 added deprecation warnings which produced output not expected

Re: [PATCH] Rename condition_variable_any::wait_on_* methods

2020-01-07 Thread Thomas Rodgers
Tested x86_64-pc-linux-gnu, committed to trunk. Jonathan Wakely writes: > On 10/12/19 22:38 -0800, Thomas Rodgers wrote: >>User-agent: mu4e 1.3.4; emacs 26.2 >> * include/std/condition_variable >> (condition_variable_any::wait_on(_Lock&, stop_t

[PATCH] Rename condition_variable_any::wait_on_* methods

2019-12-10 Thread Thomas Rodgers
User-agent: mu4e 1.3.4; emacs 26.2 * include/std/condition_variable (condition_variable_any::wait_on(_Lock&, stop_token, _Predicate): Rename to match current draft standard. (condition_variable_any::wait_on_until(_Lock&, stop_token, const

Re: [PATCH] Restore enable_if lost during original import of pstl

2019-12-10 Thread Thomas Rodgers
Tested x86_64-pc-linux-gnu, committed to trunk, backported to gcc-9-branch. Jonathan Wakely writes: > On 18/11/19 20:54 -0800, Thomas Rodgers wrote: >> >> * include/pstl/glue_numeric_defs.h: Restore enable_if lost during >> original >> import of p

[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

Re: [PATCH] Add support for C++2a stop_token

2019-11-14 Thread Thomas Rodgers
Tested x86_64-pc-linux-gnu, committed to trunk. Jonathan Wakely writes: > On 13/11/19 17:59 -0800, Thomas Rodgers wrote: >>+/** @file include/stop_token >>+ * This is a Standard C++ Library header. >>+ */ >>+ >>+#ifndef _GLIBCXX_STOP_TOKEN >>+#define _GL

Re: [PATCH] Add support for C++2a stop_token

2019-11-13 Thread Thomas Rodgers
The attached patch should be a complete implementation of C++20 stop_token, jthread, and changes to condition_variable_any which also addresses the comments on the previous patch. From 2cdaa367ed919b24f3bbb84d6f7391a350dce77b Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Wed, 13 Nov 2019

Re: [PATCH] Add support for C++2a stop_token

2019-10-23 Thread Thomas Rodgers
Thomas Rodgers writes: Let's try this again.From 23e1c9402cc15666d099fd61b58a0019181a9115 Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Tue, 22 Oct 2019 17:53:00 -0700 Subject: [PATCH] Add support for C++2a stop_token * include/Makefile.am: Add header. * include/Makefile.in

[PATCH] Add C++20 jthread type to (2nd attempt)

2019-10-23 Thread Thomas Rodgers
From 56b78956a003b91e538cd5c680d614fdaee9c9eb Mon Sep 17 00:00:00 2001 From: Thomas Rodgers Date: Wed, 23 Oct 2019 12:32:31 -0700 Subject: [PATCH] Add C++20 jthread type to --- libstdc++-v3/ChangeLog| 8 + libstdc++-v3/include/std/stop_token | 14

[PATCH] Add C++20 jthread type to --text follows this line-<#part type="text/x-patch" filename="/home/remote/trodgers/src/oss/gcc/jt/0001-Add-C-20-jthread-type-to-thread.patch" disposition=at

2019-10-23 Thread Thomas Rodgers

[PATCH] Add support for C++2a stop_token

2019-10-22 Thread Thomas Rodgers
0001-Add-support-for-C-2a-stop_token.patch Description: le patch

Re: [PATCH] Include netinet/in.h in include/experimental/internet

2019-09-30 Thread Thomas Rodgers
Looks good to me. Andreas Tobler writes: > Hi all, > > I'm going to commit the attached patch to trunk. > It is preapproved by Jonathan. (via #irc) > > On FreeBSD the netinet/in.h header is not included by arpa/inet.h, so do the > include if we have the _GLIBCXX_HAVE_NETINET_IN_H defined. > >

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

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

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

[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 ++--

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:__

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

[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

[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] 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. * include/p

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] [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. *

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

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

[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

[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

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

[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] 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

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] 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] 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.

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] 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): u

[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

[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 configurat

[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()

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] 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] 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/

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

[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] 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

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-01 Thread Thomas Rodgers
s 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/pstl/algorithm

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

[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] 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

<    1   2   3   >