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 + +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,8 +6,12 @@ // //===----------------------------------------------------------------------===// +// REQUIRES: c++03 || c++11 || c++14 || c++17 + // raw_storage_iterator +#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS + #include #include #include 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 @@ // //===----------------------------------------------------------------------===// +// REQUIRES: c++03 || c++11 || c++14 || c++17 + // raw_storage_iterator +#define _LIBCPP_DISABLE_DEPRECATION_WARNINGS + #include #include #include