[libcxx-commits] [libcxx] [libc++] Introduce ABI sensitive areas to avoid requiring _LIBCPP_HIDE_FROM_ABI everywhere (PR #131156)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed May 7 07:48:38 PDT 2025


================
@@ -559,6 +559,18 @@ typedef __char32_t char32_t;
 #  endif
 
 // clang-format off
+#  define _LIBCPP_BEGIN_HIDE_FROM_ABI                                                                                  \
----------------
ldionne wrote:

I feel that the name of this macro is misleading, since this doesn't do the same thing as `_LIBCPP_HIDE_FROM_ABI`. Maybe just don't introduce this macro and use `_LIBCPP_BEGIN_ABI_SENSITIVE` directly?

In fact, we could also use something like `_LIBCPP_BEGIN_EXPLICIT_ABI` or `_LIBCPP_BEGIN_EXPLICIT_ABI_ANNOTATIONS` instead of `ABI_SENSITIVE`. This could also remove potential confusion about things like `join_view` not being "ABI sensitive", which they totally are (e.g. you still can't reorder data members after introducing the mechanism in this patch).

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


More information about the libcxx-commits mailing list