summaryrefslogtreecommitdiffstats
path: root/src/3rdparty
diff options
context:
space:
mode:
authorRafael Roquetto <rafael@kdab.com>2012-01-18 17:39:05 (GMT)
committerQt by Nokia <qt-info@nokia.com>2012-01-27 15:45:01 (GMT)
commit144de35b8c770d6698e1e6a11a37cbcc24ca4e8b (patch)
treeeaa1f84ec1790ca97d06ef219c240d9917f3f5c4 /src/3rdparty
parent8c5614dda55ed7b539e06a3846618df8255dd18c (diff)
downloadQt-144de35b8c770d6698e1e6a11a37cbcc24ca4e8b.zip
Qt-144de35b8c770d6698e1e6a11a37cbcc24ca4e8b.tar.gz
Qt-144de35b8c770d6698e1e6a11a37cbcc24ca4e8b.tar.bz2
Fixes Javascript WTF to build with BB NDK.
Change-Id: I89d72b2b1c166b826d4367bcb1384c2c5263d5f4 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Sean Harmer <sh@theharmers.co.uk>
Diffstat (limited to 'src/3rdparty')
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/wtf/HashTable.h4
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h8
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