This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [PATCH] Integration of parallel standard algorithms for c++17
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: Thomas Rodgers <trodgers at redhat dot com>
- Cc: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Tue, 19 Mar 2019 20:26:15 +0000
- Subject: Re: [PATCH] Integration of parallel standard algorithms for c++17
- References: <xkqek1lksswb.fsf@trodgers.remote.f27> <1050db8c-2774-2210-dd39-12caa9bdb564@redhat.com> <20190207132629.GH17805@redhat.com> <xkqesgvspvpw.fsf@trodgers.remote.f27>
On 11/03/19 21:24 -0700, Thomas Rodgers wrote:
Let's try this patch -
The feature test macro should be 201603L (in <execution> and
<version>):
+// Feature test macro for parallel algorithms
+# define __cpp_lib_parallel_algorithm 201703L
***
The new files have copyright dates of 2018, but it's taken so long to
get the licensing changes done and for me to review it that they need
to say "2018-2019" now:
+++ b/libstdc++-v3/include/std/execution
@@ -0,0 +1,58 @@
+// <execution> -*- C++ -*-
+
+// Copyright (C) 2018 Free Software Foundation, Inc.
***
The <execution> header warns if included pre-C++17 but it should just
not define anything:
+#if __cplusplus < 201703L
+# include <bits/c++0x_warning.h>
+#else
We only give that warning for C++11 headers, but for anything newer it
should be just:
+#if __cplusplus >= 201703L
***
There are still a couple of un-uglified names I noticed:
parallel_set_union_op, is_heap_until_local
***
The copyright notices at the top of each file seem a bit out of place
in the GCC tree:
+//===-- execution_defs.h --------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
I wonder if we should put another comment before that, saying GCC uses
the PSTL code from the LLVM upstream, or something like that. That can
wait though.