summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch
diff options
context:
space:
mode:
Diffstat (limited to 'poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch')
-rw-r--r--poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch403
1 files changed, 403 insertions, 0 deletions
diff --git a/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch b/poky/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 000000000..485218652
--- /dev/null
+++ b/poky/meta/recipes-core/glib-2.0/glib-2.0/0001-gobject-Drop-use-of-volatile-from-get_type-macros.patch
@@ -0,0 +1,403 @@
+From fab561f8d05794329184cd81f9ab9d9d77dcc22a Mon Sep 17 00:00:00 2001
+From: Philip Withnall <pwithnall@endlessos.org>
+Date: Wed, 11 Nov 2020 18:12:22 +0000
+Subject: [PATCH 01/29] gobject: Drop use of volatile from get_type() macros
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+http://isvolatileusefulwiththreads.in/c/
+
+It’s possible that the variables here are only marked as volatile
+because they’re arguments to `g_once_*()`. Those arguments will be
+modified in a subsequent commit.
+
+Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
+
+Helps: #600
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719]
+---
+ docs/reference/gobject/glib-mkenums.xml | 8 ++---
+ docs/reference/gobject/tut_gtype.xml | 2 +-
+ gio/gioenumtypes.c.template | 8 ++---
+ gio/tests/gsettings.c | 4 +--
+ gobject/gbinding.c | 8 ++---
+ gobject/gboxed.c | 8 ++---
+ gobject/glib-enumtypes.c.template | 8 ++---
+ gobject/gsourceclosure.c | 2 +-
+ gobject/gtype.h | 48 ++++++++++++-------------
+ gobject/tests/signals.c | 16 ++++-----
+ 10 files changed, 56 insertions(+), 56 deletions(-)
+
+diff --git a/docs/reference/gobject/glib-mkenums.xml b/docs/reference/gobject/glib-mkenums.xml
+index 2200328ed..ce250a3ff 100644
+--- a/docs/reference/gobject/glib-mkenums.xml
++++ b/docs/reference/gobject/glib-mkenums.xml
+@@ -480,9 +480,9 @@ A C source template file will typically look like this:
+ GType
+ @enum_name@_get_type (void)
+ {
+- static volatile gsize g_@type@_type_id__volatile;
++ static gsize static_g_@type@_type_id;
+
+- if (g_once_init_enter (&amp;g_define_type_id__volatile))
++ if (g_once_init_enter (&amp;static_g_@type@_type_id))
+ {
+ static const G@Type@Value values[] = {
+ /*** END value-header ***/
+@@ -498,9 +498,9 @@ GType
+ GType g_@type@_type_id =
+ g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+
+- g_once_init_leave (&amp;g_@type@_type_id__volatile, g_@type@_type_id);
++ g_once_init_leave (&amp;static_g_@type@_type_id, g_@type@_type_id);
+ }
+- return g_@type@_type_id__volatile;
++ return static_g_@type@_type_id;
+ }
+
+ /*** END value-tail ***/
+diff --git a/docs/reference/gobject/tut_gtype.xml b/docs/reference/gobject/tut_gtype.xml
+index 25e37dc48..ee042889d 100644
+--- a/docs/reference/gobject/tut_gtype.xml
++++ b/docs/reference/gobject/tut_gtype.xml
+@@ -852,7 +852,7 @@ viewer_editable_default_init (ViewerEditableInterface *iface)
+ GType
+ viewer_editable_get_type (void)
+ {
+- static volatile gsize type_id = 0;
++ static gsize type_id = 0;
+ if (g_once_init_enter (&amp;type_id)) {
+ const GTypeInfo info = {
+ sizeof (ViewerEditableInterface),
+diff --git a/gio/gioenumtypes.c.template b/gio/gioenumtypes.c.template
+index e9adc4a38..948a01201 100644
+--- a/gio/gioenumtypes.c.template
++++ b/gio/gioenumtypes.c.template
+@@ -13,9 +13,9 @@
+ GType
+ @enum_name@_get_type (void)
+ {
+- static volatile gsize g_define_type_id__volatile = 0;
++ static gsize static_g_define_type_id = 0;
+
+- if (g_once_init_enter (&g_define_type_id__volatile))
++ if (g_once_init_enter (&static_g_define_type_id))
+ {
+ static const G@Type@Value values[] = {
+ /*** END value-header ***/
+@@ -29,10 +29,10 @@ GType
+ };
+ GType g_define_type_id =
+ g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+ }
+
+- return g_define_type_id__volatile;
++ return static_g_define_type_id;
+ }
+
+ /*** END value-tail ***/
+diff --git a/gio/tests/gsettings.c b/gio/tests/gsettings.c
+index 2f81ae6c3..179d0fd2f 100644
+--- a/gio/tests/gsettings.c
++++ b/gio/tests/gsettings.c
+@@ -1060,7 +1060,7 @@ test_object_set_property (GObject *object,
+ static GType
+ test_enum_get_type (void)
+ {
+- static volatile gsize define_type_id = 0;
++ static gsize define_type_id = 0;
+
+ if (g_once_init_enter (&define_type_id))
+ {
+@@ -1082,7 +1082,7 @@ test_enum_get_type (void)
+ static GType
+ test_flags_get_type (void)
+ {
+- static volatile gsize define_type_id = 0;
++ static gsize define_type_id = 0;
+
+ if (g_once_init_enter (&define_type_id))
+ {
+diff --git a/gobject/gbinding.c b/gobject/gbinding.c
+index 78a883075..662d76b3c 100644
+--- a/gobject/gbinding.c
++++ b/gobject/gbinding.c
+@@ -120,9 +120,9 @@
+ GType
+ g_binding_flags_get_type (void)
+ {
+- static volatile gsize g_define_type_id__volatile = 0;
++ static gsize static_g_define_type_id = 0;
+
+- if (g_once_init_enter (&g_define_type_id__volatile))
++ if (g_once_init_enter (&static_g_define_type_id))
+ {
+ static const GFlagsValue values[] = {
+ { G_BINDING_DEFAULT, "G_BINDING_DEFAULT", "default" },
+@@ -133,10 +133,10 @@ g_binding_flags_get_type (void)
+ };
+ GType g_define_type_id =
+ g_flags_register_static (g_intern_static_string ("GBindingFlags"), values);
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+ }
+
+- return g_define_type_id__volatile;
++ return static_g_define_type_id;
+ }
+
+ #define G_BINDING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), G_TYPE_BINDING, GBindingClass))
+diff --git a/gobject/gboxed.c b/gobject/gboxed.c
+index 30ba4e775..194251383 100644
+--- a/gobject/gboxed.c
++++ b/gobject/gboxed.c
+@@ -180,19 +180,19 @@ G_DEFINE_BOXED_TYPE (GOptionGroup, g_option_group, g_option_group_ref, g_option_
+ GType
+ g_strv_get_type (void)
+ {
+- static volatile gsize g_define_type_id__volatile = 0;
++ static gsize static_g_define_type_id = 0;
+
+- if (g_once_init_enter (&g_define_type_id__volatile))
++ if (g_once_init_enter (&static_g_define_type_id))
+ {
+ GType g_define_type_id =
+ g_boxed_type_register_static (g_intern_static_string ("GStrv"),
+ (GBoxedCopyFunc) g_strdupv,
+ (GBoxedFreeFunc) g_strfreev);
+
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+ }
+
+- return g_define_type_id__volatile;
++ return static_g_define_type_id;
+ }
+
+ GType
+diff --git a/gobject/glib-enumtypes.c.template b/gobject/glib-enumtypes.c.template
+index b7d36728f..1800ca8af 100644
+--- a/gobject/glib-enumtypes.c.template
++++ b/gobject/glib-enumtypes.c.template
+@@ -13,9 +13,9 @@
+ GType
+ @enum_name@_get_type (void)
+ {
+- static volatile gsize g_define_type_id__volatile = 0;
++ static gsize static_g_define_type_id = 0;
+
+- if (g_once_init_enter (&g_define_type_id__volatile))
++ if (g_once_init_enter (&static_g_define_type_id))
+ {
+ static const G@Type@Value values[] = {
+ /*** END value-header ***/
+@@ -29,10 +29,10 @@ GType
+ };
+ GType g_define_type_id =
+ g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+ }
+
+- return g_define_type_id__volatile;
++ return static_g_define_type_id;
+ }
+
+ /*** END value-tail ***/
+diff --git a/gobject/gsourceclosure.c b/gobject/gsourceclosure.c
+index 0d0d2e87c..d1b1ee4b3 100644
+--- a/gobject/gsourceclosure.c
++++ b/gobject/gsourceclosure.c
+@@ -32,7 +32,7 @@ G_DEFINE_BOXED_TYPE (GIOChannel, g_io_channel, g_io_channel_ref, g_io_channel_un
+ GType
+ g_io_condition_get_type (void)
+ {
+- static volatile GType etype = 0;
++ static GType etype = 0;
+
+ if (g_once_init_enter (&etype))
+ {
+diff --git a/gobject/gtype.h b/gobject/gtype.h
+index 9de46ac60..666fadb0c 100644
+--- a/gobject/gtype.h
++++ b/gobject/gtype.h
+@@ -1727,8 +1727,8 @@ guint g_type_get_type_registration_serial (void);
+ * GType
+ * gtk_gadget_get_type (void)
+ * {
+- * static volatile gsize g_define_type_id__volatile = 0;
+- * if (g_once_init_enter (&g_define_type_id__volatile))
++ * static gsize static_g_define_type_id = 0;
++ * if (g_once_init_enter (&static_g_define_type_id))
+ * {
+ * GType g_define_type_id =
+ * g_type_register_static_simple (GTK_TYPE_WIDGET,
+@@ -1748,9 +1748,9 @@ guint g_type_get_type_registration_serial (void);
+ * };
+ * g_type_add_interface_static (g_define_type_id, TYPE_GIZMO, &g_implement_interface_info);
+ * }
+- * g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ * g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+ * }
+- * return g_define_type_id__volatile;
++ * return static_g_define_type_id;
+ * }
+ * ]|
+ * The only pieces which have to be manually provided are the definitions of
+@@ -1995,17 +1995,17 @@ type_name##_get_instance_private (TypeName *self) \
+ GType \
+ type_name##_get_type (void) \
+ { \
+- static volatile gsize g_define_type_id__volatile = 0;
++ static gsize static_g_define_type_id = 0;
+ /* Prelude goes here */
+
+ /* Added for _G_DEFINE_TYPE_EXTENDED_WITH_PRELUDE */
+ #define _G_DEFINE_TYPE_EXTENDED_BEGIN_REGISTER(TypeName, type_name, TYPE_PARENT, flags) \
+- if (g_once_init_enter (&g_define_type_id__volatile)) \
++ if (g_once_init_enter (&static_g_define_type_id)) \
+ { \
+ GType g_define_type_id = type_name##_get_type_once (); \
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+ } \
+- return g_define_type_id__volatile; \
++ return static_g_define_type_id; \
+ } /* closes type_name##_get_type() */ \
+ \
+ G_GNUC_NO_INLINE \
+@@ -2041,8 +2041,8 @@ static void type_name##_default_init (TypeName##Interface *klass); \
+ GType \
+ type_name##_get_type (void) \
+ { \
+- static volatile gsize g_define_type_id__volatile = 0; \
+- if (g_once_init_enter (&g_define_type_id__volatile)) \
++ static gsize static_g_define_type_id = 0; \
++ if (g_once_init_enter (&static_g_define_type_id)) \
+ { \
+ GType g_define_type_id = \
+ g_type_register_static_simple (G_TYPE_INTERFACE, \
+@@ -2058,9 +2058,9 @@ type_name##_get_type (void) \
+ #define _G_DEFINE_INTERFACE_EXTENDED_END() \
+ /* following custom code */ \
+ } \
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+ } \
+- return g_define_type_id__volatile; \
++ return static_g_define_type_id; \
+ } /* closes type_name##_get_type() */
+
+ /**
+@@ -2115,13 +2115,13 @@ static GType type_name##_get_type_once (void); \
+ GType \
+ type_name##_get_type (void) \
+ { \
+- static volatile gsize g_define_type_id__volatile = 0; \
+- if (g_once_init_enter (&g_define_type_id__volatile)) \
++ static gsize static_g_define_type_id = 0; \
++ if (g_once_init_enter (&static_g_define_type_id)) \
+ { \
+ GType g_define_type_id = type_name##_get_type_once (); \
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+ } \
+- return g_define_type_id__volatile; \
++ return static_g_define_type_id; \
+ } \
+ \
+ G_GNUC_NO_INLINE \
+@@ -2152,13 +2152,13 @@ static GType type_name##_get_type_once (void); \
+ GType \
+ type_name##_get_type (void) \
+ { \
+- static volatile gsize g_define_type_id__volatile = 0; \
+- if (g_once_init_enter (&g_define_type_id__volatile)) \
++ static gsize static_g_define_type_id = 0; \
++ if (g_once_init_enter (&static_g_define_type_id)) \
+ { \
+ GType g_define_type_id = type_name##_get_type_once (); \
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+ } \
+- return g_define_type_id__volatile; \
++ return static_g_define_type_id; \
+ } \
+ \
+ G_GNUC_NO_INLINE \
+@@ -2205,13 +2205,13 @@ static GType type_name##_get_type_once (void); \
+ GType \
+ type_name##_get_type (void) \
+ { \
+- static volatile gsize g_define_type_id__volatile = 0; \
+- if (g_once_init_enter (&g_define_type_id__volatile)) \
++ static gsize static_g_define_type_id = 0; \
++ if (g_once_init_enter (&static_g_define_type_id)) \
+ { \
+ GType g_define_type_id = type_name##_get_type_once (); \
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id); \
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id); \
+ } \
+- return g_define_type_id__volatile; \
++ return static_g_define_type_id; \
+ } \
+ \
+ G_GNUC_NO_INLINE \
+diff --git a/gobject/tests/signals.c b/gobject/tests/signals.c
+index 120f90b5c..ac0ce5102 100644
+--- a/gobject/tests/signals.c
++++ b/gobject/tests/signals.c
+@@ -66,9 +66,9 @@ custom_marshal_VOID__INVOCATIONHINT (GClosure *closure,
+ static GType
+ test_enum_get_type (void)
+ {
+- static volatile gsize g_define_type_id__volatile = 0;
++ static gsize static_g_define_type_id = 0;
+
+- if (g_once_init_enter (&g_define_type_id__volatile))
++ if (g_once_init_enter (&static_g_define_type_id))
+ {
+ static const GEnumValue values[] = {
+ { TEST_ENUM_NEGATIVE, "TEST_ENUM_NEGATIVE", "negative" },
+@@ -79,18 +79,18 @@ test_enum_get_type (void)
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("TestEnum"), values);
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+ }
+
+- return g_define_type_id__volatile;
++ return static_g_define_type_id;
+ }
+
+ static GType
+ test_unsigned_enum_get_type (void)
+ {
+- static volatile gsize g_define_type_id__volatile = 0;
++ static gsize static_g_define_type_id = 0;
+
+- if (g_once_init_enter (&g_define_type_id__volatile))
++ if (g_once_init_enter (&static_g_define_type_id))
+ {
+ static const GEnumValue values[] = {
+ { TEST_UNSIGNED_ENUM_FOO, "TEST_UNSIGNED_ENUM_FOO", "foo" },
+@@ -99,10 +99,10 @@ test_unsigned_enum_get_type (void)
+ };
+ GType g_define_type_id =
+ g_enum_register_static (g_intern_static_string ("TestUnsignedEnum"), values);
+- g_once_init_leave (&g_define_type_id__volatile, g_define_type_id);
++ g_once_init_leave (&static_g_define_type_id, g_define_type_id);
+ }
+
+- return g_define_type_id__volatile;
++ return static_g_define_type_id;
+ }
+
+ typedef enum {
+--
+2.30.1
+