diff --git a/ChangeLog b/ChangeLog index b1bc539ad..763d27592 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-06-30 Matthias Clasen + + Backport from trunk: + + Bug 519137 – g_slice_dup macro needs cast for 64-bit platform + + * glib/gslice.h (g_slice_copy): Apply type casts needed + for proper compilation on 64-bit platforms. + 2008-06-20 Sebastian Dröge Bug 316221 - G_LOCK warns about breaking strict-aliasing rules diff --git a/glib/gslice.h b/glib/gslice.h index cd3b5aadb..9b46da7e8 100644 --- a/glib/gslice.h +++ b/glib/gslice.h @@ -54,7 +54,8 @@ void g_slice_free_chain_with_offset (gsize block_size, /* we go through extra hoops to ensure type safety */ #define g_slice_dup(type, mem) \ - (1 ? g_slice_copy (sizeof (type), (mem)) : (type*) ((type*) 0 == (mem))) + (1 ? (type*) g_slice_copy (sizeof (type), (mem)) \ + : ((void) ((type*) 0 == (mem)), (type*) 0)) #define g_slice_free(type, mem) do { \ if (1) g_slice_free1 (sizeof (type), (mem)); \ else (void) ((type*) 0 == (mem)); \