瀏覽代碼

Installed __has_feature(is_convertible_to) and __has_feature(is_base_of)

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@125290 91177308-0d34-0410-b5e6-96231b3b80d8
Howard Hinnant 14 年之前
父節點
當前提交
31b8e617b6
共有 1 個文件被更改,包括 6 次插入6 次删除
  1. 6 6
      include/type_traits

+ 6 - 6
include/type_traits

@@ -598,12 +598,12 @@ template <class _Tp> struct _LIBCPP_VISIBLE is_abstract : public __libcpp_abstra
 
 
 // is_convertible
 // is_convertible
 
 
-#ifdef __clang__
+#if __has_feature(is_convertible_to)
 
 
 template <class _T1, class _T2> struct _LIBCPP_VISIBLE is_convertible
 template <class _T1, class _T2> struct _LIBCPP_VISIBLE is_convertible
     : public integral_constant<bool, __is_convertible_to(_T1, _T2)> {};
     : public integral_constant<bool, __is_convertible_to(_T1, _T2)> {};
 
 
-#else  // __clang__
+#else  // __has_feature(is_convertible_to)
 
 
 namespace __is_convertible_imp
 namespace __is_convertible_imp
 {
 {
@@ -705,17 +705,17 @@ template <class _T1, class _T2> struct _LIBCPP_VISIBLE is_convertible
     static const size_t __complete_check2 = __is_convertible_check<_T2>::__v;
     static const size_t __complete_check2 = __is_convertible_check<_T2>::__v;
 };
 };
 
 
-#endif  // __clang__
+#endif  // __has_feature(is_convertible_to)
 
 
 // is_base_of
 // is_base_of
 
 
-#ifdef __clang__
+#ifdef __has_feature(is_base_of)
 
 
 template <class _Bp, class _Dp>
 template <class _Bp, class _Dp>
 struct _LIBCPP_VISIBLE is_base_of
 struct _LIBCPP_VISIBLE is_base_of
     : public integral_constant<bool, __is_base_of(_Bp, _Dp)> {};
     : public integral_constant<bool, __is_base_of(_Bp, _Dp)> {};
 
 
-#else  // __clang__
+#else  // __has_feature(is_base_of)
 
 
 //  (C) Copyright Rani Sharoni 2003.
 //  (C) Copyright Rani Sharoni 2003.
 //  Use, modification and distribution are subject to the Boost Software License,
 //  Use, modification and distribution are subject to the Boost Software License,
@@ -763,7 +763,7 @@ struct _LIBCPP_VISIBLE is_base_of
 {
 {
 };
 };
 
 
-#endif  // __clang__
+#endif  // __has_feature(is_base_of)
 
 
 // is_empty
 // is_empty