[libc++] Systematically define a macro to check whether a feature is unavailable
authorLouis Dionne <ldionne.2@gmail.com>
Thu, 30 Mar 2023 12:51:13 +0000 (08:51 -0400)
committerLouis Dionne <ldionne.2@gmail.com>
Thu, 30 Mar 2023 19:17:55 +0000 (15:17 -0400)
commitbec96f6e959709a58f7e3e46205ae906c76e2f8c
treeacc17d8a3eb12166942d5cb805b494f5b2a0608c
parentb060ca7042fe4a5cfc2f9851a2926363a037c33b
[libc++] Systematically define a macro to check whether a feature is unavailable

Previously, we inconsistently defined whether a feature was unavailable
on a given deployment target. We would have availability attributes for
all features, but only some features had the equivalent of a _HAS_NO_FOO
macro in the form of the DISABLE_FTM___foo macros. Instead, systematically
define a _HAS_NO_FOO macro, which makes it easier to understand how to
add availability markup for a new platform.

Differential Revision: https://reviews.llvm.org/D147226
13 files changed:
libcxx/include/__availability
libcxx/include/__verbose_abort
libcxx/include/version
libcxx/test/libcxx/assertions/deprecated-link-time-custom-handler.pass.cpp
libcxx/test/libcxx/assertions/headers_declare_verbose_abort.sh.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/barrier.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/filesystem.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/latch.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/semaphore.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
libcxx/utils/generate_feature_test_macro_components.py