[libcxx-commits] [PATCH] D149624: [libc++][PSTL] Make the PSTL available by default under -fexperimental-library
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Wed May 3 14:10:40 PDT 2023
philnik created this revision.
philnik added a reviewer: ldionne.
Herald added a subscriber: arichardson.
Herald added a project: All.
philnik updated this revision to Diff 519185.
philnik added a comment.
philnik updated this revision to Diff 519195.
ldionne published this revision for review.
Herald added a project: libc++.
Herald added a subscriber: libcxx-commits.
Herald added a reviewer: libc++.
Rebased
philnik added a comment.
Try to fix CI
================
Comment at: libcxx/include/__algorithm/pstl_for_each.h:71
-#endif // defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17
+#endif // !defined(_LIBCPP_HAS_NO_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17
----------------
Here and everywhere else, I think you mean `defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL)`
================
Comment at: libcxx/utils/libcxx/test/params.py:183-184
AddFeature('c++experimental'),
PrependLinkFlag(lambda cfg: '-llibc++experimental' if _isMSVC(cfg) else '-lc++experimental'),
AddCompileFlag('-D_LIBCPP_ENABLE_EXPERIMENTAL'),
] if experimental else [
----------------
Fly-by comment: we should try to change this to `-fexperimental-library` when using Clang now. On GCC we still need to do it manually.
IMO it would be good to actually change it because otherwise we're not testing the way we expect our users to enable this mode.
This removes the need for a custom libc++ build to have a basic set of PSTL algorithms.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D149624
Files:
libcxx/CMakeLists.txt
libcxx/cmake/caches/With-pstl.cmake
libcxx/include/__algorithm/pstl_any_all_none_of.h
libcxx/include/__algorithm/pstl_fill.h
libcxx/include/__algorithm/pstl_find.h
libcxx/include/__algorithm/pstl_for_each.h
libcxx/include/__config
libcxx/include/__config_site.in
libcxx/include/__type_traits/is_execution_policy.h
libcxx/include/algorithm
libcxx/include/execution
libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.verify.cpp
libcxx/test/libcxx/transitive_includes.sh.cpp
libcxx/test/libcxx/transitive_includes/cxx03.csv
libcxx/test/libcxx/transitive_includes/cxx11.csv
libcxx/test/libcxx/transitive_includes/cxx14.csv
libcxx/test/libcxx/transitive_includes/cxx17.csv
libcxx/test/libcxx/transitive_includes/cxx20.csv
libcxx/test/libcxx/transitive_includes/cxx2b.csv
libcxx/test/libcxx/utilities/expol/policies.compile.pass.cpp
libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill.pass.cpp
libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp
libcxx/test/std/algorithms/alg.nonmodifying/alg.all_of/pstl.all_of.pass.cpp
libcxx/test/std/algorithms/alg.nonmodifying/alg.any_of/pstl.any_of.pass.cpp
libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find.pass.cpp
libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if.pass.cpp
libcxx/test/std/algorithms/alg.nonmodifying/alg.find/pstl.find_if_not.pass.cpp
libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each.pass.cpp
libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/pstl.for_each_n.pass.cpp
libcxx/test/std/algorithms/alg.nonmodifying/alg.none_of/pstl.none_of.pass.cpp
libcxx/test/std/utilities/expol/is_execution_policy.compile.pass.cpp
libcxx/test/std/utilities/expol/policies.compile.pass.cpp
libcxx/utils/ci/buildkite-pipeline.yml
libcxx/utils/ci/run-buildbot
libcxx/utils/libcxx/test/features.py
libcxx/utils/libcxx/test/params.py
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D149624.519195.patch
Type: text/x-patch
Size: 20952 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20230503/32f6e579/attachment-0001.bin>
More information about the libcxx-commits
mailing list