summaryrefslogtreecommitdiff
path: root/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2012-02-06 10:04:23 +0000
committerQt by Nokia <qt-info@nokia.com>2012-02-07 16:38:26 +0100
commit8eb5d9e70ca7ba16b88476bc1065290b95766676 (patch)
treedc4ee215e2fba8ef081cf648364ba5b2570799ae /src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
parent606c81a8463793f399d56764af878716239272c8 (diff)
downloadqtscript-8eb5d9e70ca7ba16b88476bc1065290b95766676.tar.gz
Fix compilation on QNX.
Cherry picked commit 144de35b8c770d6698e1e6a11a37cbcc24ca4e8b from Qt 4.8 Change-Id: I6880436b54cc1c8ab6ecb64727316f422dcf5ee8 Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h')
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h8
1 files changed, 8 insertions, 0 deletions
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