blob: efc6817bd15a85be78308d9e8bb76e6fe0ce5e5c [file] [log] [blame]
Andrew Geissler95ac1b82021-03-31 14:34:31 -05001From 3c648457c284b4ba313b8591008d2e18ae4335eb Mon Sep 17 00:00:00 2001
2From: Philip Withnall <pwithnall@endlessos.org>
3Date: Wed, 11 Nov 2020 18:36:37 +0000
4Subject: [PATCH 13/29] gatomic: Drop unnecessary volatile qualifiers from
5 internal variables
6MIME-Version: 1.0
7Content-Type: text/plain; charset=UTF-8
8Content-Transfer-Encoding: 8bit
9
10Its not necessary and provides no thread safety guarantees.
11
12The `volatile` qualifiers on the function arguments have to be kept, as
13they are (unfortunately) part of the API.
14
15Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
16
17Helps: #600
18Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
19---
20 glib/gatomic.c | 34 +++++++++++++++++-----------------
21 1 file changed, 17 insertions(+), 17 deletions(-)
22
23diff --git a/glib/gatomic.c b/glib/gatomic.c
24index 8b8c6453d..67f5ba6b4 100644
25--- a/glib/gatomic.c
26+++ b/glib/gatomic.c
27@@ -316,7 +316,7 @@ guint
28 gpointer
29 (g_atomic_pointer_get) (const volatile void *atomic)
30 {
31- return g_atomic_pointer_get ((const volatile gpointer *) atomic);
32+ return g_atomic_pointer_get ((gpointer *) atomic);
33 }
34
35 /**
36@@ -335,7 +335,7 @@ void
37 (g_atomic_pointer_set) (volatile void *atomic,
38 gpointer newval)
39 {
40- g_atomic_pointer_set ((volatile gpointer *) atomic, newval);
41+ g_atomic_pointer_set ((gpointer *) atomic, newval);
42 }
43
44 /**
45@@ -363,7 +363,7 @@ gboolean
46 gpointer oldval,
47 gpointer newval)
48 {
49- return g_atomic_pointer_compare_and_exchange ((volatile gpointer *) atomic,
50+ return g_atomic_pointer_compare_and_exchange ((gpointer *) atomic,
51 oldval, newval);
52 }
53
54@@ -387,7 +387,7 @@ gssize
55 (g_atomic_pointer_add) (volatile void *atomic,
56 gssize val)
57 {
58- return g_atomic_pointer_add ((volatile gpointer *) atomic, val);
59+ return g_atomic_pointer_add ((gpointer *) atomic, val);
60 }
61
62 /**
63@@ -411,7 +411,7 @@ gsize
64 (g_atomic_pointer_and) (volatile void *atomic,
65 gsize val)
66 {
67- return g_atomic_pointer_and ((volatile gpointer *) atomic, val);
68+ return g_atomic_pointer_and ((gpointer *) atomic, val);
69 }
70
71 /**
72@@ -435,7 +435,7 @@ gsize
73 (g_atomic_pointer_or) (volatile void *atomic,
74 gsize val)
75 {
76- return g_atomic_pointer_or ((volatile gpointer *) atomic, val);
77+ return g_atomic_pointer_or ((gpointer *) atomic, val);
78 }
79
80 /**
81@@ -459,7 +459,7 @@ gsize
82 (g_atomic_pointer_xor) (volatile void *atomic,
83 gsize val)
84 {
85- return g_atomic_pointer_xor ((volatile gpointer *) atomic, val);
86+ return g_atomic_pointer_xor ((gpointer *) atomic, val);
87 }
88
89 #elif defined (G_PLATFORM_WIN32)
90@@ -591,7 +591,7 @@ guint
91 gpointer
92 (g_atomic_pointer_get) (const volatile void *atomic)
93 {
94- const volatile gpointer *ptr = atomic;
95+ const gpointer *ptr = atomic;
96
97 MemoryBarrier ();
98 return *ptr;
99@@ -601,7 +601,7 @@ void
100 (g_atomic_pointer_set) (volatile void *atomic,
101 gpointer newval)
102 {
103- volatile gpointer *ptr = atomic;
104+ gpointer *ptr = atomic;
105
106 *ptr = newval;
107 MemoryBarrier ();
108@@ -797,7 +797,7 @@ guint
109 gpointer
110 (g_atomic_pointer_get) (const volatile void *atomic)
111 {
112- const volatile gpointer *ptr = atomic;
113+ const gpointer *ptr = atomic;
114 gpointer value;
115
116 pthread_mutex_lock (&g_atomic_lock);
117@@ -811,7 +811,7 @@ void
118 (g_atomic_pointer_set) (volatile void *atomic,
119 gpointer newval)
120 {
121- volatile gpointer *ptr = atomic;
122+ gpointer *ptr = atomic;
123
124 pthread_mutex_lock (&g_atomic_lock);
125 *ptr = newval;
126@@ -823,7 +823,7 @@ gboolean
127 gpointer oldval,
128 gpointer newval)
129 {
130- volatile gpointer *ptr = atomic;
131+ gpointer *ptr = atomic;
132 gboolean success;
133
134 pthread_mutex_lock (&g_atomic_lock);
135@@ -840,7 +840,7 @@ gssize
136 (g_atomic_pointer_add) (volatile void *atomic,
137 gssize val)
138 {
139- volatile gssize *ptr = atomic;
140+ gssize *ptr = atomic;
141 gssize oldval;
142
143 pthread_mutex_lock (&g_atomic_lock);
144@@ -855,7 +855,7 @@ gsize
145 (g_atomic_pointer_and) (volatile void *atomic,
146 gsize val)
147 {
148- volatile gsize *ptr = atomic;
149+ gsize *ptr = atomic;
150 gsize oldval;
151
152 pthread_mutex_lock (&g_atomic_lock);
153@@ -870,7 +870,7 @@ gsize
154 (g_atomic_pointer_or) (volatile void *atomic,
155 gsize val)
156 {
157- volatile gsize *ptr = atomic;
158+ gsize *ptr = atomic;
159 gsize oldval;
160
161 pthread_mutex_lock (&g_atomic_lock);
162@@ -885,7 +885,7 @@ gsize
163 (g_atomic_pointer_xor) (volatile void *atomic,
164 gsize val)
165 {
166- volatile gsize *ptr = atomic;
167+ gsize *ptr = atomic;
168 gsize oldval;
169
170 pthread_mutex_lock (&g_atomic_lock);
171@@ -915,5 +915,5 @@ gint
172 g_atomic_int_exchange_and_add (volatile gint *atomic,
173 gint val)
174 {
175- return (g_atomic_int_add) (atomic, val);
176+ return (g_atomic_int_add) ((gint *) atomic, val);
177 }
178--
1792.30.1
180