EricWF added a comment.

- I would love to have some documentation in libc++ about always-inline, the 
ABI problem it is trying to solve, and how it falls short. Because you tried to 
fix these semantics in clang would you be willing to write up a short summary 
of when always-inline does and doesn't work.
- If this is about always-inline semantics why are we turning off the 
hidden-visibility part of the macro?
- Can you offer other approaches for hiding internal symbols such as helper 
functions.? For example

  inline _LIBCPP_INLINE_VISIBILITY __foo_impl(); // current way.
  static inline _LIBCPP_HIDDEN __foo_impl(); // better way?
  namespace { inline __foo_impl(); } // a (probably bad) possibility



- The test suite speedup is amazing. Is it possible to safely remove the 
`__always_inline__` attribute from functions in the stable ABI configuration?

It seems like always-inline semantics can hurt our users in debug builds and we 
would benefit from drastically reducing its usage. However I need to understand 
exactly what `__always_inline__` buys us in ABI stability before I can make an 
informed decision on changing its usage.


Repository:
  rL LLVM

http://reviews.llvm.org/D13713



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

Reply via email to