diff options
author | Louis Dionne <ldionne@apple.com> | 2018-07-05 16:49:38 +0000 |
---|---|---|
committer | Louis Dionne <ldionne@apple.com> | 2018-07-05 16:49:38 +0000 |
commit | 4a8f3f994821e752319b9c76ed772ec0c40b5d03 (patch) | |
tree | 86d340f53f5390eb645f05444d55b02111914b3b /libcxx/docs/DesignDocs | |
parent | 14c922a240a7dd9f4ade63f5dd319cbd19678dc6 (diff) | |
download | bcm5719-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.rst | 8 |
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. |