[libc++] Revert the addition of map/multimap CTAD

This was found to be broken on Clang trunk. This is a revert of the
following commits (the subsequent commits added XFAILs to the tests
that were missing from the original submission):

    r362986: Implement deduction guides for map/multimap.
    r363014: Add some XFAILs
    r363097: Add more XFAILs
    r363197: Add even more XFAILs

llvm-svn: 363688
Cr-Mirrored-From: sso://chromium.googlesource.com/_direct/external/github.com/llvm/llvm-project
Cr-Mirrored-Commit: 1fab01f92bdb23bfce98ee1281fe7be10ec04373
diff --git a/include/iterator b/include/iterator
index 30801ea..e73b4b7 100644
--- a/include/iterator
+++ b/include/iterator
@@ -538,22 +538,6 @@
          __has_iterator_category_convertible_to<_Tp, input_iterator_tag>::value &&
         !__has_iterator_category_convertible_to<_Tp, forward_iterator_tag>::value> {};
 
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator>
-using __iter_value_type = typename iterator_traits<_InputIterator>::value_type;
-
-template<class _InputIterator>
-using __iter_key_type = remove_const_t<typename iterator_traits<_InputIterator>::value_type::first_type>;
-
-template<class _InputIterator>
-using __iter_mapped_type = typename iterator_traits<_InputIterator>::value_type::second_type;
-
-template<class _InputIterator>
-using __iter_to_alloc_type = pair<
-    add_const_t<typename iterator_traits<_InputIterator>::value_type::first_type>,
-    typename iterator_traits<_InputIterator>::value_type::second_type>;
-#endif
-
 template<class _Category, class _Tp, class _Distance = ptrdiff_t,
          class _Pointer = _Tp*, class _Reference = _Tp&>
 struct _LIBCPP_TEMPLATE_VIS iterator
diff --git a/include/map b/include/map
index 6b0bcb8..a8bf448 100644
--- a/include/map
+++ b/include/map
@@ -903,7 +903,7 @@
     typedef _Tp                                      mapped_type;
     typedef pair<const key_type, mapped_type>        value_type;
     typedef _Compare                                 key_compare;
-    typedef typename __identity<_Allocator>::type    allocator_type;
+    typedef _Allocator                               allocator_type;
     typedef value_type&                              reference;
     typedef const value_type&                        const_reference;
 
@@ -1465,32 +1465,6 @@
 #endif
 };
 
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator, class _Compare = less<__iter_key_type<_InputIterator>>,
-         class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
-         class = typename enable_if<!__is_allocator<_Compare>::value, void>::type,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-map(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-  -> map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Compare, _Allocator>;
-
-template<class _Key, class _Tp, class _Compare = less<typename remove_const<_Key>::type>,
-         class _Allocator = allocator<pair<const _Key, _Tp>>,
-         class = typename enable_if<!__is_allocator<_Compare>::value, void>::type,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-map(initializer_list<pair<_Key, _Tp>>, _Compare = _Compare(), _Allocator = _Allocator())
-  -> map<typename remove_const<_Key>::type, _Tp, _Compare, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-map(_InputIterator, _InputIterator, _Allocator)
-  -> map<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-         less<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-map(initializer_list<pair<_Key, _Tp>>, _Allocator)
-  -> map<typename remove_const<_Key>::type, _Tp, less<typename remove_const<_Key>::type>, _Allocator>;
-#endif
 
 #ifndef _LIBCPP_CXX03_LANG
 template <class _Key, class _Tp, class _Compare, class _Allocator>
@@ -1664,7 +1638,7 @@
     typedef _Tp                                      mapped_type;
     typedef pair<const key_type, mapped_type>        value_type;
     typedef _Compare                                 key_compare;
-    typedef typename __identity<_Allocator>::type    allocator_type;
+    typedef _Allocator                               allocator_type;
     typedef value_type&                              reference;
     typedef const value_type&                        const_reference;
 
@@ -2116,33 +2090,6 @@
     typedef unique_ptr<__node, _Dp> __node_holder;
 };
 
-#ifndef _LIBCPP_HAS_NO_DEDUCTION_GUIDES
-template<class _InputIterator, class _Compare = less<__iter_key_type<_InputIterator>>,
-         class _Allocator = allocator<__iter_to_alloc_type<_InputIterator>>,
-         class = typename enable_if<!__is_allocator<_Compare>::value, void>::type,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-multimap(_InputIterator, _InputIterator, _Compare = _Compare(), _Allocator = _Allocator())
-  -> multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>, _Compare, _Allocator>;
-
-template<class _Key, class _Tp, class _Compare = less<typename remove_const<_Key>::type>,
-         class _Allocator = allocator<pair<const _Key, _Tp>>,
-         class = typename enable_if<!__is_allocator<_Compare>::value, void>::type,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-multimap(initializer_list<pair<_Key, _Tp>>, _Compare = _Compare(), _Allocator = _Allocator())
-  -> multimap<typename remove_const<_Key>::type, _Tp, _Compare, _Allocator>;
-
-template<class _InputIterator, class _Allocator,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-multimap(_InputIterator, _InputIterator, _Allocator)
-  -> multimap<__iter_key_type<_InputIterator>, __iter_mapped_type<_InputIterator>,
-         less<__iter_key_type<_InputIterator>>, _Allocator>;
-
-template<class _Key, class _Tp, class _Allocator,
-         class = typename enable_if<__is_allocator<_Allocator>::value, void>::type>
-multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
-  -> multimap<typename remove_const<_Key>::type, _Tp, less<typename remove_const<_Key>::type>, _Allocator>;
-#endif
-
 #ifndef _LIBCPP_CXX03_LANG
 template <class _Key, class _Tp, class _Compare, class _Allocator>
 multimap<_Key, _Tp, _Compare, _Allocator>::multimap(multimap&& __m, const allocator_type& __a)