Adjust uses_alloc_types helpers for later changes
authorEric Fiselier <eric@efcs.ca>
Mon, 21 Nov 2016 00:41:32 +0000 (00:41 +0000)
committerEric Fiselier <eric@efcs.ca>
Mon, 21 Nov 2016 00:41:32 +0000 (00:41 +0000)
llvm-svn: 287512

libcxx/test/support/uses_alloc_types.hpp

index 0961f72..88fc0dc 100644 (file)
@@ -191,7 +191,7 @@ private:
         typename detail::Identity<LArgs>::type..., CtorAlloc const& alloc) {
         return alloc;
     }
-
+public:
     const TypeID* args_id;
     UsesAllocatorType constructor_called = UA_None;
     CtorAlloc allocator;
@@ -208,6 +208,10 @@ public:
 
     UsesAllocatorV1() : Base(&makeArgumentID<>()) {}
 
+    UsesAllocatorV1(UsesAllocatorV1 const&)
+        : Base(&makeArgumentID<UsesAllocatorV1 const&>()) {}
+    UsesAllocatorV1(UsesAllocatorV1 &&)
+        : Base(&makeArgumentID<UsesAllocatorV1 &&>()) {}
     // Non-Uses Allocator Ctor
     template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
     UsesAllocatorV1(Args&&... args) : Base(&makeArgumentID<Args&&...>()) {};
@@ -237,6 +241,10 @@ public:
     using CtorAlloc = typename Base::CtorAlloc;
 
     UsesAllocatorV2() : Base(&makeArgumentID<>()) {}
+    UsesAllocatorV2(UsesAllocatorV2 const&)
+        : Base(&makeArgumentID<UsesAllocatorV2 const&>()) {}
+    UsesAllocatorV2(UsesAllocatorV2 &&)
+        : Base(&makeArgumentID<UsesAllocatorV2 &&>()) {}
 
     // Non-Uses Allocator Ctor
     template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
@@ -259,6 +267,10 @@ public:
     using CtorAlloc = typename Base::CtorAlloc;
 
     UsesAllocatorV3() : Base(&makeArgumentID<>()) {}
+    UsesAllocatorV3(UsesAllocatorV3 const&)
+        : Base(&makeArgumentID<UsesAllocatorV3 const&>()) {}
+    UsesAllocatorV3(UsesAllocatorV3 &&)
+        : Base(&makeArgumentID<UsesAllocatorV3 &&>()) {}
 
     // Non-Uses Allocator Ctor
     template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
@@ -287,7 +299,10 @@ public:
     using CtorAlloc = typename Base::CtorAlloc;
 
     NotUsesAllocator() : Base(&makeArgumentID<>()) {}
-
+    NotUsesAllocator(NotUsesAllocator const&)
+        : Base(&makeArgumentID<NotUsesAllocator const&>()) {}
+    NotUsesAllocator(NotUsesAllocator &&)
+        : Base(&makeArgumentID<NotUsesAllocator &&>()) {}
     // Non-Uses Allocator Ctor
     template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
     NotUsesAllocator(Args&&... args) : Base(&makeArgumentID<Args&&...>()) {};