diff --git a/libcxx/docs/ReleaseNotes/19.rst b/libcxx/docs/ReleaseNotes/19.rst index 83fcd40bb80cc..a0894c755511a 100644 --- a/libcxx/docs/ReleaseNotes/19.rst +++ b/libcxx/docs/ReleaseNotes/19.rst @@ -43,7 +43,6 @@ Implemented Papers - P2819R2 - Add ``tuple`` protocol to ``complex`` - P2495R3 - Interfacing ``stringstream``\s with ``string_view`` - P2867R2 - Remove Deprecated ``strstream``\s From C++26 -- P2869R4 - Remove Deprecated ``shared_ptr`` Atomic Access APIs from C++26 - P2872R3 - Remove ``wstring_convert`` From C++26 - P3142R0 - Printing Blank Lines with ``println`` (as DR against C++23) - P2944R3 - Comparisons for ``reference_wrapper`` (comparison operators for ``reference_wrapper`` only) @@ -68,9 +67,6 @@ Improvements and New Features - The ``_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM`` macro has been added to make the declarations in ```` available. -- The ``_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS`` macro has been added to make the declarations in ```` - available. - - The ``_LIBCPP_ENABLE_CXX26_REMOVED_WSTRING_CONVERT`` macro has been added to make the declarations in ```` available. diff --git a/libcxx/docs/Status/Cxx20.rst b/libcxx/docs/Status/Cxx20.rst index b08b99394fbb7..c00d6fb237286 100644 --- a/libcxx/docs/Status/Cxx20.rst +++ b/libcxx/docs/Status/Cxx20.rst @@ -58,8 +58,6 @@ Paper Status * ``GPS clock`` not done * ``UTC clock`` not done - .. [#note-P0718] P0718: Implemented deprecation of ``shared_ptr`` atomic access APIs only. - .. _issues-status-cxx20: Library Working Group Issues Status diff --git a/libcxx/docs/Status/Cxx20Papers.csv b/libcxx/docs/Status/Cxx20Papers.csv index 955aa5f614afb..b1097f44196d8 100644 --- a/libcxx/docs/Status/Cxx20Papers.csv +++ b/libcxx/docs/Status/Cxx20Papers.csv @@ -12,7 +12,7 @@ "`P0600R1 `__","LWG","nodiscard in the Library","Albuquerque","|Complete|","16.0" "`P0616R0 `__","LWG","de-pessimize legacy algorithms with std::move","Albuquerque","|Complete|","12.0" "`P0653R2 `__","LWG","Utility to convert a pointer to a raw pointer","Albuquerque","|Complete|","6.0" -"`P0718R2 `__","LWG","Atomic shared_ptr","Albuquerque","|Partial| [#note-P0718]_","" +"`P0718R2 `__","LWG","Atomic shared_ptr","Albuquerque","","" "`P0767R1 `__","CWG","Deprecate POD","Albuquerque","|Complete|","7.0" "`P0768R1 `__","CWG","Library Support for the Spaceship (Comparison) Operator","Albuquerque","|Complete|","" "`P0777R1 `__","LWG","Treating Unnecessary ``decay``\ ","Albuquerque","|Complete|","7.0" diff --git a/libcxx/docs/Status/Cxx2cPapers.csv b/libcxx/docs/Status/Cxx2cPapers.csv index 30a601858b63a..ea060f18acdee 100644 --- a/libcxx/docs/Status/Cxx2cPapers.csv +++ b/libcxx/docs/Status/Cxx2cPapers.csv @@ -48,7 +48,7 @@ "","","","","","","" "`P2875R4 `__","LWG","Undeprecate ``polymorphic_allocator::destroy`` for C++26","Tokyo March 2024","|Complete|","15.0","" "`P2867R2 `__","LWG","Remove Deprecated ``strstreams`` From C++26","Tokyo March 2024","|Complete|","19.0","" -"`P2869R4 `__","LWG","Remove Deprecated ``shared_ptr`` Atomic Access APIs from C++26","Tokyo March 2024","|Complete|","19.0","" +"`P2869R4 `__","LWG","Remove Deprecated ``shared_ptr`` Atomic Access APIs from C++26","Tokyo March 2024","","","" "`P2872R3 `__","LWG","Remove ``wstring_convert`` From C++26","Tokyo March 2024","|Complete|","19.0","" "`P3107R5 `__","LWG","Permit an efficient implementation of ``std::print``","Tokyo March 2024","","","|format| |DR|" "`P3142R0 `__","LWG","Printing Blank Lines with ``println``","Tokyo March 2024","|Complete| [#note-P3142R0]_","19.0","|format|" diff --git a/libcxx/docs/UsingLibcxx.rst b/libcxx/docs/UsingLibcxx.rst index 0fdaeb433ac6a..df08875c13bea 100644 --- a/libcxx/docs/UsingLibcxx.rst +++ b/libcxx/docs/UsingLibcxx.rst @@ -252,14 +252,10 @@ C++26 Specific Configuration Macros **_LIBCPP_ENABLE_CXX26_REMOVED_STRSTREAM**: This macro is used to re-enable all named declarations in ````. -**_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS**: - This macro is used to re-enable all ``shared_ptr`` atomic access APIs in ````. - **_LIBCPP_ENABLE_CXX26_REMOVED_WSTRING_CONVERT**: This macro is used to re-enable the ``wstring_convert`` and ``wbuffer_convert`` in ````. - Libc++ Extensions ================= diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h index 992b1ba43f100..a8ff189df2aa5 100644 --- a/libcxx/include/__memory/shared_ptr.h +++ b/libcxx/include/__memory/shared_ptr.h @@ -1580,15 +1580,13 @@ class _LIBCPP_EXPORTED_FROM_ABI __sp_mut { _LIBCPP_EXPORTED_FROM_ABI __sp_mut& __get_sp_mut(const void*); -# if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS) - template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool atomic_is_lock_free(const shared_ptr<_Tp>*) { +inline _LIBCPP_HIDE_FROM_ABI bool atomic_is_lock_free(const shared_ptr<_Tp>*) { return false; } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> atomic_load(const shared_ptr<_Tp>* __p) { +_LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> atomic_load(const shared_ptr<_Tp>* __p) { __sp_mut& __m = std::__get_sp_mut(__p); __m.lock(); shared_ptr<_Tp> __q = *__p; @@ -1597,13 +1595,12 @@ _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> atomic_load(co } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> -atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order) { +inline _LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order) { return std::atomic_load(__p); } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI void atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { +_LIBCPP_HIDE_FROM_ABI void atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { __sp_mut& __m = std::__get_sp_mut(__p); __m.lock(); __p->swap(__r); @@ -1611,14 +1608,12 @@ _LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI void atomic_store(shared_ptr<_ } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI void -atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order) { +inline _LIBCPP_HIDE_FROM_ABI void atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order) { std::atomic_store(__p, __r); } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> -atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { +_LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { __sp_mut& __m = std::__get_sp_mut(__p); __m.lock(); __p->swap(__r); @@ -1627,13 +1622,13 @@ atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) { } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> +inline _LIBCPP_HIDE_FROM_ABI shared_ptr<_Tp> atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, memory_order) { return std::atomic_exchange(__p, __r); } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool +_LIBCPP_HIDE_FROM_ABI bool atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w) { shared_ptr<_Tp> __temp; __sp_mut& __m = std::__get_sp_mut(__p); @@ -1651,25 +1646,23 @@ atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, share } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool +inline _LIBCPP_HIDE_FROM_ABI bool atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w) { return std::atomic_compare_exchange_strong(__p, __v, __w); } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool atomic_compare_exchange_strong_explicit( +inline _LIBCPP_HIDE_FROM_ABI bool atomic_compare_exchange_strong_explicit( shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w, memory_order, memory_order) { return std::atomic_compare_exchange_strong(__p, __v, __w); } template -_LIBCPP_DEPRECATED_IN_CXX20 _LIBCPP_HIDE_FROM_ABI bool atomic_compare_exchange_weak_explicit( +inline _LIBCPP_HIDE_FROM_ABI bool atomic_compare_exchange_weak_explicit( shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, shared_ptr<_Tp> __w, memory_order, memory_order) { return std::atomic_compare_exchange_weak(__p, __v, __w); } -# endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS) - #endif // !defined(_LIBCPP_HAS_NO_THREADS) _LIBCPP_END_NAMESPACE_STD diff --git a/libcxx/include/memory b/libcxx/include/memory index 30fadce760d75..a8c0264eb9eb7 100644 --- a/libcxx/include/memory +++ b/libcxx/include/memory @@ -830,34 +830,34 @@ public: }; template - bool atomic_is_lock_free(const shared_ptr* p); // Deprecated in C++20, removed in C++26 + bool atomic_is_lock_free(const shared_ptr* p); template - shared_ptr atomic_load(const shared_ptr* p); // Deprecated in C++20, removed in C++26 + shared_ptr atomic_load(const shared_ptr* p); template - shared_ptr atomic_load_explicit(const shared_ptr* p, memory_order mo); // Deprecated in C++20, removed in C++26 + shared_ptr atomic_load_explicit(const shared_ptr* p, memory_order mo); template - void atomic_store(shared_ptr* p, shared_ptr r); // Deprecated in C++20, removed in C++26 + void atomic_store(shared_ptr* p, shared_ptr r); template - void atomic_store_explicit(shared_ptr* p, shared_ptr r, memory_order mo); // Deprecated in C++20, removed in C++26 + void atomic_store_explicit(shared_ptr* p, shared_ptr r, memory_order mo); template - shared_ptr atomic_exchange(shared_ptr* p, shared_ptr r); // Deprecated in C++20, removed in C++26 + shared_ptr atomic_exchange(shared_ptr* p, shared_ptr r); template shared_ptr - atomic_exchange_explicit(shared_ptr* p, shared_ptr r, memory_order mo); // Deprecated in C++20, removed in C++26 + atomic_exchange_explicit(shared_ptr* p, shared_ptr r, memory_order mo); template bool - atomic_compare_exchange_weak(shared_ptr* p, shared_ptr* v, shared_ptr w); // Deprecated in C++20, removed in C++26 + atomic_compare_exchange_weak(shared_ptr* p, shared_ptr* v, shared_ptr w); template bool - atomic_compare_exchange_strong( shared_ptr* p, shared_ptr* v, shared_ptr w); // Deprecated in C++20, removed in C++26 + atomic_compare_exchange_strong( shared_ptr* p, shared_ptr* v, shared_ptr w); template bool - atomic_compare_exchange_weak_explicit(shared_ptr* p, shared_ptr* v, // Deprecated in C++20, removed in C++26 + atomic_compare_exchange_weak_explicit(shared_ptr* p, shared_ptr* v, shared_ptr w, memory_order success, memory_order failure); template bool - atomic_compare_exchange_strong_explicit(shared_ptr* p, shared_ptr* v, // Deprecated in C++20, removed in C++26 + atomic_compare_exchange_strong_explicit(shared_ptr* p, shared_ptr* v, shared_ptr w, memory_order success, memory_order failure); // Hash support diff --git a/libcxx/modules/std/memory.inc b/libcxx/modules/std/memory.inc index b23c27707afd6..56c621c0cf17f 100644 --- a/libcxx/modules/std/memory.inc +++ b/libcxx/modules/std/memory.inc @@ -190,9 +190,6 @@ export namespace std { // using std::inout_ptr; #ifndef _LIBCPP_HAS_NO_THREADS - -# if _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS) - // [depr.util.smartptr.shared.atomic] using std::atomic_is_lock_free; @@ -209,8 +206,5 @@ export namespace std { using std::atomic_compare_exchange_strong_explicit; using std::atomic_compare_exchange_weak; using std::atomic_compare_exchange_weak_explicit; - -# endif // _LIBCPP_STD_VER < 26 || defined(_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS) - #endif // _LIBCPP_HAS_NO_THREADS } // namespace std diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp deleted file mode 100644 index 3ca01cad451a2..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,32 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// bool -// atomic_compare_exchange_strong(shared_ptr* p, shared_ptr* v, -// shared_ptr w); // Deprecated in C++20, removed in C++26 - -#include -#include -#include - -void test() { - std::shared_ptr p(new int(4)); - std::shared_ptr v(new int(3)); - std::shared_ptr w(new int(2)); - // expected-warning@+1 {{'atomic_compare_exchange_strong' is deprecated}} - std::ignore = std::atomic_compare_exchange_strong(&p, &v, w); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp deleted file mode 100644 index 93384772c8afc..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.depr_in_cxx20.verify.cpp +++ /dev/null @@ -1,34 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// bool -// atomic_compare_exchange_strong_explicit(shared_ptr* p, shared_ptr* v, -// shared_ptr w, memory_order success, -// memory_order failure); // Deprecated in C++20, removed in C++26 - -#include -#include -#include - -void test() { - std::shared_ptr p(new int(4)); - std::shared_ptr v(new int(3)); - std::shared_ptr w(new int(2)); - // expected-warning@+2 {{'atomic_compare_exchange_strong_explicit' is deprecated}} - std::ignore = - std::atomic_compare_exchange_strong_explicit(&p, &v, w, std::memory_order_seq_cst, std::memory_order_seq_cst); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp deleted file mode 100644 index 30ca70523fb64..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,31 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// bool -// atomic_compare_exchange_weak(shared_ptr* p, shared_ptr* v, -// shared_ptr w); // Deprecated in C++20, removed in C++26 - -#include -#include - -int main(int, char**) { - std::shared_ptr p(new int(4)); - std::shared_ptr v(new int(3)); - std::shared_ptr w(new int(2)); - // expected-warning@+1 {{'atomic_compare_exchange_weak' is deprecated}} - std::ignore = std::atomic_compare_exchange_weak(&p, &v, w); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp deleted file mode 100644 index ae6e98d0692d2..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,34 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// bool -// atomic_compare_exchange_weak_explicit(shared_ptr* p, shared_ptr* v, -// shared_ptr w, memory_order success, -// memory_order failure); // Deprecated in C++20, removed in C++26 - -#include -#include -#include - -void test() { - std::shared_ptr p(new int(4)); - std::shared_ptr v(new int(3)); - std::shared_ptr w(new int(2)); - // expected-warning@+2 {{'atomic_compare_exchange_weak_explicit' is deprecated}} - std::ignore = - std::atomic_compare_exchange_weak_explicit(&p, &v, w, std::memory_order_seq_cst, std::memory_order_seq_cst); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp deleted file mode 100644 index 0e4bc1bc50b18..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// shared_ptr -// atomic_exchange(shared_ptr* p, shared_ptr r) // Deprecated in C++20, removed in C++26 - -#include -#include - -void test() { - std::shared_ptr p(new int(4)); - std::shared_ptr r(new int(3)); - // expected-warning@+1 {{'atomic_exchange' is deprecated}} - std::ignore = std::atomic_exchange(&p, r); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp deleted file mode 100644 index 5a6a2bfe4c1e2..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_exchange_explicit.verify.depr_in_cxx20..cpp +++ /dev/null @@ -1,30 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// shared_ptr -// atomic_exchange_explicit(shared_ptr* p, shared_ptr r) // Deprecated in C++20, removed in C++26 - -#include -#include -#include - -void test() { - std::shared_ptr p(new int(4)); - std::shared_ptr r(new int(3)); - // expected-warning@+1 {{'atomic_exchange_explicit' is deprecated}} - std::ignore = std::atomic_exchange_explicit(&p, r, std::memory_order_seq_cst); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp deleted file mode 100644 index 6799d31ce1fa9..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_is_lock_free.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// bool -// atomic_is_lock_free(const shared_ptr* p); // Deprecated in C++20, removed in C++26 - -#include -#include - -void test() { - const std::shared_ptr p(new int(3)); - // expected-warning@+1 {{'atomic_is_lock_free' is deprecated}} - std::ignore = std::atomic_is_lock_free(&p); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp deleted file mode 100644 index 768ad0ded983e..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// shared_ptr -// atomic_load(const shared_ptr* p) // Deprecated in C++20, removed in C++26 - -#include -#include - -void test() { - std::shared_ptr p(new int(3)); - // expected-warning@+1 {{'atomic_load' is deprecated}} - std::ignore = std::atomic_load(&p); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp deleted file mode 100644 index dc56193324f04..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_load_explicit.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// shared_ptr -// atomic_load_explicit(const shared_ptr* p, memory_order mo) // Deprecated in C++20, removed in C++26 - -#include -#include -#include - -void test() { - const std::shared_ptr p(new int(3)); - // expected-warning@+1 {{'atomic_load_explicit' is deprecated}} - std::ignore = std::atomic_load_explicit(&p, std::memory_order_relaxed); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp deleted file mode 100644 index 38b8df6f24393..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,28 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// void -// atomic_store(shared_ptr* p, shared_ptr r) // Deprecated in C++20, removed in C++26 - -#include - -void test() { - std::shared_ptr p; - std::shared_ptr r(new int(3)); - // expected-warning@+1 {{'atomic_store' is deprecated}} - std::atomic_store(&p, r); -} diff --git a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp b/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp deleted file mode 100644 index 18f59c4618699..0000000000000 --- a/libcxx/test/libcxx/depr/depr.util.smartptr.shared.atomic/atomic_store_explicit.depr_in_cxx20..verify.cpp +++ /dev/null @@ -1,29 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// UNSUPPORTED: no-threads -// UNSUPPORTED: c++03, c++11, c++14, c++17 - -// - -// shared_ptr - -// template -// void -// atomic_store_explicit(shared_ptr* p, shared_ptr r, memory_order mo) // Deprecated in C++20, removed in C++26 - -#include -#include - -void test() { - std::shared_ptr p; - std::shared_ptr r(new int(3)); - // expected-warning@+1 {{'atomic_store_explicit' is deprecated}} - std::atomic_store_explicit(&p, r, std::memory_order_seq_cst); -} diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp index ad9d2a9d9ccc0..37be6ceea3e09 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -17,7 +15,7 @@ // template // bool // atomic_compare_exchange_strong(shared_ptr* p, shared_ptr* v, -// shared_ptr w); // Deprecated in C++20, removed in C++26 +// shared_ptr w); // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp index 26496df96d472..3965863b86ccf 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -18,7 +16,7 @@ // bool // atomic_compare_exchange_strong_explicit(shared_ptr* p, shared_ptr* v, // shared_ptr w, memory_order success, -// memory_order failure); // Deprecated in C++20, removed in C++26 +// memory_order failure); // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp index 5cdc0ea3312ff..6dd04f924a105 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -17,7 +15,7 @@ // template // bool // atomic_compare_exchange_weak(shared_ptr* p, shared_ptr* v, -// shared_ptr w); // Deprecated in C++20, removed in C++26 +// shared_ptr w); // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp index e4cc4cf77a64e..4837fa9793a5e 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -18,7 +16,7 @@ // bool // atomic_compare_exchange_weak_explicit(shared_ptr* p, shared_ptr* v, // shared_ptr w, memory_order success, -// memory_order failure); // Deprecated in C++20, removed in C++26 +// memory_order failure); // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp index db02c9d9f75b4..f488e0ed1d14e 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -16,7 +14,7 @@ // template // shared_ptr -// atomic_exchange(shared_ptr* p, shared_ptr r) // Deprecated in C++20, removed in C++26 +// atomic_exchange(shared_ptr* p, shared_ptr r) // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp index 704232e71fa4a..1945f7bba6dc0 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -16,7 +14,7 @@ // template // shared_ptr -// atomic_exchange_explicit(shared_ptr* p, shared_ptr r) // Deprecated in C++20, removed in C++26 +// atomic_exchange_explicit(shared_ptr* p, shared_ptr r) // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp index 8f3b5bbb51558..37f7d12eda2c6 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -16,7 +14,7 @@ // template // bool -// atomic_is_lock_free(const shared_ptr* p); // Deprecated in C++20, removed in C++26 +// atomic_is_lock_free(const shared_ptr* p); // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp index 9d81e81b4392b..1b9a15ac92ac1 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -16,7 +14,7 @@ // template // shared_ptr -// atomic_load(const shared_ptr* p) // Deprecated in C++20, removed in C++26 +// atomic_load(const shared_ptr* p) // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp index f4875dce38a81..5c2970133328f 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -16,7 +14,7 @@ // template // shared_ptr -// atomic_load_explicit(const shared_ptr* p, memory_order mo) // Deprecated in C++20, removed in C++26 +// atomic_load_explicit(const shared_ptr* p, memory_order mo) // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp index 836dcb16ff32e..5b7bd5fad69c4 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -16,7 +14,7 @@ // template // void -// atomic_store(shared_ptr* p, shared_ptr r) // Deprecated in C++20, removed in C++26 +// atomic_store(shared_ptr* p, shared_ptr r) // UNSUPPORTED: c++03 diff --git a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp index 85b31c017d736..5712190421308 100644 --- a/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp +++ b/libcxx/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp @@ -5,9 +5,7 @@ // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// - -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_ENABLE_CXX26_REMOVED_SHARED_PTR_ATOMICS -// ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS +// // UNSUPPORTED: no-threads // @@ -16,7 +14,7 @@ // template // void -// atomic_store_explicit(shared_ptr* p, shared_ptr r, memory_order mo) // Deprecated in C++20, removed in C++26 +// atomic_store_explicit(shared_ptr* p, shared_ptr r, memory_order mo) // UNSUPPORTED: c++03