diff options
-rw-r--r-- | libcxx/include/__config | 2 | ||||
-rw-r--r-- | libcxx/include/__tuple | 2 | ||||
-rw-r--r-- | libcxx/include/type_traits | 4 | ||||
-rw-r--r-- | libcxx/test/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp | 6 |
4 files changed, 4 insertions, 10 deletions
diff --git a/libcxx/include/__config b/libcxx/include/__config index 4dde70ad1c2..f2460665f72 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 22134a2058a..72e36fbb3ed 100644 --- a/libcxx/include/__tuple +++ b/libcxx/include/__tuple @@ -240,7 +240,7 @@ struct __tuple_assignable_imp : public false_type {}; 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 6b8a99ff4b1..7cfdbf388ad 100644 --- a/libcxx/include/type_traits +++ b/libcxx/include/type_traits @@ -1394,8 +1394,6 @@ public: typedef decltype(declval<_Fn>()(declval<_ArgTypes>()...)) type; }; -#if 0 - template <class _MP, class _Tp, class ..._Args> struct __result_of_mp; @@ -1455,8 +1453,6 @@ class __result_of<_Fn(_Tp, _ArgTypes...), false> // _Fn must be member pointer { }; -#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 151a61e3574..84e14e430cc 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 @@ int main() 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!"); } |