ldionne added a comment.

In https://reviews.llvm.org/D50652#1197830, @rnk wrote:

> 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?


http://lists.llvm.org/pipermail/llvm-dev/2018-July/124549.html

This is understood, it just needs more work than we can reasonably expect to 
get into LLVM 7.

> 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?

I guess in that case, we could simply remove _all_ visibility attributes (and 
linkage attributes). libc++ may end up exporting more symbols than we want, but 
defining `_LIBCPP_ABI_UNSTABLE` would explicitly state that we don't care about 
that. Doing this is a possibility, but don't think this is the way we want to 
solve the problem at hand.


Repository:
  rCXX libc++

https://reviews.llvm.org/D50652



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to