N3123

llvm-svn: 119906
diff --git a/libcxx/include/__config b/libcxx/include/__config
index 4dde70ad..f246066 100644
--- a/libcxx/include/__config
+++ b/libcxx/include/__config
@@ -86,8 +86,6 @@
 
 #if defined(__clang__)
 
-#undef __STRICT_ANSI__
-
 #define _LIBCPP_HAS_NO_ADVANCED_SFINAE
 #define _LIBCPP_HAS_NO_TEMPLATE_ALIASES
 
diff --git a/libcxx/include/__tuple b/libcxx/include/__tuple
index 22134a2..72e36fb 100644
--- a/libcxx/include/__tuple
+++ b/libcxx/include/__tuple
@@ -240,7 +240,7 @@
 template <class _Tp0, class ..._Tp, class _Up0, class ..._Up>
 struct __tuple_assignable_imp<true, __tuple_types<_Tp0, _Tp...>, __tuple_types<_Up0, _Up...>>
     : public integral_constant<bool,
-                               __is_assignable<_Up0&, _Tp0>::value &&
+                               is_assignable<_Up0&, _Tp0>::value &&
                                __tuple_assignable_imp<true, __tuple_types<_Tp...>, __tuple_types<_Up...>>::value> {};
 
 template <>
diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits
index 6b8a99f..7cfdbf3 100644
--- a/libcxx/include/type_traits
+++ b/libcxx/include/type_traits
@@ -1394,8 +1394,6 @@
     typedef decltype(declval<_Fn>()(declval<_ArgTypes>()...)) type;
 };
 
-#if 0
-
 template <class _MP, class _Tp, class ..._Args>
 struct __result_of_mp;
 
@@ -1455,8 +1453,6 @@
 {
 };
 
-#endif  // 0
-
 // result_of
 
 template <class _Fn, class ..._ArgTypes>
diff --git a/libcxx/test/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp b/libcxx/test/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp
index 151a61e..84e14e4 100644
--- a/libcxx/test/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp
+++ b/libcxx/test/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp
@@ -33,7 +33,7 @@
     static_assert((std::is_same<std::result_of<S(int)>::type, short>::value), "Error!");
     static_assert((std::is_same<std::result_of<S&(unsigned char, int&)>::type, double>::value), "Error!");
     static_assert((std::is_same<std::result_of<PF1()>::type, bool>::value), "Error!");
-//     static_assert(std::is_same<std::result_of<PMS(std::unique_ptr<S>, int)>::type, void>::value, "Error!");
-//     static_assert(std::is_same<std::result_of<PMD(S)>::type, char&&>::value, "Error!");
-//     static_assert(std::is_same<std::result_of<PMD(const S*)>::type, const char&>::value, "Error!");
+    static_assert((std::is_same<std::result_of<PMS(std::unique_ptr<S>, int)>::type, void>::value), "Error!");
+    static_assert((std::is_same<std::result_of<PMD(S)>::type, char&&>::value), "Error!");
+    static_assert((std::is_same<std::result_of<PMD(const S*)>::type, const char&>::value), "Error!");
 }