From 6f67a71aada11a097c7c11db8f11cd56557354ab Mon Sep 17 00:00:00 2001 From: José Fonseca Date: Sun, 30 May 2010 16:36:08 +0100 Subject: util: Generic pointer to func conversion helper. That observes strict-aliasing rules. --- src/gallium/auxiliary/util/u_pointer.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src/gallium/auxiliary/util') diff --git a/src/gallium/auxiliary/util/u_pointer.h b/src/gallium/auxiliary/util/u_pointer.h index e1af9f11cb..ae6f43bff8 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 -- cgit v1.2.3