Mesa (master): util: Generic pointer to func conversion helper.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sun May 30 15:40:16 UTC 2010


Module: Mesa
Branch: master
Commit: 6f67a71aada11a097c7c11db8f11cd56557354ab
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6f67a71aada11a097c7c11db8f11cd56557354ab

Author: José Fonseca <jfonseca at vmware.com>
Date:   Sun May 30 16:36:08 2010 +0100

util: Generic pointer to func conversion helper.

That observes strict-aliasing rules.

---

 src/gallium/auxiliary/util/u_pointer.h |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_pointer.h b/src/gallium/auxiliary/util/u_pointer.h
index e1af9f1..ae6f43b 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




More information about the mesa-commit mailing list