[libcxx-commits] [libcxx] [libc++] Remove _LIBCPP_DISABLE_AVAILABILITY macro (PR #112952)

via libcxx-commits libcxx-commits at lists.llvm.org
Mon Oct 21 02:45:22 PDT 2024


================
@@ -85,6 +85,9 @@ Deprecations and Removals
 - The function ``__libcpp_verbose_abort()`` is now ``noexcept``, to match ``std::terminate()``. (The combination of
   ``noexcept`` and ``[[noreturn]]`` has special significance for function effects analysis.)
 
+- The ``_LIBCPP_DISABLE_AVAILABILITY`` macro that was used to force-disable availability markup has now been removed.
+  Whether availability markup is used by the library is now solely controlled at configuration-time.
----------------
h-vetinari wrote:

> I don't know exactly what kind of hacky solution you're using, but you probably want to inject your own `__config_site`.

If that makes it possible to tell clang to ignore the system libcxx and use the one we're shipping, that'd be great! That's really the key issue we're working around.

> If you ship your own libc++ you shouldn't enable availability annotations.

Yeah, I can understand that. Our case is simple though - our availability annotations are equivalent to what the current(==newest) version of libcxx supports, so it's equivalent to `_LIBCPP_DISABLE_AVAILABILITY` for that version AFAIU. (and there's some details w.r.t. libc++abi that I'm leaving out, see discussion in #110920).


https://github.com/llvm/llvm-project/pull/112952


More information about the libcxx-commits mailing list