From: Matthias Clasen Date: Sat, 28 May 2011 04:16:39 +0000 (-0400) Subject: Add macro version for all atomic operations X-Git-Tag: 2.29.6~78 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=00734ef99f2c10bcd25fd85a453712a46d3cf806;p=platform%2Fupstream%2Fglib.git Add macro version for all atomic operations Better to be consistent about this. --- diff --git a/glib/gatomic.h b/glib/gatomic.h index 9c85607..544b6f1 100644 --- a/glib/gatomic.h +++ b/glib/gatomic.h @@ -99,16 +99,28 @@ void g_atomic_pointer_set (volatile gpointer G_GNUC_MAY_ALI #else -# define g_atomic_int_get(atomic) \ +#define g_atomic_int_exchange_and_add(atomic,val) \ + (G_STATIC_ASSERT_EXPR(sizeof (*(atomic)) == sizeof (gint)), \ + (g_atomic_int_exchange_and_add) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (val))) +#define g_atomic_int_add(atomic,val) \ + (G_STATIC_ASSERT_EXPR(sizeof (*(atomic)) == sizeof (gint)), \ + (g_atomic_int_add) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (val))) +#define g_atomic_int_compare_and_exchange(atomic,oldval,newval) \ + (G_STATIC_ASSERT_EXPR(sizeof (*(atomic)) == sizeof (gint)), \ + (g_atomic_int_compare_and_exchange) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (oldval), (newval))) +#define g_atomic_pointer_compare_and_exchange(atomic,oldval,newval) \ + (G_STATIC_ASSERT_EXPR(sizeof (*(atomic)) == sizeof (gpointer)), \ + (g_atomic_pointer_compare_and_exchange) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (oldval), (newval))) +#define g_atomic_int_get(atomic) \ (G_STATIC_ASSERT_EXPR(sizeof (*(atomic)) == sizeof (gint)), \ (g_atomic_int_get) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic))) -# define g_atomic_int_set(atomic, newval) \ +#define g_atomic_int_set(atomic, newval) \ (G_STATIC_ASSERT_EXPR(sizeof (*(atomic)) == sizeof (gint)), \ (g_atomic_int_set) ((volatile gint G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval))) -# define g_atomic_pointer_get(atomic) \ +#define g_atomic_pointer_get(atomic) \ (G_STATIC_ASSERT_EXPR(sizeof (*(atomic)) == sizeof (gpointer)), \ (g_atomic_pointer_get) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic))) -# define g_atomic_pointer_set(atomic, newval) \ +#define g_atomic_pointer_set(atomic, newval) \ (G_STATIC_ASSERT_EXPR(sizeof (*(atomic)) == sizeof (gpointer)), \ (g_atomic_pointer_set) ((volatile gpointer G_GNUC_MAY_ALIAS *) (volatile void *) (atomic), (newval)))