summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2011-12-02 20:41:47 +0000
committerHoward Hinnant <hhinnant@apple.com>2011-12-02 20:41:47 +0000
commit132bd622cf8917ffec03e985d8d184a0ae2efe33 (patch)
tree69702d094095715d929b9d30c55dcde5296ade3d
parent4d99c7a6ddd079527d75ea311bcf73c8236bc112 (diff)
downloadbcm5719-llvm-132bd622cf8917ffec03e985d8d184a0ae2efe33.tar.gz
bcm5719-llvm-132bd622cf8917ffec03e985d8d184a0ae2efe33.zip
Fix http://llvm.org/bugs/show_bug.cgi?id=11459. Patch supplied by Alberto Ganesh Barbati.
llvm-svn: 145703
-rw-r--r--libcxx/include/type_traits10
1 files changed, 10 insertions, 0 deletions
diff --git a/libcxx/include/type_traits b/libcxx/include/type_traits
index 14fa4c4dbce..924a60261c5 100644
--- a/libcxx/include/type_traits
+++ b/libcxx/include/type_traits
@@ -741,6 +741,14 @@ struct _LIBCPP_VISIBLE is_base_of
// is_empty
+#if __has_feature(is_empty)
+
+template <class _Tp>
+struct _LIBCPP_VISIBLE is_empty
+ : public integral_constant<bool, __is_empty(_Tp)> {};
+
+#else // __has_feature(is_empty)
+
template <class _Tp>
struct __is_empty1
: public _Tp
@@ -760,6 +768,8 @@ template <class _Tp> struct __libcpp_empty<_Tp, false> : public false_type {};
template <class _Tp> struct _LIBCPP_VISIBLE is_empty : public __libcpp_empty<_Tp> {};
+#endif // __has_feature(is_empty)
+
// is_polymorphic
template <class _Tp> struct __is_polymorphic1 : public _Tp {};
OpenPOWER on IntegriCloud