summaryrefslogtreecommitdiffstats
path: root/libcxx/docs/DesignDocs/VisibilityMacros.rst
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/docs/DesignDocs/VisibilityMacros.rst')
-rw-r--r--libcxx/docs/DesignDocs/VisibilityMacros.rst11
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
OpenPOWER on IntegriCloud