Add tests for class template deduction on std::tuple.

llvm-svn: 304967
diff --git a/libcxx/include/tuple b/libcxx/include/tuple
index aa4713f..a52b934 100644
--- a/libcxx/include/tuple
+++ b/libcxx/include/tuple
@@ -929,6 +929,16 @@
     void swap(tuple&) _NOEXCEPT {}
 };
 
+#ifdef __cpp_deduction_guides
+// NOTE: These are not yet standardized, but are required to simulate the
+// implicit deduction guide that should be generated had libc++ declared the
+// tuple-like constructors "correctly"
+template <class _Alloc, class ..._Args>
+tuple(allocator_arg_t, const _Alloc&, tuple<_Args...> const&) -> tuple<_Args...>;
+template <class _Alloc, class ..._Args>
+tuple(allocator_arg_t, const _Alloc&, tuple<_Args...>&&) -> tuple<_Args...>;
+#endif
+
 template <class ..._Tp>
 inline _LIBCPP_INLINE_VISIBILITY
 typename enable_if