[libcxx-commits] [PATCH] D129968: [libc++] Add a bunch of missing _LIBCPP_HIDE_FROM_ABI

Nikolas Klauser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Tue Aug 9 07:36:08 PDT 2022


philnik added a comment.

In D129968#3709765 <https://reviews.llvm.org/D129968#3709765>, @jloser wrote:

> This is an interesting change - I like the systematic way of finding all the functions missing the hidden visibility markup. Nice job!
>
> In the future, I'd love if we didn't have to write the markup at all for hidden visibility and instead have that be the default visibility at namespace scope in `libc++`. This inverts the current behavior and would mean we would mark up the functions we want to be exported in the dynamic libs which are far fewer than the ones we want to hide. That's a bigger change and can be addressed after this if desired. It's something @ldionne and I spoke about briefly a while back.

I think that's planned, but it's a bit more complicated, since `_LIBCPP_HIDE_FROM_ABI` also adds `__attribute__((__abi_tag__("<libc++ version>")))`. We'd need an `inline namespace <libc++ version> _LIBCPP_HIDDEN {}` or something like that. That would also remove the `always_inline` when using GCC.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129968/new/

https://reviews.llvm.org/D129968



More information about the libcxx-commits mailing list