diff options
-rw-r--r-- | src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h | 4 | ||||
-rw-r--r-- | src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 8 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h index 92533fa..bea9daa 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h @@ -257,8 +257,8 @@ namespace WTF { using std::swap; -#if !COMPILER(MSVC) - // Visual C++ has a swap for pairs defined. +#if !COMPILER(MSVC) && !OS(QNX) + // The Dinkumware C++ library (used by MSVC and QNX) has a swap for pairs defined. // swap pairs by component, in case of pair members that specialize swap template<typename T, typename U> inline void swap(pair<T, U>& a, pair<T, U>& b) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h index 920a4d7..8b76c0f 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h @@ -75,6 +75,8 @@ #include <libkern/OSAtomic.h> #elif OS(ANDROID) #include <cutils/atomic.h> +#elif OS(QNX) +#include <atomic.h> #elif COMPILER(GCC) && !OS(SYMBIAN) #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) #include <ext/atomicity.h> @@ -239,6 +241,12 @@ inline int atomicDecrement(int volatile* addend) { return OSAtomicDecrement32Bar inline int atomicIncrement(int volatile* addend) { return android_atomic_inc(addend); } inline int atomicDecrement(int volatile* addend) { return android_atomic_dec(addend); } +#elif OS(QNX) + +// component functions take and return unsigned +inline int atomicIncrement(int volatile* addend) { return (int) atomic_add_value((unsigned volatile*)addend, 1); } +inline int atomicDecrement(int volatile* addend) { return (int) atomic_sub_value((unsigned volatile*)addend, 1); } + #elif COMPILER(GCC) && !CPU(SPARC64) && !OS(SYMBIAN) // sizeof(_Atomic_word) != sizeof(int) on sparc64 gcc #define WTF_USE_LOCKFREE_THREADSAFESHARED 1 |