mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-30 23:35:00 +08:00
061f457868
This is the Intel implementation of the C++17 parallel algorithms, which has been donated to both GCC and LLVM. The upstream project is at - https://reviews.llvm.org/source/pstl/ The new files in the include/pstl sub-directory are covered by the LICENSE.txt in that sub-directory, as are the tests in testsuite/**/pstl/* * include/Makefile.am (std_header): Add ${std_srcdir}/execution. (pstl_srcdir, pstl_builddir, pstl_headers): New variables. (allstamped): Add stamp-pstl. (install-headers): Add ptsl_builddir. * include/Makefile.in: Regenerate. * include/bits/c++config: Add pstl configuration. * include/pstl/LICENSE.txt: New file. * include/pstl/algorithm_fwd.h: New file. * include/pstl/algorithm_impl.h: New file. * include/pstl/execution_defs.h: New file. * include/pstl/execution_impl.h: New file. * include/pstl/glue_algorithm_defs.h: New file. * include/pstl/glue_algorithm_impl.h: New file. * include/pstl/glue_execution_defs.h: New file. * include/pstl/glue_memory_defs.h: New file. * include/pstl/glue_memory_impl.h: New file. * include/pstl/glue_numeric_defs.h: New file. * include/pstl/glue_numeric_impl.h: New file. * include/pstl/memory_impl.h: New file. * include/pstl/numeric_fwd.h: New file. * include/pstl/numeric_impl.h: New file. * include/pstl/parallel_backend.h: New file. * include/pstl/parallel_backend_tbb.h: New file. * include/pstl/parallel_backend_utils.h: New file. * include/pstl/parallel_impl.h: New file. * include/pstl/pstl_config.h: New file. * include/pstl/unseq_backend_simd.h: New file. * include/pstl/utils.h: New file. * include/std/algorithm: Include parallel algorithm implementations. * include/std/execution: New file. * include/std/memory: Include parallel algorithm implementations. * include/std/numeric: Include parallel algorithm implementations. * include/std/version: Add parallel algorithms feature test macro. * testsuite/util/pstl/pstl_test_config.h: New file. * testsuite/util/pstl/test_utils.h: New file. * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file. * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file. * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file. * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file. * testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file. * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file. * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file. * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file. * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file. * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file. * testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file. * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file. * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file. * testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: New file. * testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: New file. * testsuite/testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_merge/merge.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/includes.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/set.cc: New file. * testsuite/testsuite/25_algorithms/pstl/alg_sorting/sort.cc: New file. * testsuite/testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: New file. * testsuite/testsuite/26_numerics/pstl/numeric_ops/reduce.cc: New file. * testsuite/testsuite/26_numerics/pstl/numeric_ops/scan.cc: New file. * testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: New file. * testsuite/testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: New file. From-SVN: r269863 |
||
---|---|---|
.. | ||
add_const | ||
add_cv | ||
add_lvalue_reference | ||
add_pointer | ||
add_rvalue_reference | ||
add_volatile | ||
addressof | ||
align | ||
aligned_storage | ||
aligned_union | ||
alignment_of | ||
allocator | ||
allocator_traits | ||
any | ||
as_const | ||
assume_aligned | ||
auto_ptr | ||
bad_function_call | ||
bind | ||
bool_constant | ||
common_type/requirements | ||
conditional/requirements | ||
decay/requirements | ||
declval/requirements | ||
default_delete | ||
duration | ||
duration_cast | ||
enable_if/requirements | ||
enable_shared_from_this | ||
endian | ||
exchange | ||
extent | ||
forward | ||
from_chars | ||
function | ||
function_objects | ||
has_unique_object_representations | ||
has_virtual_destructor | ||
hash | ||
headers | ||
in_place | ||
integer_sequence | ||
integral_constant | ||
is_abstract | ||
is_aggregate | ||
is_arithmetic | ||
is_array | ||
is_assignable | ||
is_base_of | ||
is_bounded_array | ||
is_class | ||
is_compound | ||
is_const | ||
is_constant_evaluated | ||
is_constructible | ||
is_convertible | ||
is_copy_assignable | ||
is_copy_constructible | ||
is_default_constructible | ||
is_destructible | ||
is_empty | ||
is_enum | ||
is_final | ||
is_floating_point | ||
is_function | ||
is_fundamental | ||
is_implicitly_default_constructible | ||
is_integral | ||
is_invocable | ||
is_literal_type | ||
is_lvalue_reference | ||
is_member_function_pointer | ||
is_member_object_pointer | ||
is_member_pointer | ||
is_move_assignable | ||
is_move_constructible | ||
is_nothrow_assignable | ||
is_nothrow_constructible | ||
is_nothrow_convertible | ||
is_nothrow_copy_assignable | ||
is_nothrow_copy_constructible | ||
is_nothrow_default_constructible | ||
is_nothrow_destructible | ||
is_nothrow_invocable | ||
is_nothrow_move_assignable | ||
is_nothrow_move_constructible | ||
is_nothrow_swappable | ||
is_nothrow_swappable_with | ||
is_null_pointer | ||
is_object | ||
is_pod | ||
is_pointer | ||
is_polymorphic | ||
is_reference | ||
is_rvalue_reference | ||
is_same | ||
is_scalar | ||
is_signed | ||
is_standard_layout | ||
is_swappable | ||
is_swappable_with | ||
is_trivial | ||
is_trivially_assignable | ||
is_trivially_constructible | ||
is_trivially_copy_assignable | ||
is_trivially_copy_constructible | ||
is_trivially_copyable | ||
is_trivially_default_constructible | ||
is_trivially_destructible | ||
is_trivially_move_assignable | ||
is_trivially_move_constructible | ||
is_unbounded_array | ||
is_union | ||
is_unsigned | ||
is_void | ||
is_volatile | ||
logical_traits | ||
make_signed/requirements | ||
make_unsigned/requirements | ||
memory_resource | ||
monotonic_buffer_resource | ||
move | ||
move_if_noexcept | ||
optional | ||
owner_less | ||
pair | ||
pointer_safety | ||
pointer_traits | ||
polymorphic_allocator | ||
rank | ||
ratio | ||
raw_storage_iterator | ||
reference_wrapper | ||
remove_all_extents | ||
remove_const | ||
remove_cv | ||
remove_cvref | ||
remove_extent | ||
remove_pointer | ||
remove_reference | ||
remove_volatile | ||
result_of | ||
scoped_allocator | ||
shared_ptr | ||
specialized_algorithms | ||
steady_clock | ||
synchronized_pool_resource | ||
system_clock | ||
time_point | ||
time_point_cast | ||
to_address | ||
to_chars | ||
tuple | ||
type_identity/requirements | ||
typeindex | ||
underlying_type/requirements | ||
unique_ptr | ||
unsynchronized_pool_resource | ||
unwrap_reference | ||
uses_allocator | ||
variant | ||
void_t | ||
weak_ptr | ||
rel_ops.cc | ||
temporary_buffer.cc | ||
variable_templates_for_traits.cc |