Commit 0dc34bf2 authored by Sebastian Dröge's avatar Sebastian Dröge

Bug 316221 - G_LOCK warns about breaking strict-aliasing rules

* configure.in:
* glib/gthread.h: Prevent the compiler from warning about breaking
strict-aliasing rules when using gcc 4.3 and G_LOCK on C sources.

svn path=/trunk/; revision=6691
parent 7de2454b
2008-03-12 Sebastian Dröge <slomo@circular-chaos.org>
Bug 316221 - G_LOCK warns about breaking strict-aliasing rules
* configure.in:
* glib/gthread.h: Prevent the compiler from warning about breaking
strict-aliasing rules when using gcc 4.3 and G_LOCK on C sources.
2008-03-12 Tor Lillqvist <tml@novell.com>
Bug 520914 - win_iconv doesn't support UCS-2
......
......@@ -2820,9 +2820,15 @@ struct _GStaticMutex
} static_mutex;
};
#define G_STATIC_MUTEX_INIT { NULL, { { $g_mutex_contents} } }
#ifdef __cplusplus
#define g_static_mutex_get_mutex(mutex) \\
(g_thread_use_default_impl ? ((GMutex*) ((mutex)->static_mutex.pad)) : \\
g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
#else
#define g_static_mutex_get_mutex(mutex) \\
(g_thread_use_default_impl ? ((GMutex*) (void*) ((mutex)->static_mutex.pad)) : \\
g_static_mutex_get_mutex_impl_shortcut (&((mutex)->runtime_mutex)))
#endif
_______EOF
else
cat >>$outfile <<_______EOF
......
......@@ -140,9 +140,15 @@ void g_thread_init_with_errorcheck_mutexes (GThreadFunctions* vtable);
/* internal function for fallback static mutex implementation */
GMutex* g_static_mutex_get_mutex_impl (GMutex **mutex);
#ifdef __cplusplus
#define g_static_mutex_get_mutex_impl_shortcut(mutex) \
(g_atomic_pointer_get ((gpointer*)(void*)mutex) ? *(mutex) : \
g_static_mutex_get_mutex_impl (mutex))
#else
#define g_static_mutex_get_mutex_impl_shortcut(mutex) \
(g_atomic_pointer_get (mutex) ? *(mutex) : \
g_static_mutex_get_mutex_impl (mutex))
#endif
/* shorthands for conditional and unconditional function calls */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment