This is an archive of the discontinued LLVM Phabricator instance.

[libc++][PSTL] Make the PSTL available by default under -fexperimental-library
ClosedPublic

Authored by philnik on May 1 2023, 4:43 PM.

Details

Summary

This removes the need for a custom libc++ build to have a basic set of PSTL algorithms.

Diff Detail

Event Timeline

philnik created this revision.May 1 2023, 4:43 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 1 2023, 4:43 PM
Herald added a subscriber: arichardson. · View Herald Transcript
philnik updated this revision to Diff 519195.May 3 2023, 11:56 AM

Try to fix CI

ldionne added inline comments.May 3 2023, 2:10 PM
libcxx/include/__algorithm/pstl_for_each.h
72

Here and everywhere else, I think you mean defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL)

libcxx/utils/libcxx/test/params.py
183–184

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.

ldionne published this revision for review.May 3 2023, 2:10 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 3 2023, 2:10 PM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne accepted this revision.May 3 2023, 2:10 PM

LGTM w/ green CI and the few comments I left.

This revision is now accepted and ready to land.May 3 2023, 2:10 PM
philnik updated this revision to Diff 519270.May 3 2023, 2:59 PM
philnik marked an inline comment as done.

Try to fix CI

philnik updated this revision to Diff 519533.May 4 2023, 9:32 AM
  • Reabsed
  • Try to fix CI
philnik updated this revision to Diff 519657.May 4 2023, 2:26 PM

More fixes

philnik updated this revision to Diff 519698.May 4 2023, 5:04 PM

Try to fix CI

philnik updated this revision to Diff 519890.May 5 2023, 9:01 AM

Try to fix CI

This revision was landed with ongoing or failed builds.May 5 2023, 1:53 PM
This revision was automatically updated to reflect the committed changes.
libcxx/CMakeLists.txt