[PATCH] D50652: [libcxx] By default, do not use internal_linkage to hide symbols from the ABI

Reid Kleckner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 13 13:20:07 PDT 2018


rnk added a comment.

In https://reviews.llvm.org/D50652#1197780, @ldionne wrote:

> One thing to keep in mind is that we do not have a solution that allows removing both `internal_linkage` and `always_inline`. It's either `internal_linkage` or `always_inline`, but you can't get rid of both until we fix some problems with extern template declarations and visibility attributes. What I can do, however, is reverse the default to use `internal_linkage`, and then have a temporary hook that allows Chromium to stay on `always_inline`. In the future, we'd remove that hook and the choice would be between `internal_linkage` and nothing at all.


It's probably worth it to me to debug and understand that problem. Is there a good explanation of it?

Also, if a user could define _LIBCPP_ABI_UNSTABLE, does this problem still apply? Could we remove the problematic visibility attributes if the ABI is unstable?


Repository:
  rCXX libc++

https://reviews.llvm.org/D50652





More information about the cfe-commits mailing list