diff options
Diffstat (limited to 'libcxx/docs/DesignDocs/VisibilityMacros.rst')
-rw-r--r-- | libcxx/docs/DesignDocs/VisibilityMacros.rst | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/libcxx/docs/DesignDocs/VisibilityMacros.rst b/libcxx/docs/DesignDocs/VisibilityMacros.rst index 67886e392ae..861cc04ac45 100644 --- a/libcxx/docs/DesignDocs/VisibilityMacros.rst +++ b/libcxx/docs/DesignDocs/VisibilityMacros.rst @@ -92,14 +92,13 @@ Visibility Macros On all other platforms, this macro has an empty definition. **_LIBCPP_EXTERN_TEMPLATE_INLINE_VISIBILITY** - Mark a member function of a class template as hidden and inline except when - building the libc++ library where it marks the symbol as being exported by - the library. + Mark a member function of a class template as visible and always inline. This + macro should only be applied to member functions of class templates that are + externally instantiated. It is important that these symbols are not marked + as hidden as that will prevent the dylib definition from being found. This macro is used to maintain ABI compatibility for symbols that have been - historically exported by the libc++ library but are now marked inline. It - should only be applied to member functions of class templates that are - externally instantiated. + historically exported by the libc++ library but are now marked inline. **_LIBCPP_EXCEPTION_ABI** Mark the member functions, typeinfo, and vtable of the type as being exported |