[PATCH] D14409: Remove visibility attributes from out-of-class method definitions in iostreams.

Evgeniy Stepanov via cfe-commits cfe-commits at lists.llvm.org
Wed Dec 9 15:31:12 PST 2015


eugenis added a comment.

In http://reviews.llvm.org/D14409#306531, @eugenis wrote:

> In http://reviews.llvm.org/D14409#306379, @eugenis wrote:
>
> > In http://reviews.llvm.org/D14409#306272, @EricWF wrote:
> >
> > > Does the `inline` keyword have any effect when it's on function definitions that are externally instantiated?
> >
> >
> > I could not detect any difference in behavior with or without inline keyword.
> >  Remove it?
>
>
> Actually, remove the inline breaks tests, because now the method is declared hidden (in-class), so template instantiation in libc++.so produces a hidden symbol.
>
> As an alternative, we could remove both "inline" and the in-class hidden attribute.


So, we can not remove "inline" because without it always_inline does not seem to have any effect.
We can remove always_inline from the declarations, but that would add a few more exported symbols to libc++.

I'll land this change as is, if you don't mind.


Repository:
  rL LLVM

http://reviews.llvm.org/D14409





More information about the cfe-commits mailing list