[libcxx-commits] [PATCH] D154796: [libc++] Recategorize additional instantiations in the dylib as availability macros
Nikolas Klauser via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jul 11 12:34:28 PDT 2023
philnik added inline comments.
================
Comment at: libcxx/include/__availability:180
+// using that class define their own copies.
+# define _LIBCPP_AVAILABILITY_ENABLE_BAD_FUNCTION_CALL_KEY_FUNCTION
+# define _LIBCPP_AVAILABILITY_ENABLE_ADDITIONAL_IOSTREAM_EXPLICIT_INSTANTIATIONS_1
----------------
ldionne wrote:
> I would turn these conditions around instead and use `HAS_NO_XXX` like all the other availability macros.
I think it makes sense to do it this way, since these are "we added them later" instead of "this is the minimum OS version for this feature".
================
Comment at: libcxx/include/__config:176-181
-// For XCOFF linkers, we have problems if we see a weak hidden version of a symbol
-// in user code (like you get with -fvisibility-inlines-hidden) and then a strong def
-// in the library, so we need to always rely on the library version.
-# if defined(_AIX)
-# define _LIBCPP_ABI_BAD_FUNCTION_CALL_KEY_FUNCTION
-# endif
----------------
ldionne wrote:
> This needs to be translated to the availability, or it'll fail on FreeBSD. FreeBSD doesn't currently enable availability markup, but that is probably needed as a pre-requisite. We could start by unconditionally pretending that all the `_LIBCPP_AVAILABILITY_XXXXXXXX` are enabled on FreeBSD, which would be equivalent to what they have today.
I'm a bit confused. This has nothing to do with FreeBSD.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D154796/new/
https://reviews.llvm.org/D154796
More information about the libcxx-commits
mailing list