HomePhabricator

[libc++] Update generate_feature_test_macro_components.py to match SD-6.

Authored by arthur.j.odwyer on Jan 7 2021, 3:21 PM.

Description

[libc++] Update generate_feature_test_macro_components.py to match SD-6.

It's still a little confusing because in many cases C++17 and C++20
have different values, and libc++ implements the C++17 behavior but
not the C++20 behavior; 'unimplemented' can't represent that scenario.
Ultimately we probably ought to completely redesign the script to be
in terms of paper numbers, rather than language revisions, and make
it generate the CSV files like "Cxx2aStatusPaperStatus.csv" as well.

Most newly added macros are unimplemented. I've marked a few as implemented,
though, based on my reading of the code; for example I was pretty sure
__cpp_lib_latch is implemented since we have <latch>.

Differential Revision: https://reviews.llvm.org/D93830