Andrew Geissler | 95ac1b8 | 2021-03-31 14:34:31 -0500 | [diff] [blame] | 1 | From 3c648457c284b4ba313b8591008d2e18ae4335eb Mon Sep 17 00:00:00 2001 |
| 2 | From: Philip Withnall <pwithnall@endlessos.org> |
| 3 | Date: Wed, 11 Nov 2020 18:36:37 +0000 |
| 4 | Subject: [PATCH 13/29] gatomic: Drop unnecessary volatile qualifiers from |
| 5 | internal variables |
| 6 | MIME-Version: 1.0 |
| 7 | Content-Type: text/plain; charset=UTF-8 |
| 8 | Content-Transfer-Encoding: 8bit |
| 9 | |
| 10 | It’s not necessary and provides no thread safety guarantees. |
| 11 | |
| 12 | The `volatile` qualifiers on the function arguments have to be kept, as |
| 13 | they are (unfortunately) part of the API. |
| 14 | |
| 15 | Signed-off-by: Philip Withnall <pwithnall@endlessos.org> |
| 16 | |
| 17 | Helps: #600 |
| 18 | Upstream-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 | |
| 23 | diff --git a/glib/gatomic.c b/glib/gatomic.c |
| 24 | index 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 | -- |
| 179 | 2.30.1 |
| 180 | |