[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