SHA256
3
0
forked from pool/meson
meson/0200340a.patch
Dominique Leuenberger af0977bc7a Accepting request 891206 from home:dimstar:Factory
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
2021-05-07 07:19:53 +00:00

160 lines
5.9 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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. Its 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 ***/