Cement ABI on clang for char16_t and char32_t.  Also fixed some comments in <iterator>.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@113842 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/__config b/include/__config
index ebd71c6..9f9a615 100644
--- a/include/__config
+++ b/include/__config
@@ -220,8 +220,13 @@
 #endif  // defined(__GNUC__)
 
 #ifdef _LIBCPP_HAS_NO_UNICODE_CHARS
+#ifdef __clang__
+typedef __char16_t char16_t;
+typedef __char32_t char32_t;
+#else
 typedef unsigned short char16_t;
 typedef unsigned int   char32_t;
+#endif
 #endif  // _LIBCPP_HAS_NO_UNICODE_CHARS
 
 #ifdef _LIBCPP_HAS_NO_STATIC_ASSERT
diff --git a/include/iterator b/include/iterator
index cda778f..33becab 100644
--- a/include/iterator
+++ b/include/iterator
@@ -151,7 +151,7 @@
     typedef void                        pointer;
 
     explicit back_insert_iterator(Container& x);
-    back_insert_iterator& operator=(const typename _Container::value_type& value);
+    back_insert_iterator& operator=(const typename Container::value_type& value);
     back_insert_iterator& operator*();
     back_insert_iterator& operator++();
     back_insert_iterator  operator++(int);
@@ -172,7 +172,7 @@
     typedef void                         pointer;
 
     explicit front_insert_iterator(Container& x);
-    front_insert_iterator& operator=(const typename _Container::value_type& value);
+    front_insert_iterator& operator=(const typename Container::value_type& value);
     front_insert_iterator& operator*();
     front_insert_iterator& operator++();
     front_insert_iterator  operator++(int);
@@ -194,7 +194,7 @@
     typedef void                   pointer;
 
     insert_iterator(Container& x, typename Container::iterator i);
-    insert_iterator& operator=(const typename _Container::value_type& value);
+    insert_iterator& operator=(const typename Container::value_type& value);
     insert_iterator& operator*();
     insert_iterator& operator++();
     insert_iterator& operator++(int);