[libc++] Take 2: 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.
Note that this commit had originally been applied in r336369 and then
reverted in r336382 because of unforeseen problems. Both of these problems
have now been fixed.
Reviewers: EricWF, mclow.lists
Subscribers: christof, dexonsmith, erikvanderpoel
Differential Revision: https://reviews.llvm.org/D48892
llvm-svn: 336866
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: dc7200b486b6c5b5229abcee97c160145cc3d955
diff --git a/include/experimental/filesystem b/include/experimental/filesystem
index f29e23e..1ca1796 100644
--- a/include/experimental/filesystem
+++ b/include/experimental/filesystem
@@ -470,23 +470,23 @@
file_status& operator=(file_status&&) _NOEXCEPT = default;
// observers
- _LIBCPP_ALWAYS_INLINE
+ _LIBCPP_INLINE_VISIBILITY
file_type type() const _NOEXCEPT {
return __ft_;
}
- _LIBCPP_ALWAYS_INLINE
+ _LIBCPP_INLINE_VISIBILITY
perms permissions() const _NOEXCEPT {
return __prms_;
}
// modifiers
- _LIBCPP_ALWAYS_INLINE
+ _LIBCPP_INLINE_VISIBILITY
void type(file_type __ft) _NOEXCEPT {
__ft_ = __ft;
}
- _LIBCPP_ALWAYS_INLINE
+ _LIBCPP_INLINE_VISIBILITY
void permissions(perms __p) _NOEXCEPT {
__prms_ = __p;
}
@@ -1106,7 +1106,7 @@
string_type __pn_;
};
-inline _LIBCPP_ALWAYS_INLINE
+inline _LIBCPP_INLINE_VISIBILITY
void swap(path& __lhs, path& __rhs) _NOEXCEPT {
__lhs.swap(__rhs);
}
@@ -1298,7 +1298,7 @@
};
template <class... _Args>
-_LIBCPP_NORETURN inline _LIBCPP_ALWAYS_INLINE
+_LIBCPP_NORETURN inline _LIBCPP_INLINE_VISIBILITY
#ifndef _LIBCPP_NO_EXCEPTIONS
void __throw_filesystem_error(_Args && ...__args)
{