This is an archive of the discontinued LLVM Phabricator instance.

[libc++] [P0619] Hide not1 and not2 under _LIBCPP_ENABLE_CXX20_REMOVED_NEGATORS.
ClosedPublic

Authored by Quuxplusone on May 24 2021, 4:06 PM.

Details

Summary

This also provides some of the scaffolding needed by D102992 and D101729, and mops up after D101730 etc.

I do plan to post a PR finishing the rest of p0619 section D.8 (removing {unary,binary}_function base classes). I just think it makes sense to get this part out of the way first.

Diff Detail

Event Timeline

Quuxplusone requested review of this revision.May 24 2021, 4:06 PM
Quuxplusone created this revision.
Herald added 1 blocking reviewer(s): Restricted Project. · View Herald TranscriptMay 24 2021, 4:06 PM
cjdb added a comment.May 24 2021, 5:02 PM

Why are you wanting to permit these removed features in C++20?

Quuxplusone added inline comments.
libcxx/include/__config
1368–1379

@cjdb wrote: "Why are you wanting to permit these removed features in C++20?"

This is just how libc++ does it. Even if we didn't want this for customer-happiness (backward compatibility), we'd want it for self-documentation (notice how this list of macros mirrors the list of removed features in Cxx2aStatus.rst).

Mordante accepted this revision.May 25 2021, 9:14 AM

Please update https://libcxx.llvm.org/docs/UsingLibcxx.html#c-20-specific-configuration-macros like it was done for C++17.
Other then that LGTM.

libcxx/docs/Cxx2aStatus.rst
59

Nice! I usually forget this part ;-)

This revision is now accepted and ready to land.May 25 2021, 9:14 AM

Update the documentation per @Mordante.

Mordante accepted this revision.May 25 2021, 10:56 AM

Thanks for also improving the C++17 section. LGTM!