N3142.  Many of these traits are just placeholders with medium quality emulation; waiting on compiler intrinsics to do it right.

llvm-svn: 119854
diff --git a/libcxx/include/__split_buffer b/libcxx/include/__split_buffer
index e3c2b9d..88e2c83 100644
--- a/libcxx/include/__split_buffer
+++ b/libcxx/include/__split_buffer
@@ -118,12 +118,12 @@
         __construct_at_end(_ForwardIterator __first, _ForwardIterator __last);
 
     _LIBCPP_INLINE_VISIBILITY void __destruct_at_begin(pointer __new_begin)
-        {__destruct_at_begin(__new_begin, has_trivial_destructor<value_type>());}
+        {__destruct_at_begin(__new_begin, is_trivially_destructible<value_type>());}
         void __destruct_at_begin(pointer __new_begin, false_type);
         void __destruct_at_begin(pointer __new_begin, true_type);
 
     _LIBCPP_INLINE_VISIBILITY void __destruct_at_end(pointer __new_last)
-        {__destruct_at_end(__new_last, has_trivial_destructor<value_type>());}
+        {__destruct_at_end(__new_last, is_trivially_destructible<value_type>());}
         void __destruct_at_end(pointer __new_last, false_type);
         void __destruct_at_end(pointer __new_last, true_type);
 
@@ -230,8 +230,8 @@
 void
 __split_buffer<_Tp, _Allocator>::__construct_at_end(size_type __n, const_reference __x)
 {
-    __construct_at_end(__n, __x, integral_constant<bool, has_trivial_copy_constructor<value_type>::value &&
-                                                         has_trivial_copy_assign<value_type>::value>());
+    __construct_at_end(__n, __x, integral_constant<bool, is_trivially_copy_constructible<value_type>::value &&
+                                                         is_trivially_copy_assignable<value_type>::value>());
 }
 
 template <class _Tp, class _Allocator>