[libcxx] r292986 - Remove auto_ptr in C++17. Get it back by defining _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR

Marshall Clow via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 24 14:22:34 PST 2017


Author: marshall
Date: Tue Jan 24 16:22:33 2017
New Revision: 292986

URL: http://llvm.org/viewvc/llvm-project?rev=292986&view=rev
Log:
Remove auto_ptr in C++17. Get it back by defining _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR

Added:
    libcxx/trunk/test/libcxx/depr/depr.auto.ptr/
    libcxx/trunk/test/libcxx/depr/depr.auto.ptr/auto.ptr/
    libcxx/trunk/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.cxx1z.pass.cpp
Modified:
    libcxx/trunk/include/memory
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/pointer.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/assign_from_auto_ptr_ref.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_from_auto_ptr_ref.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr_ref.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/arrow.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/deref.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/release.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/reset.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/element_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/auto_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp

Modified: libcxx/trunk/include/memory
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/include/memory (original)
+++ libcxx/trunk/include/memory Tue Jan 24 16:22:33 2017
@@ -208,10 +208,10 @@ template <class ForwardIterator>
 template <class ForwardIterator, class Size>
  ForwardIterator uninitialized_default_construct_n(ForwardIterator first, Size n);
 
-template <class Y> struct auto_ptr_ref {};
+template <class Y> struct auto_ptr_ref {};      // removed in C++17
 
 template<class X>
-class auto_ptr
+class auto_ptr                                  // removed in C++17
 {
 public:
     typedef X element_type;
@@ -270,7 +270,7 @@ public:
     template <class U, class E>
         unique_ptr(unique_ptr<U, E>&& u) noexcept;
     template <class U>
-        unique_ptr(auto_ptr<U>&& u) noexcept;
+        unique_ptr(auto_ptr<U>&& u) noexcept;       // removed in C++17
 
     // destructor
     ~unique_ptr();
@@ -404,7 +404,7 @@ public:
     shared_ptr(shared_ptr&& r) noexcept;
     template<class Y> shared_ptr(shared_ptr<Y>&& r) noexcept;
     template<class Y> explicit shared_ptr(const weak_ptr<Y>& r);
-    template<class Y> shared_ptr(auto_ptr<Y>&& r);
+    template<class Y> shared_ptr(auto_ptr<Y>&& r);          // removed in C++17
     template <class Y, class D> shared_ptr(unique_ptr<Y, D>&& r);
     shared_ptr(nullptr_t) : shared_ptr() { }
 
@@ -416,7 +416,7 @@ public:
     template<class Y> shared_ptr& operator=(const shared_ptr<Y>& r) noexcept;
     shared_ptr& operator=(shared_ptr&& r) noexcept;
     template<class Y> shared_ptr& operator=(shared_ptr<Y>&& r);
-    template<class Y> shared_ptr& operator=(auto_ptr<Y>&& r);
+    template<class Y> shared_ptr& operator=(auto_ptr<Y>&& r); // removed in C++17
     template <class Y, class D> shared_ptr& operator=(unique_ptr<Y, D>&& r);
 
     // modifiers:
@@ -1996,6 +1996,7 @@ template <class _Tp>
 inline _LIBCPP_INLINE_VISIBILITY
 void return_temporary_buffer(_Tp* __p) _NOEXCEPT {::operator delete(__p);}
 
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
 template <class _Tp>
 struct auto_ptr_ref
 {
@@ -2052,6 +2053,7 @@ class _LIBCPP_TEMPLATE_VIS auto_ptr<void
 public:
     typedef void element_type;
 };
+#endif
 
 template <class _T1, class _T2, bool = is_same<typename remove_cv<_T1>::type,
                                                      typename remove_cv<_T2>::type>::value,
@@ -2496,6 +2498,7 @@ public:
                       >::type = __nat()) _NOEXCEPT
             : __ptr_(__u.release(), _VSTD::forward<_Ep>(__u.get_deleter())) {}
 
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
     template <class _Up>
         _LIBCPP_INLINE_VISIBILITY unique_ptr(auto_ptr<_Up>&& __p,
                 typename enable_if<
@@ -2506,6 +2509,7 @@ public:
             : __ptr_(__p.release())
             {
             }
+#endif
 
         _LIBCPP_INLINE_VISIBILITY unique_ptr& operator=(unique_ptr&& __u) _NOEXCEPT
             {
@@ -2557,6 +2561,7 @@ public:
     _LIBCPP_INLINE_VISIBILITY unique_ptr(pointer __p, deleter_type __d)
         : __ptr_(_VSTD::move(__p), _VSTD::move(__d)) {}
 
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
     template <class _Up>
         _LIBCPP_INLINE_VISIBILITY
                 typename enable_if<
@@ -2566,7 +2571,7 @@ public:
                                   >::type
         operator=(auto_ptr<_Up> __p)
             {reset(__p.release()); return *this;}
-
+#endif
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
     _LIBCPP_INLINE_VISIBILITY ~unique_ptr() {reset();}
 
@@ -3645,6 +3650,7 @@ public:
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
     template<class _Yp> explicit shared_ptr(const weak_ptr<_Yp>& __r,
                    typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type= __nat());
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
     template<class _Yp>
         shared_ptr(auto_ptr<_Yp>&& __r,
@@ -3654,6 +3660,7 @@ public:
         shared_ptr(auto_ptr<_Yp> __r,
                    typename enable_if<is_convertible<_Yp*, element_type*>::value, __nat>::type = __nat());
 #endif
+#endif
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
     template <class _Yp, class _Dp>
         shared_ptr(unique_ptr<_Yp, _Dp>&&,
@@ -3717,6 +3724,7 @@ public:
         >::type
         _LIBCPP_INLINE_VISIBILITY
         operator=(shared_ptr<_Yp>&& __r);
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
     template<class _Yp>
         _LIBCPP_INLINE_VISIBILITY
         typename enable_if
@@ -3726,7 +3734,9 @@ public:
             shared_ptr
         >::type&
         operator=(auto_ptr<_Yp>&& __r);
+#endif
 #else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
     template<class _Yp>
         _LIBCPP_INLINE_VISIBILITY
         typename enable_if
@@ -3737,6 +3747,7 @@ public:
         >::type
         operator=(auto_ptr<_Yp> __r);
 #endif
+#endif
     template <class _Yp, class _Dp>
         typename enable_if
         <
@@ -4072,6 +4083,7 @@ shared_ptr<_Tp>::shared_ptr(shared_ptr<_
 
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
 template<class _Tp>
 template<class _Yp>
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
@@ -4087,6 +4099,7 @@ shared_ptr<_Tp>::shared_ptr(auto_ptr<_Yp
     __enable_weak_this(__r.get(), __r.get());
     __r.release();
 }
+#endif
 
 template<class _Tp>
 template <class _Yp, class _Dp>
@@ -4393,6 +4406,7 @@ shared_ptr<_Tp>::operator=(shared_ptr<_Y
     return *this;
 }
 
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
 template<class _Tp>
 template<class _Yp>
 inline
@@ -4407,6 +4421,7 @@ shared_ptr<_Tp>::operator=(auto_ptr<_Yp>
     shared_ptr(_VSTD::move(__r)).swap(*this);
     return *this;
 }
+#endif
 
 template<class _Tp>
 template <class _Yp, class _Dp>
@@ -4426,6 +4441,7 @@ shared_ptr<_Tp>::operator=(unique_ptr<_Y
 
 #else  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
+#if _LIBCPP_STD_VER <= 14 || defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
 template<class _Tp>
 template<class _Yp>
 inline _LIBCPP_INLINE_VISIBILITY
@@ -4440,6 +4456,7 @@ shared_ptr<_Tp>::operator=(auto_ptr<_Yp>
     shared_ptr(__r).swap(*this);
     return *this;
 }
+#endif
 
 template<class _Tp>
 template <class _Yp, class _Dp>

Added: libcxx/trunk/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.cxx1z.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.cxx1z.pass.cpp?rev=292986&view=auto
==============================================================================
--- libcxx/trunk/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.cxx1z.pass.cpp (added)
+++ libcxx/trunk/test/libcxx/depr/depr.auto.ptr/auto.ptr/auto_ptr.cxx1z.pass.cpp Tue Jan 24 16:22:33 2017
@@ -0,0 +1,27 @@
+//===----------------------------------------------------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// <memory>
+
+// template <class X>
+// class auto_ptr;
+//
+//  In C++17, auto_ptr has been removed.
+//  However, for backwards compatibility, if _LIBCPP_NO_REMOVE_AUTOPTR
+//  is defined before including <memory>, then auto_ptr will be restored.
+
+#define _LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR
+
+#include <memory>
+#include <type_traits>
+
+int main()
+{
+    std::auto_ptr<int> p;
+}

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // auto_ptr& operator=(auto_ptr& a) throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // auto_ptr(auto_ptr& a) throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // template<class Y> auto_ptr& operator=(auto_ptr<Y>& a) throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // auto_ptr(auto_ptr& a) throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/pointer.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/pointer.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // explicit auto_ptr(X* p =0) throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/assign_from_auto_ptr_ref.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/assign_from_auto_ptr_ref.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/assign_from_auto_ptr_ref.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/assign_from_auto_ptr_ref.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // auto_ptr& operator=(auto_ptr_ref<X> r) throw()
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_from_auto_ptr_ref.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_from_auto_ptr_ref.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_from_auto_ptr_ref.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_from_auto_ptr_ref.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // auto_ptr(auto_ptr_ref<X> r) throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // template<class Y> operator auto_ptr<Y>() throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr_ref.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr_ref.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr_ref.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr_ref.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // template<class Y> operator auto_ptr_ref<Y>() throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/arrow.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/arrow.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/arrow.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/arrow.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // X& operator*() const throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/deref.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/deref.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/deref.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/deref.pass.cpp Tue Jan 24 16:22:33 2017
@@ -13,6 +13,8 @@
 
 // X& operator*() const throw();
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <cassert>
 

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/release.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/release.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/release.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/release.pass.cpp Tue Jan 24 16:22:33 2017
@@ -16,6 +16,8 @@
 #include <memory>
 #include <cassert>
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include "../A.h"
 
 void

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/reset.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/reset.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/reset.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/reset.pass.cpp Tue Jan 24 16:22:33 2017
@@ -16,6 +16,8 @@
 #include <memory>
 #include <cassert>
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include "../A.h"
 
 void

Modified: libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/element_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/element_type.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/element_type.pass.cpp (original)
+++ libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/element_type.pass.cpp Tue Jan 24 16:22:33 2017
@@ -17,6 +17,8 @@
 //   ...
 // };
 
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
+
 #include <memory>
 #include <type_traits>
 

Modified: libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp Tue Jan 24 16:22:33 2017
@@ -9,7 +9,7 @@
 
 // libc++ cannot safely provide the auto_ptr constructor without rvalue
 // references.
-// XFAIL: c++98, c++03
+// REQUIRES-ANY: c++11, c++14
 
 // <memory>
 

Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/auto_ptr_Y.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/auto_ptr_Y.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/auto_ptr_Y.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/auto_ptr_Y.pass.cpp Tue Jan 24 16:22:33 2017
@@ -10,6 +10,7 @@
 // <memory>
 
 // shared_ptr
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
 
 // template<class Y> shared_ptr& operator=(auto_ptr<Y>&& r);
 

Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp?rev=292986&r1=292985&r2=292986&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp Tue Jan 24 16:22:33 2017
@@ -10,6 +10,7 @@
 // <memory>
 
 // template<class Y> explicit shared_ptr(auto_ptr<Y>&& r);
+// REQUIRES-ANY: c++98, c++03, c++11, c++14
 
 
 #include <memory>




More information about the cfe-commits mailing list