aboutsummaryrefslogtreecommitdiffstats
path: root/www/firefox/files/patch-bug1256136
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)