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

Jonathan Wakely jwakely@redhat.com
Tue Mar 19 20:41:00 GMT 2019


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.




More information about the Gcc-patches mailing list