Fix atomics on SPARC
authorThiago Macieira <thiago.macieira@intel.com>
Tue, 24 Apr 2012 16:06:44 +0000 (18:06 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 25 Apr 2012 12:58:36 +0000 (14:58 +0200)
Inspired by
https://bugreports.qt-project.org/secure/attachment/26020/qt_atomic_sparc64.patch

Task-number: QTBUG-22479
Change-Id: Ie3275df96c639d6a75e05f70fe5745aeb34457f9
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
src/corelib/arch/qatomic_sparc.h

index 6328229..f5c0b3e 100644 (file)
@@ -129,17 +129,17 @@ extern "C" {
     Q_CORE_EXPORT int q_atomic_fetch_and_add_acquire_int(volatile int *ptr, int value);
     Q_CORE_EXPORT int q_atomic_fetch_and_add_release_int(volatile int *ptr, int value);
 
-    Q_CORE_EXPORT int q_atomic_test_and_set_ptr(volatile void *ptr, void *expected, void *newval);
+    Q_CORE_EXPORT int q_atomic_test_and_set_ptr(volatile void *ptr, const void *expected, const void *newval);
     Q_CORE_EXPORT int q_atomic_test_and_set_acquire_ptr(volatile void *ptr,
-                                                        void *expected,
-                                                        void *newval);
+                                                        const void *expected,
+                                                        const void *newval);
     Q_CORE_EXPORT int q_atomic_test_and_set_release_ptr(volatile void *ptr,
-                                                        void *expected,
-                                                        void *newval);
+                                                        const void *expected,
+                                                        const void *newval);
 
-    Q_CORE_EXPORT void *q_atomic_set_ptr(volatile void *ptr, void *newval);
-    Q_CORE_EXPORT void *q_atomic_fetch_and_store_acquire_ptr(volatile void *ptr, void *newval);
-    Q_CORE_EXPORT void *q_atomic_fetch_and_store_release_ptr(volatile void *ptr, void *newval);
+    Q_CORE_EXPORT void *q_atomic_set_ptr(volatile void *ptr, const void *newval);
+    Q_CORE_EXPORT void *q_atomic_fetch_and_store_acquire_ptr(volatile void *ptr, const void *newval);
+    Q_CORE_EXPORT void *q_atomic_fetch_and_store_release_ptr(volatile void *ptr, const void *newval);
 
     Q_CORE_EXPORT void *q_atomic_fetch_and_add_ptr(volatile void *ptr, int value);
     Q_CORE_EXPORT void *q_atomic_fetch_and_add_acquire_ptr(volatile void *ptr, int value);