diff options
Diffstat (limited to 'meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch')
-rw-r--r-- | meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch | 403 |
1 files changed, 403 insertions, 0 deletions
diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch new file mode 100644 index 0000000000..4852186520 --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch | |||
@@ -0,0 +1,403 @@ | |||
1 | From fab561f8d05794329184cd81f9ab9d9d77dcc22a Mon Sep 17 00:00:00 2001 | ||
2 | From: Philip Withnall <pwithnall@endlessos.org> | ||
3 | Date: Wed, 11 Nov 2020 18:12:22 +0000 | ||
4 | Subject: [PATCH 01/29] gobject: Drop use of volatile from get_type() macros | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | http://isvolatileusefulwiththreads.in/c/ | ||
10 | |||
11 | It’s possible that the variables here are only marked as volatile | ||
12 | because they’re arguments to `g_once_*()`. Those arguments will be | ||
13 | modified in a subsequent commit. | ||
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 | docs/reference/gobject/glib-mkenums.xml | 8 ++--- | ||
21 | docs/reference/gobject/tut_gtype.xml | 2 +- | ||
22 | gio/gioenumtypes.c.template | 8 ++--- | ||
23 | gio/tests/gsettings.c | 4 +-- | ||
24 | gobject/gbinding.c | 8 ++--- | ||
25 | gobject/gboxed.c | 8 ++--- | ||
26 | gobject/glib-enumtypes.c.template | 8 ++--- | ||
27 | gobject/gsourceclosure.c | 2 +- | ||
28 | gobject/gtype.h | 48 ++++++++++++------------- | ||
29 | gobject/tests/signals.c | 16 ++++----- | ||
30 | 10 files changed, 56 insertions(+), 56 deletions(-) | ||
31 | |||
32 | diff --git a/docs/reference/gobject/glib-mkenums.xml b/docs/reference/gobject/glib-mkenums.xml | ||
33 | index 2200328ed..ce250a3ff 100644 | ||
34 | --- a/docs/reference/gobject/glib-mkenums.xml | ||
35 | +++ b/docs/reference/gobject/glib-mkenums.xml | ||
36 | @@ -480,9 +480,9 @@ A C source template file will typically look like this: | ||
37 | GType | ||
38 | @enum_name@_get_type (void) | ||
39 | { | ||
40 | - static volatile gsize g_@type@_type_id__volatile; | ||
41 | + static gsize static_g_@type@_type_id; | ||
42 | |||
43 | - if (g_once_init_enter (&g_define_type_id__volatile)) | ||
44 | + if (g_once_init_enter (&static_g_@type@_type_id)) | ||
45 | { | ||
46 | static const G@Type@Value values[] = { | ||
47 | /*** END value-header ***/ | ||
48 | @@ -498,9 +498,9 @@ GType | ||
49 | GType g_@type@_type_id = | ||
50 | g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); | ||
51 | |||
52 | - g_once_init_leave (&g_@type@_type_id__volatile, g_@type@_type_id); | ||
53 | + g_once_init_leave (&static_g_@type@_type_id, g_@type@_type_id); | ||
54 | } | ||
55 | - return g_@type@_type_id__volatile; | ||
56 | + return static_g_@type@_type_id; | ||
57 | } | ||
58 | |||
59 | /*** END value-tail ***/ | ||
60 | diff --git a/docs/reference/gobject/tut_gtype.xml b/docs/reference/gobject/tut_gtype.xml | ||
61 | index 25e37dc48..ee042889d 100644 | ||
62 | --- a/docs/reference/gobject/tut_gtype.xml | ||
63 | +++ b/docs/reference/gobject/tut_gtype.xml | ||
64 | @@ -852,7 +852,7 @@ viewer_editable_default_init (ViewerEditableInterface *iface) | ||
65 | GType | ||
66 | viewer_editable_get_type (void) | ||
67 | { | ||
68 | - static volatile gsize type_id = 0; | ||
69 | + static gsize type_id = 0; | ||
70 | if (g_once_init_enter (&type_id)) { | ||
71 | const GTypeInfo info = { | ||
72 | sizeof (ViewerEditableInterface), | ||
73 | diff --git a/gio/gioenumtypes.c.template b/gio/gioenumtypes.c.template | ||
74 | index e9adc4a38..948a01201 100644 | ||
75 | --- a/gio/gioenumtypes.c.template | ||
76 | +++ b/gio/gioenumtypes.c.template | ||
77 | @@ -13,9 +13,9 @@ | ||
78 | GType | ||
79 | @enum_name@_get_type (void) | ||
80 | { | ||
81 | - static volatile gsize g_define_type_id__volatile = 0; | ||
82 | + static gsize static_g_define_type_id = 0; | ||
83 | |||
84 | - if (g_once_init_enter (&g_define_type_id__volatile)) | ||
85 | + if (g_once_init_enter (&static_g_define_type_id)) | ||
86 | { | ||
87 | static const G@Type@Value values[] = { | ||
88 | /*** END value-header ***/ | ||
89 | @@ -29,10 +29,10 @@ GType | ||
90 | }; | ||
91 | GType g_define_type_id = | ||
92 | g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); | ||
93 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); | ||
94 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); | ||
95 | } | ||
96 | |||
97 | - return g_define_type_id__volatile; | ||
98 | + return static_g_define_type_id; | ||
99 | } | ||
100 | |||
101 | /*** END value-tail ***/ | ||
102 | diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c | ||
103 | index 2f81ae6c3..179d0fd2f 100644 | ||
104 | --- a/gio/tests/gsettings.c | ||
105 | +++ b/gio/tests/gsettings.c | ||
106 | @@ -1060,7 +1060,7 @@ test_object_set_property (GObject *object, | ||
107 | static GType | ||
108 | test_enum_get_type (void) | ||
109 | { | ||
110 | - static volatile gsize define_type_id = 0; | ||
111 | + static gsize define_type_id = 0; | ||
112 | |||
113 | if (g_once_init_enter (&define_type_id)) | ||
114 | { | ||
115 | @@ -1082,7 +1082,7 @@ test_enum_get_type (void) | ||
116 | static GType | ||
117 | test_flags_get_type (void) | ||
118 | { | ||
119 | - static volatile gsize define_type_id = 0; | ||
120 | + static gsize define_type_id = 0; | ||
121 | |||
122 | if (g_once_init_enter (&define_type_id)) | ||
123 | { | ||
124 | diff --git a/gobject/gbinding.c b/gobject/gbinding.c | ||
125 | index 78a883075..662d76b3c 100644 | ||
126 | --- a/gobject/gbinding.c | ||
127 | +++ b/gobject/gbinding.c | ||
128 | @@ -120,9 +120,9 @@ | ||
129 | GType | ||
130 | g_binding_flags_get_type (void) | ||
131 | { | ||
132 | - static volatile gsize g_define_type_id__volatile = 0; | ||
133 | + static gsize static_g_define_type_id = 0; | ||
134 | |||
135 | - if (g_once_init_enter (&g_define_type_id__volatile)) | ||
136 | + if (g_once_init_enter (&static_g_define_type_id)) | ||
137 | { | ||
138 | static const GFlagsValue values[] = { | ||
139 | { G_BINDING_DEFAULT, "G_BINDING_DEFAULT", "default" }, | ||
140 | @@ -133,10 +133,10 @@ g_binding_flags_get_type (void) | ||
141 | }; | ||
142 | GType g_define_type_id = | ||
143 | g_flags_register_static (g_intern_static_string ("GBindingFlags"), values); | ||
144 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); | ||
145 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); | ||
146 | } | ||
147 | |||
148 | - return g_define_type_id__volatile; | ||
149 | + return static_g_define_type_id; | ||
150 | } | ||
151 | |||
152 | #define G_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), G_TYPE_BINDING, GBindingClass)) | ||
153 | diff --git a/gobject/gboxed.c b/gobject/gboxed.c | ||
154 | index 30ba4e775..194251383 100644 | ||
155 | --- a/gobject/gboxed.c | ||
156 | +++ b/gobject/gboxed.c | ||
157 | @@ -180,19 +180,19 @@ G_DEFINE_BOXED_TYPE (GOptionGroup, g_option_group, g_option_group_ref, g_option_ | ||
158 | GType | ||
159 | g_strv_get_type (void) | ||
160 | { | ||
161 | - static volatile gsize g_define_type_id__volatile = 0; | ||
162 | + static gsize static_g_define_type_id = 0; | ||
163 | |||
164 | - if (g_once_init_enter (&g_define_type_id__volatile)) | ||
165 | + if (g_once_init_enter (&static_g_define_type_id)) | ||
166 | { | ||
167 | GType g_define_type_id = | ||
168 | g_boxed_type_register_static (g_intern_static_string ("GStrv"), | ||
169 | (GBoxedCopyFunc) g_strdupv, | ||
170 | (GBoxedFreeFunc) g_strfreev); | ||
171 | |||
172 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); | ||
173 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); | ||
174 | } | ||
175 | |||
176 | - return g_define_type_id__volatile; | ||
177 | + return static_g_define_type_id; | ||
178 | } | ||
179 | |||
180 | GType | ||
181 | diff --git a/gobject/glib-enumtypes.c.template b/gobject/glib-enumtypes.c.template | ||
182 | index b7d36728f..1800ca8af 100644 | ||
183 | --- a/gobject/glib-enumtypes.c.template | ||
184 | +++ b/gobject/glib-enumtypes.c.template | ||
185 | @@ -13,9 +13,9 @@ | ||
186 | GType | ||
187 | @enum_name@_get_type (void) | ||
188 | { | ||
189 | - static volatile gsize g_define_type_id__volatile = 0; | ||
190 | + static gsize static_g_define_type_id = 0; | ||
191 | |||
192 | - if (g_once_init_enter (&g_define_type_id__volatile)) | ||
193 | + if (g_once_init_enter (&static_g_define_type_id)) | ||
194 | { | ||
195 | static const G@Type@Value values[] = { | ||
196 | /*** END value-header ***/ | ||
197 | @@ -29,10 +29,10 @@ GType | ||
198 | }; | ||
199 | GType g_define_type_id = | ||
200 | g_@type@_register_static (g_intern_static_string ("@EnumName@"), values); | ||
201 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); | ||
202 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); | ||
203 | } | ||
204 | |||
205 | - return g_define_type_id__volatile; | ||
206 | + return static_g_define_type_id; | ||
207 | } | ||
208 | |||
209 | /*** END value-tail ***/ | ||
210 | diff --git a/gobject/gsourceclosure.c b/gobject/gsourceclosure.c | ||
211 | index 0d0d2e87c..d1b1ee4b3 100644 | ||
212 | --- a/gobject/gsourceclosure.c | ||
213 | +++ b/gobject/gsourceclosure.c | ||
214 | @@ -32,7 +32,7 @@ G_DEFINE_BOXED_TYPE (GIOChannel, g_io_channel, g_io_channel_ref, g_io_channel_un | ||
215 | GType | ||
216 | g_io_condition_get_type (void) | ||
217 | { | ||
218 | - static volatile GType etype = 0; | ||
219 | + static GType etype = 0; | ||
220 | |||
221 | if (g_once_init_enter (&etype)) | ||
222 | { | ||
223 | diff --git a/gobject/gtype.h b/gobject/gtype.h | ||
224 | index 9de46ac60..666fadb0c 100644 | ||
225 | --- a/gobject/gtype.h | ||
226 | +++ b/gobject/gtype.h | ||
227 | @@ -1727,8 +1727,8 @@ guint g_type_get_type_registration_serial (void); | ||
228 | * GType | ||
229 | * gtk_gadget_get_type (void) | ||
230 | * { | ||
231 | - * static volatile gsize g_define_type_id__volatile = 0; | ||
232 | - * if (g_once_init_enter (&g_define_type_id__volatile)) | ||
233 | + * static gsize static_g_define_type_id = 0; | ||
234 | + * if (g_once_init_enter (&static_g_define_type_id)) | ||
235 | * { | ||
236 | * GType g_define_type_id = | ||
237 | * g_type_register_static_simple (GTK_TYPE_WIDGET, | ||
238 | @@ -1748,9 +1748,9 @@ guint g_type_get_type_registration_serial (void); | ||
239 | * }; | ||
240 | * g_type_add_interface_static (g_define_type_id, TYPE_GIZMO, &g_implement_interface_info); | ||
241 | * } | ||
242 | - * g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); | ||
243 | + * g_once_init_leave (&static_g_define_type_id, g_define_type_id); | ||
244 | * } | ||
245 | - * return g_define_type_id__volatile; | ||
246 | + * return static_g_define_type_id; | ||
247 | * } | ||
248 | * ]| | ||
249 | * The only pieces which have to be manually provided are the definitions of | ||
250 | @@ -1995,17 +1995,17 @@ type_name##_get_instance_private (TypeName *self) \ | ||
251 | GType \ | ||
252 | type_name##_get_type (void) \ | ||
253 | { \ | ||
254 | - static volatile gsize g_define_type_id__volatile = 0; | ||
255 | + static gsize static_g_define_type_id = 0; | ||
256 | /* Prelude goes here */ | ||
257 | |||
258 | /* Added for _G_DEFINE_TYPE_EXTENDED_WITH_PRELUDE */ | ||
259 | #define _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \ | ||
260 | - if (g_once_init_enter (&g_define_type_id__volatile)) \ | ||
261 | + if (g_once_init_enter (&static_g_define_type_id)) \ | ||
262 | { \ | ||
263 | GType g_define_type_id = type_name##_get_type_once (); \ | ||
264 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ | ||
265 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ | ||
266 | } \ | ||
267 | - return g_define_type_id__volatile; \ | ||
268 | + return static_g_define_type_id; \ | ||
269 | } /* closes type_name##_get_type() */ \ | ||
270 | \ | ||
271 | G_GNUC_NO_INLINE \ | ||
272 | @@ -2041,8 +2041,8 @@ static void type_name##_default_init (TypeName##Interface *klass); \ | ||
273 | GType \ | ||
274 | type_name##_get_type (void) \ | ||
275 | { \ | ||
276 | - static volatile gsize g_define_type_id__volatile = 0; \ | ||
277 | - if (g_once_init_enter (&g_define_type_id__volatile)) \ | ||
278 | + static gsize static_g_define_type_id = 0; \ | ||
279 | + if (g_once_init_enter (&static_g_define_type_id)) \ | ||
280 | { \ | ||
281 | GType g_define_type_id = \ | ||
282 | g_type_register_static_simple (G_TYPE_INTERFACE, \ | ||
283 | @@ -2058,9 +2058,9 @@ type_name##_get_type (void) \ | ||
284 | #define _G_DEFINE_INTERFACE_EXTENDED_END() \ | ||
285 | /* following custom code */ \ | ||
286 | } \ | ||
287 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ | ||
288 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ | ||
289 | } \ | ||
290 | - return g_define_type_id__volatile; \ | ||
291 | + return static_g_define_type_id; \ | ||
292 | } /* closes type_name##_get_type() */ | ||
293 | |||
294 | /** | ||
295 | @@ -2115,13 +2115,13 @@ static GType type_name##_get_type_once (void); \ | ||
296 | GType \ | ||
297 | type_name##_get_type (void) \ | ||
298 | { \ | ||
299 | - static volatile gsize g_define_type_id__volatile = 0; \ | ||
300 | - if (g_once_init_enter (&g_define_type_id__volatile)) \ | ||
301 | + static gsize static_g_define_type_id = 0; \ | ||
302 | + if (g_once_init_enter (&static_g_define_type_id)) \ | ||
303 | { \ | ||
304 | GType g_define_type_id = type_name##_get_type_once (); \ | ||
305 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ | ||
306 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ | ||
307 | } \ | ||
308 | - return g_define_type_id__volatile; \ | ||
309 | + return static_g_define_type_id; \ | ||
310 | } \ | ||
311 | \ | ||
312 | G_GNUC_NO_INLINE \ | ||
313 | @@ -2152,13 +2152,13 @@ static GType type_name##_get_type_once (void); \ | ||
314 | GType \ | ||
315 | type_name##_get_type (void) \ | ||
316 | { \ | ||
317 | - static volatile gsize g_define_type_id__volatile = 0; \ | ||
318 | - if (g_once_init_enter (&g_define_type_id__volatile)) \ | ||
319 | + static gsize static_g_define_type_id = 0; \ | ||
320 | + if (g_once_init_enter (&static_g_define_type_id)) \ | ||
321 | { \ | ||
322 | GType g_define_type_id = type_name##_get_type_once (); \ | ||
323 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ | ||
324 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ | ||
325 | } \ | ||
326 | - return g_define_type_id__volatile; \ | ||
327 | + return static_g_define_type_id; \ | ||
328 | } \ | ||
329 | \ | ||
330 | G_GNUC_NO_INLINE \ | ||
331 | @@ -2205,13 +2205,13 @@ static GType type_name##_get_type_once (void); \ | ||
332 | GType \ | ||
333 | type_name##_get_type (void) \ | ||
334 | { \ | ||
335 | - static volatile gsize g_define_type_id__volatile = 0; \ | ||
336 | - if (g_once_init_enter (&g_define_type_id__volatile)) \ | ||
337 | + static gsize static_g_define_type_id = 0; \ | ||
338 | + if (g_once_init_enter (&static_g_define_type_id)) \ | ||
339 | { \ | ||
340 | GType g_define_type_id = type_name##_get_type_once (); \ | ||
341 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \ | ||
342 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); \ | ||
343 | } \ | ||
344 | - return g_define_type_id__volatile; \ | ||
345 | + return static_g_define_type_id; \ | ||
346 | } \ | ||
347 | \ | ||
348 | G_GNUC_NO_INLINE \ | ||
349 | diff --git a/gobject/tests/signals.c b/gobject/tests/signals.c | ||
350 | index 120f90b5c..ac0ce5102 100644 | ||
351 | --- a/gobject/tests/signals.c | ||
352 | +++ b/gobject/tests/signals.c | ||
353 | @@ -66,9 +66,9 @@ custom_marshal_VOID__INVOCATIONHINT (GClosure *closure, | ||
354 | static GType | ||
355 | test_enum_get_type (void) | ||
356 | { | ||
357 | - static volatile gsize g_define_type_id__volatile = 0; | ||
358 | + static gsize static_g_define_type_id = 0; | ||
359 | |||
360 | - if (g_once_init_enter (&g_define_type_id__volatile)) | ||
361 | + if (g_once_init_enter (&static_g_define_type_id)) | ||
362 | { | ||
363 | static const GEnumValue values[] = { | ||
364 | { TEST_ENUM_NEGATIVE, "TEST_ENUM_NEGATIVE", "negative" }, | ||
365 | @@ -79,18 +79,18 @@ test_enum_get_type (void) | ||
366 | }; | ||
367 | GType g_define_type_id = | ||
368 | g_enum_register_static (g_intern_static_string ("TestEnum"), values); | ||
369 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); | ||
370 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); | ||
371 | } | ||
372 | |||
373 | - return g_define_type_id__volatile; | ||
374 | + return static_g_define_type_id; | ||
375 | } | ||
376 | |||
377 | static GType | ||
378 | test_unsigned_enum_get_type (void) | ||
379 | { | ||
380 | - static volatile gsize g_define_type_id__volatile = 0; | ||
381 | + static gsize static_g_define_type_id = 0; | ||
382 | |||
383 | - if (g_once_init_enter (&g_define_type_id__volatile)) | ||
384 | + if (g_once_init_enter (&static_g_define_type_id)) | ||
385 | { | ||
386 | static const GEnumValue values[] = { | ||
387 | { TEST_UNSIGNED_ENUM_FOO, "TEST_UNSIGNED_ENUM_FOO", "foo" }, | ||
388 | @@ -99,10 +99,10 @@ test_unsigned_enum_get_type (void) | ||
389 | }; | ||
390 | GType g_define_type_id = | ||
391 | g_enum_register_static (g_intern_static_string ("TestUnsignedEnum"), values); | ||
392 | - g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); | ||
393 | + g_once_init_leave (&static_g_define_type_id, g_define_type_id); | ||
394 | } | ||
395 | |||
396 | - return g_define_type_id__volatile; | ||
397 | + return static_g_define_type_id; | ||
398 | } | ||
399 | |||
400 | typedef enum { | ||
401 | -- | ||
402 | 2.30.1 | ||
403 | |||