[PATCH] gatomic.h: added missing "volatile" modifier to internal casts

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

 



These macros expect pointers decorated with the "volatile" modifier,
but internally, they cast them to "void*", dropping the "volatile"
modifier.  gcc4.4 doesn't like that, and emits a warning:

 "cast discards qualifiers from pointer target type"
---
 glib/gatomic.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/glib/gatomic.h b/glib/gatomic.h
index 7d9c318..22b28d9 100644
--- a/glib/gatomic.h
+++ b/glib/gatomic.h
@@ -64,16 +64,16 @@ void     g_atomic_pointer_set                  (volatile gpointer G_GNUC_MAY_ALI
 #else
 # define g_atomic_int_get(atomic) \
  ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gint) ? 1 : -1]), \
-  (g_atomic_int_get) ((volatile gint G_GNUC_MAY_ALIAS *) (void *) (atomic)))
+  (g_atomic_int_get) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic)))
 # define g_atomic_int_set(atomic, newval) \
  ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gint) ? 1 : -1]), \
-  (g_atomic_int_set) ((volatile gint G_GNUC_MAY_ALIAS *) (void *) (atomic), (newval)))
+  (g_atomic_int_set) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
 # define g_atomic_pointer_get(atomic) \
  ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gpointer) ? 1 : -1]), \
-  (g_atomic_pointer_get) ((volatile gpointer G_GNUC_MAY_ALIAS *) (void *) (atomic)))
+  (g_atomic_pointer_get) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic)))
 # define g_atomic_pointer_set(atomic, newval) \
  ((void) sizeof (gchar [sizeof (*(atomic)) == sizeof (gpointer) ? 1 : -1]), \
-  (g_atomic_pointer_set) ((volatile gpointer G_GNUC_MAY_ALIAS *) (void *) (atomic), (newval)))
+  (g_atomic_pointer_set) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))
 #endif /* G_ATOMIC_OP_MEMORY_BARRIER_NEEDED */
 
 #define g_atomic_int_inc(atomic) (g_atomic_int_add ((atomic), 1))

_______________________________________________
gtk-list mailing list
gtk-list@xxxxxxxxx
http://mail.gnome.org/mailman/listinfo/gtk-list

[Index of Archives]     [Touch Screen Library]     [GIMP Users]     [Gnome]     [KDE]     [Yosemite News]     [Steve's Art]

  Powered by Linux