diff options
author | Krystian Stasiowski <sdkrystian@gmail.com> | 2024-04-19 13:20:36 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-19 13:20:36 -0400 |
commit | ab22504479cb7b8985855aa2f2c851390bc1d167 (patch) | |
tree | aca256e61398cff8b6d3c4316a1a9bbec879006a | |
parent | 6bbccd2516c3a843809a8303da48abce58a88855 (diff) | |
download | llvm-ab22504479cb7b8985855aa2f2c851390bc1d167.zip llvm-ab22504479cb7b8985855aa2f2c851390bc1d167.tar.gz llvm-ab22504479cb7b8985855aa2f2c851390bc1d167.tar.bz2 |
[libc++] Fix usage of 'exclude_from_explicit_instantiation' attribute on local class members (#89377)
#88777 adds a warning for when the `exclude_from_explicit_instantiation`
attribute is applied to local classes and members thereof. This patch
addresses the few instances of `exclude_from_explicit_instantiation`
being applied to local class members in libc++.
-rw-r--r-- | libcxx/include/__memory/uses_allocator_construction.h | 8 | ||||
-rw-r--r-- | libcxx/include/variant | 4 |
2 files changed, 5 insertions, 7 deletions
diff --git a/libcxx/include/__memory/uses_allocator_construction.h b/libcxx/include/__memory/uses_allocator_construction.h index 9b7262b..5e5819d 100644 --- a/libcxx/include/__memory/uses_allocator_construction.h +++ b/libcxx/include/__memory/uses_allocator_construction.h @@ -184,20 +184,18 @@ __uses_allocator_construction_args(const _Alloc& __alloc, _Type&& __value) noexc struct __pair_constructor { using _PairMutable = remove_cv_t<_Pair>; - _LIBCPP_HIDE_FROM_ABI constexpr auto __do_construct(const _PairMutable& __pair) const { + _LIBCPP_HIDDEN constexpr auto __do_construct(const _PairMutable& __pair) const { return std::__make_obj_using_allocator<_PairMutable>(__alloc_, __pair); } - _LIBCPP_HIDE_FROM_ABI constexpr auto __do_construct(_PairMutable&& __pair) const { + _LIBCPP_HIDDEN constexpr auto __do_construct(_PairMutable&& __pair) const { return std::__make_obj_using_allocator<_PairMutable>(__alloc_, std::move(__pair)); } const _Alloc& __alloc_; _Type& __value_; - _LIBCPP_HIDE_FROM_ABI constexpr operator _PairMutable() const { - return __do_construct(std::forward<_Type>(this->__value_)); - } + _LIBCPP_HIDDEN constexpr operator _PairMutable() const { return __do_construct(std::forward<_Type>(__value_)); } }; return std::make_tuple(__pair_constructor{__alloc, __value}); diff --git a/libcxx/include/variant b/libcxx/include/variant index 1b5e84e..858a49b 100644 --- a/libcxx/include/variant +++ b/libcxx/include/variant @@ -909,8 +909,8 @@ protected: __a.__value = std::forward<_Arg>(__arg); } else { struct { - _LIBCPP_HIDE_FROM_ABI void operator()(true_type) const { __this->__emplace<_Ip>(std::forward<_Arg>(__arg)); } - _LIBCPP_HIDE_FROM_ABI void operator()(false_type) const { + _LIBCPP_HIDDEN void operator()(true_type) const { __this->__emplace<_Ip>(std::forward<_Arg>(__arg)); } + _LIBCPP_HIDDEN void operator()(false_type) const { __this->__emplace<_Ip>(_Tp(std::forward<_Arg>(__arg))); } __assignment* __this; |