diff --git a/libcxx/include/__memory/raw_storage_iterator.h b/libcxx/include/__memory/raw_storage_iterator.h --- a/libcxx/include/__memory/raw_storage_iterator.h +++ b/libcxx/include/__memory/raw_storage_iterator.h @@ -25,8 +25,10 @@ _LIBCPP_BEGIN_NAMESPACE_STD +#if _LIBCPP_STD_VER <= 17 + template -class _LIBCPP_TEMPLATE_VIS raw_storage_iterator +class _LIBCPP_TEMPLATE_VIS _LIBCPP_DEPRECATED_IN_CXX17 raw_storage_iterator : public iterator + +#include "test_macros.h" + +std::raw_storage_iterator it(nullptr); +// expected-warning@-1{{'raw_storage_iterator' is deprecated}} diff --git a/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.base.pass.cpp b/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.base.pass.cpp --- a/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.base.pass.cpp +++ b/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.base.pass.cpp @@ -6,6 +6,8 @@ // //===----------------------------------------------------------------------===// +// UNSUPPORTED: c++20, c++2b + // raw_storage_iterator #include @@ -14,6 +16,8 @@ #include "test_macros.h" +#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS + #if TEST_STD_VER >= 11 #define DELETE_FUNCTION = delete #else diff --git a/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp b/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp --- a/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp +++ b/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp @@ -6,8 +6,12 @@ // //===----------------------------------------------------------------------===// +// UNSUPPORTED: c++20, c++2b + // raw_storage_iterator +#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS + #include #include #include