forked from pool/meson
Dominique Leuenberger
af0977bc7a
Revert to Factory version 0.56.2 - together with patch to address GCC11 / GNOME build issues (0.57.2 is stored in a branch of mine) OBS-URL: https://build.opensuse.org/request/show/891206 OBS-URL: https://build.opensuse.org/package/show/devel:tools:building/meson?expand=0&rev=203
160 lines
5.9 KiB
Diff
160 lines
5.9 KiB
Diff
From 0200340a497fb911c13ce3147b4223e4b5e290e7 Mon Sep 17 00:00:00 2001
|
||
From: Philip Withnall <pwithnall@endlessos.org>
|
||
Date: Mon, 16 Nov 2020 18:38:39 +0000
|
||
Subject: [PATCH] gnome: Drop use of volatile in GLib type functions
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
See https://gitlab.gnome.org/GNOME/glib/-/issues/600
|
||
|
||
`volatile` was previously mistakenly used in GLib to indicate that a
|
||
variable was accessed atomically or otherwise multi-threaded. It’s not
|
||
meant for that, and up to date compilers (like gcc-11) will rightly warn
|
||
about it.
|
||
|
||
Drop the `volatile` qualifiers.
|
||
|
||
Based on a patch by Jeff Law.
|
||
|
||
See also http://isvolatileusefulwiththreads.in/c/.
|
||
|
||
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
|
||
---
|
||
mesonbuild/modules/gnome.py | 2 +-
|
||
test cases/frameworks/7 gnome/mkenums/enums.c.in | 8 ++++----
|
||
test cases/frameworks/7 gnome/mkenums/enums2.c.in | 8 ++++----
|
||
test cases/frameworks/7 gnome/mkenums/meson.build | 8 ++++----
|
||
.../dependency-generated/enum-types.c.template | 8 ++++----
|
||
5 files changed, 17 insertions(+), 17 deletions(-)
|
||
|
||
diff --git a/mesonbuild/modules/gnome.py b/mesonbuild/modules/gnome.py
|
||
index 9fd31c73885..547aff17cd4 100644
|
||
--- a/mesonbuild/modules/gnome.py
|
||
+++ b/mesonbuild/modules/gnome.py
|
||
@@ -1430,7 +1430,7 @@ def mkenums_simple(self, state, args, kwargs):
|
||
GType
|
||
%s@enum_name@_get_type (void)
|
||
{
|
||
- static volatile gsize gtype_id = 0;
|
||
+ static gsize gtype_id = 0;
|
||
static const G@Type@Value values[] = {''' % func_prefix
|
||
|
||
c_file_kwargs['vprod'] = ' { C_@TYPE@(@VALUENAME@), "@VALUENAME@", "@valuenick@" },'
|
||
diff --git a/test cases/frameworks/7 gnome/mkenums/enums.c.in b/test cases/frameworks/7 gnome/mkenums/enums.c.in
|
||
index 62e1adcb462..1c19d8ffaa8 100644
|
||
--- a/test cases/frameworks/7 gnome/mkenums/enums.c.in
|
||
+++ b/test cases/frameworks/7 gnome/mkenums/enums.c.in
|
||
@@ -13,9 +13,9 @@
|
||
/*** BEGIN value-header ***/
|
||
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/test cases/frameworks/7 gnome/mkenums/enums2.c.in b/test cases/frameworks/7 gnome/mkenums/enums2.c.in
|
||
index 62e1adcb462..1c19d8ffaa8 100644
|
||
--- a/test cases/frameworks/7 gnome/mkenums/enums2.c.in
|
||
+++ b/test cases/frameworks/7 gnome/mkenums/enums2.c.in
|
||
@@ -13,9 +13,9 @@
|
||
/*** BEGIN value-header ***/
|
||
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/test cases/frameworks/7 gnome/mkenums/meson.build b/test cases/frameworks/7 gnome/mkenums/meson.build
|
||
index 3d7adf052aa..8ff05ba5ea2 100644
|
||
--- a/test cases/frameworks/7 gnome/mkenums/meson.build
|
||
+++ b/test cases/frameworks/7 gnome/mkenums/meson.build
|
||
@@ -89,9 +89,9 @@ enums_c3 = gnome.mkenums('enums3.c',
|
||
vhead : '''
|
||
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 [] = {
|
||
''',
|
||
vprod : ''' { @VALUENAME@, "@VALUENAME@", "@valuenick@" },''',
|
||
@@ -100,10 +100,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;
|
||
}
|
||
''')
|
||
|
||
diff --git a/test cases/vala/8 generated sources/dependency-generated/enum-types.c.template b/test cases/vala/8 generated sources/dependency-generated/enum-types.c.template
|
||
index 5ecdd2df234..85d74d11c5c 100644
|
||
--- a/test cases/vala/8 generated sources/dependency-generated/enum-types.c.template
|
||
+++ b/test cases/vala/8 generated sources/dependency-generated/enum-types.c.template
|
||
@@ -14,9 +14,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 ***/
|
||
|
||
@@ -30,10 +30,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 ***/
|