summaryrefslogtreecommitdiffstats
path: root/libcxx/docs/DesignDocs
diff options
context:
space:
mode:
authorLouis Dionne <ldionne@apple.com>2018-07-05 16:49:38 +0000
committerLouis Dionne <ldionne@apple.com>2018-07-05 16:49:38 +0000
commit4a8f3f994821e752319b9c76ed772ec0c40b5d03 (patch)
tree86d340f53f5390eb645f05444d55b02111914b3b /libcxx/docs/DesignDocs
parent14c922a240a7dd9f4ade63f5dd319cbd19678dc6 (diff)
downloadbcm5719-llvm-4a8f3f994821e752319b9c76ed772ec0c40b5d03.tar.gz
bcm5719-llvm-4a8f3f994821e752319b9c76ed772ec0c40b5d03.zip
[libc++] Replace uses of _LIBCPP_ALWAYS_INLINE by _LIBCPP_INLINE_VISIBILITY
Summary: We never actually mean to always inline a function -- all the uses of the macro I could find are actually attempts to control the visibility of symbols. This is better described by _LIBCPP_INLINE_VISIBILITY, which is actually always defined the same. This change is orthogonal to the decision of what we're actually going to do with _LIBCPP_INLINE_VISIBILITY -- it just simplifies things by having one canonical way of doing things. Reviewers: EricWF Subscribers: christof, llvm-commits, dexonsmith, erikvanderpoel, mclow.lists Differential Revision: https://reviews.llvm.org/D48892 llvm-svn: 336369
Diffstat (limited to 'libcxx/docs/DesignDocs')
-rw-r--r--libcxx/docs/DesignDocs/VisibilityMacros.rst8
1 files changed, 4 insertions, 4 deletions
diff --git a/libcxx/docs/DesignDocs/VisibilityMacros.rst b/libcxx/docs/DesignDocs/VisibilityMacros.rst
index 993ce2cca5f..69a09974acd 100644
--- a/libcxx/docs/DesignDocs/VisibilityMacros.rst
+++ b/libcxx/docs/DesignDocs/VisibilityMacros.rst
@@ -41,10 +41,10 @@ Visibility Macros
library and has an empty definition otherwise.
**_LIBCPP_INLINE_VISIBILITY**
- Mark a function as hidden and force inlining whenever possible.
-
-**_LIBCPP_ALWAYS_INLINE**
- A synonym for `_LIBCPP_INLINE_VISIBILITY`
+ Mark a function as not being part of the ABI of any final linked image that
+ uses it, and also as being internal to each TU that uses that function. In
+ other words, the address of a function marked with this attribute is not
+ guaranteed to be the same across translation units.
**_LIBCPP_TYPE_VIS**
Mark a type's typeinfo, vtable and members as having default visibility.
OpenPOWER on IntegriCloud