summaryrefslogtreecommitdiff
path: root/dev-cpp/gstreamermm/files/gstreamermm-1.10.0-no-volatile.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-cpp/gstreamermm/files/gstreamermm-1.10.0-no-volatile.patch')
-rw-r--r--dev-cpp/gstreamermm/files/gstreamermm-1.10.0-no-volatile.patch17
1 files changed, 17 insertions, 0 deletions
diff --git a/dev-cpp/gstreamermm/files/gstreamermm-1.10.0-no-volatile.patch b/dev-cpp/gstreamermm/files/gstreamermm-1.10.0-no-volatile.patch
new file mode 100644
index 000000000000..ede9f910ae14
--- /dev/null
+++ b/dev-cpp/gstreamermm/files/gstreamermm-1.10.0-no-volatile.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/786444
+
+g_once_init_enter(void*) should NOT be passed a volatile argument:
+https://developer.gnome.org/glib/stable/glib-Threads.html#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."
+--- gstreamermm-1.10.0/gstreamer/gstreamermm/register.h.orig 2017-10-20 12:26:46.000000000 +0300
++++ gstreamermm-1.10.0/gstreamer/gstreamermm/register.h 2021-05-25 17:52:13.031337753 +0300
+@@ -110,7 +110,7 @@
+ /* The typedef for GType may be gulong or gsize, depending on the
+ * system and whether the compiler is c++ or not. The g_once_init_*
+ * functions always take a gsize * though ... */
+- static volatile gsize gonce_data = 0;
++ static gsize gonce_data = 0;
+ if (g_once_init_enter (&gonce_data)) {
+ GTypeInfo info;
+