blob: b41cafab8bd7f267ae9ca854417241570dcf68e1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
diff --git xpcom/glue/nsISupportsImpl.h xpcom/glue/nsISupportsImpl.h
index 9102102..e1f34c0 100644
--- xpcom/glue/nsISupportsImpl.h
+++ xpcom/glue/nsISupportsImpl.h
@@ -32,11 +32,11 @@
#include "mozilla/TypeTraits.h"
#if defined(__clang__)
- // bug 1028428 shows that at least in FreeBSD 10.0 with Clang 3.4 and libc++ 3.4,
- // std::is_destructible is buggy in that it returns false when it should return true
- // on ipc::SharedMemory. On the other hand, all Clang versions currently in use
- // seem to handle the fallback just fine.
-# define MOZ_CAN_USE_IS_DESTRUCTIBLE_FALLBACK
+# if MOZ_USING_LIBCXX && __has_include(<type_traits>)
+# define MOZ_HAVE_STD_IS_DESTRUCTIBLE
+# else
+# define MOZ_CAN_USE_IS_DESTRUCTIBLE_FALLBACK
+# endif
#elif defined(__GNUC__)
// GCC 4.7 is has buggy std::is_destructible
# if MOZ_USING_LIBSTDCXX && MOZ_GCC_VERSION_AT_LEAST(4, 8, 0)
|