summaryrefslogtreecommitdiff
path: root/include/memory
diff options
context:
space:
mode:
authorEric Fiselier <eric@efcs.ca>2015-06-13 07:08:02 +0000
committerEric Fiselier <eric@efcs.ca>2015-06-13 07:08:02 +0000
commit3a0e430cd45bcaba88d5eb001b7f4865d904b6a6 (patch)
treed95bf8c580a71d4254f6eb08260870f47fa68d56 /include/memory
parent6d7a2cb57d3ed07aadbb47c207d8ec6cbeb706a0 (diff)
[libcxx] Fix detection of __is_final.
Summary: Currently we only enable the use of __is_final(...) with Clang. GCC also provides __is_final(...) since 4.7 in all standard modes. This patch creates the macro _LIBCPP_HAS_IS_FINAL to note the availability of `__is_final`. Reviewers: danalbert, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D8795 git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@239664 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/memory')
-rw-r--r--include/memory9
1 files changed, 2 insertions, 7 deletions
diff --git a/include/memory b/include/memory
index dc5902da9..03897b1c2 100644
--- a/include/memory
+++ b/include/memory
@@ -1982,14 +1982,9 @@ public:
template <class _T1, class _T2, bool = is_same<typename remove_cv<_T1>::type,
typename remove_cv<_T2>::type>::value,
bool = is_empty<_T1>::value
-#if __has_feature(is_final)
- && !__is_final(_T1)
-#endif
- ,
+ && !__libcpp_is_final<_T1>::value,
bool = is_empty<_T2>::value
-#if __has_feature(is_final)
- && !__is_final(_T2)
-#endif
+ && !__libcpp_is_final<_T2>::value
>
struct __libcpp_compressed_pair_switch;