From: José Fonseca Date: Sun, 30 May 2010 15:36:08 +0000 (+0100) Subject: util: Generic pointer to func conversion helper. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6f67a71aada11a097c7c11db8f11cd56557354ab;p=mesa.git util: Generic pointer to func conversion helper. That observes strict-aliasing rules. --- diff --git a/src/gallium/auxiliary/util/u_pointer.h b/src/gallium/auxiliary/util/u_pointer.h index e1af9f11cb9..ae6f43bff87 100644 --- a/src/gallium/auxiliary/util/u_pointer.h +++ b/src/gallium/auxiliary/util/u_pointer.h @@ -98,6 +98,18 @@ align16( void *unaligned ) return align_pointer( unaligned, 16 ); } +typedef void (*func_pointer)(void); + +static INLINE func_pointer +pointer_to_func( void *p ) +{ + union { + void *p; + func_pointer f; + } pf; + pf.p = p; + return pf.f; +} #ifdef __cplusplus