[mutter/wip/carlosg/volatile-warnings: 4/4] core: Drop "volatile" from static GTypes in manual registration




commit 05fe8ee183aa801cd66483c9e375ad33784488b2
Author: Carlos Garnacho <carlosg gnome org>
Date:   Tue Mar 16 19:30:57 2021 +0100

    core: Drop "volatile" from static GTypes in manual registration
    
    As documented in g_once_init_enter(): "While @location has a volatile qualifier,
    this is a historical artifact and the pointer passed to it should not be
    volatile.". And effectively this now warns with modern glibc.
    
    Drop the "volatile" qualifier from these static variables as it's expected.

 src/meta-private-enum-types.c.in | 13 ++++++-------
 src/meta/meta-enum-types.c.in    | 13 ++++++-------
 2 files changed, 12 insertions(+), 14 deletions(-)
---
diff --git a/src/meta-private-enum-types.c.in b/src/meta-private-enum-types.c.in
index 55d323e45e..c2479a91a3 100644
--- a/src/meta-private-enum-types.c.in
+++ b/src/meta-private-enum-types.c.in
@@ -13,9 +13,9 @@
 GType
 @enum_name@_get_type (void)
 {
-  static volatile gsize g_enum_type_id__volatile = 0;
+  static size_t g_enum_type_id = 0;
 
-  if (g_once_init_enter (&g_enum_type_id__volatile))
+  if (g_once_init_enter (&g_enum_type_id))
     {
       static const G@Type@Value values[] = {
 /*** END value-header ***/
@@ -27,14 +27,13 @@ GType
 /*** BEGIN value-tail ***/
         { 0, NULL, NULL }
       };
-      GType g_enum_type_id;
+      GType id;
 
-      g_enum_type_id =
-        g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+      id = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
 
-      g_once_init_leave (&g_enum_type_id__volatile, g_enum_type_id);
+      g_once_init_leave (&g_enum_type_id, id);
     }
 
-  return g_enum_type_id__volatile;
+  return g_enum_type_id;
 }
 /*** END value-tail ***/
diff --git a/src/meta/meta-enum-types.c.in b/src/meta/meta-enum-types.c.in
index 0480ffdca1..a5d8391417 100644
--- a/src/meta/meta-enum-types.c.in
+++ b/src/meta/meta-enum-types.c.in
@@ -13,9 +13,9 @@
 GType
 @enum_name@_get_type (void)
 {
-  static volatile gsize g_enum_type_id__volatile = 0;
+  static size_t g_enum_type_id = 0;
 
-  if (g_once_init_enter (&g_enum_type_id__volatile))
+  if (g_once_init_enter (&g_enum_type_id))
     {
       static const G@Type@Value values[] = {
 /*** END value-header ***/
@@ -27,14 +27,13 @@ GType
 /*** BEGIN value-tail ***/
         { 0, NULL, NULL }
       };
-      GType g_enum_type_id;
+      GType id;
 
-      g_enum_type_id =
-        g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
+      id = g_@type@_register_static (g_intern_static_string ("@EnumName@"), values);
 
-      g_once_init_leave (&g_enum_type_id__volatile, g_enum_type_id);
+      g_once_init_leave (&g_enum_type_id, id);
     }
 
-  return g_enum_type_id__volatile;
+  return g_enum_type_id;
 }
 /*** END value-tail ***/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]