diff options
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.patch | 403 |
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 (&g_define_type_id__volatile)) ++ if (g_once_init_enter (&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 (&g_@type@_type_id__volatile, g_@type@_type_id); ++ g_once_init_leave (&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 (&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 + |