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